[
  {
    "path": ".editorconfig",
    "content": "# 该文件用于统一不同编辑器和ide的编码风格\n# https://editorconfig.org\n\n# 最顶端的编辑器配置文件\nroot = true\n\n# 所有文件\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 4\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n[*.md]\ninsert_final_newline = false\ntrim_trailing_whitespace = false\n\n# 制表符缩进(未指定大小)\n[Makefile]\nindent_style = tab"
  },
  {
    "path": ".eslintignore",
    "content": "dist\nsite\nconfig\nexample-static\nnode_modules"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n    env: {\n        browser: true,\n        commonjs: true,\n        es6: true\n    },\n    extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],\n    parser: '@typescript-eslint/parser',\n    parserOptions: {\n        ecmaFeatures: {\n            experimentalObjectRestSpread: true\n        },\n        ecmaVersion: 12,\n        sourceType: 'module'\n    },\n    plugins: ['@typescript-eslint'],\n    rules: {\n        indent: [\n            'error',\n            4,\n            {\n                SwitchCase: 1\n            }\n        ],\n        quotes: ['error', 'single'],\n        semi: ['error', 'always'],\n        // 优先使用 interface 而不是 type\n        '@typescript-eslint/consistent-type-definitions': ['error', 'interface'],\n        // 忽略 ts 注释警告\n        '@typescript-eslint/ban-ts-comment': 'off',\n        // 忽略 any 类型警告\n        '@typescript-eslint/no-explicit-any': 'off'\n    }\n};"
  },
  {
    "path": ".gitattributes",
    "content": "*.js linguist-language=TypeScript\n*.css linguist-language= Less\n*.html linguist-language=HTML\n*.vue linguist-language=TypeScript"
  },
  {
    "path": ".github/CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, sex characteristics, gender identity and expression,\nlevel of experience, education, socio-economic status, nationality, personal\nappearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\n advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at `2864103063@qq.com`. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see\nhttps://www.contributor-covenant.org/faq\n"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "content": "# Contributing to Rabbit UI\n\nLooking to contribute something to RabbitUI? **Here's how you can help.**\n\nPlease take a moment to review this document in order to make the contribution\nprocess easy and effective for everyone involved.\n\nFollowing these guidelines helps to communicate that you respect the time of\nthe developers managing and developing this open source project. In return,\nthey should reciprocate that respect in addressing your issue or assessing\npatches and features.\n"
  },
  {
    "path": ".gitignore",
    "content": "# dependencies\ndebug.log\n/node_modules\n/examples-static\n/site/node_modules"
  },
  {
    "path": ".npmignore",
    "content": ".*\n*.md\n*.log\nnode_modules/\nconfig/\ndocs/\nexamples/\nexamples-static/\nsite/"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2020 niu-grandpa\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.en-US.md",
    "content": "<p align=\"center\">\n    <a href=\"http://www.rabbitui.cn\">\n        <img width=\"200\" src=\"./assets/logo.svg\">\n    </a>\n</p>\n\nEnglish | [简体中文](./README.md)\n\n# RabbitUI\n\n### A simple UI component library based on JavaScrip\n\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![](https://img.shields.io/npm/v/rabbit-simple-ui.svg?style=flat-square)](https://www.npmjs.com/package/rabbit-simple-ui)\n[![](https://data.jsdelivr.com/v1/package/npm/rabbit-simple-ui/badge)](https://www.jsdelivr.com/package/npm/rabbit-simple-ui) \n\n### Features\n\n- Use semantic custom elements for easy resolution\n\n- Elegant and simple, say goodbye to the huge and bloated dazzling structure\n\n- Does not rely on any third party framework, the underlying base is native JavaScript, import out of the box\n\n- Can be used in Vue, jQuery or other existing projects\n\n- Rich components and features to suit most site scenarios\n\n- Careful, beautiful UI\n\n- Documents that are minutiae\n\n### Install\n\n- With NPM, you'll need to use 'TypeScript' and write and use code in TS files. Make sure you understand it and can use it in general\n\n```bash\nnpm install rabbit-simple-ui --save\n```\n\n- Using a script tag for global use:\n\nImport the file directly in the browser using the `script` and `link` tags, and use the global variable `Rabbit`.\n\n```html\n<!--import the style-->\n<link rel=\"stylesheet\" href=\"dist/styles/rabbit.css\">\n<!--import RabbitUI -->\n<script type=\"text/javascript\" src=\"rabbit.min.js\"></script>\n```\n\n## Usage\n\nWith a CDN we can easily write an example using Rabbit UI:\n\n```html\n<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>RabbitUI demo</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/styles/rabbit.css\">\n</head>\n<body>\n    <button type=\"button\" class=\"rab-btn\" onclick=\"show()\">Hello Rabbit UI</button>\n    <r-modal title=\"Welcome\" id=\"exampleModal\">\n       <p>Welcome to RabbitUI</p>\n    </r-modal>\n</body>\n<script src=\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/rabbit.min.js\"></script>\n<script>\n    // 初始化modal\n    const modal = new Rabbit.Modal();\n    show = function() {\n        modal.config('#exampleModal').visible = true;  \n    }\n</script>\n</html>\n```\n\nNPM environment\n\nUse NPM to install, enjoy the convenience of the tool, work better with Webpack, and ES2015 is recommended.\n\n```js\nimport Alert from 'rabbit-simple-ui/src/components/alert';\nimport Tooltip from 'rabbit-simple-ui/src/components/alert';\nimport Collapse from 'rabbit-simple-ui/src/components/alert';\n\nnew Alert();   \nnew Tooltip();\nnew Collapse();  \n```\n\nUsing css via import:\n\n```js\nimport 'rabbit-simple-ui/dist/styles/rabbit.css';\n```\n\n## Import as needed\n\nWith the help of [babel-plugin-import](https://github.com/ant-design/babel-plugin-import), you can load components on demand and reduce file size. First install and configure it in file '.babelrc ':\n\n```text\nnpm install babel-plugin-import --save-dev\n```\n\n```json\n// .babelrc\n{\n  \"plugins\": [[\"import\", {\n    \"libraryName\": \"rabbit-simple-ui\",\n    \"libraryDirectory\": \"src/components\"\n  }]]\n}\n```\n\nThen import the components as needed to reduce the size:\n\n```js\nimport { Alert, Message } from 'rabbit-simple-ui';\n```\n\n### Especially remind\n\n-According to the need to still need to import the reference style that the **main js** or the root component `import 'rabbit-simple-ui/dist/styles/rabbit.css';`\n\n## Browser Support\n\nModern browsers and Internet Explorer 10+.\n\n## Related links\n\n- [TypeScript](https://www.tslang.cn/)\n- [Webpack](http://webpack.github.io/)\n- [Iconfont](https://www.iconfont.cn/)\n- [ViewUI](https://www.iviewui.com/)\n- [Ant Design](https://ant.design/index-cn)\n- [Ant Design of Vue](https://2x.antdv.com/docs/vue/introduce-cn/)\n- [Element](https://element.eleme.cn/)\n- [Element-angular](https://element-angular.faas.ele.me/guide/install)\n\n## Contribute\n\nIf you wish to participate in contribution, welcome [Pull Request](https://github.com/vueComponent/ant-design-vue/pulls) or email contact 2864103063@qq.com, the contribution guide has not yet been produced\n\n## LICENSE\n\n[MIT](https://github.com/niu-grandpa/RabbitUI/blob/master/LICENSE)"
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\">\n    <a href=\"http://www.rabbitui.cn\">\n        <img width=\"200\" src=\"./assets/logo.svg\">\n    </a>\n</p>\n\n简体中文 | [English](./README.en-US.md)\n\n# RabbitUI\n\n> Tip：该项目于2021年完成，目前已不再更新，但具有学习意义，该组件库参考了各知名组件库进行开发\n\n### 一个基于 JavaScript 的简洁 UI 组件库\n\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![](https://img.shields.io/npm/v/rabbit-simple-ui.svg?style=flat-square)](https://www.npmjs.com/package/rabbit-simple-ui)\n[![](https://data.jsdelivr.com/v1/package/npm/rabbit-simple-ui/badge)](https://www.jsdelivr.com/package/npm/rabbit-simple-ui) \n\n### 特性\n\n- 使用语义化的自定义元素，易于分辨\n\n- 优雅、简洁，与庞大且臃肿令人眼花缭乱的结构 say goodbye\n\n- 不依赖任何第三方框架，底层基于原生 Javascript，引入即用\n\n- 能够在 Vue、JQuery或者其他现有项目中配合使用\n\n- 丰富的组件和功能，满足大部分网站场景\n\n- 细致、漂亮的 UI\n\n- 事无巨细的文档\n\n### 安装\n\n- 使用 npm，你将需要使用`TypeScript`，并在ts文件里编写和使用代码。 请确保你了解过它，并能够大致使用\n\n```bash\nnpm install rabbit-simple-ui --save\n```\n\n- 浏览器引入\n\n在浏览器中使用 `script` 和 `link` 标签直接引入文件，并使用全局变量 `Rabbit`。\n\n```html\n<!--引入样式库-->\n<link rel=\"stylesheet\" href=\"dist/styles/rabbit.css\">\n<!--引入脚本-->\n<script type=\"text/javascript\" src=\"rabbit.min.js\"></script>\n```\n\n## 示例\n\n通过 CDN 的方式我们可以很容易地使用 Rabbit UI 写出一个示例：\n\n```html\n<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>RabbitUI demo</title>\n    <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/styles/rabbit.css\">\n</head>\n<body>\n    <button type=\"button\" class=\"rab-btn\" onclick=\"show()\">Hello Rabbit UI</button>\n    <r-modal title=\"Welcome\" id=\"exampleModal\">\n       <p>Welcome to RabbitUI</p>\n    </r-modal>\n</body>\n<script src=\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/rabbit.min.js\"></script>\n<script>\n    // 初始化modal\n    const modal = new Rabbit.Modal();\n    show = function() {\n        modal.config('#exampleModal').visible = true;  \n    }\n</script>\n</html>\n```\n\nNPM 环境\n\n使用 npm 来安装，享受工具带来的便利，更好地和 webpack 配合使用，且推荐使用 ES2015。\n\n```ts\nimport Alert from 'rabbit-simple-ui/src/components/alert';\nimport Tooltip from 'rabbit-simple-ui/src/components/alert';\nimport Collapse from 'rabbit-simple-ui/src/components/alert';\n\nnew Alert();   \nnew Tooltip();\nnew Collapse();  \n```\n\n引入样式：\n\n```ts\nimport 'rabbit-simple-ui/dist/styles/rabbit.css';\n```\n\n## 按需引用\n\n 借助插件 [babel-plugin-import](https://github.com/ant-design/babel-plugin-import)可以实现按需加载组件，减少文件体积。首先安装，并在文件 `.babelrc` 中配置：\n\n```text\nnpm install babel-plugin-import --save-dev\n```\n\n```json\n// .babelrc\n{\n  \"plugins\": [[\"import\", {\n    \"libraryName\": \"rabbit-simple-ui\",\n    \"libraryDirectory\": \"src/components\"\n  }]]\n}\n```\n\n然后这样按需引入组件，就可以减小体积了：\n\n```ts\nimport { Alert, Message } from 'rabbit-simple-ui';\n```\n\n### 特别提醒\n\n- 按需引用仍然需要导入样式，即在 **main.js** 或根组件执行 `import 'rabbit-simple-ui/dist/styles/rabbit.css';`\n\n## 浏览器支持\n\n现代浏览器和Internet Explorer 10+。\n\n## 相关链接\n\n- [TypeScript](https://www.tslang.cn/)\n\n- [Webpack](http://webpack.github.io/)\n- [阿里巴巴矢量图标库](https://www.iconfont.cn/)\n- [ViewUI](https://www.iviewui.com/)\n- [Ant Design](https://ant.design/index-cn)\n\n- [Ant Design of Vue](https://2x.antdv.com/docs/vue/introduce-cn/)\n- [Element](https://element.eleme.cn/)\n- [Element-angular](https://element-angular.faas.ele.me/guide/install)\n\n## 如何贡献\n\n如果你希望参与贡献，欢迎 [Pull Request](https://github.com/vueComponent/ant-design-vue/pulls)或者邮件联系 2864103063@qq.com ，贡献指南暂时还未制作\n\n## LICENSE\n\n[MIT](https://github.com/niu-grandpa/RabbitUI/blob/master/LICENSE)\n"
  },
  {
    "path": "config/webpack.common.js",
    "content": "/* eslint-disable no-undef */\n/* eslint-disable @typescript-eslint/no-var-requires */\n/**\n * 公共配置\n */\n\nconst webpack = require('webpack');\nconst MiniCssExtractPlugin = require('mini-css-extract-plugin');\n\nmodule.exports = {\n    module: {\n        rules: [{\n                test: /\\.js$/,\n                loader: 'babel-loader',\n                options: {\n                    sourceMap: true\n                },\n                exclude: /node_modules/\n            },\n            {\n                test: /\\.ts$/,\n                exclude: /node_modules/,\n                use: {\n                    loader: 'ts-loader'\n                }\n            },\n            {\n                test: /\\.css$/i,\n                use: [\n                    { loader: MiniCssExtractPlugin.loader },\n                    { loader: 'css-loader' },\n                    { loader: 'postcss-loader' }\n                ]\n            },\n            {\n                test: /\\.less$/i,\n                use: [\n                    { loader: MiniCssExtractPlugin.loader },\n                    {\n                        loader: 'css-loader',\n                        options: {\n                            sourceMap: true\n                        }\n                    },\n                    {\n                        loader: 'less-loader',\n                        options: {\n                            sourceMap: true,\n                            lessOptions: {\n                                javascriptEnabled: true\n                            }\n                        }\n                    },\n                    { loader: 'postcss-loader' }\n                ]\n            },\n            {\n                test: /\\.(png|jpe?g|gif|webp)$/i,\n                use: [{\n                    loader: 'file-loader',\n                    options: {\n                        name: 'images/[name].[ext]',\n                        // 小于 2k 的图片转成 base64 编码\n                        limit: 2024,\n                        publicPath: '../'\n                    }\n                }]\n            },\n            {\n                test: /\\.(woff2?|eot|ttf|otf|svg)(\\?.*)?$/i,\n                use: {\n                    loader: 'file-loader',\n                    options: {\n                        limit: 4096,\n                        name: './fonts/[name].[ext]',\n                        publicPath: '../'\n                    }\n                }\n            },\n            {\n                test: /\\.(html|tpl)$/,\n                use: {\n                    loader: 'html-loader'\n                }\n            }\n        ]\n    },\n\n    resolve: {\n        extensions: ['.ts', '.js']\n    },\n\n    plugins: [\n        new webpack.optimize.ModuleConcatenationPlugin(),\n        //分离出css文件\n        new MiniCssExtractPlugin({\n            filename: 'styles/rabbit.css',\n            chunkFilename: '[id].css',\n            ignoreOrder: false\n        })\n    ]\n};"
  },
  {
    "path": "config/webpack.dev.js",
    "content": "/* eslint-disable no-undef */\n/* eslint-disable @typescript-eslint/no-var-requires */\nconst path = require('path');\nconst webpack = require('webpack');\nconst { merge } = require('webpack-merge');\nconst common = require('./webpack.common.js');\nconst HtmlWebpackPlugin = require('html-webpack-plugin');\nconst FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');\n\nmodule.exports = merge(common, {\n    devtool: 'eval-source-map',\n    entry: {\n        main: './examples/main.ts'\n    },\n    output: {\n        path: path.join(__dirname, '../examples/dist'),\n        publicPath: '',\n        filename: '[name].js',\n        chunkFilename: '[name].chunk.js'\n    },\n    devServer: {\n        port: 8085,\n        open: true,\n        hot: true,\n        inline: true,\n        progress: true,\n        compress: true\n    },\n\n    plugins: [\n        new webpack.HotModuleReplacementPlugin(),\n        new HtmlWebpackPlugin({\n            inject: true,\n            filename: path.join(__dirname, '../examples/dist/index.html'),\n            template: path.join(__dirname, '../examples/message/index.html')\n        }),\n        new FriendlyErrorsPlugin()\n    ]\n});"
  },
  {
    "path": "config/webpack.dist.dev.js",
    "content": "/* eslint-disable @typescript-eslint/no-var-requires */\n/**\n * 打包开发模式下的资源\n */\n\nconst path = require('path');\nconst { merge } = require('webpack-merge');\nconst common = require('./webpack.common.js');\n\nmodule.exports = merge(common, {\n    mode: 'development',\n    devtool: 'source-map',\n\n    entry: {\n        main: './src/build-umd.ts'\n    },\n    output: {\n        path: path.resolve(__dirname, '../dist'),\n        publicPath: '/dist/',\n        filename: 'rabbit.js',\n        library: 'rabbit',\n        libraryTarget: 'umd',\n        umdNamedDefine: true\n    }\n});"
  },
  {
    "path": "config/webpack.dist.prod.js",
    "content": "/* eslint-disable no-undef */\n/* eslint-disable @typescript-eslint/no-var-requires */\n/**\n * 打包生产模式下的资源\n */\n\nconst path = require('path');\nconst webpack = require('webpack');\nconst { merge } = require('webpack-merge');\nconst common = require('./webpack.common.js');\nconst UglifyJsPlugin = require('uglifyjs-webpack-plugin');\nconst CompressionPlugin = require('compression-webpack-plugin');\nconst OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');\n\nmodule.exports = merge(common, {\n    devtool: 'source-map',\n    entry: {\n        main: './src/build-umd.ts'\n    },\n    output: {\n        path: path.resolve(__dirname, '../dist'),\n        publicPath: '/dist/',\n        filename: 'rabbit.min.js',\n        library: 'rabbit',\n        libraryTarget: 'umd',\n        umdNamedDefine: true\n    },\n\n    plugins: [\n        new CompressionPlugin({\n            algorithm: 'gzip',\n            test: /\\.js$|\\.css/,\n            threshold: 10240,\n            minRatio: 0.8\n        }),\n        new UglifyJsPlugin({\n            sourceMap: true,\n            parallel: true\n        }),\n        new webpack.DefinePlugin({\n            'process.env.NODE_ENV': JSON.stringify('production')\n        }),\n        new OptimizeCSSAssetsPlugin({})\n    ]\n});"
  },
  {
    "path": "dist/rabbit.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"rabbit\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rabbit\"] = factory();\n\telse\n\t\troot[\"rabbit\"] = factory();\n})(self, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/dayjs/dayjs.min.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/dayjs/dayjs.min.js ***!\n  \\*****************************************/\n/***/ (function(module) {\n\n!function(t,e){ true?module.exports=e():0}(this,function(){\"use strict\";var t=\"millisecond\",e=\"second\",n=\"minute\",r=\"hour\",i=\"day\",s=\"week\",u=\"month\",a=\"quarter\",o=\"year\",f=\"date\",h=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,c=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},$=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},l={s:$,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+$(r,2,\"0\")+\":\"+$(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,u),s=n-i<0,a=e.clone().add(r+(s?-1:1),u);return+(-(r+(n-i)/(s?i-a:a-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:o,w:s,d:i,D:f,h:r,m:n,s:e,ms:t,Q:a}[h]||String(h||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},y=\"en\",M={};M[y]=d;var m=function(t){return t instanceof S},D=function(t,e,n){var r;if(!t)return y;if(\"string\"==typeof t)M[t]&&(r=t),e&&(M[t]=e,r=t);else{var i=t.name;M[i]=t,r=i}return!n&&r&&(y=r),r||!n&&y},v=function(t,e){if(m(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},g=l;g.l=D,g.i=m,g.w=function(t,e){return v(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function d(t){this.$L=D(t.locale,null,!0),this.parse(t)}var $=d.prototype;return $.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(g.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(h);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},$.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},$.$utils=function(){return g},$.isValid=function(){return!(\"Invalid Date\"===this.$d.toString())},$.isSame=function(t,e){var n=v(t);return this.startOf(e)<=n&&n<=this.endOf(e)},$.isAfter=function(t,e){return v(t)<this.startOf(e)},$.isBefore=function(t,e){return this.endOf(e)<v(t)},$.$g=function(t,e,n){return g.u(t)?this[e]:this.set(n,t)},$.unix=function(){return Math.floor(this.valueOf()/1e3)},$.valueOf=function(){return this.$d.getTime()},$.startOf=function(t,a){var h=this,c=!!g.u(a)||a,d=g.p(t),$=function(t,e){var n=g.w(h.$u?Date.UTC(h.$y,e,t):new Date(h.$y,e,t),h);return c?n:n.endOf(i)},l=function(t,e){return g.w(h.toDate()[t].apply(h.toDate(\"s\"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),h)},y=this.$W,M=this.$M,m=this.$D,D=\"set\"+(this.$u?\"UTC\":\"\");switch(d){case o:return c?$(1,0):$(31,11);case u:return c?$(1,M):$(0,M+1);case s:var v=this.$locale().weekStart||0,S=(y<v?y+7:y)-v;return $(c?m-S:m+(6-S),M);case i:case f:return l(D+\"Hours\",0);case r:return l(D+\"Minutes\",1);case n:return l(D+\"Seconds\",2);case e:return l(D+\"Milliseconds\",3);default:return this.clone()}},$.endOf=function(t){return this.startOf(t,!1)},$.$set=function(s,a){var h,c=g.p(s),d=\"set\"+(this.$u?\"UTC\":\"\"),$=(h={},h[i]=d+\"Date\",h[f]=d+\"Date\",h[u]=d+\"Month\",h[o]=d+\"FullYear\",h[r]=d+\"Hours\",h[n]=d+\"Minutes\",h[e]=d+\"Seconds\",h[t]=d+\"Milliseconds\",h)[c],l=c===i?this.$D+(a-this.$W):a;if(c===u||c===o){var y=this.clone().set(f,1);y.$d[$](l),y.init(),this.$d=y.set(f,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},$.set=function(t,e){return this.clone().$set(t,e)},$.get=function(t){return this[g.p(t)]()},$.add=function(t,a){var f,h=this;t=Number(t);var c=g.p(a),d=function(e){var n=v(h);return g.w(n.date(n.date()+Math.round(e*t)),h)};if(c===u)return this.set(u,this.$M+t);if(c===o)return this.set(o,this.$y+t);if(c===i)return d(1);if(c===s)return d(7);var $=(f={},f[n]=6e4,f[r]=36e5,f[e]=1e3,f)[c]||1,l=this.$d.getTime()+t*$;return g.w(l,this)},$.subtract=function(t,e){return this.add(-1*t,e)},$.format=function(t){var e=this;if(!this.isValid())return\"Invalid Date\";var n=t||\"YYYY-MM-DDTHH:mm:ssZ\",r=g.z(this),i=this.$locale(),s=this.$H,u=this.$m,a=this.$M,o=i.weekdays,f=i.months,h=function(t,r,i,s){return t&&(t[r]||t(e,n))||i[r].substr(0,s)},d=function(t){return g.s(s%12||12,t,\"0\")},$=i.meridiem||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:g.s(a+1,2,\"0\"),MMM:h(i.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:g.s(this.$D,2,\"0\"),d:String(this.$W),dd:h(i.weekdaysMin,this.$W,o,2),ddd:h(i.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:g.s(s,2,\"0\"),h:d(1),hh:d(2),a:$(s,u,!0),A:$(s,u,!1),m:String(u),mm:g.s(u,2,\"0\"),s:String(this.$s),ss:g.s(this.$s,2,\"0\"),SSS:g.s(this.$ms,3,\"0\"),Z:r};return n.replace(c,function(t,e){return e||l[t]||r.replace(\":\",\"\")})},$.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},$.diff=function(t,f,h){var c,d=g.p(f),$=v(t),l=6e4*($.utcOffset()-this.utcOffset()),y=this-$,M=g.m(this,$);return M=(c={},c[o]=M/12,c[u]=M,c[a]=M/3,c[s]=(y-l)/6048e5,c[i]=(y-l)/864e5,c[r]=y/36e5,c[n]=y/6e4,c[e]=y/1e3,c)[d]||y,h?M:g.a(M)},$.daysInMonth=function(){return this.endOf(u).$D},$.$locale=function(){return M[this.$L]},$.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=D(t,e,!0);return r&&(n.$L=r),n},$.clone=function(){return g.w(this.$d,this)},$.toDate=function(){return new Date(this.valueOf())},$.toJSON=function(){return this.isValid()?this.toISOString():null},$.toISOString=function(){return this.$d.toISOString()},$.toString=function(){return this.$d.toUTCString()},d}(),p=S.prototype;return v.prototype=p,[[\"$ms\",t],[\"$s\",e],[\"$m\",n],[\"$H\",r],[\"$W\",i],[\"$M\",u],[\"$y\",o],[\"$D\",f]].forEach(function(t){p[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),v.extend=function(t,e){return t.$i||(t(e,S,v),t.$i=!0),v},v.locale=D,v.isDayjs=m,v.unix=function(t){return v(1e3*t)},v.en=M[y],v.Ls=M,v.p={},v});\n\n\n/***/ }),\n\n/***/ \"./node_modules/dayjs/locale/zh-cn.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/dayjs/locale/zh-cn.js ***!\n  \\********************************************/\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n!function(_,e){ true?module.exports=e(__webpack_require__(/*! dayjs */ \"./node_modules/dayjs/dayjs.min.js\")):0}(this,function(_){\"use strict\";_=_&&_.hasOwnProperty(\"default\")?_.default:_;var e={name:\"zh-cn\",weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(_,e){switch(e){case\"W\":return _+\"周\";default:return _+\"日\"}},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},meridiem:function(_,e){var t=100*_+e;return t<600?\"凌晨\":t<900?\"早上\":t<1100?\"上午\":t<1300?\"中午\":t<1800?\"下午\":\"晚上\"}};return _.locale(e,null,!0),e});\n\n\n/***/ }),\n\n/***/ \"./node_modules/dayjs/plugin/relativeTime.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/dayjs/plugin/relativeTime.js ***!\n  \\***************************************************/\n/***/ (function(module) {\n\n!function(r,t){ true?module.exports=t():0}(this,function(){\"use strict\";return function(r,t,e){r=r||{};var n=t.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,t,e,o){return n.fromToBase(r,t,e,o)}e.en.relativeTime=o,n.fromToBase=function(t,n,i,d,u){for(var a,f,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(a=d?e(t).diff(i,y.d,!0):i.diff(t,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(a));if(s=a>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),f=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return f;var M=s?l.future:l.past;return\"function\"==typeof M?M(f):M.replace(\"%s\",f)},n.to=function(r,t){return i(r,t,this,!0)},n.from=function(r,t){return i(r,t,this)};var d=function(r){return r.$u?e.utc():e()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}});\n\n\n/***/ }),\n\n/***/ \"./src/build-umd.ts\":\n/*!***************************************!*\\\n  !*** ./src/build-umd.ts + 82 modules ***!\n  \\***************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"default\": function() { return /* binding */ build_umd; }\n});\n\n// NAMESPACE OBJECT: ./src/rabbit-simple-ui.ts\nvar rabbit_simple_ui_namespaceObject = {};\n__webpack_require__.r(rabbit_simple_ui_namespaceObject);\n__webpack_require__.d(rabbit_simple_ui_namespaceObject, {\n  \"Affix\": function() { return components_affix; },\n  \"Alert\": function() { return components_alert; },\n  \"Avatar\": function() { return components_avatar; },\n  \"BackTop\": function() { return components_back_top; },\n  \"Badge\": function() { return components_badge; },\n  \"Breadcrumb\": function() { return components_breadcrumb; },\n  \"Button\": function() { return components_button; },\n  \"Card\": function() { return components_card; },\n  \"Carousel\": function() { return components_carousel; },\n  \"Checkbox\": function() { return components_checkbox; },\n  \"Circle\": function() { return components_circle; },\n  \"Collapse\": function() { return components_collapse; },\n  \"CountDown\": function() { return components_count_down; },\n  \"Divider\": function() { return components_divider; },\n  \"Drawer\": function() { return components_drawer; },\n  \"Dropdown\": function() { return components_dropdown; },\n  \"Empty\": function() { return components_empty; },\n  \"InputNumber\": function() { return components_input_number; },\n  \"Jumbotron\": function() { return components_jumbotron; },\n  \"Loading\": function() { return components_loading_bar; },\n  \"Message\": function() { return components_message; },\n  \"MiniModal\": function() { return components_mini_modal; },\n  \"Modal\": function() { return components_modal; },\n  \"Notice\": function() { return components_notice; },\n  \"PageHeader\": function() { return components_page_header; },\n  \"Poptip\": function() { return components_poptip; },\n  \"Progress\": function() { return components_progress; },\n  \"Radio\": function() { return components_radio; },\n  \"Result\": function() { return components_result; },\n  \"Skeleton\": function() { return components_skeleton; },\n  \"Spin\": function() { return components_spin; },\n  \"Steps\": function() { return components_steps; },\n  \"Switch\": function() { return components_switch; },\n  \"Tabs\": function() { return components_tabs; },\n  \"Tag\": function() { return components_tag; },\n  \"Time\": function() { return components_time; },\n  \"Timeline\": function() { return components_timeline; },\n  \"Tooltip\": function() { return components_tooltip; }\n});\n\n// EXTERNAL MODULE: ./src/dom-utils/index.ts + 5 modules\nvar dom_utils = __webpack_require__(\"./src/dom-utils/index.ts\");\n// EXTERNAL MODULE: ./src/utils/index.ts + 4 modules\nvar utils = __webpack_require__(\"./src/utils/index.ts\");\n// EXTERNAL MODULE: ./src/components/prefix.ts\nvar prefix = __webpack_require__(\"./src/components/prefix.ts\");\n;// CONCATENATED MODULE: ./src/components/affix/affix.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\nfunction getScroll(target, top) {\n    var prop = top ? 'pageYOffset' : 'pageXOffset';\n    var method = top ? 'scrollTop' : 'scrollLeft';\n    var ret = target[prop];\n    if (typeof ret !== 'number') {\n        ret = window.document.documentElement[method];\n    }\n    return ret;\n}\nfunction getOffset(element) {\n    var rect = element.getBoundingClientRect();\n    var scrollTop = getScroll(window, true);\n    var scrollLeft = getScroll(window);\n    var docEl = window.document.body;\n    var clientTop = docEl.clientTop || 0;\n    var clientLeft = docEl.clientLeft || 0;\n    return {\n        top: rect.top + scrollTop - clientTop,\n        left: rect.left + scrollLeft - clientLeft\n    };\n}\nvar Affix = /** @class */ (function () {\n    function Affix() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-affix', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Affix.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        var _a = Affix.prototype._attrs(target), offsetTop = _a.offsetTop, offsetBottom = _a.offsetBottom;\n        var elOffset = getOffset(target);\n        var elHeight = target.offsetHeight;\n        var windowHeight = window.innerHeight;\n        var affixed = false, offsetType = 'top';\n        if (offsetBottom >= 0) {\n            offsetType = 'bottom';\n        }\n        return {\n            events: function (_a) {\n                var onChange = _a.onChange;\n                var handler = function () {\n                    var isAffix = target.classList.contains(\"\" + prefix.default.affix);\n                    var scrollTop = getScroll(window, true);\n                    // 固定到顶部时触发事件\n                    if (elOffset.top - offsetTop < scrollTop && offsetType == 'top' && !isAffix) {\n                        affixed = true;\n                        onChange && utils.type.isFn(onChange, affixed);\n                    }\n                    else if (elOffset.top - offsetTop > scrollTop &&\n                        offsetType == 'top' &&\n                        affixed) {\n                        affixed = false;\n                        onChange && utils.type.isFn(onChange, affixed);\n                    }\n                    // 固定到底部时触发事件\n                    if (elOffset.top + offsetBottom + elHeight > scrollTop + windowHeight &&\n                        offsetType == 'bottom' &&\n                        !affixed) {\n                        affixed = true;\n                        onChange && utils.type.isFn(onChange, affixed);\n                    }\n                    else if (elOffset.top + offsetBottom + elHeight < scrollTop + windowHeight &&\n                        offsetType == 'bottom' &&\n                        affixed) {\n                        affixed = false;\n                        onChange && utils.type.isFn(onChange, affixed);\n                    }\n                };\n                handler();\n                // 这里 useCapture 选项设置为 true 解决了被下面同样的滚动监听覆盖的 bug\n                // 相当于提高了事件触发优先级\n                window.addEventListener('scroll', handler, true);\n                window.addEventListener('resize', handler, true);\n            }\n        };\n    };\n    Affix.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), offsetTop = _a.offsetTop, offsetBottom = _a.offsetBottom, useCapture = _a.useCapture;\n            var wrapper = (0,dom_utils.createElem)('div');\n            var cloneElm = _this._createCloneElm(wrapper);\n            node.after(wrapper);\n            wrapper.appendChild(node);\n            _this._handleScroll(node, cloneElm, offsetTop, offsetBottom, useCapture);\n            (0,dom_utils.removeAttrs)(node, ['offset-top', 'offset-bottom', 'use-capture']);\n        });\n    };\n    Affix.prototype._createCloneElm = function (node) {\n        var element = (0,dom_utils.createElem)('div');\n        (0,dom_utils.setCss)(element, 'display', 'none');\n        node.after(element);\n        return element;\n    };\n    Affix.prototype._handleScroll = function (node, cloneElm, offsetTop, offsetBottom, useCapture) {\n        var container = node.parentElement;\n        var elOffset = getOffset(node);\n        var elHeight = node.offsetHeight;\n        var windowHeight = window.innerHeight;\n        var affix = false, top, left, width, bottom, offsetType = 'top', cloneElmWidth, cloneElmHeight, display;\n        if (offsetBottom >= 0) {\n            offsetType = 'bottom';\n        }\n        var scroll = function () {\n            var isAffix = node.classList.contains(\"\" + prefix.default.affix);\n            var scrollTop = getScroll(window, true);\n            // 固定到顶部\n            if (elOffset.top - offsetTop < scrollTop && offsetType == 'top' && !isAffix) {\n                affix = true;\n                display = '';\n                top = offsetTop + \"px\";\n                left = elOffset.left + \"px\";\n                width = container.offsetWidth + \"px\";\n                cloneElmWidth = node.clientWidth + \"px\";\n                cloneElmHeight = node.clientHeight + \"px\";\n                node.classList.add(\"\" + prefix.default.affix);\n            }\n            else if (elOffset.top - offsetTop > scrollTop && offsetType == 'top' && affix) {\n                top = '';\n                left = '';\n                width = '';\n                affix = false;\n                display = 'none';\n                cloneElmWidth = '';\n                cloneElmHeight = '';\n                node.classList.remove(\"\" + prefix.default.affix);\n            }\n            // 固定到底部\n            if (elOffset.top + offsetBottom + elHeight > scrollTop + windowHeight &&\n                offsetType == 'bottom' &&\n                !affix) {\n                affix = true;\n                left = elOffset.left + \"px\";\n                width = container.offsetWidth + \"px\";\n                bottom = offsetBottom + \"px\";\n                node.classList.add(\"\" + prefix.default.affix);\n            }\n            else if (elOffset.top + offsetBottom + elHeight < scrollTop + windowHeight &&\n                offsetType == 'bottom' &&\n                affix) {\n                affix = false;\n                left = '';\n                width = '';\n                bottom = '';\n                node.classList.remove(\"\" + prefix.default.affix);\n            }\n            (0,dom_utils.setCss)(node, 'top', top);\n            (0,dom_utils.setCss)(node, 'left', left);\n            (0,dom_utils.setCss)(node, 'width', width);\n            (0,dom_utils.setCss)(node, 'bottom', bottom);\n            (0,dom_utils.setCss)(cloneElm, 'width', cloneElmWidth);\n            (0,dom_utils.setCss)(cloneElm, 'height', cloneElmHeight);\n            (0,dom_utils.setCss)(cloneElm, 'display', display);\n        };\n        scroll();\n        window.addEventListener('scroll', scroll, useCapture);\n        window.addEventListener('resize', scroll, useCapture);\n    };\n    Affix.prototype._attrs = function (node) {\n        return {\n            offsetTop: (0,dom_utils.getNumTypeAttr)(node, 'offset-top', 0),\n            offsetBottom: (0,dom_utils.getNumTypeAttr)(node, 'offset-bottom'),\n            useCapture: (0,dom_utils.getBooleanTypeAttr)(node, 'use-capture')\n        };\n    };\n    return Affix;\n}());\n/* harmony default export */ var affix = (Affix);\n\n;// CONCATENATED MODULE: ./src/components/affix/index.ts\n\n/* harmony default export */ var components_affix = (affix);\n\n// EXTERNAL MODULE: ./src/mixins/index.ts + 63 modules\nvar mixins = __webpack_require__(\"./src/mixins/index.ts\");\n;// CONCATENATED MODULE: ./src/components/alert/alert.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Alert = /** @class */ (function () {\n    function Alert() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-alert', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Alert.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'alert');\n        var AlertTitle = target.querySelector(\".\" + prefix.default.alert + \"-title\");\n        var AlertIcon = target.querySelector(\".\" + prefix.default.alert + \"-icon\");\n        return {\n            get title() {\n                return (0,dom_utils.setHtml)(AlertTitle);\n            },\n            set title(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(AlertTitle, newVal);\n            },\n            get icon() {\n                return (0,dom_utils.setHtml)(AlertIcon);\n            },\n            set icon(newVal) {\n                if (!AlertIcon) {\n                    (0,mixins.warn)(\"You need to set the \\\"show-icon\\\" attribute to \\\"true\\\" --> \\\"\" + el + \"\\\"\");\n                    return;\n                }\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(AlertIcon, newVal);\n            },\n            events: function (_a) {\n                var onClose = _a.onClose;\n                var AlertClose = target.querySelector(\".\" + prefix.default.alert + \"-close\");\n                if (!AlertClose)\n                    return;\n                (0,dom_utils.bind)(AlertClose, 'click', function (event) { return onClose && utils.type.isFn(onClose, event); });\n            }\n        };\n    };\n    Alert.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            if ((0,mixins.moreThanOneNode)(node))\n                return;\n            var _a = _this._attrs(node), icon = _a.icon, type = _a.type, title = _a.title, closable = _a.closable, banner = _a.banner, showIcon = _a.showIcon, closeText = _a.closeText;\n            var placeholderNode = node.firstElementChild;\n            _this._setMainTemplate(node, title);\n            _this._setBanner(node, banner);\n            _this._setIconType(node, type, showIcon, icon, placeholderNode);\n            _this._setDescription(node, placeholderNode);\n            _this._setClosable(node, closable, closeText);\n            _this._handleClose(node);\n            (0,dom_utils.removeAttrs)(node, ['title', 'icon', 'banner', 'closable', 'close-text', 'show-icon']);\n        });\n    };\n    Alert.prototype._setMainTemplate = function (node, title) {\n        var template = \"\\n         <div class=\\\"\" + prefix.default.alert + \"-title\\\">\" + title + \"</div>\\n         <div class=\\\"\" + prefix.default.alert + \"-desc\\\"></div>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Alert.prototype._setBanner = function (node, banner) {\n        if (!banner)\n            return;\n        node.classList.add(prefix.default.alert + \"-with-banner\");\n    };\n    Alert.prototype._setIconType = function (node, type, showIcon, icon, desc) {\n        if (!showIcon)\n            return;\n        node.classList.add(prefix.default.alert + \"-with-icon\");\n        var AlertIconWrap = (0,dom_utils.createElem)('span');\n        AlertIconWrap.className = prefix.default.alert + \"-icon\";\n        if (icon) {\n            (0,dom_utils.setHtml)(AlertIconWrap, icon);\n        }\n        else {\n            // 默认为 info 图标\n            var iconType = 'information-circle';\n            switch (type) {\n                case 'success':\n                    iconType = 'checkmark-circle';\n                    break;\n                case 'warning':\n                    iconType = 'alert';\n                    break;\n                case 'error':\n                    iconType = 'close-circle';\n                    break;\n            }\n            if (desc) {\n                iconType += '-outline';\n            }\n            var AlertIcon = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-\" + iconType + \"\\\"></i>\";\n            (0,dom_utils.setHtml)(AlertIconWrap, AlertIcon);\n        }\n        node.appendChild(AlertIconWrap);\n    };\n    Alert.prototype._setDescription = function (node, placeholderNode) {\n        if (!placeholderNode)\n            return;\n        node.classList.add(prefix.default.alert + \"-with-desc\");\n        var AlertDesc = node.querySelector(\".\" + prefix.default.alert + \"-desc\");\n        AlertDesc.appendChild(placeholderNode);\n    };\n    Alert.prototype._setClosable = function (node, closable, closeText) {\n        if (!closable)\n            return;\n        var AlertClose = \"\\n        <a class=\\\"\" + prefix.default.alert + \"-close\\\">\\n          \" + (!closeText ? \" <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close\\\"></i>\" : closeText) + \"\\n        </a>\";\n        node.insertAdjacentHTML('beforeend', AlertClose);\n    };\n    Alert.prototype._handleClose = function (node) {\n        var AlertIcon = node.querySelector(\".\" + prefix.default.alert + \"-close\");\n        if (!AlertIcon)\n            return;\n        (0,dom_utils.bind)(AlertIcon, 'click', function () { return (0,utils.destroyElem)(node, { fadeOut: true, destroy: true }); });\n    };\n    Alert.prototype._attrs = function (node) {\n        return {\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            type: (0,dom_utils.getStrTypeAttr)(node, 'type', 'info'),\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            closeText: (0,dom_utils.getStrTypeAttr)(node, 'close-text', ''),\n            banner: (0,dom_utils.getBooleanTypeAttr)(node, 'banner'),\n            closable: (0,dom_utils.getBooleanTypeAttr)(node, 'closable'),\n            showIcon: (0,dom_utils.getBooleanTypeAttr)(node, 'show-icon')\n        };\n    };\n    return Alert;\n}());\n/* harmony default export */ var alert_alert = (Alert);\n\n;// CONCATENATED MODULE: ./src/components/alert/index.ts\n\n/* harmony default export */ var components_alert = (alert_alert);\n\n;// CONCATENATED MODULE: ./src/components/avatar/avatar.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Avatar = /** @class */ (function () {\n    function Avatar() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-avatar', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Avatar.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'avatar');\n        var AvatarImage = target.querySelector('img');\n        return {\n            events: function (_a) {\n                var onError = _a.onError;\n                if (!AvatarImage) {\n                    (0,mixins.warn)(\"Unable to add an event where the image failed to load for the current avatar --> \\\"\" + el + \"\\\"\");\n                    return;\n                }\n                (0,dom_utils.bind)(AvatarImage, 'error', function (event) { return onError && utils.type.isFn(onError, event); });\n            }\n        };\n    };\n    Avatar.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), icon = _a.icon, src = _a.src, alt = _a.alt, size = _a.size;\n            _this._setSize(node, size);\n            _this._setIcon(node, icon);\n            _this._setImage(node, src, alt);\n            _this._setText(node, icon, src);\n            (0,dom_utils.removeAttrs)(node, ['icon', 'src', 'alt']);\n        });\n    };\n    Avatar.prototype._setSize = function (node, size) {\n        if (!size)\n            return;\n        var _size = Number(size);\n        if (!_size)\n            return;\n        (0,dom_utils.setCss)(node, 'width', _size + \"px\");\n        (0,dom_utils.setCss)(node, 'height', _size + \"px\");\n        (0,dom_utils.setCss)(node, 'fontSize', _size / 2 + \"px\");\n        node.removeAttribute('size');\n    };\n    Avatar.prototype._setIcon = function (node, icon) {\n        if (!icon)\n            return;\n        node.classList.add(prefix.default.avatar + \"-icon\");\n        var AvatarIcon = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon + \"\\\"></i>\";\n        (0,dom_utils.setHtml)(node, AvatarIcon);\n    };\n    Avatar.prototype._setImage = function (node, src, alt) {\n        if (!src)\n            return;\n        node.classList.add(prefix.default.avatar + \"-image\");\n        var AvatarImage = \"<img src=\\\"\" + src + \"\\\" alt=\\\"\" + alt + \"\\\" />\";\n        (0,dom_utils.setHtml)(node, AvatarImage);\n    };\n    Avatar.prototype._setText = function (node, icon, src) {\n        if (icon || src)\n            return;\n        if (!(0,dom_utils.setHtml)(node))\n            return;\n        var text = (0,dom_utils.setHtml)(node);\n        var AvatarText = \"<span class=\\\"\" + prefix.default.avatar + \"-string\\\">\" + text + \"</span>\";\n        (0,dom_utils.setHtml)(node, AvatarText);\n        this._setScale(node);\n    };\n    // 防止字符型头像的字体溢出边界\n    Avatar.prototype._setScale = function (node) {\n        var children = node.querySelector(\".\" + prefix.default.avatar + \"-string\");\n        if (!children)\n            return;\n        var avatarWidth = node.getBoundingClientRect().width;\n        var childrenWidth = children.offsetWidth;\n        if (avatarWidth - 8 < childrenWidth) {\n            var newScale = \"scale(\" + (avatarWidth - 8) / childrenWidth + \") translateX(-50%)\";\n            (0,dom_utils.setCss)(children, 'transform', \"\" + newScale);\n        }\n        else {\n            (0,dom_utils.setCss)(children, 'transform', 'scale(1) translateX(-50%)');\n        }\n    };\n    Avatar.prototype._attrs = function (node) {\n        return {\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            src: (0,dom_utils.getStrTypeAttr)(node, 'src', ''),\n            alt: (0,dom_utils.getStrTypeAttr)(node, 'alt', ''),\n            size: (0,dom_utils.getStrTypeAttr)(node, 'size', '')\n        };\n    };\n    return Avatar;\n}());\n/* harmony default export */ var avatar = (Avatar);\n\n;// CONCATENATED MODULE: ./src/components/avatar/index.ts\n\n/* harmony default export */ var components_avatar = (avatar);\n\n;// CONCATENATED MODULE: ./src/components/back-top/back-top.ts\n\n\nvar BackTop = /** @class */ (function () {\n    function BackTop() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-back-top', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    BackTop.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), right = _a.right, bottom = _a.bottom, height = _a.height, duration = _a.duration;\n            _this._setRight(node, right);\n            _this._setBottom(node, bottom);\n            _this._setAppearance(node);\n            _this._handleScroll(node, height);\n            _this._handleClick(node, duration);\n            (0,dom_utils.removeAttrs)(node, ['right', 'bottom', 'height', 'duration']);\n        });\n    };\n    BackTop.prototype._setRight = function (node, right) {\n        (0,dom_utils.setCss)(node, 'right', right + \"px\");\n    };\n    BackTop.prototype._setBottom = function (node, bottom) {\n        (0,dom_utils.setCss)(node, 'bottom', bottom + \"px\");\n    };\n    BackTop.prototype._setAppearance = function (node) {\n        if ((0,dom_utils.setHtml)(node) && (0,dom_utils.setHtml)(node) !== ' ') {\n            (0,dom_utils.setHtml)(node, node.innerHTML);\n        }\n        else {\n            var template = \"<div class=\\\"\" + prefix.default.backtop + \"-inner\\\">\\n                                  <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-arrow-up\\\"></i>\\n                              </div>\";\n            (0,dom_utils.setHtml)(node, template);\n        }\n    };\n    BackTop.prototype._handleScroll = function (node, height) {\n        var visable = function (y) {\n            var scrollY = Math.floor(y);\n            var visibilityHeight = Math.floor(height);\n            // 判断页面是否滚动到指定显示的高度\n            scrollY >= visibilityHeight\n                ? (0,dom_utils.setCss)(node, 'display', 'block')\n                : (0,dom_utils.setCss)(node, 'display', '');\n        };\n        (0,dom_utils.bind)(window, 'scroll', function () {\n            visable(window.scrollY);\n        });\n    };\n    BackTop.prototype._handleClick = function (node, duration) {\n        var _this = this;\n        (0,dom_utils.bind)(node, 'click', function () {\n            var sTop = document.documentElement.scrollTop || document.body.scrollTop;\n            _this._scrollTop(window, sTop, 0, duration);\n        });\n    };\n    BackTop.prototype._scrollTop = function (el, from, to, duration) {\n        if (!window.requestAnimationFrame) {\n            window.requestAnimationFrame =\n                window.webkitRequestAnimationFrame ||\n                    // @ts-ignore\n                    window.mozRequestAnimationFrame ||\n                    // @ts-ignore\n                    window.msRequestAnimationFrame ||\n                    function (callback) {\n                        return window.setTimeout(callback, 1000 / 60);\n                    };\n        }\n        var difference = Math.abs(from - to);\n        var step = Math.ceil((difference / duration) * 25);\n        var scroll = function (start, end, step) {\n            var d = start + step > end ? end : start + step;\n            if (start <= end && d == 0)\n                return;\n            d = start - step < end ? end : start - step;\n            el === window ? window.scrollTo(d, d) : (el.scrollTop = d);\n            window.requestAnimationFrame(function () { return scroll(d, end, step); });\n        };\n        scroll(from, to, step);\n    };\n    BackTop.prototype._attrs = function (node) {\n        return {\n            right: (0,dom_utils.getNumTypeAttr)(node, 'right', 30),\n            bottom: (0,dom_utils.getNumTypeAttr)(node, 'bottom', 30),\n            height: (0,dom_utils.getNumTypeAttr)(node, 'height', 400),\n            duration: (0,dom_utils.getNumTypeAttr)(node, 'duration', 500)\n        };\n    };\n    return BackTop;\n}());\n/* harmony default export */ var back_top = (BackTop);\n\n;// CONCATENATED MODULE: ./src/components/back-top/index.ts\n\n/* harmony default export */ var components_back_top = (back_top);\n\n;// CONCATENATED MODULE: ./src/components/badge/badge.ts\n\n\n\n\nvar Badge = /** @class */ (function () {\n    function Badge() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-badge', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Badge.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'badge');\n        var countContainer = target.querySelector(\".\" + prefix.default.badge + \"-count\");\n        var dotContainer = target.querySelector(\".\" + prefix.default.badge + \"-dot\");\n        var _a = Badge.prototype, _getMaxCount = _a._getMaxCount, _showZero = _a._showZero, _setMaxCount = _a._setMaxCount;\n        var maxCount = _getMaxCount(target);\n        var showZero = _showZero(target);\n        return {\n            get count() {\n                return countContainer === null || countContainer === void 0 ? void 0 : countContainer.textContent;\n            },\n            set count(newVal) {\n                if (countContainer && utils.type.isNum(newVal)) {\n                    if (newVal > maxCount) {\n                        _setMaxCount(countContainer, maxCount);\n                    }\n                    else {\n                        (0,dom_utils.setText)(countContainer, \"\" + newVal);\n                        if (newVal <= 0 && !showZero) {\n                            (0,dom_utils.setCss)(countContainer, 'display', 'none');\n                        }\n                        else {\n                            (0,dom_utils.setCss)(countContainer, 'display', '');\n                        }\n                    }\n                }\n                else {\n                    (0,mixins.warn)(\"The count value of this badge cannot be set --> \\\"\" + el + \"\\\"\");\n                }\n            },\n            get text() {\n                return countContainer === null || countContainer === void 0 ? void 0 : countContainer.textContent;\n            },\n            set text(newVal) {\n                if (!utils.type.isStr(newVal)) {\n                    (0,mixins.warn)(\"The text value of this badge cannot be set --> \\\"\" + el + \"\\\"\");\n                    return;\n                }\n                (0,dom_utils.setText)(countContainer, newVal);\n            },\n            get dot() {\n                return dotContainer;\n            },\n            set dot(newVal) {\n                if (!dotContainer) {\n                    (0,mixins.warn)(\"Unable to set this badge to dot --> \\\"\" + el + \"\\\"\");\n                    return;\n                }\n                if (utils.type.isBol(newVal) && newVal) {\n                    (0,dom_utils.setCss)(dotContainer, 'display', '');\n                }\n                else {\n                    (0,dom_utils.setCss)(dotContainer, 'display', 'none');\n                }\n            }\n        };\n    };\n    Badge.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            _this._setCount(node);\n            _this._setStatusWithColor(node);\n            (0,dom_utils.removeAttrs)(node, [\n                'count',\n                'text',\n                'status',\n                'color',\n                'show-zero',\n                'max-count',\n                'dot'\n            ]);\n        });\n    };\n    Badge.prototype._setCount = function (node) {\n        var count = this._getCount(node);\n        var maxCount = this._getMaxCount(node);\n        var BadgeCount = (0,dom_utils.createElem)('sup');\n        BadgeCount.className = prefix.default.badge + \"-count\";\n        if (count || count === 0) {\n            // 显示的数字大于maxCount时，显示${maxCount}+\n            if (count > maxCount) {\n                this._setMaxCount(BadgeCount, maxCount);\n            }\n            else {\n                // 数字为 0 时隐藏或者展示 Badge\n                if (count <= 0 && !this._showZero(node)) {\n                    (0,dom_utils.setCss)(BadgeCount, 'display', 'none');\n                }\n                else {\n                    (0,dom_utils.setText)(BadgeCount, \"\" + count);\n                }\n            }\n            this._setDot(node, BadgeCount);\n        }\n        if (!this._getStatus(node) && !this._getColor(node)) {\n            node.appendChild(BadgeCount);\n            // 状态点外观不需要设置为独立展示\n            this._setAlone(BadgeCount);\n        }\n        this._setText(node, BadgeCount);\n        this._setOffset(node, BadgeCount);\n    };\n    Badge.prototype._setMaxCount = function (node, maxCount) {\n        (0,dom_utils.setText)(node, maxCount + \"+\");\n    };\n    Badge.prototype._setDot = function (node, children) {\n        if (!this._showDot(node))\n            return;\n        // 设置为小红点则不显示任何计数内容\n        (0,dom_utils.setHtml)(children, '');\n        (0,dom_utils.setCss)(children, 'display', '');\n        children.className = prefix.default.badge + \"-dot\";\n    };\n    Badge.prototype._setText = function (parent, children) {\n        // 区分与标签属性 status 或 color 配合的 text 属性\n        if (!this._getStatus(parent) && !this._getColor(parent)) {\n            var text = this._getText(parent);\n            if (text) {\n                (0,dom_utils.setCss)(children, 'display', '');\n                (0,dom_utils.setText)(children, text);\n            }\n        }\n    };\n    Badge.prototype._setAlone = function (children) {\n        if (!children.previousElementSibling) {\n            children.classList.add(prefix.default.badge + \"-count-alone\");\n        }\n    };\n    Badge.prototype._setOffset = function (parent, children) {\n        var offset = this._getOffset(parent);\n        (0,dom_utils.setCss)(children, 'marginTop', (offset === null || offset === void 0 ? void 0 : offset.x) + \"px\");\n        (0,dom_utils.setCss)(children, 'marginRight', (offset === null || offset === void 0 ? void 0 : offset.y) + \"px\");\n    };\n    Badge.prototype._setStatusWithColor = function (node) {\n        var status = this._getStatus(node);\n        var color = this._getColor(node);\n        var text = this._getText(node);\n        if (!status && !color)\n            return;\n        var BadgeStatusDot = (0,dom_utils.createElem)('span');\n        var BadgeStatusText = (0,dom_utils.createElem)('span');\n        if ((text && status) || (text && color))\n            (0,dom_utils.setText)(BadgeStatusText, text);\n        var statusCls;\n        var colorCls = '';\n        status ? (statusCls = prefix.default.badge + \"-status-\" + status) : (statusCls = '');\n        // 设置更多预设的状态点颜色，或者自定义颜色\n        var colorType = [\n            'blue',\n            'green',\n            'red',\n            'yellow',\n            'magenta',\n            'volcano',\n            'orange',\n            'gold',\n            'lime',\n            'cyan',\n            'geekblue',\n            'purple'\n        ];\n        if (colorType.includes(color)) {\n            colorCls = prefix.default.badge + \"-status-\" + color;\n        }\n        else {\n            (0,dom_utils.setCss)(BadgeStatusDot, 'backgroundColor', color);\n        }\n        BadgeStatusDot.className = prefix.default.badge + \"-status-dot \" + statusCls + \" \" + colorCls;\n        BadgeStatusText.className = prefix.default.badge + \"-status-text\";\n        node.append(BadgeStatusDot, BadgeStatusText);\n    };\n    Badge.prototype._getCount = function (node) {\n        return Number(node.getAttribute('count'));\n    };\n    Badge.prototype._getMaxCount = function (node) {\n        return Number(node.getAttribute('max-count')) || 99;\n    };\n    Badge.prototype._getOffset = function (node) {\n        // 转为真实数组，如果赋值是 offset = ['0','1'] 这样的则会报错\n        var offset = JSON.parse(node.getAttribute('offset') || '[]');\n        // 如果是数组，那么不论写了多少个值都只返回前两个\n        if (utils.type.isArr(offset) && offset.length > 0) {\n            return {\n                x: offset[0],\n                y: offset[1]\n            };\n        }\n    };\n    Badge.prototype._getStatus = function (node) {\n        return node.getAttribute('status') || '';\n    };\n    Badge.prototype._getColor = function (node) {\n        return node.getAttribute('color') || '';\n    };\n    Badge.prototype._getText = function (node) {\n        return node.getAttribute('text') || '';\n    };\n    Badge.prototype._showZero = function (node) {\n        return node.getAttribute('show-zero') === 'true';\n    };\n    Badge.prototype._showDot = function (node) {\n        return node.getAttribute('dot') === 'true';\n    };\n    return Badge;\n}());\n/* harmony default export */ var badge = (Badge);\n\n;// CONCATENATED MODULE: ./src/components/badge/index.ts\n\n/* harmony default export */ var components_badge = (badge);\n\n;// CONCATENATED MODULE: ./src/components/breadcrumb/breadcrumb.ts\n\n\nvar Breadcrumb = /** @class */ (function () {\n    function Breadcrumb() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-breadcrumb', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Breadcrumb.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var separator = _this._attrs(node).separator;\n            _this._createItem(node, separator);\n            (0,dom_utils.removeAttrs)(node, ['separator']);\n        });\n    };\n    Breadcrumb.prototype._createItem = function (node, separator) {\n        var children = node.children;\n        var Fragment = document.createDocumentFragment();\n        Array.from(children).forEach(function (child) {\n            var Wrapper = (0,dom_utils.createElem)('span');\n            var Separator = (0,dom_utils.createElem)('span');\n            Separator.className = prefix.default.breadcrumb + \"-item-separator\";\n            // 设置分隔符\n            (0,dom_utils.setHtml)(Separator, \"\" + separator);\n            child.classList.add(prefix.default.breadcrumb + \"-item-link\");\n            // 初始化为行内块样式\n            (0,dom_utils.setCss)(child, 'display', 'inline-block');\n            Wrapper.append(child, Separator);\n            Fragment.appendChild(Wrapper);\n        });\n        node.appendChild(Fragment);\n    };\n    Breadcrumb.prototype._attrs = function (node) {\n        return {\n            separator: (0,dom_utils.getStrTypeAttr)(node, 'separator', '/')\n        };\n    };\n    return Breadcrumb;\n}());\n/* harmony default export */ var breadcrumb = (Breadcrumb);\n\n;// CONCATENATED MODULE: ./src/components/breadcrumb/index.ts\n\n/* harmony default export */ var components_breadcrumb = (breadcrumb);\n\n;// CONCATENATED MODULE: ./src/components/button/button.ts\n\n\n\nvar Button = /** @class */ (function () {\n    function Button() {\n        this.VERSION = '1.1.1';\n        this.COMPONENTS = (0,dom_utils.$el)(\".\" + prefix.default.button, { all: true });\n        this._getAllBtns(this.COMPONENTS);\n    }\n    Button.prototype.config = function (el) {\n        var target = typeof el === 'string' ? (0,dom_utils.$el)(el) : el;\n        (0,utils.validComps)(target, 'button');\n        return {\n            get loading() {\n                return this.loading;\n            },\n            set loading(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                Button.prototype._setLoading(target, false, newVal);\n            }\n        };\n    };\n    Button.prototype._getAllBtns = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), icon = _a.icon, loading = _a.loading;\n            _this._setIcon(node, icon);\n            _this._setLoading(node, true, loading);\n            (0,dom_utils.removeAttrs)(node, ['icon', 'loading']);\n        });\n    };\n    Button.prototype._setIcon = function (node, icon) {\n        if (!icon)\n            return;\n        if (node.innerHTML === '') {\n            node.classList.add(prefix.default.button + \"-icon-only\");\n            var ButtonIcon = \"\\n              <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon + \"\\\"></i>\\n            \";\n            (0,dom_utils.setHtml)(node, ButtonIcon);\n        }\n        else {\n            var Icon = (0,dom_utils.createElem)('i');\n            Icon.className = prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon;\n            node.prepend(Icon);\n        }\n    };\n    // 2021.5.23\n    // v1.1.0 修复按钮 loading 状态下加载中图标和原有图标并列显示的 bug\n    Button.prototype._setLoading = function (node, firstRender, loading) {\n        var _a;\n        var OriginalIcon = node.querySelector('.rab-icon');\n        var LoadingIcon = (0,dom_utils.createElem)('i');\n        LoadingIcon.className = \"rab-load-loop \" + prefix.default.icon + \" \" + prefix.default.icon + \"-loading-solid\";\n        if (loading) {\n            if (OriginalIcon)\n                (0,dom_utils.setCss)(OriginalIcon, 'display', 'none');\n            if (node.innerHTML === '')\n                node.classList.add(prefix.default.button + \"-icon-only\");\n            node.classList.add(prefix.default.button + \"-loading\");\n            node.prepend(LoadingIcon);\n        }\n        else {\n            if (firstRender)\n                return;\n            // 2021.6.18\n            // v1.1.1 修复在没有图标仅有文本的状态下，切换为loading状态并在状态结束后无法切换为原样 bug\n            // setCss(node.children[1], 'display', '');\n            if (node.children[1])\n                (0,dom_utils.setCss)(node.children[1], 'display', '');\n            if (node.classList.contains(prefix.default.button + \"-loading\"))\n                node.classList.remove(prefix.default.button + \"-loading\");\n            if (node.classList.contains(prefix.default.button + \"-icon-only\"))\n                node.classList.remove(prefix.default.button + \"-icon-only\");\n            (_a = node.firstElementChild) === null || _a === void 0 ? void 0 : _a.remove();\n        }\n    };\n    Button.prototype._attrs = function (node) {\n        return {\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            loading: (0,dom_utils.getBooleanTypeAttr)(node, 'loading')\n        };\n    };\n    return Button;\n}());\n/* harmony default export */ var button_button = (Button);\n\n;// CONCATENATED MODULE: ./src/components/button/index.ts\n\n/* harmony default export */ var components_button = (button_button);\n\n;// CONCATENATED MODULE: ./src/components/card/card.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Card = /** @class */ (function () {\n    function Card() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-card', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Card.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'card');\n        var CardHead = target.querySelector(\".\" + prefix.default.card + \"-head\");\n        var CardExtra = target.querySelector(\".\" + prefix.default.card + \"-extra\");\n        return {\n            get title() {\n                return (0,dom_utils.setHtml)(CardHead);\n            },\n            set title(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(CardHead, newVal);\n            },\n            get extra() {\n                return (0,dom_utils.setHtml)(CardExtra);\n            },\n            set extra(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(CardExtra, newVal);\n            }\n        };\n    };\n    Card.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            if ((0,mixins.moreThanOneNode)(node))\n                return;\n            var placeholderNode = node.firstElementChild;\n            var _a = _this._attrs(node), title = _a.title, extra = _a.extra, shadow = _a.shadow, noBorder = _a.noBorder, disHover = _a.disHover;\n            _this._isShowBordered(node, noBorder);\n            _this._isShowShadow(node, shadow);\n            _this._isDisHover(node, disHover);\n            _this._setHead(node, title);\n            _this._setBody(node, placeholderNode);\n            _this._setExtra(node, extra);\n            (0,dom_utils.removeAttrs)(node, ['title', 'extra', 'shadow', 'dis-hover', 'bordered']);\n        });\n    };\n    Card.prototype._isShowBordered = function (node, noBorder) {\n        if (!noBorder)\n            return;\n        node.classList.add(prefix.default.card + \"-no-border\");\n    };\n    Card.prototype._isShowShadow = function (node, shadow) {\n        if (!shadow)\n            return;\n        node.classList.add(prefix.default.card + \"-shadow\");\n    };\n    Card.prototype._isDisHover = function (node, disHover) {\n        if (!disHover)\n            return;\n        node.classList.add(prefix.default.card + \"-dis-hover\");\n    };\n    Card.prototype._setHead = function (node, title) {\n        if (!title)\n            return;\n        var CardHeadTemplate = \"<div class=\\\"\" + prefix.default.card + \"-head\\\">\" + title + \"</div>\";\n        node.insertAdjacentHTML('afterbegin', CardHeadTemplate);\n    };\n    Card.prototype._setBody = function (node, placeholderNode) {\n        var Fragment = document.createDocumentFragment();\n        var CardBody = (0,dom_utils.createElem)('div');\n        CardBody.className = prefix.default.card + \"-body\";\n        CardBody.appendChild(placeholderNode);\n        Fragment.appendChild(CardBody);\n        node.appendChild(Fragment);\n    };\n    Card.prototype._setExtra = function (node, extra) {\n        if (!extra)\n            return;\n        var CardExtraTemplate = \"<div class=\\\"\" + prefix.default.card + \"-extra\\\">\" + extra + \"</div>\";\n        node.insertAdjacentHTML('beforeend', CardExtraTemplate);\n    };\n    Card.prototype._attrs = function (node) {\n        return {\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            extra: (0,dom_utils.getStrTypeAttr)(node, 'extra', ''),\n            shadow: (0,dom_utils.getBooleanTypeAttr)(node, 'shadow'),\n            disHover: (0,dom_utils.getBooleanTypeAttr)(node, 'dis-hover'),\n            noBorder: (0,dom_utils.getBooleanTypeAttr)(node, 'no-border')\n        };\n    };\n    return Card;\n}());\n/* harmony default export */ var card = (Card);\n\n;// CONCATENATED MODULE: ./src/components/card/index.ts\n\n/* harmony default export */ var components_card = (card);\n\n;// CONCATENATED MODULE: ./src/components/carousel/carousel.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar AUTOPLAYSPEED = 2000;\nvar DURATION = 520;\nvar Carousel = /** @class */ (function () {\n    function Carousel() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-carousel', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Carousel.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'carousel');\n        var _attrs = Carousel.prototype._attrs;\n        var _a = _attrs(target), autoplay = _a.autoplay, autoplaySpeed = _a.autoplaySpeed, hoverPause = _a.hoverPause;\n        return {\n            events: function (_a) {\n                var onClick = _a.onClick, onChange = _a.onChange;\n                var elems = target.querySelectorAll(\".\" + prefix.default.carousel + \"-item\");\n                var LeftArrow = target.querySelector(\".\" + prefix.default.carousel + \"-arrow.left\");\n                var RightArrow = target.querySelector(\".\" + prefix.default.carousel + \"-arrow.right\");\n                var lastIndex = elems.length - 1;\n                var handleChange = function (siblingType, newSetElem) {\n                    var oldActiveElem = target.querySelector(\".\" + prefix.default.carousel + \"-item.active\");\n                    var activeElem = oldActiveElem[siblingType] || newSetElem;\n                    var oldValue = Number(oldActiveElem.dataset['index']);\n                    // @ts-ignore\n                    var value = Number(activeElem.dataset['index']);\n                    onChange && utils.type.isFn(onChange, [oldValue, value]);\n                };\n                var autoPlayUseChangeEvent = function () {\n                    if (!autoplay)\n                        return;\n                    var eventTimer = null;\n                    var startEvent = function () {\n                        eventTimer = window.setInterval(function () {\n                            handleChange('nextElementSibling', elems[0]);\n                        }, autoplaySpeed);\n                    };\n                    var pauseEvent = function () {\n                        return eventTimer ? window.clearInterval(eventTimer) : false;\n                    };\n                    startEvent();\n                    if (hoverPause === 'false')\n                        return;\n                    (0,dom_utils.bind)(target, 'mouseenter', function () { return pauseEvent(); });\n                    (0,dom_utils.bind)(target, 'mouseleave', function () { return startEvent(); });\n                };\n                var handleClick = function () {\n                    elems.forEach(function (elem, index) {\n                        (0,dom_utils.bind)(elem, 'click', function () { return onClick && utils.type.isFn(onClick, index); });\n                    });\n                };\n                (0,dom_utils.bind)(LeftArrow, 'click', function () {\n                    return handleChange('previousElementSibling', elems[lastIndex]);\n                });\n                (0,dom_utils.bind)(RightArrow, 'click', function () { return handleChange('nextElementSibling', elems[0]); });\n                handleClick();\n                autoPlayUseChangeEvent();\n            }\n        };\n    };\n    Carousel.prototype._create = function (components) {\n        var _this = this;\n        components.forEach(function (node) {\n            if ((0,mixins.moreThanOneNode)(node))\n                return;\n            var placeholderNode = node.firstElementChild;\n            if (!placeholderNode)\n                return;\n            var carouselItemCount = placeholderNode.childElementCount;\n            var _a = _this._attrs(node), dots = _a.dots, arrow = _a.arrow, effect = _a.effect, easing = _a.easing, radiusDot = _a.radiusDot, trigger = _a.trigger, autoplay = _a.autoplay, hoverPause = _a.hoverPause, autoplaySpeed = _a.autoplaySpeed;\n            _this._setMainTemplate(node, dots, arrow);\n            _this._setFadeCls(node, effect);\n            _this._setItem(node, placeholderNode, carouselItemCount, easing);\n            _this._setIndicators(node, carouselItemCount, radiusDot, trigger);\n            _this._autoPlay(autoplay, node, hoverPause, autoplaySpeed);\n            _this._handleArrowClick(node, arrow);\n            (0,dom_utils.removeAttrs)(node, [\n                'dots',\n                'arrow',\n                'effect',\n                'easing',\n                'trigger',\n                'radius-dot',\n                'autoplay',\n                'hover-pause',\n                'autoplay-speed'\n            ]);\n        });\n    };\n    Carousel.prototype._setMainTemplate = function (node, dots, arrow) {\n        var template = \"\\n        <button type=\\\"button\\\" class=\\\"left \" + prefix.default.carousel + \"-arrow \" + prefix.default.carousel + \"-arrow-\" + arrow + \"\\\">\\n           <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-arrow-back\\\"></i>\\n        </button>\\n        <div class=\\\"\" + prefix.default.carousel + \"-list\\\"></div>\\n        <button type=\\\"button\\\" class=\\\"right \" + prefix.default.carousel + \"-arrow \" + prefix.default.carousel + \"-arrow-\" + arrow + \"\\\">\\n           <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-arrow-forward\\\"></i>\\n        </button>\\n        <ul class=\\\"\" + prefix.default.carousel + \"-dots \" + prefix.default.carousel + \"-dots-\" + dots + \"\\\"></ul>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Carousel.prototype._setFadeCls = function (node, effect) {\n        effect === 'fade' ? node.classList.add(prefix.default.carousel + \"-\" + effect) : '';\n    };\n    Carousel.prototype._setItem = function (node, placeholderNode, carouselItemCount, esaing) {\n        var _a;\n        var CarouselList = node.querySelector(\".\" + prefix.default.carousel + \"-list\");\n        var Fragment = document.createDocumentFragment();\n        var children = Array.from(placeholderNode.children);\n        var i = 0;\n        for (; i < carouselItemCount; i++) {\n            var CarouselItem = (0,dom_utils.createElem)('div');\n            CarouselItem.dataset['index'] = \"\" + i;\n            CarouselItem.className = prefix.default.carousel + \"-item\";\n            CarouselItem.appendChild(children[i]);\n            this._setEasing(CarouselItem, esaing);\n            Fragment.appendChild(CarouselItem);\n            (_a = Fragment.firstElementChild) === null || _a === void 0 ? void 0 : _a.classList.add('active');\n        }\n        CarouselList === null || CarouselList === void 0 ? void 0 : CarouselList.appendChild(Fragment);\n    };\n    Carousel.prototype._setEasing = function (item, easing) {\n        if (!easing)\n            return;\n        (0,dom_utils.setCss)(item, 'transitionTimingFunction', easing);\n    };\n    Carousel.prototype._setIndicators = function (node, carouselItemCount, radiusDot, trigger) {\n        var _a;\n        var CarouselDots = node.querySelector(\".\" + prefix.default.carousel + \"-dots\");\n        var Fragment = document.createDocumentFragment();\n        var i = 0;\n        for (; i < carouselItemCount; i++) {\n            var CarouselDot = (0,dom_utils.createElem)('li');\n            CarouselDot.dataset['slideTo'] = \"\" + i;\n            (0,dom_utils.setHtml)(CarouselDot, \"<button type=\\\"button\\\" class=\" + (radiusDot ? 'radius' : '') + \"></button>\");\n            this._handleDotChange(trigger, node, CarouselDot);\n            Fragment.appendChild(CarouselDot);\n            (_a = Fragment.firstElementChild) === null || _a === void 0 ? void 0 : _a.classList.add(prefix.default.carousel + \"-active\");\n        }\n        CarouselDots === null || CarouselDots === void 0 ? void 0 : CarouselDots.appendChild(Fragment);\n    };\n    Carousel.prototype._autoPlay = function (autoplay, node, hoverPause, autoplaySpeed) {\n        var _this = this;\n        if (!autoplay)\n            return;\n        var autoPlayTimer = null;\n        var play = function () {\n            var speed = autoplaySpeed;\n            // 当轮播图自动播放的切换速度低于 650ms 会出现问题，\n            // 因此低于这个数值的都会被重置为 650ms。\n            if (speed < 650) {\n                speed = 650;\n                console.warn(\"[Rabbit warn] Please do not set the sliding speed of carousel to less than 650ms. There are known problems with doing so, so it has been reset to 650ms. --> \" + autoplaySpeed + \"ms\");\n            }\n            autoPlayTimer = window.setInterval(function () { return _this._slide('next', node); }, speed);\n        };\n        play();\n        if (hoverPause === 'false')\n            return;\n        var pause = function () { return (autoPlayTimer ? window.clearInterval(autoPlayTimer) : false); };\n        (0,dom_utils.bind)(node, 'mouseenter', function () { return pause(); });\n        (0,dom_utils.bind)(node, 'mouseleave', function () { return play(); });\n    };\n    Carousel.prototype._handleArrowClick = function (node, arrow) {\n        var _this = this;\n        if (arrow === 'none')\n            return;\n        var LeftArrow = node.querySelector(\".\" + prefix.default.carousel + \"-arrow.left\");\n        var RightArrow = node.querySelector(\".\" + prefix.default.carousel + \"-arrow.right\");\n        (0,dom_utils.bind)(LeftArrow, 'click', function () { return _this._slide('prev', node); });\n        (0,dom_utils.bind)(RightArrow, 'click', function () { return _this._slide('next', node); });\n    };\n    Carousel.prototype._handleDotChange = function (trigger, node, dot) {\n        var _this = this;\n        var activeIndex, activeElem;\n        var _C = function () {\n            activeIndex = Number(dot.dataset['slideTo']);\n            activeElem = node.querySelector(\".\" + prefix.default.carousel + \"-item[data-index=\\\"\" + activeIndex + \"\\\"]\");\n            if (activeElem.classList.contains('active'))\n                return;\n            _this._dotChange(node, activeIndex);\n            _this._showActiveItem(activeElem);\n            (0,dom_utils.siblings)(activeElem).forEach(function (otherElem) {\n                return otherElem.classList.contains('active') ? _this._hideOldActiveItem(otherElem) : '';\n            });\n        };\n        if (trigger === 'hover') {\n            (0,dom_utils.bind)(dot, 'mouseenter', function () { return _C(); });\n        }\n        else {\n            (0,dom_utils.bind)(dot, 'click', function () { return _C(); });\n        }\n    };\n    Carousel.prototype._slide = function (type, node) {\n        var _this = this;\n        var direction = type === 'prev' ? 'right' : 'left';\n        var CarouselList = node.querySelector(\".\" + prefix.default.carousel + \"-list\");\n        var firstIndex = 0;\n        var lastIndex = CarouselList.childElementCount - 1;\n        var ActiveItem = node.querySelector(\".\" + prefix.default.carousel + \"-item.active\");\n        var PrevItem = ActiveItem.previousElementSibling || CarouselList.children[lastIndex];\n        var NextItem = ActiveItem.nextElementSibling || CarouselList.children[firstIndex];\n        var __change = function (elem) { return _this._change(type, direction, node, ActiveItem, elem); };\n        type === 'prev' ? __change(PrevItem) : __change(NextItem);\n    };\n    Carousel.prototype._change = function (type, direction, node, oldActiveItem, curActiveItem) {\n        // @ts-ignore\n        var activeIndex = Number(curActiveItem.dataset['index']);\n        this._dotChange(node, activeIndex);\n        this._showActiveItem(curActiveItem, type, direction);\n        this._hideOldActiveItem(oldActiveItem, direction);\n    };\n    Carousel.prototype._dotChange = function (node, activeIndex) {\n        var CarouselDots = node.querySelector(\".\" + prefix.default.carousel + \"-dots\");\n        var ActiveDot = CarouselDots.children[activeIndex];\n        ActiveDot.classList.add(prefix.default.carousel + \"-active\");\n        (0,dom_utils.siblings)(ActiveDot).forEach(function (dot) {\n            return dot.classList.contains(prefix.default.carousel + \"-active\")\n                ? dot.classList.remove(prefix.default.carousel + \"-active\")\n                : '';\n        });\n    };\n    Carousel.prototype._showActiveItem = function (activeElem, type, direction) {\n        if (type === void 0) { type = 'next'; }\n        if (direction === void 0) { direction = 'left'; }\n        activeElem.classList.add(prefix.default.carousel + \"-item-\" + type);\n        setTimeout(function () { return activeElem.classList.add(prefix.default.carousel + \"-item-\" + direction); }, 20);\n        setTimeout(function () {\n            activeElem.classList.add('active');\n            activeElem.classList.remove(prefix.default.carousel + \"-item-\" + type);\n            activeElem.classList.remove(prefix.default.carousel + \"-item-\" + direction);\n        }, DURATION);\n    };\n    Carousel.prototype._hideOldActiveItem = function (oldElem, direction) {\n        if (direction === void 0) { direction = 'left'; }\n        setTimeout(function () { return oldElem.classList.add(prefix.default.carousel + \"-item-\" + direction); }, 20);\n        setTimeout(function () {\n            oldElem.classList.remove('active');\n            oldElem.classList.remove(prefix.default.carousel + \"-item-\" + direction);\n        }, DURATION);\n    };\n    Carousel.prototype._attrs = function (node) {\n        return {\n            dots: (0,dom_utils.getStrTypeAttr)(node, 'dots', 'inside'),\n            arrow: (0,dom_utils.getStrTypeAttr)(node, 'arrow', 'hover'),\n            effect: (0,dom_utils.getStrTypeAttr)(node, 'effect', ''),\n            easing: (0,dom_utils.getStrTypeAttr)(node, 'easing', ''),\n            trigger: (0,dom_utils.getStrTypeAttr)(node, 'trigger', 'click'),\n            hoverPause: (0,dom_utils.getStrTypeAttr)(node, 'hover-pause', 'true'),\n            radiusDot: (0,dom_utils.getBooleanTypeAttr)(node, 'radius-dot'),\n            autoplay: (0,dom_utils.getBooleanTypeAttr)(node, 'autoplay'),\n            autoplaySpeed: (0,dom_utils.getNumTypeAttr)(node, 'autoplay-speed', AUTOPLAYSPEED)\n        };\n    };\n    return Carousel;\n}());\n/* harmony default export */ var carousel = (Carousel);\n\n;// CONCATENATED MODULE: ./src/components/carousel/index.ts\n\n/* harmony default export */ var components_carousel = (carousel);\n\n;// CONCATENATED MODULE: ./src/components/checkbox/checkbox.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Checkbox = /** @class */ (function () {\n    function Checkbox() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-checkbox', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Checkbox.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        var isGroup = target.tagName.toLowerCase() == 'r-checkbox-group';\n        // 排除 group 项\n        if (!isGroup) {\n            (0,utils.validComps)(target, 'checkbox');\n        }\n        else {\n            (0,utils.validComps)(target, 'checkbox-group');\n        }\n        var _a = Checkbox.prototype, _attrs = _a._attrs, _setChecked = _a._setChecked, _setIndeterminate = _a._setIndeterminate, _setMultipleChecks = _a._setMultipleChecks, _isDisabled = _a._isDisabled;\n        var value = _attrs(target).value;\n        return {\n            get value() {\n                return value;\n            },\n            set value(newVal) {\n                if (!isGroup) {\n                    (0,mixins.warn)(\"This checkbox is not a child of a group element -->\\\"\" + el + \"\\\"\");\n                    return;\n                }\n                if (newVal && !utils.type.isArr(newVal))\n                    return;\n                _setMultipleChecks(target, newVal);\n            },\n            get checked() {\n                return target.dataset['value'] === 'true';\n            },\n            set checked(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                _setChecked(target, newVal);\n            },\n            get disabled() {\n                return _isDisabled(target);\n            },\n            set disabled(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                if (isGroup)\n                    return;\n                newVal\n                    ? target.setAttribute('disabled', 'disabled')\n                    : target.removeAttribute('disabled');\n                var CheckBoxInput = target.querySelector(\".\" + prefix.default.checkbox + \"-input\");\n                CheckBoxInput.disabled = newVal;\n            },\n            get indeterminate() {\n                var isIndeterminate = target\n                    .querySelector(\".\" + prefix.default.checkbox)\n                    .classList.contains(prefix.default.checkbox + \"-indeterminate\");\n                return isIndeterminate;\n            },\n            set indeterminate(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                if (isGroup)\n                    return;\n                _setIndeterminate(target, newVal);\n            },\n            events: function (_a) {\n                var onChange = _a.onChange;\n                var CheckBox, checked;\n                isGroup ? (CheckBox = target.querySelectorAll('r-checkbox')) : (CheckBox = target);\n                var fn = function () {\n                    if (isGroup) {\n                        checked = [];\n                        CheckBox.forEach(function (elm) {\n                            elm.dataset['value'] === 'true'\n                                ? checked.push(elm.dataset['label'])\n                                : '';\n                        });\n                    }\n                    else {\n                        checked = target.dataset['value'] === 'true';\n                    }\n                    onChange && utils.type.isFn(onChange, checked);\n                };\n                (0,dom_utils.bind)(target, 'click', fn);\n            }\n        };\n    };\n    Checkbox.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), icon = _a.icon, name = _a.name, checked = _a.checked, label = _a.label, indeterminate = _a.indeterminate;\n            var CheckboxGroupWrapper = _this._getGroupWrapper(node);\n            _this._setChecked(node, checked);\n            _this._setMainTemplate(node, name);\n            _this._setLabel(node, label);\n            _this._setDisabled(node);\n            _this._setIcon(node, icon);\n            _this._setIndeterminate(node, indeterminate);\n            _this._handleChange(node);\n            if (CheckboxGroupWrapper) {\n                var value = _this._attrs(CheckboxGroupWrapper).value;\n                _this._setMultipleChecks(CheckboxGroupWrapper, value);\n                (0,dom_utils.removeAttrs)(CheckboxGroupWrapper, ['value']);\n            }\n            (0,dom_utils.removeAttrs)(node, ['icon', 'name', 'checked', 'label']);\n        });\n    };\n    Checkbox.prototype._setChecked = function (node, checked) {\n        // @ts-ignore\n        node.dataset['value'] = \"\" + checked;\n        if (!checked) {\n            if (node.classList.contains(prefix.default.checkbox + \"-checked\")) {\n                node.classList.remove(prefix.default.checkbox + \"-checked\");\n            }\n        }\n        else {\n            node.classList.add(prefix.default.checkbox + \"-checked\");\n        }\n    };\n    Checkbox.prototype._setMainTemplate = function (node, name) {\n        var content = (0,dom_utils.setHtml)(node);\n        var template = \"\\n         <span class=\\\"\" + prefix.default.checkbox + \"\\\">\\n            <span class=\\\"\" + prefix.default.checkbox + \"-inner\\\"></span>\\n                <input type=\\\"checkbox\\\" class=\\\"\" + prefix.default.checkbox + \"-input\\\" name=\\\"\" + name + \"\\\">\\n            </span>\\n         <span>\" + content + \"</span>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Checkbox.prototype._setLabel = function (node, label) {\n        if (!this._getGroupWrapper(node))\n            return;\n        // @ts-ignore\n        node.dataset['label'] = label;\n    };\n    Checkbox.prototype._setDisabled = function (node) {\n        if (!this._isDisabled(node))\n            return;\n        var CheckBoxInput = node.querySelector(\".\" + prefix.default.checkbox + \"-input\");\n        CheckBoxInput.disabled = true;\n    };\n    Checkbox.prototype._setIcon = function (node, icon) {\n        if (!icon)\n            return;\n        var template = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon + \"\\\"></i>\";\n        node.querySelector(\".\" + prefix.default.checkbox).insertAdjacentHTML('afterend', template);\n    };\n    Checkbox.prototype._setIndeterminate = function (node, indeterminate) {\n        var Checkbox = node.querySelector(\".\" + prefix.default.checkbox);\n        if (!indeterminate) {\n            if (Checkbox.classList.contains(prefix.default.checkbox + \"-indeterminate\")) {\n                Checkbox.classList.remove(prefix.default.checkbox + \"-indeterminate\");\n            }\n        }\n        else {\n            Checkbox.classList.add(prefix.default.checkbox + \"-indeterminate\");\n        }\n    };\n    Checkbox.prototype._setMultipleChecks = function (checkboxGroupWrapper, value) {\n        var _setChecked = Checkbox.prototype._setChecked;\n        var Checkboxs = checkboxGroupWrapper.querySelectorAll('r-checkbox');\n        var length = value.length;\n        if (length == 0) {\n            Checkboxs.forEach(function (elm) { return _setChecked(elm, false); });\n        }\n        else {\n            var i = 0;\n            for (; i < length; i++) {\n                var currentCheckbox = checkboxGroupWrapper.querySelector(\"[data-label=\\\"\" + value[i] + \"\\\"]\");\n                currentCheckbox ? _setChecked(currentCheckbox, true) : '';\n            }\n        }\n    };\n    Checkbox.prototype._handleChange = function (node) {\n        var _this = this;\n        var addFocusedState = function () {\n            var CheckBoxInner = node.querySelector(\".\" + prefix.default.checkbox + \"-inner\");\n            CheckBoxInner.classList.add(prefix.default.checkbox + \"-focus\");\n            setTimeout(function () { return CheckBoxInner.classList.remove(prefix.default.checkbox + \"-focus\"); }, 1500);\n        };\n        var toogle = function () {\n            // @ts-ignore\n            var isChecked = node.dataset['value'] === 'true' ? false : true;\n            var isDisabled = _this._isDisabled(node);\n            if (isDisabled)\n                return false;\n            addFocusedState();\n            _this._setChecked(node, isChecked);\n        };\n        (0,dom_utils.bind)(node, 'click', toogle);\n    };\n    Checkbox.prototype._isDisabled = function (node) {\n        return node.getAttribute('disabled') == '' || node.getAttribute('disabled') == 'true';\n    };\n    Checkbox.prototype._getGroupWrapper = function (node) {\n        var parent = node.parentElement;\n        return (parent === null || parent === void 0 ? void 0 : parent.tagName.toLowerCase()) === 'r-checkbox-group' ? parent : null;\n    };\n    Checkbox.prototype._attrs = function (node) {\n        return {\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            name: (0,dom_utils.getStrTypeAttr)(node, 'name', ''),\n            label: (0,dom_utils.getStrTypeAttr)(node, 'label', ''),\n            value: (0,dom_utils.getArrTypeAttr)(node, 'value'),\n            checked: (0,dom_utils.getBooleanTypeAttr)(node, 'checked'),\n            indeterminate: (0,dom_utils.getBooleanTypeAttr)(node, 'indeterminate')\n        };\n    };\n    return Checkbox;\n}());\n/* harmony default export */ var checkbox_checkbox = (Checkbox);\n\n;// CONCATENATED MODULE: ./src/components/checkbox/index.ts\n\n/* harmony default export */ var components_checkbox = (checkbox_checkbox);\n\n;// CONCATENATED MODULE: ./src/components/circle/circle.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Circle = /** @class */ (function () {\n    function Circle() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-circle', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Circle.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        var InnerCircle = target.querySelectorAll('path')[1];\n        var _a = Circle.prototype, _attrs = _a._attrs, _setPercent = _a._setPercent, _setStrokeColor = _a._setStrokeColor;\n        var _b = _attrs(target), percent = _b.percent, strokeWidth = _b.strokeWidth, dashboard = _b.dashboard, strokeColor = _b.strokeColor;\n        return {\n            get percent() {\n                return percent;\n            },\n            set percent(newVal) {\n                if (newVal && !utils.type.isNum(newVal))\n                    return;\n                _setPercent(InnerCircle, newVal, strokeWidth, dashboard);\n            },\n            get strokeColor() {\n                return strokeColor;\n            },\n            set strokeColor(newVal) {\n                if (newVal && !utils.type.isStr(newVal) && !utils.type.isArr(newVal))\n                    return;\n                _setStrokeColor(InnerCircle, newVal);\n            }\n        };\n    };\n    Circle.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            if ((0,mixins.moreThanOneNode)(node))\n                return;\n            var CircleContent = node.firstElementChild;\n            var _a = _this._attrs(node), size = _a.size, percent = _a.percent, strokeLinecap = _a.strokeLinecap, strokeWidth = _a.strokeWidth, strokeColor = _a.strokeColor, trailColor = _a.trailColor, trailWidth = _a.trailWidth, dashboard = _a.dashboard;\n            _this._setSize(node, size);\n            _this._setMainTemplate(node, percent, trailColor, trailWidth, strokeLinecap, strokeWidth, strokeColor, dashboard);\n            var InnerCircle = node.querySelectorAll('path')[1];\n            _this._setPercent(InnerCircle, percent, strokeWidth, dashboard);\n            _this._setStrokeColor(InnerCircle, strokeColor);\n            _this._setInnerContent(node, CircleContent);\n            (0,dom_utils.removeAttrs)(node, [\n                'percent',\n                'size',\n                'stroke-linecap',\n                'stroke-width',\n                'stroke-color',\n                'trail-width',\n                'trail-color',\n                'dashboard'\n            ]);\n        });\n    };\n    Circle.prototype._setSize = function (node, size) {\n        (0,dom_utils.setCss)(node, 'width', size + \"px\");\n        (0,dom_utils.setCss)(node, 'height', size + \"px\");\n    };\n    Circle.prototype._setMainTemplate = function (node, percent, trailColor, trailWidth, strokeLinecap, strokeWidth, strokeColor, dashboard) {\n        var pathString = this._getPathString(strokeWidth, dashboard);\n        var _a = this._getStyle(strokeWidth, dashboard), trailStyle = _a.trailStyle, pathStyle = _a.pathStyle;\n        var computedStrokeWidth = percent === 0 && dashboard ? 0 : strokeWidth;\n        var template = \"\\n        <svg viewBox=\\\"0 0 100 100\\\">\\n          <path\\n            d=\\\"\" + pathString + \"\\\"\\n            stroke=\\\"\" + trailColor + \"\\\"\\n            stroke-width=\\\"\" + trailWidth + \"\\\"\\n            fill-opacity=\\\"0\\\"\\n            stroke-linecap=\\\"\" + strokeLinecap + \"\\\"\\n            style=\\\"\" + trailStyle + \"\\\"\\n          ></path>\\n          <path\\n            d=\\\"\" + pathString + \"\\\"\\n            stroke-linecap=\\\"\" + strokeLinecap + \"\\\"\\n            stroke-width=\\\"\" + computedStrokeWidth + \"\\\"\\n            fill-opacity=\\\"0\\\"\\n            style=\\\"\" + pathStyle + \"\\\"\\n          ></path>\\n        </svg>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Circle.prototype._radius = function (strokeWidth) {\n        return 50 - strokeWidth / 2;\n    };\n    Circle.prototype._setPercent = function (innerCircle, percent, strokeWidth, dashboard) {\n        var _radius = Circle.prototype._radius;\n        var len = Math.floor(Math.PI * 2 * _radius(strokeWidth));\n        if (dashboard) {\n            (0,dom_utils.setCss)(innerCircle, 'strokeDasharray', (percent / 100) * (len - 75) + \"px \" + len + \"px\");\n        }\n        else {\n            (0,dom_utils.setCss)(innerCircle, 'strokeDashoffset', ((100 - percent) / 100) * len + \"px\");\n        }\n    };\n    Circle.prototype._setStrokeColor = function (innerCircle, color) {\n        var id = prefix.default.circle + \"-\" + (0,utils.randomStr)(3);\n        var addDefs = function (color) {\n            if (color.length > 2) {\n                (0,mixins.warn)('👇 The stroke-color attribute of circle cannot pass an array of length greater than 2');\n                console.error(innerCircle.parentElement.parentElement);\n                return;\n            }\n            strokeValue = \"url(#\" + id + \")\";\n            var defs = Circle.prototype.showDefs(id, color);\n            innerCircle.parentElement.insertAdjacentHTML('beforeend', defs);\n        };\n        var strokeValue;\n        if (typeof color === 'string') {\n            if (color.startsWith('[') && color.endsWith(']')) {\n                addDefs(JSON.parse(color));\n            }\n            else {\n                strokeValue = color;\n            }\n        }\n        else if (Array.isArray(color)) {\n            addDefs(color);\n        }\n        innerCircle.setAttribute('stroke', strokeValue);\n    };\n    Circle.prototype._getPathString = function (strokeWidth, dashboard) {\n        var radius = this._radius(strokeWidth);\n        if (dashboard) {\n            return \"M 50,50 m 0,\" + radius + \"\\n          a \" + radius + \",\" + radius + \" 0 1 1 0,-\" + 2 * radius + \"\\n          a \" + radius + \",\" + radius + \" 0 1 1 0,\" + 2 * radius;\n        }\n        else {\n            return \"M 50,50 m 0,-\" + radius + \"\\n          a \" + radius + \",\" + radius + \" 0 1 1 0,\" + 2 * radius + \"\\n          a \" + radius + \",\" + radius + \" 0 1 1 0,-\" + 2 * radius;\n        }\n    };\n    Circle.prototype._getStyle = function (strokeWidth, dashboard) {\n        var len = Math.floor(Math.PI * 2 * this._radius(strokeWidth));\n        var trailStyle, pathStyle;\n        if (dashboard) {\n            trailStyle = \"\\n            stroke-dasharray: \" + (len - 75) + \"px \" + len + \"px;\\n            stroke-dashoffset: -\" + 75 / 2 + \"px;\\n            transition: stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s\\n            \";\n            pathStyle = \"\\n            stroke-dashoffset: -\" + 75 / 2 + \"px;\\n            transition:stroke-dashoffset .3s ease 0s, stroke-dasharray .6s ease 0s, stroke .6s, stroke-width .06s ease .6s\\n            \";\n        }\n        else {\n            trailStyle = '';\n            pathStyle = \"\\n              stroke-dasharray: \" + len + \"px \" + len + \"px;\\n              transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease\\n              \";\n        }\n        return { trailStyle: trailStyle, pathStyle: pathStyle };\n    };\n    Circle.prototype.showDefs = function (id, color) {\n        return \"<defs>\\n                 <linearGradient id=\\\"\" + id + \"\\\" x1=\\\"100%\\\" y1=\\\"0%\\\" x2=\\\"0%\\\" y2=\\\"0%\\\">\\n                     <stop offset=\\\"0%\\\" stop-color=\\\"\" + color[0] + \"\\\"></stop>\\n                     <stop offset=\\\"100%\\\" stop-color=\\\"\" + color[1] + \"\\\"></stop>\\n                 </linearGradient>\\n              </defs>\\n              \";\n    };\n    Circle.prototype._setInnerContent = function (node, content) {\n        if (!content)\n            return;\n        var CircleInner = (0,dom_utils.createElem)('div');\n        CircleInner.className = prefix.default.circle + \"-inner\";\n        CircleInner.appendChild(content);\n        node.appendChild(CircleInner);\n    };\n    Circle.prototype._attrs = function (node) {\n        return {\n            size: (0,dom_utils.getNumTypeAttr)(node, 'size', 120),\n            percent: (0,dom_utils.getNumTypeAttr)(node, 'percent', 0),\n            strokeWidth: (0,dom_utils.getNumTypeAttr)(node, 'stroke-width', 6),\n            trailWidth: (0,dom_utils.getNumTypeAttr)(node, 'trail-width', 5),\n            trailColor: (0,dom_utils.getStrTypeAttr)(node, 'trail-color', '#eaeef2'),\n            strokeColor: (0,dom_utils.getStrTypeAttr)(node, 'stroke-color', '#1890ff'),\n            strokeLinecap: (0,dom_utils.getStrTypeAttr)(node, 'stroke-linecap', 'round'),\n            dashboard: (0,dom_utils.getBooleanTypeAttr)(node, 'dashboard')\n        };\n    };\n    return Circle;\n}());\n/* harmony default export */ var circle = (Circle);\n\n;// CONCATENATED MODULE: ./src/components/circle/index.ts\n\n/* harmony default export */ var components_circle = (circle);\n\n// EXTERNAL MODULE: ./src/dom-utils/elem.ts\nvar elem = __webpack_require__(\"./src/dom-utils/elem.ts\");\n;// CONCATENATED MODULE: ./src/components/collapse/collapse.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Collapse = /** @class */ (function () {\n    function Collapse() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-collapse', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Collapse.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'collapse');\n        var _a = Collapse.prototype, _attrs = _a._attrs, _dataSetActiveKey = _a._dataSetActiveKey, _openByKey = _a._openByKey;\n        var activeIndex = JSON.parse(target.dataset['activeIndex']);\n        return {\n            get activeIndex() {\n                return activeIndex;\n            },\n            set activeIndex(newVal) {\n                if (newVal == activeIndex)\n                    return;\n                _dataSetActiveKey(target, newVal);\n                _openByKey(target, newVal, target.getAttribute('accordion'));\n            },\n            events: function (_a) {\n                var onChange = _a.onChange;\n                var panels = target.querySelectorAll('r-collapse-panel');\n                // 储存已展开面板的 key\n                var key = [];\n                var pushKey = function (el, toggle) {\n                    var accordion = _attrs(target).accordion;\n                    // @ts-ignore\n                    var panelKey = el.dataset.panelKey;\n                    if (el.classList.contains(prefix.default.collapse + \"-item-active\")) {\n                        key.push(panelKey);\n                    }\n                    else if (toggle) {\n                        var idx = key.indexOf(panelKey);\n                        idx > -1 ? key.splice(idx, 1) : '';\n                    }\n                    // 手风琴模式下每展开一个面板就删除其他的 key\n                    if (accordion) {\n                        (0,dom_utils.siblings)(el).forEach(function (o) {\n                            var otherIdx = key.indexOf(o.dataset.panelKey);\n                            otherIdx > -1 ? key.splice(otherIdx, 1) : '';\n                        });\n                    }\n                };\n                panels.forEach(function (panel) {\n                    var header = panel.querySelector(\".\" + prefix.default.collapse + \"-header\");\n                    // 存放初始化面板时默认已展开的 key\n                    pushKey(panel, false);\n                    (0,dom_utils.bind)(header, 'click', function () {\n                        // 这里用定时器是为了跟移除显示面板样式类名的时机同步\n                        setTimeout(function () {\n                            pushKey(panel, true);\n                            onChange && utils.type.isFn(onChange, key);\n                        }, 150);\n                    });\n                });\n            }\n        };\n    };\n    Collapse.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), simple = _a.simple, ghost = _a.ghost, activekey = _a.activekey, accordion = _a.accordion;\n            _this._dataSetActiveKey(node, activekey);\n            _this._setGhost(node, ghost);\n            _this._setSimple(node, simple);\n            _this._createChildNodes(node);\n            _this._openByKey(node, activekey, accordion);\n            (0,dom_utils.removeAttrs)(node, ['simple', 'ghost', 'active-key']);\n        });\n    };\n    Collapse.prototype._dataSetActiveKey = function (node, activeIndex) {\n        if (activeIndex) {\n            // @ts-ignore\n            node.dataset['activeIndex'] = Array.isArray(activeIndex)\n                ? \"[\" + activeIndex + \"]\"\n                : activeIndex;\n        }\n    };\n    Collapse.prototype._setGhost = function (node, ghost) {\n        ghost ? node.classList.add(prefix.default.collapse + \"-ghost\") : '';\n    };\n    Collapse.prototype._setSimple = function (node, simple) {\n        simple ? node.classList.add(prefix.default.collapse + \"-simple\") : '';\n    };\n    Collapse.prototype._createChildNodes = function (node) {\n        var collapsePanels = node.querySelectorAll('r-collapse-panel');\n        this._setPanel(node, collapsePanels);\n    };\n    Collapse.prototype._setPanel = function (parent, panels) {\n        var _this = this;\n        // 遍历所有面板节点\n        panels.forEach(function (panel, index) {\n            var _a = _this._attrs(panel), key = _a.index, title = _a.title, hideArrow = _a.hideArrow;\n            // @ts-ignore\n            // 面板的 key 如果没填则默认为索引值\n            panel.dataset.panelKey = !key ? index : key;\n            // 保存面板原先的第一个节点，也就是要填充的内容\n            var content = panel.firstElementChild;\n            var arrowIcon = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-arrow-forward\\\"></i>\";\n            var template = \"\\n                 <div class=\\\"\" + prefix.default.collapse + \"-header\\\">\\n                    \" + (!hideArrow ? arrowIcon : '') + \" \" + title + \"\\n                 </div>\\n                 <div class=\\\"\" + prefix.default.collapse + \"-content\\\">\\n                    <div class=\\\"\" + prefix.default.collapse + \"-content-box\\\"></div>\\n                 </div>\";\n            // 清空面板原先的所有内容\n            (0,elem.setHtml)(panel, '');\n            // 追加html模板\n            (0,elem.setHtml)(panel, template);\n            // 将原先的占位内容填充至面板内容盒子\n            var panelContentBox = panel.querySelector(\".\" + prefix.default.collapse + \"-content-box\");\n            content ? panelContentBox === null || panelContentBox === void 0 ? void 0 : panelContentBox.appendChild(content) : null;\n            (0,elem.setCss)(panel, 'display', 'block');\n            _this._handleToggle(parent, panel);\n            (0,dom_utils.removeAttrs)(panel, ['index', 'title', 'hide-arrow']);\n        });\n    };\n    Collapse.prototype._handleToggle = function (parent, panel) {\n        var _this = this;\n        var accordion = this._attrs(parent).accordion;\n        var collapseHeader = panel.querySelector(\".\" + prefix.default.collapse + \"-header\");\n        var collapseContent = panel.querySelector(\".\" + prefix.default.collapse + \"-content\");\n        (0,dom_utils.bind)(collapseHeader, 'click', function () { return _this._slide(panel, collapseContent, accordion); });\n    };\n    Collapse.prototype._slide = function (p, c, accordion) {\n        var activeCls = prefix.default.collapse + \"-item-active\";\n        var slideUp = function (arg1, arg2) {\n            dom_utils.slider.slideUp(arg2, 150);\n            setTimeout(function () {\n                arg1.classList.remove(activeCls);\n            }, 150);\n        };\n        if (p.classList.contains(activeCls)) {\n            slideUp(p, c);\n        }\n        else {\n            dom_utils.slider.slideDown(c, 150);\n            p.classList.add(activeCls);\n        }\n        // 手风琴模式\n        if (accordion) {\n            // 获取除了已展开的面板外的所有其他面板\n            (0,dom_utils.siblings)(p).forEach(function (otherP) {\n                var otherC = otherP.querySelector(\".\" + prefix.default.collapse + \"-content\");\n                slideUp(otherP, otherC);\n            });\n        }\n    };\n    Collapse.prototype._openByKey = function (node, key, accordion) {\n        // 获取选中的 key 的面板\n        var selected;\n        var open = function () {\n            if (selected) {\n                selected.classList.add(prefix.default.collapse + \"-item-active\");\n                if (accordion) {\n                    (0,dom_utils.siblings)(selected).forEach(function (o) {\n                        o.classList.remove(prefix.default.collapse + \"-item-active\");\n                    });\n                }\n            }\n        };\n        // 如果 activeIndex 是数组则对其进行遍历获取所有面板\n        // 且如果是手风琴模式则只选取数组的第一项，只展开一个面板\n        if (Array.isArray(key)) {\n            var length_1 = key.length;\n            // length == 1 说明数组只有一项所以不必对其进行遍历\n            if (accordion || length_1 == 1) {\n                selected = node.querySelector(\"[data-panel-key=\\\"\" + key[0] + \"\\\"]\");\n                open();\n            }\n            else {\n                var i = 0;\n                for (; i < length_1; i++) {\n                    selected = node.querySelector(\"[data-panel-key=\\\"\" + key[i] + \"\\\"]\");\n                    open();\n                }\n            }\n        }\n        else {\n            selected = node.querySelector(\"[data-panel-key=\\\"\" + key + \"\\\"]\");\n            open();\n        }\n    };\n    Collapse.prototype._attrs = function (node) {\n        return {\n            index: (0,elem.getStrTypeAttr)(node, 'index', ''),\n            title: (0,elem.getStrTypeAttr)(node, 'title', ''),\n            ghost: (0,elem.getBooleanTypeAttr)(node, 'ghost'),\n            simple: (0,elem.getBooleanTypeAttr)(node, 'simple'),\n            hideArrow: (0,elem.getBooleanTypeAttr)(node, 'hide-arrow'),\n            accordion: (0,elem.getBooleanTypeAttr)(node, 'accordion'),\n            activekey: (0,elem.getStrTypeAttr)(node, 'active-index', '') && (0,elem.getArrTypeAttr)(node, 'active-index')\n        };\n    };\n    return Collapse;\n}());\n/* harmony default export */ var collapse = (Collapse);\n\n;// CONCATENATED MODULE: ./src/components/collapse/index.ts\n\n/* harmony default export */ var components_collapse = (collapse);\n\n;// CONCATENATED MODULE: ./src/components/count-down/count-down.ts\n\n\nvar CountDown = /** @class */ (function () {\n    function CountDown() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-count-down', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    CountDown.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'count-down');\n        var _countTime = CountDown.prototype._countTime;\n        return {\n            get endTime() {\n                return '';\n            },\n            set endTime(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                _countTime(target, newVal);\n            },\n            events: function (_a) {\n                var onStop = _a.onStop;\n                if (!onStop)\n                    return;\n                (0,dom_utils.bind)(target, 'DOMNodeInserted', function (e) {\n                    if (e.target.textContent === '00:00:00') {\n                        utils.type.isFn(onStop, true);\n                    }\n                });\n            }\n        };\n    };\n    CountDown.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var endTime = _this._attrs(node).endTime;\n            _this._countTime(node, endTime);\n            (0,dom_utils.removeAttrs)(node, ['endTime']);\n        });\n    };\n    CountDown.prototype._countTime = function (node, endTime) {\n        if (!endTime)\n            return;\n        var timer = null;\n        var countDown = function () {\n            //获取当前时间\n            var date = new Date();\n            var now = date.getTime();\n            //设置截止时间\n            var endDate = new Date(endTime);\n            var _endTime = endDate.getTime();\n            //时间差\n            var diff = _endTime - now;\n            //定义变量 d,h,m,s保存倒计时的时间\n            var d = 0, h = 0, m = 0, s = 0;\n            if (diff >= 0) {\n                d = Math.floor(diff / 1000 / 60 / 60 / 24);\n                h = Math.floor((diff / 1000 / 60 / 60) % 24);\n                m = Math.floor((diff / 1000 / 60) % 60);\n                s = Math.floor((diff / 1000) % 60);\n            }\n            var checkTime = function (t) {\n                if (t < 10)\n                    t = \"0\" + t;\n                return t;\n            };\n            //将0-9的数字前面加上0，例1变为01\n            d = checkTime(d);\n            h = checkTime(h);\n            m = checkTime(m);\n            s = checkTime(s);\n            node.textContent = h + \":\" + m + \":\" + s;\n        };\n        countDown();\n        timer = window.setInterval(countDown, 1000);\n        (0,dom_utils.bind)(node, 'DOMNodeInserted', function (e) {\n            if (e.target.textContent === '00:00:00') {\n                window.clearInterval(timer);\n                return;\n            }\n        });\n    };\n    CountDown.prototype._attrs = function (node) {\n        return {\n            endTime: (0,dom_utils.getStrTypeAttr)(node, 'end-time', '')\n        };\n    };\n    return CountDown;\n}());\n/* harmony default export */ var count_down = (CountDown);\n\n;// CONCATENATED MODULE: ./src/components/count-down/index.ts\n\n/* harmony default export */ var components_count_down = (count_down);\n\n;// CONCATENATED MODULE: ./src/components/divider/divider.ts\n\n\nvar Divider = /** @class */ (function () {\n    function Divider() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-divider', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Divider.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            _this._setType(node);\n            _this._setDashed(node);\n            _this._setPlain(node);\n            _this._setTitle(node);\n            (0,dom_utils.removeAttrs)(node, ['dashed', 'plain', 'orientation']);\n        });\n    };\n    Divider.prototype._setType = function (node) {\n        var type = this._attrs(node).type;\n        node.setAttribute('type', \"\" + type);\n    };\n    Divider.prototype._setDashed = function (node) {\n        var dashed = this._attrs(node).dashed;\n        if (dashed) {\n            node.classList.add(prefix.default.divider + \"-dashed\");\n        }\n    };\n    Divider.prototype._setPlain = function (node) {\n        var plain = this._attrs(node).plain;\n        if (plain) {\n            node.classList.add(prefix.default.divider + \"-plain\");\n        }\n    };\n    Divider.prototype._setOrientation = function (node) {\n        var orientation = this._attrs(node).orientation;\n        node.classList.add(prefix.default.divider + \"-with-text-\" + orientation);\n    };\n    Divider.prototype._setTitle = function (node) {\n        if (node.innerHTML == '' || node.innerHTML == ' ')\n            return;\n        this._setOrientation(node);\n        var DividerText = (0,dom_utils.createElem)('span');\n        DividerText.className = prefix.default.divider + \"-inner-text\";\n        DividerText.innerHTML = node.innerHTML;\n        node.classList.add(prefix.default.divider + \"-with-text\");\n        node.innerHTML = '';\n        node.appendChild(DividerText);\n    };\n    Divider.prototype._attrs = function (node) {\n        return {\n            type: (0,dom_utils.getStrTypeAttr)(node, 'type', 'horizontal'),\n            orientation: (0,dom_utils.getStrTypeAttr)(node, 'orientation', 'center'),\n            dashed: (0,dom_utils.getBooleanTypeAttr)(node, 'dashed'),\n            plain: (0,dom_utils.getBooleanTypeAttr)(node, 'plain')\n        };\n    };\n    return Divider;\n}());\n/* harmony default export */ var divider = (Divider);\n\n;// CONCATENATED MODULE: ./src/components/divider/index.ts\n\n/* harmony default export */ var components_divider = (divider);\n\n;// CONCATENATED MODULE: ./src/components/drawer/drawer.ts\n\n\n\n\nvar Drawer = /** @class */ (function () {\n    function Drawer() {\n        this.VERSION = 'v1.1.1';\n        this.COMPONENTS = (0,dom_utils.$el)('r-drawer', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Drawer.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'drawer');\n        var _a = Drawer.prototype, _handleVisable = _a._handleVisable, _attrs = _a._attrs;\n        var DrawerMask = target.querySelector(\".\" + prefix.default.drawer + \"-mask\");\n        var DrawerWrap = target.querySelector(\".\" + prefix.default.drawer + \"-wrap\");\n        var _Drawer = target.querySelector(\".\" + prefix.default.drawer);\n        var DrawerTitle = target.querySelector(\".\" + prefix.default.drawer + \"-header-inner\");\n        var DrawerClose = target.querySelector(\".\" + prefix.default.drawer + \"-close\");\n        return {\n            get title() {\n                return (0,dom_utils.setHtml)(DrawerTitle);\n            },\n            set title(newVal) {\n                if (!utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(DrawerTitle, newVal);\n            },\n            get visable() {\n                return false;\n            },\n            set visable(newVal) {\n                if (!utils.type.isBol(newVal))\n                    return;\n                _handleVisable(newVal, target, [DrawerMask, DrawerWrap, _Drawer]);\n            },\n            events: function (_a) {\n                var onClose = _a.onClose;\n                // v1.0.1 改用on事件绑定，防止触发回调事件的次数随着每次点击而不断的重复叠加\n                if (DrawerClose)\n                    DrawerClose.onclick = function () { return onClose && utils.type.isFn(onClose); };\n                if (_attrs(target).maskClosable === 'true')\n                    DrawerWrap.onclick = function () { return onClose && utils.type.isFn(onClose); };\n            }\n        };\n    };\n    Drawer.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            _this._createDrawerNodes(node);\n            (0,dom_utils.setCss)(node, 'display', 'block');\n            (0,dom_utils.removeAttrs)(node, [\n                'title',\n                'width',\n                'height',\n                'mask',\n                'visible',\n                'closable',\n                'scrollable',\n                'lock-scroll'\n            ]);\n        });\n    };\n    Drawer.prototype._createDrawerNodes = function (node) {\n        var DrawerMask = (0,dom_utils.createElem)('div');\n        var DrawerWrap = (0,dom_utils.createElem)('div');\n        var Drawer = (0,dom_utils.createElem)('div');\n        var DrawerContent = (0,dom_utils.createElem)('div');\n        var DrawerClose = (0,dom_utils.createElem)('a');\n        var DrawerHeader = (0,dom_utils.createElem)('div');\n        var DrawerHeaderInner = (0,dom_utils.createElem)('div');\n        var DrawerBody = (0,dom_utils.createElem)('div');\n        this._setCls([\n            DrawerMask,\n            DrawerWrap,\n            Drawer,\n            DrawerContent,\n            DrawerClose,\n            DrawerHeader,\n            DrawerHeaderInner,\n            DrawerBody\n        ]);\n        this._setSize(node, Drawer);\n        this._setPlacement(node, Drawer);\n        this._setOpenInContainer(node, DrawerMask, DrawerWrap, Drawer);\n        this._initVisible(node, DrawerMask, DrawerWrap, Drawer);\n        this._handleClose(node, [DrawerMask, DrawerWrap, Drawer], DrawerClose);\n        DrawerWrap.appendChild(Drawer);\n        Drawer.appendChild(DrawerContent);\n        this._setClosable(node, DrawerContent, DrawerClose);\n        this._setHeader(node, DrawerContent, DrawerHeader, DrawerHeaderInner);\n        DrawerContent.appendChild(DrawerBody);\n        this._setBodyContent(node, DrawerBody);\n        this._setMask(node, DrawerMask, DrawerWrap, DrawerContent);\n        node.appendChild(DrawerWrap);\n    };\n    Drawer.prototype._setCls = function (elms) {\n        var elmsCls = [\n            prefix.default.drawer + \"-mask\",\n            prefix.default.drawer + \"-wrap\",\n            \"\" + prefix.default.drawer,\n            prefix.default.drawer + \"-content\",\n            prefix.default.drawer + \"-close\",\n            prefix.default.drawer + \"-header\",\n            prefix.default.drawer + \"-header-inner\",\n            prefix.default.drawer + \"-body\"\n        ];\n        var i = 0;\n        var length = elms.length;\n        for (; i < length; i++) {\n            var elm = elms[i];\n            elm.className = elmsCls[i];\n        }\n    };\n    Drawer.prototype._setSize = function (parent, children) {\n        var _a = this._attrs(parent), width = _a.width, height = _a.height, placement = _a.placement;\n        if (placement === 'top' || placement === 'bottom') {\n            (0,dom_utils.setCss)(children, 'height', height);\n        }\n        else if (placement === 'left' || placement === 'right') {\n            children.style.width = width;\n            (0,dom_utils.setCss)(children, 'width', width);\n        }\n    };\n    Drawer.prototype._setPlacement = function (parent, children) {\n        var placement = this._attrs(parent).placement;\n        children.classList.add(prefix.default.drawer + \"-\" + placement);\n    };\n    Drawer.prototype._setOpenInContainer = function (parent, drawerMask, drawerWrap, drawer) {\n        var inner = this._attrs(parent).inner;\n        if (!inner)\n            return;\n        drawerMask.classList.add(prefix.default.drawer + \"-mask-inner\");\n        drawerWrap.classList.add(prefix.default.drawer + \"-wrap-inner\");\n        drawer.classList.add(prefix.default.drawer + \"-inner\");\n    };\n    Drawer.prototype._setMask = function (parent, drawerMask, drawerWrap, drawerContent) {\n        var mask = this._attrs(parent).mask;\n        if (parent.getAttribute('mask') == null)\n            mask = true;\n        if (!mask) {\n            drawerWrap.classList.add(prefix.default.drawer + \"-no-mask\");\n            drawerContent.classList.add(prefix.default.drawer + \"-content-no-mask\");\n            return;\n        }\n        parent.appendChild(drawerMask);\n    };\n    Drawer.prototype._setClosable = function (parent, children, drawerClose) {\n        var closable = this._attrs(parent).closable;\n        if (!closable)\n            return;\n        (0,dom_utils.setHtml)(drawerClose, \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close\\\"></i>\");\n        children.appendChild(drawerClose);\n    };\n    Drawer.prototype._setHeader = function (parent, drawerContent, drawerHeader, drawerTitle) {\n        var _a;\n        var title = this._attrs(parent).title;\n        if (!title) {\n            (_a = drawerContent.parentElement) === null || _a === void 0 ? void 0 : _a.classList.add(prefix.default.drawer + \"-no-header\");\n            return;\n        }\n        (0,dom_utils.setHtml)(drawerTitle, title);\n        drawerHeader.appendChild(drawerTitle);\n        drawerContent.appendChild(drawerHeader);\n    };\n    Drawer.prototype._setBodyContent = function (parent, children) {\n        // v1.1.1 增加占位节点的组成数量判断\n        if ((0,mixins.moreThanOneNode)(parent))\n            return;\n        var placeholderNode = parent.firstElementChild;\n        if (placeholderNode)\n            children.appendChild(placeholderNode);\n    };\n    Drawer.prototype._initVisible = function (parent, drawerMask, drawerWrap, drawer) {\n        var visible = this._attrs(parent).visible;\n        // @ts-ignore\n        parent.dataset.drawerVisable = \"\" + visible;\n        if (visible)\n            return;\n        drawerWrap.classList.add(prefix.default.drawer + \"-hidden\");\n        (0,dom_utils.setCss)(drawerMask, 'display', 'none');\n        (0,dom_utils.setCss)(drawer, 'display', 'none');\n    };\n    Drawer.prototype._handleVisable = function (visable, target, children) {\n        var _a = Drawer.prototype, _show = _a._show, _hide = _a._hide;\n        visable ? _show(target, children) : _hide(target, children);\n    };\n    Drawer.prototype._handleClose = function (parent, hiddenElm, triggerElm) {\n        var _hide = Drawer.prototype._hide;\n        // triggerElm 表示右上角关闭按钮\n        (0,dom_utils.bind)(triggerElm, 'click', function () { return _hide(parent, hiddenElm); });\n        (0,dom_utils.bind)(hiddenElm[1], 'click', function () { return _hide(parent, hiddenElm); });\n        (0,dom_utils.bind)(hiddenElm[2], 'click', function (e) { return e.stopPropagation(); });\n    };\n    Drawer.prototype._show = function (parent, showElm) {\n        var _attrs = Drawer.prototype._attrs;\n        var _a = _attrs(parent), inner = _a.inner, placement = _a.placement, scrollable = _a.scrollable;\n        var lockScroll = _attrs(parent).lockScroll;\n        !parent.getAttribute('lock-scroll') ? (lockScroll = true) : lockScroll;\n        // 设置为在当前 dom 里打开则不隐藏 body 滚动条\n        if (!inner)\n            (0,mixins.Scrollable)({ scroll: scrollable, lock: lockScroll });\n        // @ts-ignore\n        // 设置当前为显示状态\n        parent.dataset.drawerVisable = 'true';\n        // showElm[0] 表示遮盖层\n        // showElm[1] 表示抽屉的父容器wrap\n        // showElm[2] 表示抽屉主体\n        showElm[1].classList.contains(prefix.default.drawer + \"-hidden\") &&\n            showElm[1].classList.remove(prefix.default.drawer + \"-hidden\");\n        (0,mixins.CssTransition)(showElm[0], {\n            inOrOut: 'in',\n            enterCls: 'rab-fade-in',\n            rmCls: true,\n            timeout: 250\n        });\n        (0,mixins.CssTransition)(showElm[2], {\n            inOrOut: 'in',\n            enterCls: prefix.default.drawer + \"-\" + placement + \"-move-enter\",\n            rmCls: true,\n            timeout: 550\n        });\n    };\n    Drawer.prototype._hide = function (parent, hiddenElm) {\n        var placement = Drawer.prototype._attrs(parent).placement;\n        // @ts-ignore\n        // 设置为隐藏状态\n        parent.dataset.drawerVisable = 'false';\n        // hiddenElm[0] 表示遮盖层\n        // hiddenElm[1] 表示抽屉的父容器wrap\n        // hiddenElm[2] 表示抽屉主体\n        (0,mixins.CssTransition)(hiddenElm[0], {\n            inOrOut: 'out',\n            leaveCls: 'rab-fade-out',\n            rmCls: true,\n            timeout: 250\n        });\n        (0,mixins.CssTransition)(hiddenElm[2], {\n            inOrOut: 'out',\n            leaveCls: prefix.default.drawer + \"-\" + placement + \"-move-leave\",\n            rmCls: true,\n            timeout: 490\n        });\n        setTimeout(function () {\n            hiddenElm[1].classList.add(prefix.default.drawer + \"-hidden\");\n            (0,dom_utils.setCss)(hiddenElm[2], 'display', 'none');\n            (0,mixins.Scrollable)({ scroll: true, lock: true, node: parent, tagName: 'drawer' });\n        }, 490);\n    };\n    Drawer.prototype._attrs = function (node) {\n        return {\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            width: (0,dom_utils.getStrTypeAttr)(node, 'width', '256px'),\n            height: (0,dom_utils.getStrTypeAttr)(node, 'height', '256px'),\n            placement: (0,dom_utils.getStrTypeAttr)(node, 'placement', 'right'),\n            mask: (0,dom_utils.getBooleanTypeAttr)(node, 'mask'),\n            inner: (0,dom_utils.getBooleanTypeAttr)(node, 'inner'),\n            visible: (0,dom_utils.getBooleanTypeAttr)(node, 'visible'),\n            closable: (0,dom_utils.getBooleanTypeAttr)(node, 'closable'),\n            scrollable: (0,dom_utils.getBooleanTypeAttr)(node, 'scrollable'),\n            lockScroll: (0,dom_utils.getBooleanTypeAttr)(node, 'lock-scroll'),\n            maskClosable: (0,dom_utils.getStrTypeAttr)(node, 'mask-closable', 'true')\n        };\n    };\n    return Drawer;\n}());\n/* harmony default export */ var drawer = (Drawer);\n\n;// CONCATENATED MODULE: ./src/components/drawer/index.ts\n\n/* harmony default export */ var components_drawer = (drawer);\n\n;// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function(d, b) {\n    extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n    extendStatics(d, b);\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar __assign = function() {\n    __assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n    }\n    return __assign.apply(this, arguments);\n}\n\nfunction __rest(s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n}\n\nfunction __decorate(decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nfunction __param(paramIndex, decorator) {\n    return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nfunction __metadata(metadataKey, metadataValue) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nfunction __awaiter(thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n}\n\nfunction __generator(thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (_) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n}\n\nfunction __createBinding(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}\n\nfunction __exportStar(m, exports) {\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\n\nfunction __values(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nfunction __read(o, n) {\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n    if (!m) return o;\n    var i = m.call(o), r, ar = [], e;\n    try {\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n    }\n    catch (error) { e = { error: error }; }\n    finally {\n        try {\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\n        }\n        finally { if (e) throw e.error; }\n    }\n    return ar;\n}\n\nfunction __spread() {\n    for (var ar = [], i = 0; i < arguments.length; i++)\n        ar = ar.concat(__read(arguments[i]));\n    return ar;\n}\n\nfunction __spreadArrays() {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n            r[k] = a[j];\n    return r;\n};\n\nfunction __await(v) {\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nfunction __asyncGenerator(thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nfunction __asyncDelegator(o) {\n    var i, p;\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\n}\n\nfunction __asyncValues(o) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var m = o[Symbol.asyncIterator], i;\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nfunction __makeTemplateObject(cooked, raw) {\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n    return cooked;\n};\n\nfunction __importStar(mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n    result.default = mod;\n    return result;\n}\n\nfunction __importDefault(mod) {\n    return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nfunction __classPrivateFieldGet(receiver, privateMap) {\n    if (!privateMap.has(receiver)) {\n        throw new TypeError(\"attempted to get private field on non-instance\");\n    }\n    return privateMap.get(receiver);\n}\n\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\n    if (!privateMap.has(receiver)) {\n        throw new TypeError(\"attempted to set private field on non-instance\");\n    }\n    privateMap.set(receiver, value);\n    return value;\n}\n\n;// CONCATENATED MODULE: ./src/components/dropdown/dropdown.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\nvar DEFAULTDELAY = 80;\nvar STATEKEY = 'visibleState';\nvar ITEMKEY = 'itemKey';\nvar DROPENTERCLS = 'transition-drop-enter';\nvar DROPLEAVECLS = 'transition-drop-leave';\nvar VISIBLETIMER = null, EVENTTIMER = null;\nvar Dropdown = /** @class */ (function () {\n    function Dropdown() {\n        this.VERSION = 'v2.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-dropdown', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Dropdown.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'dropdown');\n        var _a = Dropdown.prototype, _attrs = _a._attrs, _setVisible = _a._setVisible, _getChildDisabled = _a._getChildDisabled;\n        var _b = _attrs(target), trigger = _b.trigger, placement = _b.placement;\n        var DropdownRefElm = target.firstElementChild;\n        var DropdownMenu = target.querySelector('r-dropdown-menu');\n        var DropdownItem = DropdownMenu.querySelectorAll('r-dropdown-item');\n        return {\n            get visible() {\n                return DropdownMenu.dataset[STATEKEY] === 'visible';\n            },\n            set visible(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                _setVisible(target, DropdownMenu, newVal, placement);\n            },\n            events: function (_a) {\n                var onClick = _a.onClick, onVisibleChange = _a.onVisibleChange, onClickOutside = _a.onClickOutside;\n                // onVisibleChange\n                var visibleChange = function () {\n                    setTimeout(function () {\n                        var visible = DropdownMenu.dataset[STATEKEY] === 'visible';\n                        onVisibleChange && utils.type.isFn(onVisibleChange, visible);\n                    }, DEFAULTDELAY);\n                };\n                // onClick\n                var itemClickEv = function (elem) {\n                    if (_getChildDisabled(elem))\n                        return false;\n                    // @ts-ignore\n                    var key = elem.dataset[ITEMKEY];\n                    visibleChange();\n                    onClick && utils.type.isFn(onClick, key);\n                };\n                if (trigger === 'hover') {\n                    (0,dom_utils.bind)(target, 'mouseenter', function () {\n                        if (EVENTTIMER)\n                            clearTimeout(EVENTTIMER);\n                        EVENTTIMER = setTimeout(visibleChange, DEFAULTDELAY);\n                    });\n                    (0,dom_utils.bind)(target, 'mouseleave', function () {\n                        if (EVENTTIMER)\n                            clearTimeout(EVENTTIMER);\n                        if (DropdownMenu.dataset[STATEKEY] === 'visible')\n                            setTimeout(visibleChange, DEFAULTDELAY);\n                    });\n                }\n                if (trigger === 'click' || trigger === 'contextMenu') {\n                    onClickOutside &&\n                        (0,mixins.clickoutside)(target, onClickOutside, DropdownMenu, STATEKEY, 'visible');\n                }\n                if (trigger === 'click') {\n                    (0,dom_utils.bind)(DropdownRefElm, 'click', visibleChange);\n                }\n                if (trigger === 'contextMenu') {\n                    (0,dom_utils.bind)(DropdownRefElm, 'contextmenu', visibleChange);\n                }\n                DropdownItem.forEach(function (child) { return (0,dom_utils.bind)(child, 'click', function () { return itemClickEv(child); }); });\n            }\n        };\n    };\n    Dropdown.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            if (!_this._correctCompositionNodes(node))\n                return;\n            var _a = _this._attrs(node), trigger = _a.trigger, placement = _a.placement, visible = _a.visible, stopPropagation = _a.stopPropagation;\n            var DropdownMenu = node.querySelector('r-dropdown-menu');\n            var DropdownItem = DropdownMenu.querySelector('r-dropdown-item');\n            var key = _this._attrs(DropdownItem).key;\n            _this._setVisible(node, DropdownMenu, visible, placement);\n            _this._setChildKey(DropdownItem, key);\n            _this._setStopPropagation(stopPropagation, node, DropdownMenu);\n            _this._handleTrigger(trigger, placement, node, DropdownMenu);\n            _this._handleItemClick(trigger, node, DropdownMenu, placement);\n            (0,dom_utils.removeAttrs)(node, ['key', 'trigger', 'placement', 'visible', 'stop-propagation']);\n        });\n    };\n    Dropdown.prototype._correctCompositionNodes = function (node) {\n        var _a;\n        if (((_a = node.firstElementChild) === null || _a === void 0 ? void 0 : _a.tagName) === 'R-DROPDOWN-MENU') {\n            (0,mixins.warn)('👇 The first child element must be the reference element used to trigger the menu display hidden, not r-dropdown-menu');\n            console.error(node);\n            return false;\n        }\n        if (node.lastElementChild.tagName !== 'R-DROPDOWN-MENU') {\n            (0,mixins.warn)('👇 The last child element tag must be made up of r-dropdown-menu');\n            console.error(node);\n            return false;\n        }\n        if (node.childElementCount > 2) {\n            (0,mixins.warn)('👇 The number of child element nodes in this r-dropdown tag cannot exceed two');\n            console.error(node);\n            return false;\n        }\n        return true;\n    };\n    Dropdown.prototype._setStopPropagation = function (stop, node, child) {\n        if (!stop)\n            return;\n        (0,dom_utils.bind)(node, 'click', function (e) { return e.stopPropagation(); });\n        (0,dom_utils.bind)(child, 'click', function (e) { return e.stopPropagation(); });\n    };\n    Dropdown.prototype._handleTrigger = function (type, placement, node, child) {\n        var _this = this;\n        if (type === 'custom')\n            return;\n        var referenceElem = node.firstElementChild;\n        // 触发菜单显示隐藏的引用元素如果是禁用状态则不做操作\n        if (/disabled/.test(referenceElem.className))\n            return;\n        if (this._getChildDisabled(referenceElem))\n            return;\n        var showMenu = function () {\n            if (VISIBLETIMER)\n                clearTimeout(VISIBLETIMER);\n            if (child.dataset[STATEKEY] === 'visible')\n                return;\n            VISIBLETIMER = setTimeout(function () { return _this._setVisible(node, child, true, placement); }, DEFAULTDELAY);\n        };\n        var hidenMenu = function () {\n            if (VISIBLETIMER)\n                clearTimeout(VISIBLETIMER);\n            if (child.dataset[STATEKEY] === 'visible') {\n                setTimeout(function () { return _this._setVisible(node, child, false, placement); }, DEFAULTDELAY);\n            }\n        };\n        var clickIsShow = function (e) {\n            e.stopPropagation();\n            if (child.dataset[STATEKEY] === 'hidden') {\n                showMenu();\n            }\n            else {\n                hidenMenu();\n            }\n        };\n        if (type === 'hover') {\n            (0,dom_utils.bind)(node, 'mouseenter', showMenu);\n            (0,dom_utils.bind)(node, 'mouseleave', hidenMenu);\n        }\n        // 点击菜单栏以外的地方隐藏\n        if (type === 'click' || type === 'contextMenu') {\n            (0,mixins.clickoutside)(node, hidenMenu);\n        }\n        if (type === 'click') {\n            (0,dom_utils.bind)(referenceElem, 'click', function (e) { return clickIsShow(e); });\n        }\n        if (type === 'contextMenu') {\n            (0,dom_utils.bind)(referenceElem, 'contextmenu', function (e) {\n                e.preventDefault();\n                clickIsShow(e);\n            });\n        }\n    };\n    Dropdown.prototype._handleItemClick = function (type, node, child, placement) {\n        var _this = this;\n        if (type === 'custom')\n            return;\n        var DropdownItems = child.querySelectorAll('r-dropdown-item');\n        DropdownItems.forEach(function (item) {\n            return (0,dom_utils.bind)(item, 'click', function () {\n                if (_this._getChildDisabled(item))\n                    return;\n                _this._setVisible(node, child, false, placement);\n            });\n        });\n    };\n    Dropdown.prototype._setChildKey = function (child, key) {\n        if (key) {\n            child.dataset[ITEMKEY] = key;\n            child.removeAttribute('key');\n        }\n    };\n    Dropdown.prototype._setVisible = function (node, child, visible, placement) {\n        var _a = Dropdown.prototype, _setPlacement = _a._setPlacement, _setTransitionDrop = _a._setTransitionDrop;\n        if (visible) {\n            child.dataset[STATEKEY] = 'visible';\n            _setPlacement(node, child, placement);\n            _setTransitionDrop('in', child);\n        }\n        else {\n            child.dataset[STATEKEY] = 'hidden';\n            setTimeout(function () {\n                child.dataset[STATEKEY] === 'hidden' && _setTransitionDrop('out', child);\n            }, 0);\n        }\n    };\n    Dropdown.prototype._setPlacement = function (node, child, placement) {\n        var popperPlacement = child.dataset['popperPlacement'] || placement;\n        if (/^top|right-end|left-end/.test(popperPlacement)) {\n            (0,dom_utils.setCss)(child, 'transformOrigin', 'center bottom');\n        }\n        if (/^bottom|right-start|left-start/.test(popperPlacement)) {\n            (0,dom_utils.setCss)(child, 'transformOrigin', 'center top');\n        }\n        mixins._Popper._newCreatePopper(node, child, placement, 0);\n    };\n    Dropdown.prototype._setTransitionDrop = function (type, child) {\n        var transitionCls = type === 'in' ? { enterCls: DROPENTERCLS } : { leaveCls: DROPLEAVECLS };\n        (0,mixins.CssTransition)(child, __assign(__assign({ inOrOut: type }, transitionCls), { rmCls: true, timeout: 290 }));\n    };\n    Dropdown.prototype._getChildDisabled = function (elem) {\n        if (elem.getAttribute('disabled') === 'disabled' ||\n            elem.getAttribute('disabled') === 'true' ||\n            elem.getAttribute('disabled') === '') {\n            return true;\n        }\n        return false;\n    };\n    Dropdown.prototype._attrs = function (node) {\n        return {\n            key: (0,dom_utils.getStrTypeAttr)(node, 'key', ''),\n            trigger: (0,dom_utils.getStrTypeAttr)(node, 'trigger', 'hover'),\n            placement: (0,dom_utils.getStrTypeAttr)(node, 'placement', 'bottom'),\n            visible: (0,dom_utils.getBooleanTypeAttr)(node, 'visible'),\n            stopPropagation: (0,dom_utils.getBooleanTypeAttr)(node, 'stop-propagation')\n        };\n    };\n    return Dropdown;\n}());\n/* harmony default export */ var dropdown = (Dropdown);\n\n;// CONCATENATED MODULE: ./src/components/dropdown/index.ts\n\n/* harmony default export */ var components_dropdown = (dropdown);\n\n;// CONCATENATED MODULE: ./assets/empty.svg\n/* harmony default export */ var empty = (\".././fonts/empty.svg\");\n;// CONCATENATED MODULE: ./src/components/empty/empty.ts\n\n\n\nvar Empty = /** @class */ (function () {\n    function Empty() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-empty', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Empty.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), desc = _a.desc, image = _a.image, imageStyle = _a.imageStyle;\n            var footerElm = node.firstElementChild;\n            _this._setMainTemplate(node, desc, image, imageStyle);\n            _this._setFooter(node, footerElm);\n            (0,dom_utils.removeAttrs)(node, ['desc', 'image', 'image-style']);\n        });\n    };\n    Empty.prototype._setMainTemplate = function (node, desc, image, imageStyle) {\n        var template = \" \\n         <div class=\\\"\" + prefix.default.empty + \"-image\\\" style=\\\"\" + imageStyle + \"\\\">\\n            <img src=\\\"\" + image + \"\\\" alt=\\\"empty\\\" />\\n         </div>\\n         <div class=\\\"\" + prefix.default.empty + \"-description\\\">\" + (desc == 'false' ? '' : desc) + \"</div>\";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Empty.prototype._setFooter = function (node, footerElm) {\n        if (!footerElm)\n            return;\n        var footerTpl = \"<div class=\\\"\" + prefix.default.empty + \"-footer\\\"></div>\";\n        node.insertAdjacentHTML('beforeend', footerTpl);\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        node.querySelector(\".\" + prefix.default.empty + \"-footer\").appendChild(footerElm);\n    };\n    Empty.prototype._attrs = function (node) {\n        return {\n            desc: (0,dom_utils.getStrTypeAttr)(node, 'desc', '暂无数据'),\n            image: (0,dom_utils.getStrTypeAttr)(node, 'image', \"\" + empty),\n            imageStyle: (0,dom_utils.getStrTypeAttr)(node, 'image-style', '')\n        };\n    };\n    return Empty;\n}());\n/* harmony default export */ var empty_empty = (Empty);\n\n;// CONCATENATED MODULE: ./src/components/empty/index.ts\n\n/* harmony default export */ var components_empty = (empty_empty);\n\n// EXTERNAL MODULE: ./src/components/input-number/input-number.ts\nvar input_number = __webpack_require__(\"./src/components/input-number/input-number.ts\");\n;// CONCATENATED MODULE: ./src/components/input-number/index.ts\n\n/* harmony default export */ var components_input_number = (input_number.default);\n\n;// CONCATENATED MODULE: ./src/components/jumbotron/jumbotron.ts\n\n\n\nvar Jumbotron = /** @class */ (function () {\n    function Jumbotron() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-jumbotron', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Jumbotron.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            if ((0,mixins.moreThanOneNode)(node))\n                return;\n            var placeholderNode = node.firstElementChild;\n            var _a = _this._attrs(node), title = _a.title, subTitle = _a.subTitle;\n            _this._setMainTemplate(node, title, subTitle);\n            _this._setExtraContent(node, placeholderNode);\n            (0,dom_utils.removeAttrs)(node, ['title', 'sub-title']);\n        });\n    };\n    Jumbotron.prototype._setMainTemplate = function (node, title, subTitle) {\n        var template = \"\\n         <div class=\\\"\" + prefix.default.jumbotron + \"-container\\\">\\n             <h1 class=\\\"\" + prefix.default.jumbotron + \"-title\\\">\" + title + \"</h1>\\n             <div class=\\\"\" + prefix.default.jumbotron + \"-subtitle\\\">\" + subTitle + \"</div>\\n         </div>\";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Jumbotron.prototype._setExtraContent = function (node, placeholderNode) {\n        if (!placeholderNode)\n            return;\n        var JumbotronContainer = node.querySelector(\".\" + prefix.default.jumbotron + \"-container\");\n        JumbotronContainer === null || JumbotronContainer === void 0 ? void 0 : JumbotronContainer.appendChild(placeholderNode);\n    };\n    Jumbotron.prototype._attrs = function (node) {\n        return {\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            subTitle: (0,dom_utils.getStrTypeAttr)(node, 'sub-title', '')\n        };\n    };\n    return Jumbotron;\n}());\n/* harmony default export */ var jumbotron = (Jumbotron);\n\n;// CONCATENATED MODULE: ./src/components/jumbotron/index.ts\n\n/* harmony default export */ var components_jumbotron = (jumbotron);\n\n;// CONCATENATED MODULE: ./src/components/loading-bar/loading-bar.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\n// 全局配置\nvar DEFAULT_LOADINGBAR = {\n    color: 'primary',\n    height: 2,\n    duration: 800,\n    failedColor: 'error'\n};\nvar timer;\nfunction createLoadingBarInstance() {\n    var LoadingBar = (0,dom_utils.createElem)('div');\n    var LoadingBarInner = (0,dom_utils.createElem)('div');\n    LoadingBar.className = \"\" + prefix.default.loadingBar;\n    LoadingBarInner.className = prefix.default.loadingBar + \"-inner\";\n    setColor('primary', LoadingBarInner);\n    // 初始进度\n    (0,dom_utils.setCss)(LoadingBarInner, 'width', '0%');\n    // 设置进度条高度为全局配置的高度\n    window.setTimeout(function () {\n        var height = DEFAULT_LOADINGBAR.height + \"px\";\n        (0,dom_utils.setCss)(LoadingBar, 'height', height);\n    }, 0);\n    LoadingBar.appendChild(LoadingBarInner);\n    document.body.appendChild(LoadingBar);\n    return LoadingBar;\n}\n// 设置进度函数\nfunction r_update(options) {\n    var LBar = (0,dom_utils.$el)(\".\" + prefix.default.loadingBar);\n    var LBarInner = (0,dom_utils.$el)(\".\" + prefix.default.loadingBar + \"-inner\");\n    // 设置进度\n    (0,dom_utils.setCss)(LBarInner, 'width', options.percent + \"%\");\n    var transitionConfig = {\n        rmCls: true,\n        timeout: 200,\n        enterCls: 'rab-fade-in',\n        leaveCls: 'rab-fade-out',\n        hiddenParent: LBar\n    };\n    // 是否显示隐藏\n    if (options.show) {\n        (0,mixins.CssTransition)(LBarInner, __assign({ inOrOut: 'in' }, transitionConfig));\n    }\n    else {\n        (0,mixins.CssTransition)(LBarInner, __assign({ inOrOut: 'out' }, transitionConfig));\n    }\n    setColor(options.status, LBarInner);\n}\n// 隐藏进度条\nfunction hide() {\n    window.setTimeout(function () {\n        r_update({\n            show: false\n        });\n        window.setTimeout(function () {\n            r_update({\n                percent: 0\n            });\n        }, 200);\n    }, DEFAULT_LOADINGBAR.duration);\n}\nfunction clearTimer() {\n    if (timer) {\n        window.clearInterval(timer);\n        timer = null;\n    }\n}\n// 设置进度条状态背景颜色\nfunction setColor(status, elem) {\n    if (status === 'error') {\n        // 是否使用全局配置的 failedColor\n        if (DEFAULT_LOADINGBAR.failedColor && DEFAULT_LOADINGBAR.failedColor !== 'error') {\n            (0,dom_utils.setCss)(elem, 'backgroundColor', DEFAULT_LOADINGBAR.failedColor);\n            // 在隐藏的持续时间后初始化背景色\n            window.setTimeout(function () {\n                (0,dom_utils.setCss)(elem, 'backgroundColor', '');\n            }, DEFAULT_LOADINGBAR.duration);\n        }\n        else {\n            elem.classList.add(prefix.default.loadingBar + \"-inner-failed-color-error\");\n            // 在隐藏的持续时间后设为初始颜色\n            window.setTimeout(function () {\n                elem.classList.remove(prefix.default.loadingBar + \"-inner-failed-color-error\");\n            }, DEFAULT_LOADINGBAR.duration + 200);\n        }\n    }\n    else if (status === 'primary') {\n        // 是否使用全局配置的 color\n        if (DEFAULT_LOADINGBAR.color && DEFAULT_LOADINGBAR.color !== 'primary') {\n            (0,dom_utils.setCss)(elem, 'backgroundColor', DEFAULT_LOADINGBAR.color);\n        }\n        else {\n            elem.classList.add(prefix.default.loadingBar + \"-inner-color-primary\");\n        }\n    }\n}\nvar $LoadingBar = /** @class */ (function () {\n    function $LoadingBar() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)(\".\" + prefix.default.loadingBar);\n        createLoadingBarInstance();\n    }\n    $LoadingBar.prototype.start = function () {\n        if (timer)\n            return;\n        var percent = 0;\n        timer = window.setInterval(function () {\n            // 计算随机进度\n            percent += Math.floor(Math.random() * 3 + 1);\n            // 终止\n            if (percent > 95) {\n                clearTimer();\n            }\n            r_update({\n                percent: percent,\n                status: 'primary',\n                show: true\n            });\n        }, 200);\n    };\n    $LoadingBar.prototype.update = function (percent) {\n        clearTimer();\n        r_update({\n            percent: percent,\n            status: 'success',\n            show: true\n        });\n    };\n    $LoadingBar.prototype.finish = function () {\n        clearTimer();\n        r_update({\n            percent: 100,\n            status: 'primary',\n            show: true\n        });\n        hide();\n    };\n    $LoadingBar.prototype.error = function () {\n        clearTimer();\n        r_update({\n            percent: 100,\n            status: 'error',\n            show: true\n        });\n        hide();\n    };\n    $LoadingBar.prototype.config = function (options) {\n        if (options.color && utils.type.isStr(options.color)) {\n            DEFAULT_LOADINGBAR.color = options.color;\n        }\n        if (options.height && utils.type.isNum(options.height)) {\n            DEFAULT_LOADINGBAR.height = options.height;\n        }\n        if (options.duration && utils.type.isNum(options.duration)) {\n            DEFAULT_LOADINGBAR.duration = options.duration;\n        }\n        if (options.failedColor && utils.type.isStr(options.failedColor)) {\n            DEFAULT_LOADINGBAR.failedColor = options.failedColor;\n        }\n    };\n    $LoadingBar.prototype.destroy = function () {\n        clearTimer();\n        // @ts-ignore\n        document.body.removeChild((0,dom_utils.$el)(\".\" + prefix.default.loadingBar));\n    };\n    return $LoadingBar;\n}());\n/* harmony default export */ var loading_bar = ($LoadingBar);\n\n;// CONCATENATED MODULE: ./src/components/loading-bar/index.ts\n\nvar Loading = new loading_bar();\n/* harmony default export */ var components_loading_bar = (Loading);\n\n;// CONCATENATED MODULE: ./src/components/message/instance.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar PREFIX_KEY = 'rab-message-instance';\nvar EnterClass = prefix.default.message + \"-move-enter\";\nvar LeaveClass = prefix.default.message + \"-move-leave\";\nvar ICONTYPES = {\n    info: 'ios-information-circle',\n    success: 'ios-checkmark-circle',\n    warning: 'ios-alert',\n    error: 'ios-close-circle',\n    loading: 'loading-solid'\n};\nvar zIndex = 1010;\nvar instance_name = 0;\nvar CreateInstance = /** @class */ (function () {\n    function CreateInstance() {\n        this.INSTANCES = [];\n    }\n    CreateInstance.prototype._init = function (top) {\n        var Wrapper = (0,dom_utils.createElem)('div');\n        (0,dom_utils.setCss)(Wrapper, 'zIndex', \"\" + zIndex);\n        Wrapper.setAttribute('class', \"\" + prefix.default.message);\n        document.body.appendChild(Wrapper);\n        setTimeout(function () { return (0,dom_utils.setCss)(Wrapper, 'top', top + \"px\"); }, 0);\n    };\n    CreateInstance.prototype._create = function (type, config, duration) {\n        var Message = this._setMainTemplate(type);\n        var MessageContent = Message.querySelector(\".\" + prefix.default.messageChild + \"-content\");\n        this._autoAddZIndex();\n        this._setIcon(type, Message);\n        this._setContent(Message, config);\n        if (typeof config === 'object') {\n            var key = config.key, closable = config.closable, onClose = config.onClose, background = config.background;\n            this._setKey(Message, key);\n            this._setClosable(Message, MessageContent, closable, onClose);\n            this._setBackground(Message, MessageContent, background);\n        }\n        this.INSTANCES.push(Message);\n        (0,dom_utils.$el)(\".\" + prefix.default.message).appendChild(Message);\n        this._autoClose(Message, config, duration);\n    };\n    CreateInstance.prototype._setMainTemplate = function (type) {\n        var MessageNotice = (0,dom_utils.createElem)('div');\n        var template = \"\\n        <div class=\\\"\" + prefix.default.messageChild + \"-content \" + prefix.default.messageChild + \"-content-\" + type + \"\\\">\\n            <div class=\\\"\" + prefix.default.messageChild + \"-content-text\\\">\\n                <div class=\\\"\" + prefix.default.message + \"-\" + type + \"\\\">\\n                    <i class=\\\"\" + prefix.default.icon + \"\\\"></i>\\n                    <span id=\\\"\" + prefix.default.messageChild + \"-text\\\"></span>\\n                </div>\\n            </div>\\n        </div>\\n      \";\n        MessageNotice.dataset['thisName'] = \"\" + instance_name++;\n        MessageNotice.className = prefix.default.message + \"-notice\";\n        (0,dom_utils.setHtml)(MessageNotice, template);\n        (0,mixins.CssTransition)(MessageNotice, {\n            inOrOut: 'in',\n            enterCls: EnterClass,\n            rmCls: true,\n            timeout: 250\n        });\n        return MessageNotice;\n    };\n    CreateInstance.prototype._setIcon = function (type, elem) {\n        var MessageIcon = elem.querySelector(\".\" + prefix.default.icon);\n        if (type === 'loading') {\n            MessageIcon.classList.add('rab-load-loop');\n        }\n        MessageIcon.classList.add(prefix.default.icon + \"-\" + ICONTYPES[type]);\n    };\n    CreateInstance.prototype._setContent = function (elem, content) {\n        var MessageText = elem.querySelector(\"#\" + prefix.default.messageChild + \"-text\");\n        if (typeof content === 'string') {\n            (0,utils.useHTMLString)(MessageText, content, false);\n        }\n        else if (typeof content === 'object' && content.content) {\n            (0,utils.useHTMLString)(MessageText, content.content, content.dangerouslyUseHTMLString);\n        }\n    };\n    CreateInstance.prototype._setKey = function (elem, key) {\n        if (!key || (key && !utils.type.isStr(key) && !utils.type.isNum(key)))\n            return;\n        elem.setAttribute(PREFIX_KEY + \"-key\", \"\" + key);\n    };\n    CreateInstance.prototype._setClosable = function (elem, child, closable, onClose) {\n        if (!closable || (closable && !utils.type.isBol(closable)))\n            return;\n        var template = \"\\n        <a class=\\\"\" + prefix.default.messageChild + \"-close\\\">\\n          <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close\\\"></i>\\n        </a>\\n        \";\n        elem.classList.add(prefix.default.messageChild + \"-closable\");\n        child.insertAdjacentHTML('beforeend', template);\n        this._handleClose(elem, onClose);\n    };\n    CreateInstance.prototype._handleClose = function (elem, onClose) {\n        var _this = this;\n        var MessageCloseBtn = elem.querySelector(\".\" + prefix.default.messageChild + \"-close\");\n        (0,dom_utils.bind)(MessageCloseBtn, 'click', function () {\n            _this._destroy(elem);\n            onClose && utils.type.isFn(onClose);\n        });\n    };\n    CreateInstance.prototype._setBackground = function (elem, child, background) {\n        if (!background || (background && !utils.type.isBol(background)))\n            return;\n        elem.classList.add(prefix.default.messageChild + \"-with-background\");\n        child.classList.add(prefix.default.messageChild + \"-content-background\");\n    };\n    CreateInstance.prototype._autoAddZIndex = function () {\n        zIndex++;\n        (0,dom_utils.setCss)((0,dom_utils.$el)(\".\" + prefix.default.message), 'zIndex', \"\" + zIndex);\n    };\n    CreateInstance.prototype._autoClose = function (elem, config, duration) {\n        var _this = this;\n        if (duration || duration === 0 || !config) {\n            if (duration === 0)\n                return;\n            setTimeout(function () {\n                _this._destroy(elem);\n            }, duration * 1000);\n        }\n        else {\n            if (typeof config === 'object' && config.duration) {\n                setTimeout(function () {\n                    _this._destroy(elem);\n                }, config.duration * 1000);\n            }\n        }\n    };\n    CreateInstance.prototype._destroy = function (elem) {\n        (0,utils.destroyElem)(elem, {\n            duration: 0.1,\n            clsEnter: EnterClass,\n            clsLeave: LeaveClass\n        });\n        this.INSTANCES.splice(Number(elem.dataset['thisName']), 1);\n    };\n    return CreateInstance;\n}());\n\n\n;// CONCATENATED MODULE: ./src/components/message/message.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\nvar DEFAULTS = {\n    top: 24,\n    duration: 3\n};\nvar Message = /** @class */ (function (_super) {\n    __extends(Message, _super);\n    function Message() {\n        var _this = _super.call(this) || this;\n        _this.VERSION = '2.0';\n        setTimeout(function () { return _this._init(DEFAULTS.top); }, 0);\n        return _this;\n    }\n    Message.prototype.info = function (config) {\n        this._create('info', config, DEFAULTS.duration);\n        return (0,mixins.usePromiseCallback)(DEFAULTS.duration, config);\n    };\n    Message.prototype.success = function (config) {\n        this._create('success', config, DEFAULTS.duration);\n        return (0,mixins.usePromiseCallback)(DEFAULTS.duration, config);\n    };\n    Message.prototype.warning = function (config) {\n        this._create('warning', config, DEFAULTS.duration);\n        return (0,mixins.usePromiseCallback)(DEFAULTS.duration, config);\n    };\n    Message.prototype.error = function (config) {\n        this._create('error', config, DEFAULTS.duration);\n        return (0,mixins.usePromiseCallback)(DEFAULTS.duration, config);\n    };\n    Message.prototype.loading = function (config) {\n        this._create('loading', config, DEFAULTS.duration);\n        return (0,mixins.usePromiseCallback)(DEFAULTS.duration, config);\n    };\n    Message.prototype.config = function (options) {\n        if (options.top && utils.type.isNum(options.top)) {\n            DEFAULTS.top = options.top;\n        }\n        if ((options.duration && utils.type.isNum(options.duration)) || options.duration === 0) {\n            DEFAULTS.duration = options.duration;\n        }\n    };\n    Message.prototype.destroy = function (key) {\n        if (key && (utils.type.isStr(key) || utils.type.isNum(key))) {\n            (0,utils.destroyElemByKey)({\n                key: key,\n                duration: 0.1,\n                prefixKey: PREFIX_KEY,\n                clsLeave: LeaveClass\n            });\n        }\n        else {\n            this.INSTANCES.forEach(function (instance) {\n                (0,utils.destroyElem)(instance, {\n                    duration: 0.1,\n                    clsLeave: LeaveClass\n                });\n            });\n            this.INSTANCES.length = 0;\n        }\n    };\n    return Message;\n}(CreateInstance));\n/* harmony default export */ var message = (Message);\n\n;// CONCATENATED MODULE: ./src/components/message/index.ts\n\nvar message_Message = new message();\n/* harmony default export */ var components_message = (message_Message);\n\n;// CONCATENATED MODULE: ./src/components/modal/modal.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\n\nvar RABBIT_BTN = new components_button();\nvar Modal = /** @class */ (function () {\n    function Modal() {\n        this.VERSION = 'v1.1';\n        this.COMPONENTS = (0,dom_utils.$el)('r-modal', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Modal.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'modal');\n        var _a = Modal.prototype, _attrs = _a._attrs, _getModalNode = _a._getModalNode, _handleVisable = _a._handleVisable;\n        var loading = _attrs(target).loading;\n        var M_Child = _getModalNode(target);\n        return {\n            get title() {\n                return (0,dom_utils.setHtml)(M_Child.modalTitle);\n            },\n            set title(newVal) {\n                if (utils.type.isStr(newVal))\n                    (0,dom_utils.setHtml)(M_Child.modalTitle, newVal);\n            },\n            get visible() {\n                return false;\n            },\n            set visible(newVal) {\n                if (utils.type.isBol(newVal)) {\n                    // 当设置modal为隐藏状态并且确定按钮是加载中的状态则初始化它\n                    if (!newVal) {\n                        if (loading)\n                            RABBIT_BTN.config(M_Child.modalOkBtn).loading = newVal;\n                    }\n                    _handleVisable(newVal, target, [\n                        M_Child.modalMask,\n                        M_Child.modalWrap,\n                        M_Child.modal\n                    ]);\n                }\n            },\n            events: function (_a) {\n                var onOk = _a.onOk, onCancel = _a.onCancel;\n                var _b = _attrs(target), closable = _b.closable, maskClosable = _b.maskClosable;\n                var okEv = function () {\n                    // 是否设置按钮为加载中状态\n                    if (loading)\n                        RABBIT_BTN.config(M_Child.modalOkBtn).loading = loading;\n                    onOk && utils.type.isFn(onOk);\n                };\n                var cancelEv = function () {\n                    // 如果按钮为加载中状态则初始化其状态\n                    if (loading)\n                        RABBIT_BTN.config(M_Child.modalOkBtn).loading = !loading;\n                    // 防止关闭modal后按键esc依然可以触发事件\n                    window.onkeydown = function (e) { return (e.key === 'Escape' ? false : ''); };\n                    onCancel && utils.type.isFn(onCancel);\n                };\n                // 由于内部的_handleClose方法使用addEventListener为触发关闭模态框的元素绑定点击事件，\n                // 从而与这里绑定的事件造成冲突，一个回调事件同时多次触发的问题\n                // 因此使用on事件绑定，防止触发回调事件的次数随着每次点击而不断的重复叠加\n                if (maskClosable === 'true') {\n                    // @ts-ignore\n                    M_Child.modalWrap.onclick = function () { return cancelEv(); };\n                    // @ts-ignore\n                    M_Child.modal.onclick = function (e) { return e.stopPropagation(); };\n                }\n                if (closable === 'true') {\n                    // @ts-ignore\n                    M_Child.modalClose.onclick = function () { return cancelEv(); };\n                    window.onkeydown = function (e) { return (e.key === 'Escape' ? cancelEv() : ''); };\n                }\n                // @ts-ignore\n                M_Child.modalOkBtn.onclick = function () { return okEv(); };\n                // @ts-ignore\n                M_Child.modalCancelBtn.onclick = function () { return cancelEv(); };\n            }\n        };\n    };\n    Modal.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            _this._createTemplate(node);\n            (0,dom_utils.setCss)(node, 'display', 'block');\n            (0,dom_utils.removeAttrs)(node, [\n                'width',\n                'title',\n                'ok-text',\n                'class-name',\n                'cancel-text',\n                'mask',\n                'visible',\n                'scrollable',\n                'fullscreen',\n                'lock-scroll',\n                'footer-hide'\n            ]);\n        });\n    };\n    Modal.prototype._createTemplate = function (node) {\n        // v1.1 增加占位节点的组成数量判断\n        if ((0,mixins.moreThanOneNode)(node))\n            return;\n        // 获取最初 modal容器下的占位内容\n        var placeholderNode = node.firstElementChild;\n        var _a = this._attrs(node), width = _a.width, title = _a.title, zIndex = _a.zIndex, okText = _a.okText, cancelText = _a.cancelText, className = _a.className;\n        var template = \"\\n          <div class=\\\"\" + prefix.default.modal + \"-mask\\\" style=\\\"z-index:\" + zIndex + \"\\\"></div>\\n          <div class=\\\"\" + prefix.default.modal + \"-wrap \" + className + \"\\\" style=\\\"z-index:\" + zIndex + \"\\\">\\n              <div class=\\\"\" + prefix.default.modal + \"\\\" style=\\\"width: \" + width + \"\\\">\\n                  <div class=\\\"\" + prefix.default.modal + \"-content\\\">\\n                      <a class=\\\"\" + prefix.default.modal + \"-close\\\">\\n                        <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close\\\"></i>\\n                      </a>\\n                      <div class=\\\"\" + prefix.default.modal + \"-header\\\">\\n                          <div class=\\\"\" + prefix.default.modal + \"-header-inner\\\">\" + title + \"</div>\\n                      </div>\\n                      <div class=\\\"\" + prefix.default.modal + \"-body\\\"></div>\\n                      <div class=\\\"\" + prefix.default.modal + \"-footer\\\">\\n                          <button type=\\\"button\\\" class=\\\"rab-btn rab-btn-text\\\" id=\\\"modalBtn1\\\">\" + cancelText + \"</button>\\n                          <button type=\\\"button\\\" class=\\\"rab-btn rab-btn-primary\\\" id=\\\"modalBtn2\\\">\" + okText + \"</button>\\n                      </div>\\n                  </div>\\n              </div>\\n          </div>\\n      \";\n        (0,dom_utils.setHtml)(node, template);\n        this._initVisable(node);\n        this._setHeader(node);\n        // @ts-ignore\n        this._setContent(node, placeholderNode);\n        this._setMask(node);\n        this._setFullScreen(node);\n        this._setClosable(node);\n        this._setFooterHide(node);\n        this._handleClose(node);\n    };\n    Modal.prototype._initVisable = function (node) {\n        var _a = this._attrs(node), visible = _a.visible, scrollable = _a.scrollable;\n        var _b = this._getModalNode(node), modalMask = _b.modalMask, modalWrap = _b.modalWrap, modal = _b.modal;\n        var lockScroll = this._attrs(node).lockScroll;\n        !node.getAttribute('lock-scroll') ? (lockScroll = true) : lockScroll;\n        if (visible) {\n            (0,dom_utils.setCss)(modalMask, 'display', '');\n            modalWrap.classList.remove(prefix.default.modal + \"-hidden\");\n            (0,dom_utils.setCss)(modal, 'display', '');\n            (0,mixins.Scrollable)({ scroll: scrollable, lock: lockScroll });\n        }\n        else {\n            (0,dom_utils.setCss)(modalMask, 'display', 'none');\n            modalWrap.classList.add(prefix.default.modal + \"-hidden\");\n            (0,dom_utils.setCss)(modal, 'display', 'none');\n        }\n        // @ts-ignore\n        // 设置初始显示状态\n        node.dataset.modalVisable = visible;\n    };\n    Modal.prototype._setHeader = function (node) {\n        var title = this._attrs(node).title;\n        if (!title) {\n            var modalHeader = node.querySelector(\".\" + prefix.default.modal + \"-header\");\n            modalHeader === null || modalHeader === void 0 ? void 0 : modalHeader.remove();\n        }\n    };\n    Modal.prototype._setContent = function (node, content) {\n        var modalBody = node.querySelector(\".\" + prefix.default.modal + \"-body\");\n        if (content)\n            modalBody === null || modalBody === void 0 ? void 0 : modalBody.appendChild(content);\n    };\n    Modal.prototype._setMask = function (node) {\n        var _a = this, _attrs = _a._attrs, _getModalNode = _a._getModalNode;\n        var mask = _attrs(node).mask;\n        if (mask === 'false') {\n            var _b = _getModalNode(node), modalMask = _b.modalMask, modalWrap = _b.modalWrap, modal = _b.modal;\n            modalMask.remove();\n            modalWrap.classList.add(prefix.default.modal + \"-no-mask\");\n            modal.classList.add(prefix.default.modal + \"-content-no-mask\");\n        }\n    };\n    Modal.prototype._setFullScreen = function (node) {\n        var fullscreen = this._attrs(node).fullscreen;\n        if (fullscreen) {\n            var modal = this._getModalNode(node).modal;\n            modal.classList.add(prefix.default.modal + \"-fullscreen\");\n        }\n    };\n    Modal.prototype._setClosable = function (node) {\n        var closable = this._attrs(node).closable;\n        if (closable === 'false') {\n            var modalClose = this._getModalNode(node).modalClose;\n            modalClose.remove();\n        }\n    };\n    Modal.prototype._setFooterHide = function (node) {\n        var footerHide = this._attrs(node).footerHide;\n        if (footerHide) {\n            var modalFooter = node.querySelector(\".\" + prefix.default.modal + \"-footer\");\n            modalFooter === null || modalFooter === void 0 ? void 0 : modalFooter.remove();\n        }\n    };\n    Modal.prototype._handleVisable = function (visible, target, children) {\n        var _a = Modal.prototype, _show = _a._show, _hide = _a._hide;\n        visible ? _show(target, children) : _hide(target, children);\n    };\n    Modal.prototype._handleClose = function (parent) {\n        var _a = this, _attrs = _a._attrs, _hide = _a._hide, _getModalNode = _a._getModalNode;\n        var _b = _attrs(parent), closable = _b.closable, maskClosable = _b.maskClosable, loading = _b.loading;\n        var _c = _getModalNode(parent), modalMask = _c.modalMask, modalWrap = _c.modalWrap, modal = _c.modal, modalClose = _c.modalClose, modalOkBtn = _c.modalOkBtn, modalCancelBtn = _c.modalCancelBtn;\n        var hidden = function () { return _hide(parent, [modalMask, modalWrap, modal]); };\n        // 右上角关闭按钮\n        // ESC 键关闭\n        if (closable === 'true') {\n            (0,dom_utils.bind)(modalClose, 'click', function () { return hidden(); });\n            (0,dom_utils.bind)(window, 'keydown', function (e) { return (e.key === 'Escape' ? hidden() : ''); });\n        }\n        // 遮盖层关闭\n        if (maskClosable === 'true') {\n            (0,dom_utils.bind)(modalWrap, 'click', function () { return hidden(); });\n            (0,dom_utils.bind)(modal, 'click', function (e) { return e.stopPropagation(); });\n        }\n        // 确定和取消按钮关闭\n        //非加载中状态可以点击关闭模态框\n        if (!loading)\n            (0,dom_utils.bind)(modalOkBtn, 'click', function () { return hidden(); });\n        (0,dom_utils.bind)(modalCancelBtn, 'click', function () { return hidden(); });\n    };\n    Modal.prototype._show = function (parent, showElm) {\n        var _attrs = Modal.prototype._attrs;\n        var scrollable = _attrs(parent).scrollable;\n        var lockScroll = _attrs(parent).lockScroll;\n        !parent.getAttribute('lock-scroll') ? (lockScroll = true) : lockScroll;\n        // @ts-ignore\n        // 设置当前为显示状态\n        parent.dataset.modalVisable = 'true';\n        // showElm[0] 表示遮盖层\n        // showElm[1] 表示模态框的父容器wrap\n        // showElm[2] 表示模态框主体\n        showElm[1].classList.contains(prefix.default.modal + \"-hidden\") &&\n            showElm[1].classList.remove(prefix.default.modal + \"-hidden\");\n        (0,mixins.CssTransition)(showElm[0], {\n            inOrOut: 'in',\n            enterCls: 'rab-fade-in',\n            timeout: 250,\n            rmCls: true\n        });\n        (0,mixins.CssTransition)(showElm[2], {\n            inOrOut: 'in',\n            enterCls: 'zoom-big-enter',\n            timeout: 250,\n            rmCls: true\n        });\n        (0,mixins.Scrollable)({ scroll: scrollable, lock: lockScroll });\n    };\n    Modal.prototype._hide = function (parent, hiddenElm) {\n        // @ts-ignore\n        // 设置当前为隐藏状态\n        parent.dataset.modalVisable = 'false';\n        // hiddenElm[0] 表示遮盖层\n        // hiddenElm[1] 表示模态框的父容器wrap\n        // hiddenElm[2] 表示模态框主体\n        (0,mixins.CssTransition)(hiddenElm[0], {\n            inOrOut: 'out',\n            leaveCls: 'rab-fade-out',\n            rmCls: true,\n            timeout: 250\n        });\n        (0,mixins.CssTransition)(hiddenElm[2], {\n            inOrOut: 'out',\n            leaveCls: 'zoom-big-leave',\n            rmCls: true,\n            timeout: 250\n        });\n        setTimeout(function () {\n            hiddenElm[1].classList.add(prefix.default.modal + \"-hidden\");\n            (0,dom_utils.setCss)(hiddenElm[2], 'display', 'none');\n            (0,mixins.Scrollable)({ scroll: true, lock: true, node: parent, tagName: 'modal' });\n        }, 240);\n    };\n    Modal.prototype._getModalNode = function (node) {\n        var modalMask = node.querySelector(\".\" + prefix.default.modal + \"-mask\");\n        var modalWrap = node.querySelector(\".\" + prefix.default.modal + \"-wrap\");\n        var modal = modalWrap.querySelector(\".\" + prefix.default.modal);\n        var modalClose = modalWrap.querySelector(\".\" + prefix.default.modal + \"-close\");\n        var modalTitle = modal.querySelector(\".\" + prefix.default.modal + \"-header-inner\");\n        var modalOkBtn = modal.querySelector('#modalBtn2');\n        var modalCancelBtn = modal.querySelector('#modalBtn1');\n        return {\n            modalMask: modalMask,\n            modalWrap: modalWrap,\n            modal: modal,\n            modalClose: modalClose,\n            modalTitle: modalTitle,\n            modalOkBtn: modalOkBtn,\n            modalCancelBtn: modalCancelBtn\n        };\n    };\n    Modal.prototype._attrs = function (node) {\n        return {\n            mask: (0,dom_utils.getStrTypeAttr)(node, 'mask', 'true'),\n            width: (0,dom_utils.getStrTypeAttr)(node, 'width', '520px'),\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            okText: (0,dom_utils.getStrTypeAttr)(node, 'ok-text', '确定'),\n            closable: (0,dom_utils.getStrTypeAttr)(node, 'closable', 'true'),\n            className: (0,dom_utils.getStrTypeAttr)(node, 'class-name', ''),\n            cancelText: (0,dom_utils.getStrTypeAttr)(node, 'cancel-text', '取消'),\n            maskClosable: (0,dom_utils.getStrTypeAttr)(node, 'mask-closable', 'true'),\n            zIndex: (0,dom_utils.getNumTypeAttr)(node, 'z-index', 1000),\n            visible: (0,dom_utils.getBooleanTypeAttr)(node, 'visible'),\n            loading: (0,dom_utils.getBooleanTypeAttr)(node, 'loading'),\n            scrollable: (0,dom_utils.getBooleanTypeAttr)(node, 'scrollable'),\n            lockScroll: (0,dom_utils.getBooleanTypeAttr)(node, 'lock-scroll'),\n            fullscreen: (0,dom_utils.getBooleanTypeAttr)(node, 'fullscreen'),\n            footerHide: (0,dom_utils.getBooleanTypeAttr)(node, 'footer-hide')\n        };\n    };\n    return Modal;\n}());\n/* harmony default export */ var modal = (Modal);\n\n;// CONCATENATED MODULE: ./src/components/modal/index.ts\n\n/* harmony default export */ var components_modal = (modal);\n\n;// CONCATENATED MODULE: ./src/components/mini-modal/mini-modal.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\n\nvar MiniModalBtn = new components_button();\nvar ICONTYPE = {\n    info: 'ios-information-circle',\n    success: 'ios-checkmark-circle',\n    warning: 'ios-alert',\n    error: 'ios-close-circle',\n    confirm: 'ios-help-circle',\n    loading: 'loading-solid'\n};\nvar DEFAULT_ZINDEX = 1010;\nvar MiniModal = /** @class */ (function () {\n    function MiniModal() {\n        this.VERSION = 'v1.0';\n    }\n    MiniModal.prototype.info = function (config) {\n        this._create('info', config);\n    };\n    MiniModal.prototype.success = function (config) {\n        this._create('success', config);\n    };\n    MiniModal.prototype.warning = function (config) {\n        this._create('warning', config);\n    };\n    MiniModal.prototype.error = function (config) {\n        this._create('error', config);\n    };\n    MiniModal.prototype.confirm = function (config) {\n        this._create('confirm', config);\n    };\n    MiniModal.prototype.remove = function () {\n        var _a = this._getNode(), ModalParent = _a.ModalParent, ModalMask = _a.ModalMask, ModalWrap = _a.ModalWrap;\n        this._destroy(ModalParent, ModalMask, ModalWrap);\n    };\n    MiniModal.prototype._create = function (type, config) {\n        DEFAULT_ZINDEX++;\n        var _a = config.width, width = _a === void 0 ? 416 : _a, _b = config.title, title = _b === void 0 ? '' : _b, _c = config.content, content = _c === void 0 ? '' : _c, _d = config.okText, okText = _d === void 0 ? '确定' : _d, _e = config.cancelText, cancelText = _e === void 0 ? '取消' : _e, _f = config.loading, loading = _f === void 0 ? false : _f, _g = config.keyboard, keyboard = _g === void 0 ? false : _g, _h = config.scrollable, scrollable = _h === void 0 ? false : _h, _j = config.lockScroll, lockScroll = _j === void 0 ? true : _j, onOk = config.onOk, onCancel = config.onCancel, _k = config.dangerouslyUseHTMLString, dangerouslyUseHTMLString = _k === void 0 ? false : _k;\n        // @ts-ignore\n        var icon = ICONTYPE[type];\n        var isShowCancelBtn = type === 'confirm'\n            ? \"<button type=\\\"button\\\" class=\\\"\" + prefix.default.button + \" \" + prefix.default.button + \"-text\\\">\" + cancelText + \"</button>\"\n            : '';\n        var template = \"\\n        <div class=\\\"\" + prefix.default.modal + \"-mini-modal\\\">\\n          <div class=\\\"\" + prefix.default.modal + \"-mask\\\" style=\\\"z-index: \" + DEFAULT_ZINDEX + \";\\\"></div>\\n          <div class=\\\"\" + prefix.default.modal + \"-wrap\\\" style=\\\"z-index: \" + DEFAULT_ZINDEX + \";\\\">\\n              <div class=\\\"\" + prefix.default.modal + \"\\\" style=\\\"width: \" + width + \"px;\\\">\\n                  <div class=\\\"\" + prefix.default.modal + \"-content\\\">\\n                      <div class=\\\"\" + prefix.default.modal + \"-body\\\">\\n                          <div class=\\\"\" + prefix.default.modal + \"-confirm\\\">\\n                              <div class=\\\"\" + prefix.default.modal + \"-confirm-head\\\">\\n                                  <div class=\\\"\" + prefix.default.modal + \"-confirm-head-icon \" + prefix.default.modal + \"-confirm-head-icon-\" + type + \"\\\">\\n                                      <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon + \"\\\"></i>\\n                                  </div>\\n                                  <div class=\\\"\" + prefix.default.modal + \"-confirm-head-title\\\"></div>\\n                              </div>\\n                              <div class=\\\"\" + prefix.default.modal + \"-confirm-body\\\"></div>\\n                              <div class=\\\"\" + prefix.default.modal + \"-confirm-footer\\\">\\n                                  \" + isShowCancelBtn + \"\\n                                  <button type=\\\"button\\\" class=\\\"\" + prefix.default.button + \" \" + prefix.default.button + \"-primary\\\"><span>\" + okText + \"</span></button>\\n                              </div>\\n                          </div>\\n                      </div>\\n                  </div>\\n              </div>\\n          </div>\\n        </div>\";\n        document.body.insertAdjacentHTML('beforeend', template);\n        var _l = this._getNode(), ModalParent = _l.ModalParent, ModalMask = _l.ModalMask, ModalWrap = _l.ModalWrap, Modal = _l.Modal;\n        this._setMainContent(Modal, title, content, dangerouslyUseHTMLString);\n        this._setAnimation('in', ModalMask, ModalWrap);\n        this._setScrollable(scrollable, lockScroll);\n        this._handleBtnClick(ModalParent, ModalMask, ModalWrap, Modal, loading, onOk, onCancel);\n        this._keyboardClosed(type, keyboard, ModalParent, ModalMask, ModalWrap, onCancel);\n    };\n    MiniModal.prototype._setMainContent = function (modal, title, content, isUseHTML) {\n        var ModalHead = modal.querySelector(\".\" + prefix.default.modal + \"-confirm-head-title\");\n        var ModalBody = modal.querySelector(\".\" + prefix.default.modal + \"-confirm-body\");\n        (0,utils.useHTMLString)(ModalHead, title, isUseHTML);\n        (0,utils.useHTMLString)(ModalBody, content, isUseHTML);\n    };\n    MiniModal.prototype._handleBtnClick = function (parent, mask, wrap, modal, loading, onOk, onCancel) {\n        var _this = this;\n        var ModalOkBtn = modal.querySelector(\".\" + prefix.default.button + \"-primary\");\n        var ModalCacnelBtn = modal.querySelector(\".\" + prefix.default.button + \"-text\");\n        var remove = function () { return _this._destroy(parent, mask, wrap); };\n        var okEv = function () {\n            onOk && utils.type.isFn(onOk);\n            if (loading) {\n                MiniModalBtn.config(ModalOkBtn).loading = loading;\n                return;\n            }\n            remove();\n        };\n        var cancelEv = function () {\n            remove();\n            onCancel && utils.type.isFn(onCancel);\n        };\n        (0,dom_utils.bind)(ModalOkBtn, 'click', okEv);\n        if (ModalCacnelBtn)\n            (0,dom_utils.bind)(ModalCacnelBtn, 'click', cancelEv);\n    };\n    MiniModal.prototype._keyboardClosed = function (_type, keyboard, parent, mask, wrap, onCancel) {\n        var _this = this;\n        if (!keyboard)\n            return;\n        var event = function (e) {\n            if (e.key === 'Escape') {\n                e.stopPropagation();\n                // 判断页面是否有modal实例，如果有才执行事件，避免重复执行\n                if (document.body.contains(parent)) {\n                    // 取消的回调，只在MinModal.confirm()下有效\n                    if (_type === 'confirm')\n                        onCancel && utils.type.isFn(onCancel);\n                    setTimeout(function () { return _this._destroy(parent, mask, wrap); }, 0);\n                }\n            }\n        };\n        window.onkeydown = function (e) { return event(e); };\n    };\n    MiniModal.prototype._destroy = function (parent, mask, wrap) {\n        var _this = this;\n        this._setAnimation('out', mask, wrap);\n        setTimeout(function () {\n            parent.remove();\n            _this._setScrollable(true, false);\n        }, 150);\n    };\n    MiniModal.prototype._setAnimation = function (type, elem1, elem2) {\n        var maskAniCls = type === 'in' ? { enterCls: 'rab-fade-in' } : { leaveCls: 'rab-fade-out' };\n        var modalAniCls = type === 'in' ? { enterCls: 'zoom-big-enter' } : { leaveCls: 'zoom-big-leave' };\n        (0,mixins.CssTransition)(elem1, __assign(__assign({ inOrOut: type }, maskAniCls), { timeout: 250, rmCls: true }));\n        (0,mixins.CssTransition)(elem2, __assign(__assign({ inOrOut: type }, modalAniCls), { timeout: 200, rmCls: true }));\n    };\n    MiniModal.prototype._setScrollable = function (scrollable, lockScroll) {\n        (0,mixins.Scrollable)({ scroll: scrollable, lock: lockScroll });\n    };\n    MiniModal.prototype._getNode = function () {\n        var ModalParent = (0,dom_utils.$el)(\".\" + prefix.default.modal + \"-mini-modal\");\n        var ModalMask = ModalParent.querySelector(\".\" + prefix.default.modal + \"-mask\");\n        var ModalWrap = ModalParent.querySelector(\".\" + prefix.default.modal + \"-wrap\");\n        var Modal = ModalWrap.querySelector(\".\" + prefix.default.modal);\n        return {\n            ModalParent: ModalParent,\n            ModalMask: ModalMask,\n            ModalWrap: ModalWrap,\n            Modal: Modal\n        };\n    };\n    return MiniModal;\n}());\n/* harmony default export */ var mini_modal = (MiniModal);\n\n;// CONCATENATED MODULE: ./src/components/mini-modal/index.ts\n\n/* harmony default export */ var components_mini_modal = (new mini_modal());\n\n;// CONCATENATED MODULE: ./src/components/notice/notice.ts\n\n\n\n\n\nvar NotPrefixKey = 'rab-notice';\nvar NotMoveEnter = prefix.default.notice + \"-move-enter\";\nvar NotMoveLeave = prefix.default.notice + \"-move-leave\";\nvar iconTypes = {\n    info: 'ios-information-circle',\n    success: 'ios-checkmark-circle',\n    warning: 'ios-alert',\n    error: 'ios-close-circle',\n    loading: 'loading-solid'\n};\nvar DEFAULT_NOTICE = {\n    top: 24,\n    duration: 4.5\n};\nvar notice_zIndex = 1180;\n// 创建实例的最外层父容器\nfunction createNoticeInsanceWrapper() {\n    var NoticeWrapper = (0,dom_utils.createElem)('div');\n    NoticeWrapper.className = \"\" + prefix.default.notice;\n    (0,dom_utils.setCss)(NoticeWrapper, 'zIndex', \"\" + notice_zIndex);\n    (0,dom_utils.setCss)(NoticeWrapper, 'right', '0');\n    setTimeout(function () { return (0,dom_utils.setCss)(NoticeWrapper, 'top', DEFAULT_NOTICE.top + \"px\"); }, 0);\n    document.body.appendChild(NoticeWrapper);\n    return NoticeWrapper;\n}\nvar $Notice = /** @class */ (function () {\n    function $Notice() {\n        this.VERSION = 'v1.0';\n        // 存储已经创建的实例，在 destroy方法里需要用到\n        this.instances = [];\n        createNoticeInsanceWrapper();\n    }\n    $Notice.prototype.open = function (config) {\n        this._createInstance('normal', config);\n        return (0,mixins.usePromiseCallback)(DEFAULT_NOTICE.duration, config.duration);\n    };\n    $Notice.prototype.info = function (config) {\n        this._createInstance('info', config);\n        return (0,mixins.usePromiseCallback)(DEFAULT_NOTICE.duration, config.duration);\n    };\n    $Notice.prototype.success = function (config) {\n        this._createInstance('success', config);\n        return (0,mixins.usePromiseCallback)(DEFAULT_NOTICE.duration, config.duration);\n    };\n    $Notice.prototype.warning = function (config) {\n        this._createInstance('warning', config);\n        return (0,mixins.usePromiseCallback)(DEFAULT_NOTICE.duration, config.duration);\n    };\n    $Notice.prototype.error = function (config) {\n        this._createInstance('error', config);\n        return (0,mixins.usePromiseCallback)(DEFAULT_NOTICE.duration, config.duration);\n    };\n    $Notice.prototype.config = function (options) {\n        if (options.top) {\n            DEFAULT_NOTICE.top = options.top;\n        }\n        if (options.duration || options.duration === 0) {\n            DEFAULT_NOTICE.duration = options.duration;\n        }\n    };\n    $Notice.prototype.close = function (key) {\n        (0,utils.destroyElemByKey)({\n            key: key,\n            duration: 0.1,\n            clsLeave: NotMoveLeave,\n            prefixKey: NotPrefixKey\n        });\n    };\n    $Notice.prototype.destroy = function () {\n        this.instances.forEach(function (instance) {\n            (0,utils.destroyElem)(instance, {\n                clsLeave: NotMoveLeave,\n                duration: 0.1\n            });\n        });\n        // 清空存放的所有实例\n        this.instances.length = 0;\n    };\n    $Notice.prototype._autoSetZindex = function () {\n        notice_zIndex++;\n        (0,dom_utils.setCss)((0,dom_utils.$el)(\".\" + prefix.default.notice), 'zIndex', \"\" + notice_zIndex);\n    };\n    $Notice.prototype._createInstance = function (type, config) {\n        var _a;\n        this._autoSetZindex();\n        var Notice = (0,dom_utils.createElem)('div');\n        var NoticeContent = (0,dom_utils.createElem)('div');\n        var NoticeCustomContent = (0,dom_utils.createElem)('div');\n        var NoticeTitle = (0,dom_utils.createElem)('div');\n        var NoticeDesc = (0,dom_utils.createElem)('div');\n        this._setCls(type, [Notice, NoticeContent, NoticeCustomContent, NoticeTitle, NoticeDesc], config.className);\n        this._setKey(Notice, config.key);\n        this._setTitle(NoticeTitle, config.title, config.dangerouslyUseHTMLString);\n        this._setDesc(Notice, NoticeCustomContent, NoticeDesc, config.desc, config.dangerouslyUseHTMLString);\n        this._setIcon(type, NoticeCustomContent, NoticeDesc, config.icon);\n        this._setClosable(Notice, config.closable, config.onClose);\n        this._customStyle(Notice, config.style);\n        NoticeCustomContent.append(NoticeTitle, NoticeDesc);\n        NoticeContent.appendChild(NoticeCustomContent);\n        Notice.appendChild(NoticeContent);\n        (_a = document.querySelector(\".\" + prefix.default.notice)) === null || _a === void 0 ? void 0 : _a.appendChild(Notice);\n        (0,mixins.CssTransition)(Notice, {\n            inOrOut: 'in',\n            enterCls: NotMoveEnter\n        });\n        this.instances.push(Notice);\n        this._handleNoticeClick(Notice, config.onClick);\n        this._autoClose(Notice, config.duration);\n        return Notice;\n    };\n    $Notice.prototype._setCls = function (type, nodes, customCls) {\n        var nodesCls = [\n            prefix.default.noticeChild + \" \" + (customCls ? customCls : ''),\n            prefix.default.noticeChild + \"-content\",\n            prefix.default.noticeChild + \"-custom-content \" + prefix.default.notice + \"-with-\" + type,\n            prefix.default.notice + \"-title\",\n            prefix.default.notice + \"-desc\"\n        ];\n        var i = 0;\n        var length = nodes.length;\n        for (; i < length; i++) {\n            var node = nodes[i];\n            node.className = nodesCls[i];\n        }\n    };\n    $Notice.prototype._setKey = function (node, key) {\n        if (!key)\n            return;\n        node.setAttribute(NotPrefixKey + \"-key\", key);\n    };\n    $Notice.prototype._setTitle = function (node, title, dangerouslyUseHTMLString) {\n        // 必须设置一个通知提醒标题\n        if (!title) {\n            (0,mixins.warn)('You must set a notification to remind the title');\n            return;\n        }\n        // 是否支持传入 HTML 片段\n        (0,utils.useHTMLString)(node, title, dangerouslyUseHTMLString);\n    };\n    $Notice.prototype._setDesc = function (parent, children_custm, child_desc, desc, dangerouslyUseHTMLString) {\n        if (!desc)\n            return;\n        parent.classList.add(prefix.default.noticeChild + \"-with-desc\");\n        children_custm.classList.add(prefix.default.notice + \"-with-desc\");\n        // 是否支持传入 HTML 片段\n        (0,utils.useHTMLString)(child_desc, desc, dangerouslyUseHTMLString);\n    };\n    $Notice.prototype._setIcon = function (type, child_custom, child_desc, customIcon) {\n        // 不带状态图标的类型\n        if (type === 'noraml')\n            return;\n        if (type !== 'normal' || customIcon) {\n            child_custom.classList.add(prefix.default.notice + \"-with-icon\");\n        }\n        var isOutline = '';\n        // 带有状态图标并且是否带有提示内容，如果有则将图标设为 outline 外观\n        if (child_desc.innerHTML)\n            isOutline = '-outline';\n        var NoticeIcon = (0,dom_utils.createElem)('span');\n        NoticeIcon.className = prefix.default.notice + \"-icon \" + prefix.default.notice + \"-icon-\" + type;\n        // 是否自定义状态图标\n        if (customIcon) {\n            (0,dom_utils.setHtml)(NoticeIcon, customIcon);\n        }\n        else {\n            // @ts-ignore\n            var defaultIcon = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + iconTypes[type] + isOutline + \"\\\"></i>\";\n            (0,dom_utils.setHtml)(NoticeIcon, defaultIcon);\n        }\n        child_custom.prepend(NoticeIcon);\n    };\n    $Notice.prototype._setClosable = function (parent, closable, onClose) {\n        // 默认显示右上角关闭按钮\n        utils.type.isUndef(closable) ? (closable = true) : closable;\n        if (!closable)\n            return;\n        parent.classList.add(prefix.default.noticeChild + \"-closable\");\n        var NoticeClose = (0,dom_utils.createElem)('a');\n        var closeIcon = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close\\\"></i>\";\n        NoticeClose.className = prefix.default.noticeChild + \"-close\";\n        (0,dom_utils.setHtml)(NoticeClose, closeIcon);\n        this._handleClose(parent, NoticeClose, onClose);\n        parent.appendChild(NoticeClose);\n    };\n    // 自定义内联样式\n    $Notice.prototype._customStyle = function (node, style) {\n        if (!style)\n            return;\n        (0,dom_utils.setCss)(node, 'cssText', style);\n    };\n    // 点击通知时触发的回调函数\n    $Notice.prototype._handleNoticeClick = function (parent, onClick) {\n        parent.onclick = function (e) {\n            e.stopPropagation();\n            if (onClick)\n                utils.type.isFn(onClick);\n        };\n    };\n    $Notice.prototype._handleClose = function (parent, closeBtn, onClose) {\n        closeBtn.onclick = function (e) {\n            e.stopPropagation();\n            if (onClose)\n                utils.type.isFn(onClose);\n            (0,utils.destroyElem)(parent, {\n                clsLeave: NotMoveLeave,\n                duration: 0.1\n            });\n        };\n    };\n    $Notice.prototype._autoClose = function (instance, duration) {\n        // 为每个实例自己的 duration参数设置默认值，如果有传入值则使用自定义的值\n        utils.type.isUndef(duration) ? (duration = DEFAULT_NOTICE.duration) : duration;\n        (0,utils.destroyElem)(instance, {\n            duration: duration,\n            clsLeave: NotMoveLeave\n        });\n    };\n    return $Notice;\n}());\n/* harmony default export */ var notice = ($Notice);\n\n;// CONCATENATED MODULE: ./src/components/notice/index.ts\n\nvar Notice = new notice();\n/* harmony default export */ var components_notice = (Notice);\n\n;// CONCATENATED MODULE: ./src/components/page-header/page-header.ts\n\n\n\nvar PageHeader = /** @class */ (function () {\n    function PageHeader() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-page-header', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    PageHeader.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'page-header');\n        var backButton = target.querySelector(\".\" + prefix.default.pageHeader + \"-back\");\n        return {\n            events: function (_a) {\n                var onBack = _a.onBack;\n                (0,dom_utils.bind)(backButton, 'click', function () {\n                    utils.type.isFn(onBack);\n                });\n            }\n        };\n    };\n    PageHeader.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), title = _a.title, subTitle = _a.subTitle;\n            _this._setMainTemplate(node, title, subTitle);\n            (0,dom_utils.removeAttrs)(node, ['title', 'sub-title']);\n        });\n    };\n    PageHeader.prototype._setMainTemplate = function (node, title, subTitle) {\n        var template = \"\\n        <div class=\\\"\" + prefix.default.pageHeader + \"-heading\\\">\\n            <div class=\\\"\" + prefix.default.pageHeader + \"-back\\\">\\n                <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-md-arrow-back\\\"></i>\\n            </div>\\n            <span class=\\\"\" + prefix.default.pageHeader + \"-heading-title\\\">\" + title + \"</span>\\n            <span class=\\\"\" + prefix.default.pageHeader + \"-heading-sub-title\\\">\" + subTitle + \"</span>\\n        </div>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    PageHeader.prototype._attrs = function (node) {\n        return {\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            subTitle: (0,dom_utils.getStrTypeAttr)(node, 'sub-title', '')\n        };\n    };\n    return PageHeader;\n}());\n/* harmony default export */ var page_header = (PageHeader);\n\n;// CONCATENATED MODULE: ./src/components/page-header/index.ts\n\n/* harmony default export */ var components_page_header = (page_header);\n\n;// CONCATENATED MODULE: ./src/components/poptip/poptip.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar poptip_STATEKEY = 'visibleState';\nvar poptip_DEFAULTDELAY = 80;\nvar poptip_VISIBLETIMER = null, poptip_EVENTTIMER = null;\nvar Poptip = /** @class */ (function () {\n    function Poptip() {\n        this.VERSION = 'v2.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-poptip', { all: true });\n        this._create(this.COMPONENTS);\n        mixins._arrow.scrollUpdate();\n    }\n    Poptip.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'poptip');\n        var _a = Poptip.prototype, _attrs = _a._attrs, _setVisible = _a._setVisible, _handleTrigger = _a._handleTrigger;\n        var _b = _attrs(target), trigger = _b.trigger, title = _b.title, content = _b.content, disabled = _b.disabled, placement = _b.placement, offset = _b.offset, confirm = _b.confirm;\n        var PoptipRefElem = target.querySelector(\".\" + prefix.default.poptip + \"-rel\");\n        var PoptipPopper = target.querySelector(\".\" + prefix.default.poptip + \"-popper\");\n        var PoptipTitle = target.querySelector(\".\" + prefix.default.poptip + \"-title\");\n        var PoptipContent = target.querySelector(\".\" + prefix.default.poptip + \"-body-content\");\n        return {\n            get visible() {\n                return PoptipPopper.dataset[poptip_STATEKEY] === 'show';\n            },\n            set visible(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                _setVisible(newVal, PoptipRefElem, PoptipPopper, placement, offset);\n            },\n            get disabled() {\n                return disabled;\n            },\n            set disabled(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                _handleTrigger(trigger, confirm, newVal, target, PoptipRefElem, PoptipPopper, placement, offset);\n            },\n            get title() {\n                return title;\n            },\n            set title(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(PoptipTitle, newVal);\n            },\n            get content() {\n                return content;\n            },\n            set content(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                (0,dom_utils.setHtml)(PoptipContent, newVal);\n            },\n            events: function (_a) {\n                var onPopperShow = _a.onPopperShow, onPopperHide = _a.onPopperHide, onOk = _a.onOk, onCancel = _a.onCancel;\n                var visibleEvent = function (show) {\n                    if (show) {\n                        onPopperShow && utils.type.isFn(onPopperShow);\n                    }\n                    else {\n                        onPopperHide && utils.type.isFn(onPopperHide);\n                    }\n                };\n                var toogleEv = function () {\n                    setTimeout(function () {\n                        PoptipPopper.dataset[poptip_STATEKEY] === 'show'\n                            ? visibleEvent(true)\n                            : visibleEvent(false);\n                    }, 200);\n                };\n                var clickoutsideEv = function () {\n                    if (PoptipPopper.style.visibility === 'visible') {\n                        setTimeout(function () { return visibleEvent(false); }, poptip_DEFAULTDELAY);\n                    }\n                };\n                if (!confirm) {\n                    if (trigger === 'hover') {\n                        (0,dom_utils.bind)(target, 'mouseenter', function () {\n                            if (poptip_EVENTTIMER)\n                                clearTimeout(poptip_EVENTTIMER);\n                            poptip_EVENTTIMER = setTimeout(function () { return visibleEvent(true); }, poptip_DEFAULTDELAY);\n                        });\n                        (0,dom_utils.bind)(target, 'mouseleave', function () {\n                            if (poptip_EVENTTIMER)\n                                clearTimeout(poptip_EVENTTIMER);\n                            if (PoptipPopper.dataset[poptip_STATEKEY] === 'show')\n                                setTimeout(function () { return visibleEvent(false); }, poptip_DEFAULTDELAY);\n                        });\n                    }\n                    if (trigger === 'focus') {\n                        (0,dom_utils.bind)(PoptipRefElem, 'mousedown', function () { return visibleEvent(true); });\n                        (0,dom_utils.bind)(PoptipRefElem, 'mouseup', function () { return visibleEvent(false); });\n                    }\n                }\n                if (trigger === 'click' || trigger === 'focus') {\n                    (0,mixins.clickoutside)(target, clickoutsideEv);\n                }\n                if (trigger === 'click') {\n                    (0,dom_utils.bind)(PoptipRefElem, 'click', toogleEv);\n                }\n                if (confirm) {\n                    var PoptipOkBtn = PoptipPopper.querySelector(\".\" + prefix.default.button + \"-primary\");\n                    var PoptipCancelBtn = PoptipPopper.querySelector(\".\" + prefix.default.button + \"-text\");\n                    (0,dom_utils.bind)(PoptipOkBtn, 'click', function () { return onOk && utils.type.isFn(onOk); });\n                    (0,dom_utils.bind)(PoptipCancelBtn, 'click', function () { return onCancel && utils.type.isFn(onCancel); });\n                }\n            }\n        };\n    };\n    Poptip.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var ReferenceElem = node.firstElementChild || node.innerHTML;\n            var _a = _this._attrs(node), trigger = _a.trigger, title = _a.title, content = _a.content, placement = _a.placement, padding = _a.padding, offset = _a.offset, confirm = _a.confirm, visible = _a.visible, width = _a.width, wordWrap = _a.wordWrap, disabled = _a.disabled, okText = _a.okText, cancelText = _a.cancelText;\n            _this.setMainTemplate(node, title, content, placement);\n            var PoptipRel = node.querySelector(\".\" + prefix.default.poptip + \"-rel\");\n            var PoptipPopper = node.querySelector(\".\" + prefix.default.poptip + \"-popper\");\n            _this.addReferenceElem(PoptipRel, ReferenceElem);\n            _this.setConfirmTemplate(confirm, node, title, okText, cancelText);\n            _this._setPlacement(PoptipRel, PoptipPopper, placement, offset);\n            _this._setVisible(visible, PoptipRel, PoptipPopper, placement, offset);\n            _this._setPadding(node, padding);\n            _this._setWidthAndWordWrap(PoptipPopper, width, wordWrap);\n            _this._handleTrigger(trigger, confirm, disabled, node, PoptipRel, PoptipPopper, placement, offset);\n            _this._handleBtnClick(PoptipRel, PoptipPopper, placement, offset);\n            (0,dom_utils.removeAttrs)(node, [\n                'width',\n                'title',\n                'offset',\n                'content',\n                'confirm',\n                'visible',\n                'padding',\n                'disabled',\n                'trigger',\n                'placement',\n                'word-wrap',\n                'ok-text',\n                'cancel-text'\n            ]);\n        });\n    };\n    Poptip.prototype.setMainTemplate = function (node, title, content, placement) {\n        var template = \"\\n         <div class=\\\"\" + prefix.default.poptip + \"-rel\\\"></div>\\n         <div class=\\\"\" + prefix.default.poptip + \"-popper\\\" x-placement=\\\"\" + placement + \"\\\">\\n             <div class=\\\"\" + prefix.default.poptip + \"-content\\\">\\n                 <div class=\\\"\" + prefix.default.poptip + \"-arrow\\\"></div>\\n                 <div class=\\\"\" + prefix.default.poptip + \"-inner\\\">\\n                    \" + (title ? \"<div class=\\\"\" + prefix.default.poptip + \"-title\\\">\" + title + \"</div>\" : '') + \"\\n                     <div class=\\\"\" + prefix.default.poptip + \"-body\\\">\\n                         <div class=\\\"\" + prefix.default.poptip + \"-body-content\\\">\" + content + \"</div>\\n                     </div>\\n                 </div>\\n             </div>\\n         </div>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Poptip.prototype.addReferenceElem = function (child, ReferenceElem) {\n        if (typeof ReferenceElem === 'string') {\n            (0,dom_utils.setHtml)(child, ReferenceElem);\n        }\n        else if (ReferenceElem instanceof Element) {\n            child.appendChild(ReferenceElem);\n        }\n    };\n    Poptip.prototype.setConfirmTemplate = function (confirm, node, title, okText, cancelText) {\n        if (!confirm)\n            return;\n        var template = \"\\n         <i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-help-circle\\\"></i>\\n         <div class=\\\"\" + prefix.default.poptip + \"-body-message\\\">\" + title + \"</div>\\n         <div class=\\\"\" + prefix.default.poptip + \"-footer\\\">\\n            <button type=\\\"button\\\" class=\\\"\" + prefix.default.button + \" \" + prefix.default.button + \"-text \" + prefix.default.button + \"-sm\\\">\" + cancelText + \"</button>\\n            <button type=\\\"button\\\" class=\\\"\" + prefix.default.button + \" \" + prefix.default.button + \"-primary \" + prefix.default.button + \"-sm\\\">\" + okText + \"</button>\\n         </div>\\n        \";\n        var PoptipBody = node.querySelector(\".\" + prefix.default.poptip + \"-body\");\n        (0,dom_utils.setHtml)(PoptipBody, template);\n        node.querySelector(\".\" + prefix.default.poptip + \"-title\").remove();\n        node.classList.add(prefix.default.poptip + \"-confirm\");\n    };\n    Poptip.prototype._handleTrigger = function (type, confirm, disabled, node, refElem, popper, placement, offset) {\n        var _this = this;\n        if (disabled)\n            return;\n        var show = function (show, e) {\n            if (e)\n                e.stopPropagation();\n            _this._setVisible(show, refElem, popper, placement, offset);\n        };\n        if (!confirm) {\n            if (type === 'hover') {\n                (0,dom_utils.bind)(node, 'mouseenter', function (e) {\n                    if (poptip_VISIBLETIMER)\n                        clearTimeout(poptip_VISIBLETIMER);\n                    if (popper.dataset[poptip_STATEKEY] === 'show')\n                        return;\n                    poptip_VISIBLETIMER = setTimeout(function () { return show(true, e); }, poptip_DEFAULTDELAY);\n                });\n                (0,dom_utils.bind)(node, 'mouseleave', function (e) {\n                    if (poptip_VISIBLETIMER)\n                        clearTimeout(poptip_VISIBLETIMER);\n                    if (popper.dataset[poptip_STATEKEY] === 'show')\n                        setTimeout(function () { return show(false, e); }, poptip_DEFAULTDELAY);\n                });\n            }\n            if (type === 'focus') {\n                (0,dom_utils.bind)(refElem, 'mousedown', function (e) { return show(true, e); });\n                (0,dom_utils.bind)(refElem, 'mouseup', function (e) { return show(false, e); });\n            }\n        }\n        if (type === 'click') {\n            var hide = function () {\n                if (popper.dataset[poptip_STATEKEY] === 'close')\n                    return;\n                show(false);\n            };\n            var clickEv_1 = function (e) {\n                var poppers = document.querySelectorAll(\".\" + prefix.default.poptip + \"-popper\");\n                poppers.forEach(function (child) {\n                    var otherPopper = child;\n                    if (otherPopper.dataset[poptip_STATEKEY] === 'show') {\n                        _this._setVisible(false, refElem, otherPopper, placement, offset);\n                    }\n                });\n                popper.style.visibility === 'visible' ? show(false, e) : show(true, e);\n            };\n            (0,mixins.clickoutside)(node, hide);\n            (0,dom_utils.bind)(refElem, 'click', function (e) { return clickEv_1(e); });\n        }\n    };\n    Poptip.prototype._handleBtnClick = function (refElem, popper, placement, offset) {\n        var _this = this;\n        var PoptipOkBtn = popper.querySelector(\".\" + prefix.default.button + \"-primary\");\n        var PoptipCancelBtn = popper.querySelector(\".\" + prefix.default.button + \"-text\");\n        if (!PoptipOkBtn)\n            return;\n        var hidden = function () { return _this._setVisible(false, refElem, popper, placement, offset); };\n        (0,dom_utils.bind)(PoptipOkBtn, 'click', hidden);\n        (0,dom_utils.bind)(PoptipCancelBtn, 'click', hidden);\n    };\n    Poptip.prototype._setVisible = function (visible, refElem, popper, placement, offset) {\n        var _a = Poptip.prototype, _setPlacement = _a._setPlacement, _visibleTransition = _a._visibleTransition;\n        if (visible) {\n            popper.dataset[poptip_STATEKEY] = 'show';\n            _visibleTransition('in', popper);\n            _setPlacement(refElem, popper, placement, offset);\n        }\n        else {\n            popper.dataset[poptip_STATEKEY] = 'close';\n            setTimeout(function () {\n                popper.dataset[poptip_STATEKEY] === 'close' && _visibleTransition('out', popper);\n            }, 0);\n        }\n    };\n    Poptip.prototype._setPlacement = function (refElem, popper, placement, offset) {\n        mixins._Popper._newCreatePopper(refElem, popper, placement, offset);\n    };\n    Poptip.prototype._visibleTransition = function (type, popper) {\n        var aniCls = type === 'in'\n            ? { enterCls: 'zoom-big-fast-enter' }\n            : { leaveCls: 'zoom-big-fast-leave' };\n        (0,mixins.CssTransition)(popper, __assign(__assign({ inOrOut: type }, aniCls), { rmCls: true, timeout: 190 }));\n    };\n    Poptip.prototype._setWidthAndWordWrap = function (child, width, wordWrap) {\n        (0,dom_utils.setCss)(child, 'width', width + \"px\");\n        if (!wordWrap)\n            return;\n        var PoptipBodyContent = child.querySelector(\".\" + prefix.default.poptip + \"-body-content\");\n        PoptipBodyContent.classList.add(prefix.default.poptip + \"-body-content-word-wrap\");\n    };\n    Poptip.prototype._setPadding = function (node, padding) {\n        if (!padding)\n            return;\n        (0,dom_utils.setCss)(node.querySelector(\".\" + prefix.default.poptip + \"-title\"), 'padding', padding);\n        (0,dom_utils.setCss)(node.querySelector(\".\" + prefix.default.poptip + \"-body\"), 'padding', padding);\n    };\n    Poptip.prototype._attrs = function (node) {\n        return {\n            width: (0,dom_utils.getNumTypeAttr)(node, 'width', -1),\n            offset: (0,dom_utils.getNumTypeAttr)(node, 'offset', 0),\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            okText: (0,dom_utils.getStrTypeAttr)(node, 'ok-text', '确定'),\n            content: (0,dom_utils.getStrTypeAttr)(node, 'content', ''),\n            trigger: (0,dom_utils.getStrTypeAttr)(node, 'trigger', 'click'),\n            padding: (0,dom_utils.getStrTypeAttr)(node, 'padding', ''),\n            placement: (0,dom_utils.getStrTypeAttr)(node, 'placement', 'top'),\n            cancelText: (0,dom_utils.getStrTypeAttr)(node, 'cancel-text', '取消'),\n            confirm: (0,dom_utils.getBooleanTypeAttr)(node, 'confirm'),\n            visible: (0,dom_utils.getBooleanTypeAttr)(node, 'visible'),\n            disabled: (0,dom_utils.getBooleanTypeAttr)(node, 'disabled'),\n            wordWrap: (0,dom_utils.getBooleanTypeAttr)(node, 'word-wrap')\n        };\n    };\n    return Poptip;\n}());\n/* harmony default export */ var poptip = (Poptip);\n\n;// CONCATENATED MODULE: ./src/components/poptip/index.ts\n\n/* harmony default export */ var components_poptip = (poptip);\n\n;// CONCATENATED MODULE: ./src/components/progress/progress.ts\n\n\n\nvar PrgesIconType = {\n    success: '<i class=\"rab-icon rab-icon-ios-checkmark-circle\"></i>',\n    warning: '<i class=\"rab-icon rab-icon-ios-alert\"></i>',\n    wrong: '<i class=\"rab-icon rab-icon-ios-close-circle\"></i>'\n};\nvar Progress = /** @class */ (function () {\n    function Progress() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-progress', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Progress.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'progress');\n        var progress = target.querySelector(\".\" + prefix.default.progress + \"-bg\");\n        var progressSucs = target.querySelector(\".\" + prefix.default.progress + \"-success-bg\");\n        var progressText = target.querySelector(\".\" + prefix.default.progress + \"-inner-text\");\n        return {\n            get percent() {\n                return progress;\n            },\n            set percent(newVal) {\n                if (!utils.type.isNum(newVal) || newVal == progress.style.width)\n                    return;\n                if (progressText)\n                    (0,dom_utils.setHtml)(progressText, newVal + \"%\");\n                (0,dom_utils.setCss)(progress, 'width', newVal + \"%\");\n            },\n            get successPercent() {\n                return progressSucs;\n            },\n            set successPercent(newVal) {\n                if (!utils.type.isNum(newVal) || newVal == progressSucs.style.width)\n                    return;\n                (0,dom_utils.setCss)(progressSucs, 'width', newVal + \"%\");\n            }\n        };\n    };\n    Progress.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            _this._createChildNodes(node);\n            (0,dom_utils.removeAttrs)(node, [\n                'percent',\n                'show-text',\n                'text-inside',\n                'stroke-width',\n                'stroke-color',\n                'success-percent'\n            ]);\n        });\n    };\n    Progress.prototype._createChildNodes = function (wrapper) {\n        var PgrsOuter = (0,dom_utils.createElem)('div');\n        var PgrsInner = (0,dom_utils.createElem)('div');\n        var PgrsBar = (0,dom_utils.createElem)('div');\n        var PgrsBarSucess = (0,dom_utils.createElem)('div');\n        PgrsOuter.className = prefix.default.progress + \"-outer\";\n        PgrsInner.className = prefix.default.progress + \"-inner\";\n        PgrsBar.className = prefix.default.progress + \"-bg\";\n        PgrsBarSucess.className = prefix.default.progress + \"-success-bg\";\n        this._setPercent(wrapper, PgrsBar, PgrsBarSucess);\n        this._setStrokeWidth(wrapper, PgrsBar, PgrsBarSucess);\n        this._setStrokeColor(wrapper, PgrsBar);\n        PgrsInner.append(PgrsBar, PgrsBarSucess);\n        PgrsOuter.appendChild(PgrsInner);\n        wrapper.appendChild(PgrsOuter);\n        this._showText(wrapper, PgrsBar);\n    };\n    Progress.prototype._setPercent = function (wrapper, bar, successBar) {\n        var percent = this._getPercent(wrapper) + \"%\";\n        var successPercent = this._getSuccessPercent(wrapper) + \"%\";\n        (0,dom_utils.setCss)(bar, 'width', percent);\n        (0,dom_utils.setCss)(successBar, 'width', successPercent);\n    };\n    Progress.prototype._setStrokeWidth = function (wrapper, bar, successBar) {\n        var strokeWidth = this._getStrokeWidth(wrapper) + \"px\";\n        (0,dom_utils.setCss)(bar, 'height', strokeWidth);\n        (0,dom_utils.setCss)(successBar, 'height', strokeWidth);\n    };\n    Progress.prototype._showText = function (wrapper, PgrsBar) {\n        if (!this._isShowText(wrapper))\n            return;\n        var PgrsTextWrapper = (0,dom_utils.createElem)('div');\n        var PgresText = (0,dom_utils.createElem)('span');\n        PgrsTextWrapper.className = prefix.default.progress + \"-text\";\n        PgresText.className = prefix.default.progress + \"-inner-text\";\n        var percentText = this._getPercent(wrapper) + \"%\";\n        (0,dom_utils.setText)(PgresText, percentText);\n        if (!this._isTextInside(wrapper)) {\n            wrapper.className = prefix.default.progress + \"-show-info\";\n            if (this._getStatus(wrapper) === 'success') {\n                (0,dom_utils.setHtml)(PgresText, PrgesIconType.success);\n            }\n            else if (this._getStatus(wrapper) === 'warning') {\n                (0,dom_utils.setHtml)(PgresText, PrgesIconType.warning);\n            }\n            else if (this._getStatus(wrapper) === 'wrong') {\n                (0,dom_utils.setHtml)(PgresText, PrgesIconType.wrong);\n            }\n            PgrsTextWrapper.appendChild(PgresText);\n            wrapper.appendChild(PgrsTextWrapper);\n        }\n        else {\n            PgrsBar.appendChild(PgresText);\n        }\n    };\n    Progress.prototype._setStrokeColor = function (wrapper, PgrsBar) {\n        var _a = this._getStrokeColor(wrapper), from = _a.from, to = _a.to;\n        if (from.length || to.length) {\n            var strokeColor = \"linear-gradient(to right, \" + from + \" 0%, \" + to + \" 100%)\";\n            (0,dom_utils.setCss)(PgrsBar, 'backgroundImage', strokeColor);\n        }\n    };\n    Progress.prototype._getStatus = function (node) {\n        return node.getAttribute('status');\n    };\n    Progress.prototype._getPercent = function (node) {\n        return node.getAttribute('percent') || '0';\n    };\n    Progress.prototype._getSuccessPercent = function (node) {\n        return node.getAttribute('success-percent') || '0';\n    };\n    Progress.prototype._getStrokeWidth = function (node) {\n        return node.getAttribute('stroke-width') || '10';\n    };\n    Progress.prototype._getStrokeColor = function (node) {\n        var _a;\n        if (!node.getAttribute('stroke-color')) {\n            return {\n                from: [],\n                to: []\n            };\n        }\n        else {\n            /**\n             * 转为真实数组\n             * \"['','']\" -> ['','']\n             */\n            var strArr = ((_a = node.getAttribute('stroke-color')) === null || _a === void 0 ? void 0 : _a.replace(/'/g, '\"')) || '';\n            var colorArr = JSON.parse(strArr);\n            return {\n                from: colorArr[0],\n                to: colorArr[1]\n            };\n        }\n    };\n    Progress.prototype._isTextInside = function (node) {\n        return node.getAttribute('text-inside') === 'true';\n    };\n    Progress.prototype._isShowText = function (node) {\n        if (node.getAttribute('show-text') === 'false')\n            return false;\n        else\n            return true;\n    };\n    return Progress;\n}());\n/* harmony default export */ var progress = (Progress);\n\n;// CONCATENATED MODULE: ./src/components/progress/index.ts\n\n/* harmony default export */ var components_progress = (progress);\n\n;// CONCATENATED MODULE: ./src/components/radio/radio.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\nvar Radio = /** @class */ (function () {\n    function Radio() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-radio', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Radio.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        var isGroup = target.tagName.toLowerCase() == 'r-radio-group';\n        // 排除 group 项\n        if (!isGroup) {\n            (0,utils.validComps)(target, 'radio');\n        }\n        else {\n            (0,utils.validComps)(target, 'radio-group');\n        }\n        var _a = Radio.prototype, _isChecked = _a._isChecked, _isDisabled = _a._isDisabled, _setSingleChecked = _a._setSingleChecked, _setCurrentlyChecked = _a._setCurrentlyChecked;\n        return {\n            get checked() {\n                return !isGroup && _isChecked(target);\n            },\n            set checked(newVal) {\n                if (isGroup || !utils.type.isBol(newVal))\n                    return;\n                _setSingleChecked(target, newVal);\n            },\n            get value() {\n                // @ts-ignore\n                return isGroup && target.getAttribute('value');\n            },\n            set value(newVal) {\n                if (!isGroup && !utils.type.isStr(newVal))\n                    return;\n                Array.from(target.children).forEach(function (child) {\n                    var label = child.getAttribute('label');\n                    _setCurrentlyChecked(child, newVal, label);\n                });\n            },\n            events: function (_a) {\n                var onChange = _a.onChange;\n                if (!isGroup) {\n                    (0,dom_utils.bind)(target, 'click', function () {\n                        if (_isDisabled(target))\n                            return false;\n                        onChange && utils.type.isFn(onChange, true);\n                    });\n                }\n                else {\n                    var data_1 = Object.create(null);\n                    (0,dom_utils.bind)(target, 'click', function () {\n                        Array.from(target.children).forEach(function (child, index) {\n                            if (_isDisabled(child))\n                                return false;\n                            data_1['index'] = index;\n                            data_1['label'] = child.getAttribute('label');\n                            data_1['current'] = child;\n                            if (_isChecked(child))\n                                onChange && utils.type.isFn(onChange, data_1);\n                        });\n                    });\n                }\n            }\n        };\n    };\n    Radio.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), checked = _a.checked, label = _a.label, icon = _a.icon, name = _a.name;\n            var content = (0,dom_utils.setHtml)(node);\n            var RadioGroupWrapper = _this._getGroupElm(node);\n            if (RadioGroupWrapper) {\n                var value = _this._attrs(RadioGroupWrapper).value;\n                _this._setCurrentlyChecked(node, value, label);\n            }\n            _this._setMainTemplate(node, content, name);\n            _this._setSingleChecked(node, checked, RadioGroupWrapper);\n            _this._setIcon(node, icon);\n            _this._handleClick(node, RadioGroupWrapper);\n            (0,dom_utils.removeAttrs)(node, ['checked', 'icon']);\n        });\n    };\n    Radio.prototype._setMainTemplate = function (node, content, name) {\n        var template = \"\\n        <span class=\\\"\" + prefix.default.radio + \"\\\">\\n          <span class=\\\"\" + prefix.default.radio + \"-inner\\\"></span>\\n          <input type=\\\"radio\\\" name=\\\"\" + name + \"\\\" class=\\\"\" + prefix.default.radio + \"-input\\\" />\\n        </span> \" + content + \"\\n      \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    // 设置单个radio选中\n    Radio.prototype._setSingleChecked = function (node, checked, groupWrapper) {\n        if (groupWrapper)\n            return;\n        checked\n            ? node.classList.add(prefix.default.radio + \"-checked\")\n            : node.classList.remove(prefix.default.radio + \"-checked\");\n    };\n    // 设置radio组的当前选中项\n    Radio.prototype._setCurrentlyChecked = function (node, value, label) {\n        if (value !== label)\n            return;\n        node.classList.add(prefix.default.radio + \"-wrapper-checked\");\n        node.classList.add(prefix.default.radio + \"-checked\");\n        (0,dom_utils.siblings)(node).forEach(function (o) {\n            o.classList.remove(prefix.default.radio + \"-wrapper-checked\");\n            o.classList.remove(prefix.default.radio + \"-checked\");\n        });\n    };\n    Radio.prototype._setIcon = function (node, icon) {\n        var _a;\n        if (!icon)\n            return;\n        var template = \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon + \"\\\"></i>\";\n        (_a = node.querySelector(\".\" + prefix.default.radio)) === null || _a === void 0 ? void 0 : _a.insertAdjacentHTML('afterend', template);\n    };\n    Radio.prototype._handleClick = function (node, groupWrapper) {\n        var _this = this;\n        if (this._isDisabled(node))\n            return;\n        var changeStatus = function () {\n            if (groupWrapper) {\n                node.classList.add(prefix.default.radio + \"-wrapper-checked\");\n                (0,dom_utils.siblings)(node).forEach(function (o) {\n                    if (_this._isChecked(o)) {\n                        o.classList.remove(prefix.default.radio + \"-checked\");\n                        o.classList.remove(prefix.default.radio + \"-wrapper-checked\");\n                        o.classList.remove(prefix.default.radio + \"-focus\");\n                    }\n                });\n            }\n            node.classList.add(prefix.default.radio + \"-checked\");\n        };\n        (0,dom_utils.bind)(node, 'click', function () { return changeStatus(); });\n        (0,dom_utils.bind)(node, 'mousedown', function () {\n            node.classList.add(prefix.default.radio + \"-focus\");\n        });\n        (0,dom_utils.bind)(node, 'mouseup', function () {\n            setTimeout(function () { return node.classList.remove(prefix.default.radio + \"-focus\"); }, 1000);\n        });\n    };\n    Radio.prototype._getGroupElm = function (node) {\n        var tag = node.parentElement;\n        return (tag === null || tag === void 0 ? void 0 : tag.tagName.toLowerCase()) === 'r-radio-group' ? tag : null;\n    };\n    Radio.prototype._isDisabled = function (node) {\n        return node.getAttribute('disabled') == '' || node.getAttribute('disabled') == 'true';\n    };\n    Radio.prototype._isChecked = function (node) {\n        return node.classList.contains(prefix.default.radio + \"-checked\");\n    };\n    Radio.prototype._attrs = function (node) {\n        return {\n            value: (0,dom_utils.getStrTypeAttr)(node, 'value', ''),\n            name: (0,dom_utils.getStrTypeAttr)(node, 'name', ''),\n            label: (0,dom_utils.getStrTypeAttr)(node, 'label', ''),\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            checked: (0,dom_utils.getBooleanTypeAttr)(node, 'checked')\n        };\n    };\n    return Radio;\n}());\n/* harmony default export */ var radio_radio = (Radio);\n\n;// CONCATENATED MODULE: ./src/components/radio/index.ts\n\n/* harmony default export */ var components_radio = (radio_radio);\n\n;// CONCATENATED MODULE: ./assets/result-403.svg\n/* harmony default export */ var result_403 = (\".././fonts/result-403.svg\");\n;// CONCATENATED MODULE: ./assets/result-404.svg\n/* harmony default export */ var result_404 = (\".././fonts/result-404.svg\");\n;// CONCATENATED MODULE: ./assets/result-500.svg\n/* harmony default export */ var result_500 = (\".././fonts/result-500.svg\");\n;// CONCATENATED MODULE: ./src/components/result/result.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\n\n\nvar Result = /** @class */ (function () {\n    function Result() {\n        this.VERSION = 'v1.1';\n        this.COMPONENTS = (0,dom_utils.$el)('r-result', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Result.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            // v1.1 增加占位节点的组成数量判断\n            if ((0,mixins.moreThanOneNode)(node))\n                return;\n            var _a = _this._attrs(node), status = _a.status, title = _a.title, subTitle = _a.subTitle, icon = _a.icon, extra = _a.extra;\n            var placeholderNode = node.firstElementChild;\n            _this._setMainTemplate(node);\n            _this._setStatus(node, status);\n            _this._setTitle(node, title, subTitle);\n            _this._setExtraContent(node, extra);\n            _this._setComplexDesc(node, placeholderNode);\n            _this._setCustomIcon(node, icon);\n            (0,dom_utils.removeAttrs)(node, ['title', 'subtitle', 'status', 'icon', 'extra']);\n        });\n    };\n    Result.prototype._setMainTemplate = function (node) {\n        var template = \"\\n          <div class=\\\"\" + prefix.default.result + \"-icon\\\">\\n             <i class=\\\"\" + prefix.default.icon + \"\\\"></i>\\n          </div>\\n          <div class=\\\"\" + prefix.default.result + \"-title\\\"></div>\\n          <div class=\\\"\" + prefix.default.result + \"-subtitle\\\"></div> \\n          <div class=\\\"\" + prefix.default.result + \"-content\\\"></div>\\n          <div class=\\\"\" + prefix.default.result + \"-extra\\\"></div>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Result.prototype._setStatus = function (node, status) {\n        node.classList.add(prefix.default.result + \"-\" + status);\n        var ResultIcon = node.querySelector(\".\" + prefix.default.result + \"-icon\");\n        var I = ResultIcon.querySelector('i');\n        var iconType = this._getStatusIcon(status);\n        var otherStatus = ['403', '404', '500'];\n        if (otherStatus.includes(status)) {\n            ResultIcon.classList.add(prefix.default.result + \"-image\");\n            ResultIcon.removeChild(I);\n            (0,dom_utils.setHtml)(ResultIcon, \"<img src=\\\"\" + iconType + \"\\\" alt=\\\"result\\\" />\");\n        }\n        else {\n            I.classList.add(prefix.default.icon + \"-\" + iconType);\n        }\n    };\n    Result.prototype._setTitle = function (node, title, subTitle) {\n        var ResultTitle = node.querySelector(\".\" + prefix.default.result + \"-title\");\n        var ResultSubTitle = node.querySelector(\".\" + prefix.default.result + \"-subtitle\");\n        (0,dom_utils.setHtml)(ResultTitle, title);\n        (0,dom_utils.setHtml)(ResultSubTitle, subTitle);\n    };\n    Result.prototype._setExtraContent = function (node, content) {\n        var ResultExtra = node.querySelector(\".\" + prefix.default.result + \"-extra\");\n        (0,dom_utils.setHtml)(ResultExtra, content);\n    };\n    Result.prototype._setCustomIcon = function (node, icon) {\n        if (!icon)\n            return;\n        var ResultIcon = node.querySelector(\".\" + prefix.default.result + \"-icon > i\");\n        ResultIcon.className = prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon;\n    };\n    Result.prototype._setComplexDesc = function (node, child) {\n        var ResultContent = node.querySelector(\".\" + prefix.default.result + \"-content\");\n        if (!child) {\n            node.removeChild(ResultContent);\n            return;\n        }\n        ResultContent === null || ResultContent === void 0 ? void 0 : ResultContent.appendChild(child);\n    };\n    Result.prototype._getStatusIcon = function (status) {\n        var icons = {\n            info: 'ios-alert',\n            success: 'ios-checkmark-circle',\n            warning: 'ios-warning',\n            error: 'ios-close-circle',\n            '403': result_403,\n            '404': result_404,\n            '500': result_500\n        };\n        // @ts-ignore\n        return icons[status] || icons.info;\n    };\n    Result.prototype._attrs = function (node) {\n        return {\n            status: (0,dom_utils.getStrTypeAttr)(node, 'status', 'info'),\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            extra: (0,dom_utils.getStrTypeAttr)(node, 'extra', ''),\n            subTitle: (0,dom_utils.getStrTypeAttr)(node, 'subtitle', '')\n        };\n    };\n    return Result;\n}());\n/* harmony default export */ var result = (Result);\n\n;// CONCATENATED MODULE: ./src/components/result/index.ts\n\n/* harmony default export */ var components_result = (result);\n\n;// CONCATENATED MODULE: ./src/components/skeleton/skeleton.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\nvar Skeleton = /** @class */ (function () {\n    function Skeleton() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-skeleton', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Skeleton.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), active = _a.active, title = _a.title, paragraph = _a.paragraph, avatar = _a.avatar, titleWidth = _a.titleWidth, paragraphRows = _a.paragraphRows, paragraphWidth = _a.paragraphWidth, avatarSize = _a.avatarSize, avatarShape = _a.avatarShape;\n            _this._setActive(node, active);\n            _this._setMainTemplate(node);\n            _this._setTitle(node, title, titleWidth);\n            _this._showParagraph(node, paragraph, paragraphRows, paragraphWidth);\n            _this._showAvatar(node, avatar, avatarSize, avatarShape);\n            (0,dom_utils.removeAttrs)(node, [\n                'active',\n                'title',\n                'paragraph',\n                'avatar',\n                'title-width',\n                'paragraph-width',\n                'paragraph-rows',\n                'avatar-shape',\n                'avatar-size'\n            ]);\n        });\n    };\n    Skeleton.prototype._setActive = function (node, active) {\n        if (!active)\n            return;\n        node.classList.add(prefix.default.skeleton + \"-active\");\n    };\n    Skeleton.prototype._setMainTemplate = function (node) {\n        var template = \"\\n        <div class=\\\"\" + prefix.default.skeleton + \"-content\\\">\\n            <h3 class=\\\"\" + prefix.default.skeleton + \"-title\\\" style=\\\"width: 38%\\\"></h3>\\n            <ul class=\\\"\" + prefix.default.skeleton + \"-paragraph\\\">\\n                <li></li>\\n                <li></li>\\n                <li></li>\\n            </ul>\\n        </div>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Skeleton.prototype._setTitle = function (node, isShow, width) {\n        var Title = node.querySelector(\".\" + prefix.default.skeleton + \"-title\");\n        this._setTitleWidth(Title, width);\n        if (isShow === 'false') {\n            node.removeChild(Title);\n        }\n    };\n    Skeleton.prototype._setTitleWidth = function (titleElm, titleWidth) {\n        (0,dom_utils.setCss)(titleElm, 'width', titleWidth + \"%\");\n    };\n    Skeleton.prototype._showParagraph = function (node, isShow, rows, rowsWidth) {\n        var Paragraph = node.querySelector(\".\" + prefix.default.skeleton + \"-paragraph\");\n        this._setParagraphRows(Paragraph, rows);\n        this._setParagraphRowsWidth(Paragraph, rowsWidth);\n        if (isShow === 'false') {\n            node.removeChild(Paragraph);\n        }\n    };\n    Skeleton.prototype._setParagraphRows = function (pgELm, rows) {\n        if (!rows)\n            return;\n        var Fragment = document.createDocumentFragment();\n        var i = 0;\n        for (; i < rows; i++) {\n            var Row = (0,dom_utils.createElem)('li');\n            Fragment.appendChild(Row);\n        }\n        (0,dom_utils.setHtml)(pgELm, '');\n        pgELm.appendChild(Fragment);\n    };\n    Skeleton.prototype._setParagraphRowsWidth = function (pgELm, width) {\n        if (typeof width === 'number') {\n            (0,dom_utils.setCss)(pgELm.querySelector(\".\" + prefix.default.skeleton + \"-paragraph > li\"), 'width', width + \"%\");\n        }\n        if (Array.isArray(width) && width.length) {\n            var Rows = pgELm.querySelectorAll(\".\" + prefix.default.skeleton + \"-paragraph > li\");\n            var i = 0;\n            for (; i < width.length; i++) {\n                var rowWidth = width[i];\n                var Row = Rows[i];\n                Row ? (0,dom_utils.setCss)(Row, 'width', rowWidth + \"%\") : null;\n            }\n        }\n    };\n    Skeleton.prototype._showAvatar = function (node, avatar, size, shape) {\n        if (!avatar)\n            return;\n        var template = \"\\n        <div class=\\\"\" + prefix.default.skeleton + \"-header\\\">\\n        <span class=\\\"\" + prefix.default.skeleton + \"-avatar \" + prefix.default.skeleton + \"-avatar-\" + size + \" \" + prefix.default.skeleton + \"-avatar-\" + shape + \"\\\"></span>\\n        </div>\\n        \";\n        node.insertAdjacentHTML('afterbegin', template);\n        node.classList.add(prefix.default.skeleton + \"-with-avatar\");\n        (0,dom_utils.setCss)(node.querySelector(\".\" + prefix.default.skeleton + \"-title\"), 'width', '50%');\n    };\n    Skeleton.prototype._attrs = function (node) {\n        return {\n            active: (0,dom_utils.getBooleanTypeAttr)(node, 'active'),\n            avatar: (0,dom_utils.getBooleanTypeAttr)(node, 'avatar'),\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', 'true'),\n            paragraph: (0,dom_utils.getStrTypeAttr)(node, 'paragraph', 'true'),\n            avatarSize: (0,dom_utils.getStrTypeAttr)(node, 'avatar-size', 'large'),\n            avatarShape: (0,dom_utils.getStrTypeAttr)(node, 'avatar-shape', 'circle'),\n            titleWidth: (0,dom_utils.getNumTypeAttr)(node, 'title-width'),\n            paragraphWidth: (0,dom_utils.getNumTypeAttr)(node, 'paragraph-width', 0) ||\n                (0,dom_utils.getArrTypeAttr)(node, 'paragraph-width'),\n            paragraphRows: (0,dom_utils.getNumTypeAttr)(node, 'paragraph-rows')\n        };\n    };\n    return Skeleton;\n}());\n/* harmony default export */ var skeleton = (Skeleton);\n\n;// CONCATENATED MODULE: ./src/components/skeleton/index.ts\n\n/* harmony default export */ var components_skeleton = (skeleton);\n\n;// CONCATENATED MODULE: ./src/components/spin/spin.ts\n\n\n\n\nvar spinZIndex = 2010;\nvar Spin = /** @class */ (function () {\n    function Spin() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-spin', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Spin.prototype.show = function (_a) {\n        var _b = _a === void 0 ? {} : _a, _c = _b.content, content = _c === void 0 ? '' : _c;\n        (0,mixins.Scrollable)({ scroll: false, lock: false });\n        var template = \"\\n        <div class=\\\"\" + prefix.default.spin + \"-fullscreen \" + prefix.default.spin + \"-fullscreen-wrapper\\\"\\n         style=\\\"z-index: \" + spinZIndex++ + \"\\\">\\n          <r-spin fix class=\\\"\" + prefix.default.spin + \"-fullscreen \\n           \" + (content ? prefix.default.spin + \"-show-text\" : '') + \"\\\" size=\\\"large\\\">\\n            \" + this._createChildTemplate(content) + \"\\n          </r-spin>\\n         </div>\\n         \";\n        var fragment = document.createRange().createContextualFragment(template);\n        document.body.appendChild(fragment);\n        (0,mixins.CssTransition)((0,dom_utils.$el)(\".\" + prefix.default.spin + \"-fullscreen\"), {\n            inOrOut: 'in',\n            enterCls: 'rab-fade-in'\n        });\n    };\n    Spin.prototype.hide = function () {\n        (0,mixins.Scrollable)({ scroll: true, lock: true });\n        var spinElem = (0,dom_utils.$el)(\".\" + prefix.default.spin + \"-fullscreen\");\n        if (spinElem)\n            (0,utils.destroyElem)(spinElem, { fadeOut: true });\n    };\n    Spin.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var customContent = (0,dom_utils.setHtml)(node);\n            customContent ? node.classList.add(prefix.default.spin + \"-show-text\") : '';\n            (0,dom_utils.setHtml)(node, _this._createChildTemplate(customContent));\n        });\n    };\n    Spin.prototype._createChildTemplate = function (content) {\n        var template = \"\\n          <div class=\\\"\" + prefix.default.spin + \"-main\\\">\\n            <span class=\\\"\" + prefix.default.spin + \"-dot\\\"></span>\\n            <div class=\\\"\" + prefix.default.spin + \"-text\\\">\" + content + \"</div>\\n          </div>\\n        \";\n        return template;\n    };\n    return Spin;\n}());\n/* harmony default export */ var spin = (Spin);\n\n;// CONCATENATED MODULE: ./src/components/spin/index.ts\n\n/* harmony default export */ var components_spin = (spin);\n\n;// CONCATENATED MODULE: ./src/components/steps/steps.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar Steps = /** @class */ (function () {\n    function Steps() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-steps', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Steps.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'steps');\n        var _a = Steps.prototype, _setCurrentStep = _a._setCurrentStep, _setStatus = _a._setStatus, _setStatusIcon = _a._setStatusIcon;\n        var _current = target.dataset['current'];\n        var StepsTitle = target.querySelector(\".\" + prefix.default.steps + \"-title\");\n        var StepsContent = target.querySelector(\".\" + prefix.default.steps + \"-content\");\n        var StepsStep = target.querySelectorAll('r-step');\n        var setTitleOrContent = function (elem, val) {\n            if (val && !utils.type.isStr(val))\n                return;\n            (0,dom_utils.setHtml)(elem, val);\n        };\n        return {\n            get current() {\n                return Number(target.dataset['current']);\n            },\n            set current(newVal) {\n                if (!utils.type.isNum(newVal))\n                    return;\n                _setCurrentStep(target, newVal, target.dataset['status']);\n            },\n            get title() {\n                return (0,dom_utils.setHtml)(StepsTitle);\n            },\n            set title(newVal) {\n                setTitleOrContent(StepsTitle, newVal);\n            },\n            get content() {\n                return (0,dom_utils.setHtml)(StepsContent);\n            },\n            set content(newVal) {\n                setTitleOrContent(StepsContent, newVal);\n            },\n            get status() {\n                return target.dataset['status'];\n            },\n            set status(newVal) {\n                if (newVal && !utils.type.isStr(newVal))\n                    return;\n                var currentStep = target.querySelector(\"r-step[data-index=\\\"\" + _current + \"\\\"]\");\n                _setStatus(target, currentStep, newVal);\n            },\n            get itemStatus() {\n                return [];\n            },\n            set itemStatus(newVal) {\n                if (newVal && !utils.type.isArr(newVal))\n                    return;\n                var changeStatus = function (elem, status) {\n                    elem.setAttribute('status', status);\n                    _setStatusIcon(status, elem);\n                };\n                if (newVal.length == 1) {\n                    var step = StepsStep[0];\n                    changeStatus(step, newVal[0]);\n                    return;\n                }\n                StepsStep.forEach(function (step, idx) {\n                    return newVal[idx] ? changeStatus(step, newVal[idx]) : '';\n                });\n            }\n        };\n    };\n    Steps.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), current = _a.current, status = _a.status, direction = _a.direction;\n            var StepsStepItem = node.querySelectorAll('r-step');\n            _this._setDirection(node, direction);\n            _this._setStepChildren(StepsStepItem);\n            _this._setCurrentStep(node, current, status);\n            (0,dom_utils.removeAttrs)(node, ['current', 'status']);\n        });\n    };\n    Steps.prototype._setDirection = function (node, direction) {\n        node.setAttribute('direction', \"\" + direction);\n    };\n    Steps.prototype._setStepChildren = function (stepItem) {\n        var _this = this;\n        stepItem.forEach(function (step, idx) {\n            // @ts-ignore\n            step.dataset['index'] = \"\" + idx;\n            _this._setStatusFlag(step);\n            var _a = _this._attrs(step), icon = _a.icon, title = _a.title, content = _a.content;\n            var stepsText = idx + 1;\n            var template = \"\\n             <div class=\\\"\" + prefix.default.steps + \"-tail\\\"><i></i></div>\\n             <div class=\\\"\" + prefix.default.steps + \"-head\\\">\\n                <div class=\\\"\" + prefix.default.steps + \"-head-inner\\\">\\n                   <span id=\\\"stepsIcon\\\"></span>\\n                   <span id=\\\"stepsText\\\">\" + stepsText + \"</span>\\n                </div>\\n             </div>\\n             <div class=\\\"\" + prefix.default.steps + \"-main\\\">\\n                <div class=\\\"\" + prefix.default.steps + \"-title\\\">\" + title + \"</div>\\n                <div class=\\\"\" + prefix.default.steps + \"-content\\\">\" + content + \"</div>\\n             </div>\\n            \";\n            (0,dom_utils.setHtml)(step, template);\n            _this._setCustomIcon(step, icon);\n            (0,dom_utils.removeAttrs)(step, ['title', 'content', 'icon']);\n        });\n    };\n    Steps.prototype._setStatusFlag = function (step) {\n        var status = step.getAttribute('status');\n        // 如果用户在步骤项设置了status则为该项打上标记，避免被自动设置的默认状态覆盖\n        if (status) {\n            // @ts-ignore\n            step.dataset['specifiesStatus'] = status;\n        }\n    };\n    Steps.prototype._setCurrentStep = function (node, current, status) {\n        var len = node.childElementCount - 1;\n        // 防止溢出边界\n        if (current > len) {\n            (0,mixins.warn)(\"The currently active step item you set does not exist in the <r-steps>. --> \\\"\" + current + \"\\\"\");\n            console.error(node);\n            current = len;\n        }\n        // @ts-ignore\n        node.dataset['current'] = current;\n        var _setStatus = Steps.prototype._setStatus;\n        var currentStep = node.querySelector(\"r-step[data-index=\\\"\" + current + \"\\\"]\");\n        _setStatus(node, currentStep, status);\n    };\n    Steps.prototype._setStatus = function (node, currentStep, status) {\n        // @ts-ignore\n        node.dataset['status'] = status;\n        var _a = Steps.prototype, _setStatusIcon = _a._setStatusIcon, _setPrevAndNextStatus = _a._setPrevAndNextStatus, _setNextError = _a._setNextError;\n        // @ts-ignore\n        var isAutoStatus = currentStep.dataset['autoStatus'];\n        var selfStatus = currentStep.getAttribute('status');\n        // 1.如果步骤项设置了status则优先使用该状态，不包括打上autoStatus的标记项。\n        // 2.如果步骤项父容器指定了某项步骤项为活跃状态，并且指定了 status 则使用该状态。\n        if (selfStatus && isAutoStatus !== '') {\n            currentStep.setAttribute('status', selfStatus);\n            _setStatusIcon(selfStatus, currentStep);\n        }\n        else {\n            currentStep.setAttribute('status', status);\n            _setStatusIcon(status, currentStep);\n        }\n        _setPrevAndNextStatus('prev', currentStep, _setStatusIcon);\n        _setPrevAndNextStatus('next', currentStep, _setStatusIcon);\n        _setNextError(node);\n    };\n    Steps.prototype._setPrevAndNextStatus = function (type, currentStep, setStatusIcon) {\n        // @ts-ignore\n        var func = type === 'prev' ? dom_utils.prevAll : dom_utils.nextAll;\n        var defaultStatus = type === 'prev' ? 'finish' : 'wait';\n        func(currentStep).forEach(function (step) {\n            // @ts-ignore\n            var hasSetStatus = step.dataset['specifiesStatus'];\n            // 当前步骤项位置的其他节点如果没有提示设置status，则默认设置为 finish / wait，并打上标记\n            // 如果其中有某个设置了则略过\n            if (!hasSetStatus) {\n                // @ts-ignore\n                step.dataset['autoStatus'] = '';\n                step.setAttribute('status', defaultStatus);\n                setStatusIcon(defaultStatus, step);\n            }\n            else {\n                setStatusIcon(hasSetStatus, step);\n            }\n        });\n    };\n    Steps.prototype._setStatusIcon = function (status, step) {\n        // @ts-ignore\n        var isUseCustomIcon = step.dataset['useIcon'] === 'true';\n        // 如果使用了自定义图标则略过\n        if (isUseCustomIcon)\n            return;\n        var StepsIcon = step.querySelector('#stepsIcon');\n        var StepsText = StepsIcon.nextElementSibling;\n        // 步骤项状态不为finish或error则显示步骤数字、隐藏图标容器，反之。\n        if (status !== 'finish' && status !== 'error') {\n            (0,dom_utils.setCss)(StepsIcon, 'display', 'none');\n            (0,dom_utils.setCss)(StepsText, 'display', '');\n            return;\n        }\n        (0,dom_utils.setCss)(StepsIcon, 'display', '');\n        (0,dom_utils.setCss)(StepsText, 'display', 'none');\n        var iconType = '';\n        if (status === 'finish') {\n            iconType = 'ios-checkmark';\n        }\n        if (status === 'error') {\n            iconType = 'ios-close';\n        }\n        StepsIcon.className = prefix.default.steps + \"-icon \" + prefix.default.icon + \" \" + prefix.default.icon + \"-\" + iconType;\n    };\n    Steps.prototype._setCustomIcon = function (step, icon) {\n        if (!icon)\n            return;\n        // @ts-ignore\n        step.dataset['useIcon'] = 'true';\n        step.classList.add(prefix.default.steps + \"-custom\");\n        var StepsIcon = step.querySelector('#stepsIcon');\n        StepsIcon.classList.add(\"\" + prefix.default.icon);\n        StepsIcon.classList.add(prefix.default.icon + \"-\" + icon);\n        (0,dom_utils.setCss)(StepsIcon.nextElementSibling, 'display', 'none');\n    };\n    Steps.prototype._setNextError = function (node) {\n        var StepsStep = node.querySelectorAll('r-step');\n        StepsStep.forEach(function (step, idx) {\n            if (step.getAttribute('status') === 'error' && idx !== 0) {\n                var prevStep = StepsStep[idx - 1];\n                if (prevStep.getAttribute('status') === 'error') {\n                    prevStep.classList.add(prefix.default.steps + \"-next-error\");\n                }\n                else {\n                    prevStep.classList.remove(prefix.default.steps + \"-next-error\");\n                }\n            }\n        });\n    };\n    Steps.prototype._attrs = function (node) {\n        return {\n            current: (0,dom_utils.getNumTypeAttr)(node, 'current', 0),\n            icon: (0,dom_utils.getStrTypeAttr)(node, 'icon', ''),\n            title: (0,dom_utils.getStrTypeAttr)(node, 'title', ''),\n            status: (0,dom_utils.getStrTypeAttr)(node, 'status', 'process'),\n            content: (0,dom_utils.getStrTypeAttr)(node, 'content', ''),\n            direction: (0,dom_utils.getStrTypeAttr)(node, 'direction', 'horizontal')\n        };\n    };\n    return Steps;\n}());\n/* harmony default export */ var steps = (Steps);\n\n;// CONCATENATED MODULE: ./src/components/steps/index.ts\n\n/* harmony default export */ var components_steps = (steps);\n\n;// CONCATENATED MODULE: ./src/components/switch/switch.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\nvar Switch = /** @class */ (function () {\n    function Switch() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-switch', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Switch.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'switch');\n        var Input = target.querySelector('input[type=\"hidden\"]');\n        var isChecked = Input.value === 'true';\n        var isDisabled = target.classList.contains(prefix.default.switch + \"-disabled\");\n        var isLoading = target.classList.contains(prefix.default.switch + \"-loading\");\n        var changeState = function (flag, state, cls) {\n            if (flag && !utils.type.isBol(flag))\n                return;\n            if (flag && state)\n                return;\n            else\n                target.classList.add(prefix.default.switch + \"-\" + cls);\n            if (flag == false)\n                target.classList.remove(prefix.default.switch + \"-\" + cls);\n        };\n        return {\n            get checked() {\n                return isChecked;\n            },\n            set checked(newVal) {\n                changeState(newVal, isChecked, 'checked');\n            },\n            get disabled() {\n                return isDisabled;\n            },\n            set disabled(newVal) {\n                changeState(newVal, isDisabled, 'disabled');\n            },\n            get loading() {\n                return isLoading;\n            },\n            set loading(newVal) {\n                changeState(newVal, isLoading, 'loading');\n            },\n            events: function (_a) {\n                var onChange = _a.onChange;\n                var checked;\n                var handler = function () {\n                    checked = JSON.parse(Input.value);\n                    onChange && utils.type.isFn(onChange, checked);\n                };\n                (0,dom_utils.bind)(target, 'click', handler);\n            }\n        };\n    };\n    Switch.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            node.setAttribute('tabindex', '0');\n            var _a = _this._attrs(node), checked = _a.checked, loading = _a.loading, disabled = _a.disabled, size = _a.size, open = _a.open, close = _a.close, trueColor = _a.trueColor, falseColor = _a.falseColor;\n            _this._setSize(node, size);\n            _this._setMainTemplate(node);\n            _this._setDisabled(node, disabled);\n            _this._setLoading(node, loading);\n            _this._setStatusBgc(node, checked, trueColor, falseColor);\n            var SwitchInner = node.querySelector(\".\" + prefix.default.switch + \"-inner\");\n            var HiddenInput = node.querySelector('input[type=\"hidden\"]');\n            _this._setChecked(node, HiddenInput, checked);\n            _this._setStatusText(SwitchInner, checked, open, close);\n            _this._handleChange(node, HiddenInput, SwitchInner, {\n                open: open,\n                close: close,\n                trueColor: trueColor,\n                falseColor: falseColor\n            });\n            (0,dom_utils.removeAttrs)(node, [\n                'checked',\n                'loading',\n                'disabled',\n                'size',\n                'open',\n                'close',\n                'true-color',\n                'false-color'\n            ]);\n        });\n    };\n    Switch.prototype._setDisabled = function (node, disabled) {\n        if (!disabled)\n            return;\n        node.classList.add(prefix.default.switch + \"-disabled\");\n    };\n    Switch.prototype._setLoading = function (node, loading) {\n        if (!loading)\n            return;\n        node.classList.add(prefix.default.switch + \"-loading\");\n    };\n    Switch.prototype._setSize = function (node, size) {\n        if (!size || size === 'default')\n            return;\n        node.classList.add(prefix.default.switch + \"-\" + size);\n    };\n    Switch.prototype._setMainTemplate = function (node) {\n        var template = \"\\n        <input type=\\\"hidden\\\" /> \\n        <span class=\\\"\" + prefix.default.switch + \"-inner\\\"></span>\\n        \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Switch.prototype._handleChange = function (node, input, textContainer, options) {\n        var _this = this;\n        var handler = function () {\n            var isLoading = node.classList.contains(prefix.default.switch + \"-loading\");\n            var isDisabled = node.classList.contains(prefix.default.switch + \"-disabled\");\n            if (isDisabled || isLoading)\n                return false;\n            var isChecked = node.classList.contains(prefix.default.switch + \"-checked\");\n            var flag = false;\n            if (isChecked) {\n                node.classList.remove(prefix.default.switch + \"-checked\");\n            }\n            else {\n                flag = !flag;\n                node.classList.add(prefix.default.switch + \"-checked\");\n            }\n            _this._setChecked(node, input, flag);\n            _this._setStatusBgc(node, flag, options.trueColor, options.falseColor);\n            _this._setStatusText(textContainer, flag, options.open, options.close);\n        };\n        (0,dom_utils.bind)(node, 'click', handler);\n    };\n    Switch.prototype._setChecked = function (node, input, checked) {\n        if (checked) {\n            node.classList.add(prefix.default.switch + \"-checked\");\n        }\n        input.value = \"\" + checked;\n    };\n    Switch.prototype._setStatusText = function (elem, checked, open, close) {\n        var changeText = function (text, flag) {\n            if (text) {\n                if (flag) {\n                    (0,dom_utils.setHtml)(elem, text);\n                }\n                else {\n                    (0,dom_utils.setHtml)(elem, text);\n                }\n            }\n        };\n        changeText(open, checked);\n        changeText(close, !checked);\n        checked ? (0,dom_utils.setHtml)(elem, open) : (0,dom_utils.setHtml)(elem, close);\n    };\n    Switch.prototype._setStatusBgc = function (node, checked, trueColor, falseColor) {\n        if (trueColor) {\n            if (checked) {\n                (0,dom_utils.setCss)(node, 'backgroundColor', trueColor);\n                (0,dom_utils.setCss)(node, 'borderColor', trueColor);\n            }\n        }\n        if (falseColor) {\n            if (!checked) {\n                (0,dom_utils.setCss)(node, 'backgroundColor', falseColor);\n                (0,dom_utils.setCss)(node, 'borderColor', falseColor);\n            }\n        }\n    };\n    Switch.prototype._attrs = function (node) {\n        return {\n            checked: (0,dom_utils.getBooleanTypeAttr)(node, 'checked'),\n            loading: (0,dom_utils.getBooleanTypeAttr)(node, 'loading'),\n            disabled: (0,dom_utils.getBooleanTypeAttr)(node, 'disabled'),\n            size: (0,dom_utils.getStrTypeAttr)(node, 'size', 'default'),\n            open: (0,dom_utils.getStrTypeAttr)(node, 'open', ''),\n            close: (0,dom_utils.getStrTypeAttr)(node, 'close', ''),\n            trueColor: (0,dom_utils.getStrTypeAttr)(node, 'true-color', ''),\n            falseColor: (0,dom_utils.getStrTypeAttr)(node, 'false-color', '')\n        };\n    };\n    return Switch;\n}());\n/* harmony default export */ var switch_switch = (Switch);\n\n;// CONCATENATED MODULE: ./src/components/switch/index.ts\n\n/* harmony default export */ var components_switch = (switch_switch);\n\n;// CONCATENATED MODULE: ./src/components/tabs/tabs.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\nvar Tabs = /** @class */ (function () {\n    function Tabs() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-tabs', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Tabs.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'tabs');\n        var TabTabs = target.querySelectorAll(\".\" + prefix.default.tabs + \"-tab\");\n        var TabPanes = target.querySelectorAll('r-tab-pane');\n        var _a = Tabs.prototype, _attrs = _a._attrs, _changeTab = _a._changeTab, _changePane = _a._changePane;\n        var activeIndex = _attrs(target).activeIndex;\n        return {\n            get activeIndex() {\n                return activeIndex;\n            },\n            set activeIndex(newVal) {\n                if (!utils.type.isStr(newVal))\n                    return;\n                TabPanes.forEach(function (pane, i) {\n                    var p = pane;\n                    if (newVal !== p.dataset.paneKey)\n                        return;\n                    _changeTab(TabTabs[i], true);\n                    _changePane([false, p.parentElement, i, 'true', p]);\n                });\n            },\n            events: function (_a) {\n                var onClick = _a.onClick, onTabRemove = _a.onTabRemove;\n                TabTabs.forEach(function (tab, i) {\n                    var tabClose = tab.querySelector(\".\" + prefix.default.tabs + \"-close\");\n                    var clickEv = function () {\n                        var TabPane = TabPanes[i];\n                        var key = TabPane.dataset.paneKey;\n                        onClick && utils.type.isFn(onClick, key);\n                        if (!tabClose)\n                            return;\n                        onTabRemove && utils.type.isFn(onTabRemove, key);\n                    };\n                    (0,dom_utils.bind)(tab, 'click', clickEv);\n                    if (!tabClose)\n                        return;\n                    (0,dom_utils.bind)(tabClose, 'click', clickEv);\n                });\n            }\n        };\n    };\n    Tabs.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var tabPanes = node.querySelectorAll('r-tab-pane');\n            var _a = _this._attrs(node), activeIndex = _a.activeIndex, size = _a.size, type = _a.type, closable = _a.closable, animated = _a.animated;\n            _this._setType(node, type);\n            _this._setSize(node, type, size);\n            _this._setNoAnimation(node, animated);\n            _this._setBodyTemplate(node);\n            _this._setTabPane([node, tabPanes, activeIndex, type, animated, closable]);\n            (0,dom_utils.removeAttrs)(node, ['active-index', 'type', 'size', 'closable', 'animated']);\n        });\n    };\n    Tabs.prototype._setType = function (node, type) {\n        if (type !== 'card')\n            return;\n        node.classList.add(prefix.default.tabs + \"-\" + type);\n    };\n    Tabs.prototype._setSize = function (node, type, size) {\n        if (type !== 'line' || size !== 'small')\n            return;\n        node.classList.add(prefix.default.tabs + \"-mini\");\n    };\n    Tabs.prototype._setNoAnimation = function (node, animated) {\n        if (animated === 'true')\n            return;\n        node.classList.add(prefix.default.tabs + \"-no-animation\");\n    };\n    Tabs.prototype._setBodyTemplate = function (node) {\n        var template = \"\\n          <div class=\\\"\" + prefix.default.tabs + \"-bar\\\">\\n              <div tabindex=\\\"0\\\" class=\\\"\" + prefix.default.tabs + \"-nav-container\\\">\\n                  <div class=\\\"\" + prefix.default.tabs + \"-nav-wrap\\\">\\n                     <div class=\\\"\" + prefix.default.tabs + \"-nav\\\"></div>\\n                  </div>\\n              </div>\\n          </div>\\n          <div class=\\\"\" + prefix.default.tabs + \"-content \" + prefix.default.tabs + \"-content-animated\\\"></div>\";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Tabs.prototype._setTabPane = function (args) {\n        var _this = this;\n        var _a = __read(args, 6), node = _a[0], panes = _a[1], activekey = _a[2], type = _a[3], animated = _a[4], closable = _a[5];\n        var TabNav = node.querySelector(\".\" + prefix.default.tabs + \"-nav\");\n        var TabPaneContainer = node.querySelector(\".\" + prefix.default.tabs + \"-content\");\n        var Fragment = document.createDocumentFragment();\n        panes.forEach(function (pane, idx) {\n            var _a = _this._paneAttrs(pane), key = _a.index, tab = _a.tab, icon = _a.icon, separateClose = _a.closable, disabled = _a.disabled;\n            var TabsTab = _this._setTab(TabNav, tab);\n            _this._setTabIcon(TabsTab, icon);\n            _this._setTabClosable([TabsTab, type, closable, separateClose]);\n            _this._setTabDisabled(TabsTab, disabled);\n            (0,dom_utils.setCss)(pane, 'display', \"\" + (animated === 'true' ? 'block' : 'none'));\n            _this._setPaneKey(pane, key, idx);\n            _this._setActive([closable, TabPaneContainer, TabsTab, pane, activekey, idx, animated]);\n            _this._handleToggle([closable, TabsTab, pane, idx, disabled, animated]);\n            _this._handleRemove(TabsTab, pane);\n            Fragment.appendChild(pane);\n            (0,dom_utils.removeAttrs)(pane, ['index', 'tab', 'icon', 'disabled', 'closable']);\n        });\n        TabPaneContainer === null || TabPaneContainer === void 0 ? void 0 : TabPaneContainer.appendChild(Fragment);\n    };\n    Tabs.prototype._setTab = function (tabsNav, content) {\n        var TabsTab = (0,dom_utils.createElem)('div');\n        TabsTab.className = prefix.default.tabs + \"-tab\";\n        (0,dom_utils.setHtml)(TabsTab, content);\n        tabsNav.appendChild(TabsTab);\n        return TabsTab;\n    };\n    Tabs.prototype._setTabIcon = function (tabElm, icon) {\n        if (!icon)\n            return;\n        var Icon = (0,dom_utils.createElem)('i');\n        Icon.className = prefix.default.icon + \" \" + prefix.default.icon + \"-\" + icon;\n        tabElm.prepend(Icon);\n    };\n    Tabs.prototype._setTabClosable = function (args) {\n        var _a = __read(args, 4), tabElm = _a[0], type = _a[1], closable = _a[2], separateClose = _a[3];\n        if (!closable || type !== 'card')\n            return;\n        var CloseIcon = (0,dom_utils.createElem)('icon');\n        CloseIcon.className = prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close \" + prefix.default.tabs + \"-close\";\n        // 单独设置当前选项是否可以关闭页签\n        if (separateClose === 'false')\n            return;\n        tabElm.appendChild(CloseIcon);\n    };\n    Tabs.prototype._setTabDisabled = function (tabsTab, disabled) {\n        if (!disabled)\n            return;\n        tabsTab.classList.add(prefix.default.tabs + \"-tab-disabled\");\n    };\n    Tabs.prototype._setPaneKey = function (pane, key, idx) {\n        // 当前面板的 key 如果不填则默认为其索引值\n        // @ts-ignore\n        pane.dataset.paneKey = !key ? idx : key;\n    };\n    Tabs.prototype._setActive = function (args) {\n        var _a = __read(args, 7), closable = _a[0], paneContainer = _a[1], tabsTab = _a[2], pane = _a[3], activekey = _a[4], idx = _a[5], animated = _a[6];\n        // @ts-ignore\n        var isEqual = activekey === pane.dataset.paneKey;\n        if (isEqual) {\n            this._changeTab(tabsTab);\n            this._changePane([closable, paneContainer, idx]);\n        }\n        (0,dom_utils.setCss)(pane, 'visibility', \"\" + (isEqual ? 'visible' : 'hidden'));\n        if (animated === 'false') {\n            (0,dom_utils.setCss)(pane, 'display', \"\" + (isEqual ? 'block' : 'none'));\n        }\n    };\n    Tabs.prototype._handleToggle = function (args) {\n        var _this = this;\n        var _a = __read(args, 6), closable = _a[0], tabsTab = _a[1], pane = _a[2], idx = _a[3], disabled = _a[4], animated = _a[5];\n        (0,dom_utils.bind)(tabsTab, 'click', function () {\n            if (disabled)\n                return false;\n            _this._changeTab(tabsTab);\n            _this._changePane([closable, pane.parentElement, idx, animated, pane]);\n        });\n    };\n    Tabs.prototype._handleRemove = function (tabsTab, pane) {\n        var _this = this;\n        var TabClose = tabsTab.querySelector(\".\" + prefix.default.tabs + \"-close\");\n        if (!TabClose)\n            return;\n        /**\n         * @param elm1 tabs的选项\n         * @param elm2 tabs的面板\n         */\n        var changeActive = function (elm1, elm2) {\n            if (tabsTab.classList.contains(prefix.default.tabs + \"-tab-active\")) {\n                _this._changeTab(elm1, false);\n            }\n            (0,dom_utils.setCss)(elm2, 'display', 'block');\n            (0,dom_utils.setCss)(elm2, 'visibility', 'visible');\n        };\n        var removeEv = function () {\n            var prevTab = tabsTab.previousElementSibling;\n            var nextTab = tabsTab.nextElementSibling;\n            var prevPane = pane.previousElementSibling;\n            var nextPane = pane.nextElementSibling;\n            if (nextTab && nextPane) {\n                changeActive(nextTab, nextPane);\n            }\n            else if (prevTab && prevPane) {\n                changeActive(prevTab, prevPane);\n            }\n            tabsTab.remove();\n            pane.remove();\n        };\n        (0,dom_utils.bind)(TabClose, 'click', function (e) {\n            e.stopPropagation();\n            removeEv();\n        });\n    };\n    Tabs.prototype._changeTab = function (tabsTab, siblingsChange) {\n        if (siblingsChange === void 0) { siblingsChange = true; }\n        tabsTab.classList.add(prefix.default.tabs + \"-tab-active\");\n        tabsTab.classList.add(prefix.default.tabs + \"-tab-focused\");\n        if (!siblingsChange)\n            return;\n        (0,dom_utils.siblings)(tabsTab).forEach(function (o) {\n            o.classList.remove(prefix.default.tabs + \"-tab-active\");\n            o.classList.remove(prefix.default.tabs + \"-tab-focused\");\n        });\n    };\n    Tabs.prototype._changePane = function (args) {\n        var _a = __read(args, 5), closable = _a[0], paneContainer = _a[1], idx = _a[2], animated = _a[3], pane = _a[4];\n        // 如果选项卡启用了可关闭功能，则不使用动画切换，这为了减少 tab 删除操作的工作量\n        if (!closable) {\n            var translateX = idx * 100;\n            (0,dom_utils.setCss)(paneContainer, 'transform', \"translateX(-\" + translateX + \"%)\");\n        }\n        // 是否要一并更改面板项\n        if (!pane)\n            return;\n        (0,dom_utils.setCss)(pane, 'display', 'block');\n        (0,dom_utils.setCss)(pane, 'visibility', 'visible');\n        (0,dom_utils.siblings)(pane).forEach(function (o) {\n            if (animated === 'false' || closable)\n                (0,dom_utils.setCss)(o, 'display', 'none');\n            (0,dom_utils.setCss)(o, 'visibility', 'hidden');\n        });\n    };\n    Tabs.prototype._attrs = function (node) {\n        return {\n            activeIndex: (0,dom_utils.getStrTypeAttr)(node, 'active-index', '0'),\n            type: (0,dom_utils.getStrTypeAttr)(node, 'type', 'line'),\n            size: (0,dom_utils.getStrTypeAttr)(node, 'size', 'default'),\n            animated: (0,dom_utils.getStrTypeAttr)(node, 'animated', 'true'),\n            closable: (0,dom_utils.getBooleanTypeAttr)(node, 'closable')\n        };\n    };\n    Tabs.prototype._paneAttrs = function (pane) {\n        return {\n            tab: (0,dom_utils.getStrTypeAttr)(pane, 'tab', ''),\n            index: (0,dom_utils.getStrTypeAttr)(pane, 'index', ''),\n            icon: (0,dom_utils.getStrTypeAttr)(pane, 'icon', ''),\n            closable: (0,dom_utils.getStrTypeAttr)(pane, 'closable', 'true'),\n            disabled: (0,dom_utils.getBooleanTypeAttr)(pane, 'disabled')\n        };\n    };\n    return Tabs;\n}());\n/* harmony default export */ var tabs = (Tabs);\n\n;// CONCATENATED MODULE: ./src/components/tabs/index.ts\n\n/* harmony default export */ var components_tabs = (tabs);\n\n// EXTERNAL MODULE: ./src/utils/check-type.ts\nvar check_type = __webpack_require__(\"./src/utils/check-type.ts\");\n;// CONCATENATED MODULE: ./src/components/tag/tag.ts\n\n\n\n\nvar Tag = /** @class */ (function () {\n    function Tag() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-tag', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Tag.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'tag');\n        var CloseIcon = target.querySelector(\".\" + prefix.default.icon + \"-ios-close\");\n        var $this = target;\n        var checked;\n        return {\n            events: function (_a) {\n                var onClose = _a.onClose, onChange = _a.onChange;\n                (0,dom_utils.bind)(target, 'click', function () {\n                    checked = target.dataset.checked === 'true' ? true : false;\n                    onChange && (0,check_type.isFn)(onChange, checked);\n                });\n                if (!CloseIcon)\n                    return;\n                (0,dom_utils.bind)(CloseIcon, 'click', function (e) {\n                    e.stopPropagation();\n                    onClose && (0,check_type.isFn)(onClose, $this);\n                });\n            }\n        };\n    };\n    Tag.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), type = _a.type, size = _a.size, color = _a.color, checked = _a.checked, checkable = _a.checkable, closable = _a.closable;\n            _this._setMainTemplate(node);\n            _this._setType(node, type);\n            _this._setIsChecked(node, checked);\n            _this._setSize(node, size);\n            _this._setColor(node, type, checkable, color);\n            _this._setClosable(node, closable);\n            _this._setCheckable(node, checkable);\n            _this._handleClose(node, closable);\n            (0,dom_utils.removeAttrs)(node, ['type', 'size', 'color', 'checked', 'checkable', 'closable']);\n        });\n    };\n    Tag.prototype._setMainTemplate = function (node) {\n        var content = (0,dom_utils.setHtml)(node);\n        (0,dom_utils.setHtml)(node, \"<span class=\\\"\" + prefix.default.tag + \"-text\\\">\" + content + \"</span>\");\n    };\n    Tag.prototype._setType = function (node, type) {\n        if (type)\n            node.classList.add(prefix.default.tag + \"-\" + type);\n        if (type === 'dot') {\n            node.insertAdjacentHTML('afterbegin', \"<span class=\\\"\" + prefix.default.tag + \"-dot-inner\\\"></span>\");\n        }\n    };\n    Tag.prototype._setIsChecked = function (node, checkable) {\n        if (checkable !== 'true')\n            return;\n        node.classList.add(prefix.default.tag + \"-checked\");\n    };\n    Tag.prototype._setColor = function (node, type, checkable, color) {\n        var _defaultColors = this._defaultColors;\n        var isUseDefaultColor = _defaultColors().includes(color);\n        var TagText = node.querySelector(\".\" + prefix.default.tag + \"-text\");\n        if (!color)\n            return;\n        if (isUseDefaultColor) {\n            node.classList.add(prefix.default.tag + \"-\" + color);\n        }\n        else {\n            (0,dom_utils.setCss)(node, 'background', \"\" + color);\n            (0,dom_utils.setCss)(node, 'borderColor', \"\" + color);\n        }\n        if (color !== 'default' && type !== 'dot' && type !== 'border' && !checkable) {\n            TagText === null || TagText === void 0 ? void 0 : TagText.classList.add(prefix.default.tag + \"-color-white\");\n        }\n        if (isUseDefaultColor && type === 'border') {\n            TagText === null || TagText === void 0 ? void 0 : TagText.classList.add(prefix.default.tag + \"-color-\" + color);\n        }\n        else {\n            (0,dom_utils.setCss)(TagText, 'color', \"\" + color);\n        }\n    };\n    Tag.prototype._setSize = function (node, size) {\n        if (!size)\n            return;\n        node.classList.add(prefix.default.tag + \"-size-\" + size);\n    };\n    Tag.prototype._setClosable = function (node, closable) {\n        if (!closable)\n            return;\n        node.classList.add(prefix.default.tag + \"-closable\");\n        node.insertAdjacentHTML('beforeend', \"<i class=\\\"\" + prefix.default.icon + \" \" + prefix.default.icon + \"-ios-close\\\"></i>\");\n    };\n    Tag.prototype._setCheckable = function (node, checkable) {\n        if (!checkable)\n            return;\n        node.classList.remove(prefix.default.tag + \"-checked\");\n        var TagText = node.querySelector(\".\" + prefix.default.tag + \"-text\");\n        (0,dom_utils.bind)(node, 'click', function () {\n            var isChecked = node.classList.contains(prefix.default.tag + \"-checked\");\n            // @ts-ignore\n            node.dataset.checked = !isChecked;\n            node.classList[isChecked ? 'remove' : 'add'](prefix.default.tag + \"-checked\");\n            TagText === null || TagText === void 0 ? void 0 : TagText.classList[isChecked ? 'remove' : 'add'](prefix.default.tag + \"-color-white\");\n        });\n    };\n    Tag.prototype._handleClose = function (node, closable) {\n        if (!closable)\n            return;\n        var CloseIcon = node.querySelector(\".\" + prefix.default.icon + \"-ios-close\");\n        (0,dom_utils.bind)(CloseIcon, 'click', function () {\n            (0,utils.destroyElem)(node, { fadeOut: true });\n        });\n    };\n    Tag.prototype._defaultColors = function () {\n        var COLORS = [\n            'default',\n            'primary',\n            'success',\n            'warning',\n            'error',\n            'blue',\n            'green',\n            'red',\n            'yellow',\n            'pink',\n            'magenta',\n            'volcano',\n            'orange',\n            'gold',\n            'lime',\n            'cyan',\n            'geekblue',\n            'purple'\n        ];\n        return COLORS;\n    };\n    Tag.prototype._attrs = function (node) {\n        return {\n            type: (0,dom_utils.getStrTypeAttr)(node, 'type', ''),\n            size: (0,dom_utils.getStrTypeAttr)(node, 'size', ''),\n            color: (0,dom_utils.getStrTypeAttr)(node, 'color', 'default'),\n            checked: (0,dom_utils.getStrTypeAttr)(node, 'checked', 'true'),\n            closable: (0,dom_utils.getBooleanTypeAttr)(node, 'closable'),\n            checkable: (0,dom_utils.getBooleanTypeAttr)(node, 'checkable')\n        };\n    };\n    return Tag;\n}());\n/* harmony default export */ var tag = (Tag);\n\n;// CONCATENATED MODULE: ./src/components/tag/index.ts\n\n/* harmony default export */ var components_tag = (tag);\n\n// EXTERNAL MODULE: ./src/components/time/time.ts\nvar time = __webpack_require__(\"./src/components/time/time.ts\");\n;// CONCATENATED MODULE: ./src/components/time/index.ts\n\n/* harmony default export */ var components_time = (time.default);\n\n;// CONCATENATED MODULE: ./src/components/timeline/timeline.ts\n\n\nvar Timeline = /** @class */ (function () {\n    function Timeline() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-timeline > r-timeline-item', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    Timeline.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var TimelineItem = node;\n            var TimelineTail = (0,dom_utils.createElem)('div');\n            var TimelineHead = (0,dom_utils.createElem)('div');\n            var TimelineContent = (0,dom_utils.createElem)('div');\n            _this._setCls(TimelineTail, TimelineHead, TimelineContent);\n            _this._setColor(TimelineItem, TimelineHead);\n            _this._setDot(TimelineItem, TimelineHead);\n            _this._setContent(TimelineItem, TimelineContent);\n            TimelineItem.append(TimelineTail, TimelineHead, TimelineContent);\n            (0,dom_utils.removeAttrs)(TimelineItem, ['dot']);\n        });\n    };\n    Timeline.prototype._setCls = function (node1, node2, node3) {\n        node1.className = prefix.default.timeline + \"-item-tail\";\n        node2.className = prefix.default.timeline + \"-item-head\";\n        node3.className = prefix.default.timeline + \"-item-content\";\n    };\n    Timeline.prototype._setContent = function (parent, node1) {\n        (0,dom_utils.setHtml)(node1, parent.innerHTML);\n        // 清空原先的内容\n        (0,dom_utils.setHtml)(parent, '');\n    };\n    Timeline.prototype._setColor = function (parent, node) {\n        var colors = this._getStatusColor(parent);\n        // 设置预设颜色或者自定义颜色\n        if (colors === 'blue' || colors === 'red' || colors === 'gray' || colors === 'green') {\n            node.classList.add(prefix.default.timeline + \"-item-head-\" + colors);\n        }\n        else {\n            (0,dom_utils.setCss)(node, 'color', colors);\n            (0,dom_utils.setCss)(node, 'borderColor', colors);\n        }\n    };\n    // 自定义时间轴点的内容\n    Timeline.prototype._setDot = function (parent, node) {\n        if (!this._getDotContent(parent))\n            return;\n        node.classList.add(prefix.default.timeline + \"-item-head-custom\");\n        var content = this._getDotContent(parent);\n        (0,dom_utils.setHtml)(node, content);\n    };\n    Timeline.prototype._getStatusColor = function (node) {\n        return node.getAttribute('color') || 'blue';\n    };\n    Timeline.prototype._getDotContent = function (parent) {\n        return parent.getAttribute('dot') || '';\n    };\n    return Timeline;\n}());\n/* harmony default export */ var timeline = (Timeline);\n\n;// CONCATENATED MODULE: ./src/components/timeline/index.ts\n\n/* harmony default export */ var components_timeline = (timeline);\n\n;// CONCATENATED MODULE: ./src/components/tooltip/tooltip.ts\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nvar tooltip_STATEKEY = 'tooltipState';\nvar tooltip_DEFAULTDELAY = 80;\nvar EnterCls = 'zoom-big-fast-enter';\nvar LeaveCls = 'zoom-big-fast-leave';\nvar CssTransitonCommonConfig = {\n    rmCls: true,\n    timeout: 80,\n    enterCls: EnterCls,\n    leaveCls: LeaveCls\n};\nvar tooltip_VISIBLETIMER, tooltip_EVENTTIMER;\nvar Tooltip = /** @class */ (function () {\n    function Tooltip() {\n        this.VERSION = 'v2.0';\n        this.COMPONENTS = (0,dom_utils.$el)('r-tooltip', { all: true });\n        this._create(this.COMPONENTS);\n        mixins._arrow.scrollUpdate();\n    }\n    Tooltip.prototype.config = function (el) {\n        var target = (0,dom_utils.$el)(el);\n        (0,utils.validComps)(target, 'tooltip');\n        var _a = Tooltip.prototype, _attrs = _a._attrs, _setAlwaysShow = _a._setAlwaysShow, _handleMouseEv = _a._handleMouseEv;\n        var _b = _attrs(target), delay = _b.delay, always = _b.always, disabled = _b.disabled, offset = _b.offset, placement = _b.placement;\n        var TooltipPopper = target.querySelector(\".\" + prefix.default.tooltip + \"-popper\");\n        var TooltipInner = target.querySelector(\".\" + prefix.default.tooltip + \"-inner\");\n        return {\n            get content() {\n                return (0,dom_utils.setHtml)(TooltipInner);\n            },\n            set content(newVal) {\n                if (newVal && !utils.type.isStr(newVal) && !utils.type.isNum(newVal))\n                    return;\n                (0,dom_utils.setHtml)(TooltipInner, \"\" + newVal);\n            },\n            get always() {\n                return always;\n            },\n            set always(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                _setAlwaysShow(TooltipPopper, newVal);\n            },\n            get disabled() {\n                return disabled;\n            },\n            set disabled(newVal) {\n                if (newVal && !utils.type.isBol(newVal))\n                    return;\n                _handleMouseEv(target, TooltipPopper, delay, offset, placement, this.always, newVal);\n            },\n            events: function (_a) {\n                var onVisibleChange = _a.onVisibleChange;\n                var event = function () {\n                    var visable = TooltipPopper.dataset[tooltip_STATEKEY] === 'show';\n                    onVisibleChange && utils.type.isFn(onVisibleChange, visable);\n                };\n                var show = function () {\n                    if (tooltip_EVENTTIMER)\n                        clearTimeout(tooltip_EVENTTIMER);\n                    tooltip_EVENTTIMER = setTimeout(event, delay);\n                };\n                var close = function () {\n                    if (tooltip_EVENTTIMER)\n                        clearTimeout(tooltip_EVENTTIMER);\n                    // 当鼠标移出tooltip后判断当前状态如果为 show，\n                    // 那么说明气泡显示过了，该执行移出事件了。\n                    // 避免了即使鼠标移出但没有显示过气泡而依然执行事件。\n                    if (TooltipPopper.dataset[tooltip_STATEKEY] === 'show')\n                        setTimeout(event, tooltip_DEFAULTDELAY);\n                };\n                (0,dom_utils.bind)(target, 'mouseenter', show);\n                (0,dom_utils.bind)(target, 'mouseleave', close);\n            }\n        };\n    };\n    Tooltip.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), content = _a.content, theme = _a.theme, placement = _a.placement, offset = _a.offset, maxWidth = _a.maxWidth, delay = _a.delay, always = _a.always, disabled = _a.disabled;\n            var children = !node.firstElementChild\n                ? node.innerHTML.trim()\n                : node.firstElementChild;\n            _this._setMainTemplate(node, content, theme, placement);\n            var TooltipPopper = node.querySelector(\".\" + prefix.default.tooltip + \"-popper\");\n            _this._setReferencesElem(node, children);\n            _this._setPopper(node, TooltipPopper, placement, offset);\n            _this._setMaxWidth(node, maxWidth);\n            _this._setAlwaysShow(TooltipPopper, always);\n            _this._handleMouseEv(node, TooltipPopper, delay, offset, placement, always, disabled);\n            (0,dom_utils.removeAttrs)(node, ['content', 'theme', 'delay', 'max-width', 'disabled', 'offset']);\n        });\n    };\n    Tooltip.prototype._setMainTemplate = function (node, content, theme, placement) {\n        var template = \"\\n         <div class=\\\"\" + prefix.default.tooltip + \"-rel\\\"></div>\\n         <div class=\\\"\" + prefix.default.tooltip + \"-popper \" + prefix.default.tooltip + \"-\" + theme + \"\\\" x-placement=\\\"\" + placement + \"\\\">\\n             <div class=\\\"\" + prefix.default.tooltip + \"-content\\\">\\n                 <div class=\\\"\" + prefix.default.tooltip + \"-arrow\\\"></div>\\n                 <div class=\\\"\" + prefix.default.tooltip + \"-inner\\\">\" + content + \"</div>\\n             </div>\\n         </div>\\n       \";\n        (0,dom_utils.setHtml)(node, template);\n    };\n    Tooltip.prototype._setReferencesElem = function (node, children) {\n        var TooltipRel = node.querySelector(\".\" + prefix.default.tooltip + \"-rel\");\n        if (children instanceof Element) {\n            TooltipRel.appendChild(children);\n        }\n        else {\n            (0,dom_utils.setHtml)(TooltipRel, children);\n        }\n    };\n    Tooltip.prototype._setMaxWidth = function (node, width) {\n        if (!width)\n            return;\n        var TooltipInner = node.querySelector(\".\" + prefix.default.tooltip + \"-inner\");\n        TooltipInner.classList.add(prefix.default.tooltip + \"-with-width\");\n        (0,dom_utils.setCss)(TooltipInner, 'maxWidth', width + \"px\");\n    };\n    Tooltip.prototype._setAlwaysShow = function (children, always) {\n        if (!always)\n            (0,dom_utils.setCss)(children, 'display', 'none');\n        children.dataset[tooltip_STATEKEY] = 'pending';\n    };\n    Tooltip.prototype._handleMouseEv = function (node, children, delay, offset, placement, always, disabled) {\n        var _this = this;\n        if (always || disabled)\n            return;\n        var setVisable = function (mode) {\n            if (mode === 'in')\n                _this._setPopper(node, children, placement, offset);\n            children.dataset[tooltip_STATEKEY] = mode === 'in' ? 'show' : 'close';\n            (0,mixins.CssTransition)(children, __assign({ inOrOut: mode }, CssTransitonCommonConfig));\n        };\n        var show = function () {\n            if (tooltip_VISIBLETIMER)\n                clearTimeout(tooltip_VISIBLETIMER);\n            tooltip_VISIBLETIMER = setTimeout(function () { return setVisable('in'); }, delay);\n        };\n        var hide = function () {\n            if (tooltip_VISIBLETIMER)\n                clearTimeout(tooltip_VISIBLETIMER);\n            if (children.dataset[tooltip_STATEKEY] === 'show')\n                setTimeout(function () { return setVisable('out'); }, tooltip_DEFAULTDELAY);\n        };\n        (0,dom_utils.bind)(node, 'mouseenter', show);\n        (0,dom_utils.bind)(node, 'mouseleave', hide);\n    };\n    Tooltip.prototype._setPopper = function (node, children, placement, offset) {\n        return mixins._Popper._newCreatePopper(node, children, placement, offset);\n    };\n    Tooltip.prototype._attrs = function (node) {\n        return {\n            theme: (0,dom_utils.getStrTypeAttr)(node, 'theme', 'dark'),\n            content: (0,dom_utils.getStrTypeAttr)(node, 'content', ''),\n            maxWidth: (0,dom_utils.getStrTypeAttr)(node, 'max-width', ''),\n            placement: (0,dom_utils.getStrTypeAttr)(node, 'placement', 'top'),\n            delay: (0,dom_utils.getNumTypeAttr)(node, 'delay', tooltip_DEFAULTDELAY),\n            offset: (0,dom_utils.getNumTypeAttr)(node, 'offset', 0),\n            always: (0,dom_utils.getBooleanTypeAttr)(node, 'always'),\n            disabled: (0,dom_utils.getBooleanTypeAttr)(node, 'disabled')\n        };\n    };\n    return Tooltip;\n}());\n/* harmony default export */ var tooltip = (Tooltip);\n\n;// CONCATENATED MODULE: ./src/components/tooltip/index.ts\n\n/* harmony default export */ var components_tooltip = (tooltip);\n\n;// CONCATENATED MODULE: ./src/rabbit-simple-ui.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;// CONCATENATED MODULE: ./src/styles/index.less\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/build-umd.ts\n/**\n * 用于打包构建 umd 模块，\n * 导出含有 Rabbit 的全局变量，使得相关 api 能够被调用，\n * 主要用于浏览器环境下通过 script 标签引入的方式使用。\n */\n\n\n// @ts-ignore\n/* harmony default export */ var build_umd = (window.Rabbit = rabbit_simple_ui_namespaceObject);\n\n\n/***/ }),\n\n/***/ \"./src/components/input-number/input-number.ts\":\n/*!*****************************************************!*\\\n  !*** ./src/components/input-number/input-number.ts ***!\n  \\*****************************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom-utils */ \"./src/dom-utils/index.ts\");\n/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins */ \"./src/mixins/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/utils/index.ts\");\n/* harmony import */ var _prefix__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../prefix */ \"./src/components/prefix.ts\");\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n\n\n\n\nfunction addNum(num1, num2) {\n    var sq1, sq2;\n    try {\n        sq1 = num1.toString().split('.')[1].length;\n    }\n    catch (e) {\n        sq1 = 0;\n    }\n    try {\n        sq2 = num2.toString().split('.')[1].length;\n    }\n    catch (e) {\n        sq2 = 0;\n    }\n    var m = Math.pow(10, Math.max(sq1, sq2));\n    return (Math.round(num1 * m) + Math.round(num2 * m)) / m;\n}\nvar InputNumber = /** @class */ (function () {\n    function InputNumber() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.$el)('r-input-number', { all: true });\n        this._create(this.COMPONENTS);\n    }\n    InputNumber.prototype.config = function (el) {\n        var target = (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.$el)(el);\n        (0,_utils__WEBPACK_IMPORTED_MODULE_2__.validComps)(target, 'input-number');\n        var _a = InputNumber.prototype, _attrs = _a._attrs, _setValue = _a._setValue, _setDisabled = _a._setDisabled;\n        var _b = _attrs(target), min = _b.min, max = _b.max, step = _b.step, disabled = _b.disabled, readOnly = _b.readOnly, editable = _b.editable, precision = _b.precision, formatter = _b.formatter;\n        var Input = target.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-input\");\n        var ArrowUp = target.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-up\");\n        var ArrowDown = target.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-down\");\n        var BtnUp = target.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-up\");\n        var BtnDown = target.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-down\");\n        return {\n            get value() {\n                return Number(Input.value);\n            },\n            set value(newVal) {\n                if (newVal && !_utils__WEBPACK_IMPORTED_MODULE_2__.type.isNum(newVal))\n                    return;\n                _setValue(Input, newVal, formatter, precision, min, max);\n            },\n            get step() {\n                return step;\n            },\n            set step(newVal) {\n                if (newVal && !_utils__WEBPACK_IMPORTED_MODULE_2__.type.isNum(newVal))\n                    return;\n                Input.step = step;\n            },\n            get disabled() {\n                return disabled;\n            },\n            set disabled(newVal) {\n                if (newVal && !_utils__WEBPACK_IMPORTED_MODULE_2__.type.isBol(newVal))\n                    return;\n                _setDisabled(target, Input, newVal);\n            },\n            get readOnly() {\n                return readOnly;\n            },\n            set readOnly(newVal) {\n                if (newVal && !_utils__WEBPACK_IMPORTED_MODULE_2__.type.isBol(newVal))\n                    return;\n                Input.readOnly = newVal;\n                var disableArrow = function (elem1, elem2) {\n                    if (elem1) {\n                        // @ts-ignore\n                        elem1.style.pointerEvents = newVal ? 'none' : '';\n                        // @ts-ignore\n                        elem2.style.pointerEvents = newVal ? 'none' : '';\n                    }\n                };\n                disableArrow(ArrowUp, ArrowDown);\n                disableArrow(BtnUp, BtnDown);\n            },\n            get editable() {\n                return editable;\n            },\n            set editable(newVal) {\n                if (newVal && !_utils__WEBPACK_IMPORTED_MODULE_2__.type.isBol(newVal))\n                    return;\n                Input.style.pointerEvents = !newVal ? 'none' : '';\n            },\n            events: function (_a) {\n                var onChange = _a.onChange, onFocus = _a.onFocus, onBlur = _a.onBlur;\n                var value;\n                var changeEv = function (e) {\n                    e.stopPropagation();\n                    value = Number(Input.value);\n                    if (!isNaN(value)) {\n                        onChange && _utils__WEBPACK_IMPORTED_MODULE_2__.type.isFn(onChange, value);\n                    }\n                    else {\n                        (0,_mixins__WEBPACK_IMPORTED_MODULE_1__.warn)(\"Invalid input value --> '\" + Input.value + \"' at '\" + el + \"'\");\n                        return;\n                    }\n                };\n                if (ArrowUp) {\n                    (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(ArrowUp, 'click', changeEv);\n                    (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(ArrowDown, 'click', changeEv);\n                }\n                if (BtnUp) {\n                    (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(BtnUp, 'click', changeEv);\n                    (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(BtnDown, 'click', changeEv);\n                }\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(Input, 'keydown', function (e) {\n                    if (e.key === 'ArrowUp' || e.key === 'ArrowDown')\n                        changeEv(e);\n                });\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(Input, 'input', function (e) { return changeEv(e); });\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(Input, 'focus', function (e) {\n                    e.stopPropagation();\n                    onFocus && _utils__WEBPACK_IMPORTED_MODULE_2__.type.isFn(onFocus, e);\n                });\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(Input, 'blur', function (e) {\n                    e.stopPropagation();\n                    onBlur && _utils__WEBPACK_IMPORTED_MODULE_2__.type.isFn(onBlur);\n                });\n            }\n        };\n    };\n    InputNumber.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), min = _a.min, max = _a.max, step = _a.step, value = _a.value, name = _a.name, inputId = _a.inputId, parser = _a.parser, formatter = _a.formatter, precision = _a.precision, disabled = _a.disabled, editable = _a.editable, readOnly = _a.readOnly, size = _a.size, placeholder = _a.placeholder, controlsOutside = _a.controlsOutside;\n            _this._setMainTemplate(node);\n            _this._setOutSide(node, controlsOutside);\n            var Input = node.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-input\");\n            var ArrowUp = node.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-up\");\n            var ArrowDown = node.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-down\");\n            var BtnUp = node.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-up\");\n            var BtnDown = node.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-down\");\n            _this._setInput(Input, min, max, step, name, inputId, placeholder);\n            _this._setValue(Input, value, formatter, precision, min, max);\n            _this._setSize(node, size);\n            _this._setDisabled(node, Input, disabled);\n            _this._setReadonlyAndEditable(Input, readOnly, editable);\n            _this._setHandler(ArrowUp, ArrowDown, BtnUp, BtnDown, value, min, max);\n            _this._handleChange(Input, ArrowUp, ArrowDown, BtnUp, BtnDown, min, max, step, precision, readOnly, parser, formatter);\n            (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.removeAttrs)(node, [\n                'min',\n                'max',\n                'step',\n                'value',\n                'precision',\n                'size',\n                'name',\n                'parser',\n                'formatter',\n                'input-id',\n                'placeholder',\n                'disabled',\n                'editable',\n                'readOnly',\n                'controls-outside'\n            ]);\n        });\n    };\n    InputNumber.prototype._setMainTemplate = function (node) {\n        node.classList.add(\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb);\n        var template = \"\\n        <div class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-wrap\\\">\\n            <a class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-up\\\">\\n                <span class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-up-inner \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \" \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \"-ios-arrow-up\\\"></span>\\n            </a>\\n            <a class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-down\\\">\\n                <span class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-down-inner \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \" \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \"-ios-arrow-down\\\"></span>\\n            </a>\\n        </div>\\n        <div class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-input-wrap\\\">\\n           <input autocomplete=\\\"off\\\" spellcheck=\\\"false\\\" class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-input\\\">\\n        </div>\\n        \";\n        (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.setHtml)(node, template);\n    };\n    InputNumber.prototype._setOutSide = function (node, controlsOutside) {\n        if (!controlsOutside)\n            return;\n        node.classList.add(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside\");\n        var handlerWrap = node.querySelector(\".\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-handler-wrap\");\n        var template = \"\\n         <div class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-btn \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-down\\\">\\n            <i class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \" \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \"-ios-remove\\\"></i>\\n         </div>\\n         <div class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-btn \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-controls-outside-up\\\">\\n            <i class=\\\"\" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \" \" + _prefix__WEBPACK_IMPORTED_MODULE_3__.default.icon + \"-ios-add\\\"></i>\\n         </div>\\n        \";\n        handlerWrap.insertAdjacentHTML('afterend', template);\n        handlerWrap.remove();\n    };\n    InputNumber.prototype._setInput = function (input, min, max, step, name, inputId, placeholder) {\n        isNaN(min) || min === 0 ? (input.min = \"\" + min) : '';\n        isNaN(max) || min === 0 ? (input.max = \"\" + max) : '';\n        isNaN(step) && step !== 1 ? (input.step = \"\" + step) : '';\n        name ? (input.name = name) : '';\n        inputId ? (input.id = inputId) : '';\n        placeholder ? (input.placeholder = placeholder) : '';\n    };\n    InputNumber.prototype._formatterVal = function (input, formatter, val) {\n        // `约定的 ${value}`替换为 `${val}`\n        var resVal = formatter.replace('value', 'val');\n        input.value = \"\" + (formatter ? eval(resVal) : val);\n    };\n    InputNumber.prototype._parserVal = function (parser, val) {\n        if (parser) {\n            var _parser = eval(parser);\n            return val.replace(_parser[0], _parser[1]);\n        }\n        else {\n            // 如果没有指定从 formatter 里转换回数字的方式，则使用默认正则方式\n            return val.replace(/[^\\d.-]/g, '');\n        }\n    };\n    InputNumber.prototype._handleChange = function (input, aUp, aDown, btnUp, btnDown, min, max, step, precision, readOnly, parser, formatter) {\n        var _this = this;\n        if (readOnly)\n            return;\n        var setValue = function (val) {\n            _this._setValue(input, val, formatter, precision, min, max);\n            _this._setHandler(aUp, aDown, btnUp, btnDown, val, min, max);\n        };\n        var changeStep = function (type) {\n            // 如果指定了输入框展示值的格式，那么这里就要用 parser 的值转换为原来的值\n            var val = _this._parserVal(parser, input.value);\n            var targetVal = Number(val);\n            if (type === 'up') {\n                if (addNum(targetVal, step) <= max) {\n                    setValue(targetVal);\n                }\n                else {\n                    return false;\n                }\n                setValue(addNum(targetVal, step));\n            }\n            else if (type === 'down') {\n                if (addNum(targetVal, step) >= min) {\n                    setValue(targetVal);\n                }\n                else {\n                    return false;\n                }\n                setValue(addNum(targetVal, -step));\n            }\n        };\n        var handleKeyBoardChange = function () {\n            (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(input, 'keydown', function (e) {\n                if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')\n                    return false;\n                if (e.key === 'ArrowUp') {\n                    e.preventDefault();\n                    changeStep('up');\n                }\n                if (e.key === 'ArrowDown') {\n                    e.preventDefault();\n                    changeStep('down');\n                }\n            });\n        };\n        var handleInputChange = function () {\n            (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(input, 'input', function (e) {\n                e.stopPropagation();\n                // 当输入框输入时只匹配数字、小数点和减号\n                var val = input.value.replace(/[^\\d.-]/g, '');\n                setValue(Number(val));\n            });\n        };\n        var handleArrowChange = function () {\n            if (aUp && aDown) {\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(aUp, 'click', function () { return changeStep('up'); });\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(aDown, 'click', function () { return changeStep('down'); });\n            }\n            if (btnUp && btnDown) {\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(btnUp, 'click', function () { return changeStep('up'); });\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.bind)(btnDown, 'click', function () { return changeStep('down'); });\n            }\n        };\n        handleKeyBoardChange();\n        handleInputChange();\n        handleArrowChange();\n    };\n    InputNumber.prototype._setValue = function (input, value, formatter, precision, min, max) {\n        var targetVal = !isNaN(precision) ? value.toFixed(precision) : value;\n        if ((targetVal && !isNaN(targetVal)) || targetVal === 0) {\n            if (targetVal > max && !isNaN(max)) {\n                targetVal = max;\n            }\n            else if (targetVal < min && !isNaN(min)) {\n                targetVal = min;\n            }\n            // 如果指定了输入框展示值的格式则使用它，否则反之\n            this._formatterVal(input, formatter, targetVal);\n        }\n    };\n    InputNumber.prototype._setSize = function (node, size) {\n        if (!size)\n            return;\n        node.classList.add(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-\" + size);\n    };\n    InputNumber.prototype._setReadonlyAndEditable = function (input, readOnly, editable) {\n        if (readOnly)\n            input.readOnly = true;\n        if (readOnly || editable === 'false')\n            input.style.pointerEvents = 'none';\n    };\n    InputNumber.prototype._setDisabled = function (node, input, disabled) {\n        if (!disabled) {\n            node.classList.remove(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-disabled\");\n            input.disabled = false;\n        }\n        else {\n            node.classList.add(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-disabled\");\n            input.disabled = true;\n        }\n    };\n    InputNumber.prototype._setHandler = function (aUp, aDown, btnUp, btnDown, value, min, max) {\n        var isSetDisable = function (elm1, elm2, outside) {\n            var upDisabledCls = outside ? 'controls-outside-btn' : 'handler-up';\n            var downDisabledCls = outside ? 'controls-outside-btn' : 'handler-down';\n            if (Math.ceil(value) >= max) {\n                elm1.classList.add(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-\" + upDisabledCls + \"-disabled\");\n            }\n            else {\n                elm1.classList.remove(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-\" + upDisabledCls + \"-disabled\");\n            }\n            if (Math.ceil(value) <= min) {\n                elm2.classList.add(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-\" + downDisabledCls + \"-disabled\");\n            }\n            else {\n                elm2.classList.remove(_prefix__WEBPACK_IMPORTED_MODULE_3__.default.inputnb + \"-\" + downDisabledCls + \"-disabled\");\n            }\n        };\n        if (aUp && aDown)\n            isSetDisable(aUp, aDown, false);\n        if (btnUp && btnDown)\n            isSetDisable(btnUp, btnDown, true);\n    };\n    InputNumber.prototype._attrs = function (node) {\n        return {\n            min: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getNumTypeAttr)(node, 'min', -Infinity),\n            max: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getNumTypeAttr)(node, 'max', Infinity),\n            step: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getNumTypeAttr)(node, 'step', 1),\n            value: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getNumTypeAttr)(node, 'value', 0),\n            precision: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getNumTypeAttr)(node, 'precision'),\n            size: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'size', ''),\n            name: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'name', ''),\n            inputId: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'input-id', ''),\n            parser: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'parser', ''),\n            formatter: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'formatter', ''),\n            placeholder: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'placeholder', ''),\n            disabled: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getBooleanTypeAttr)(node, 'disabled'),\n            readOnly: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getBooleanTypeAttr)(node, 'readonly'),\n            editable: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getStrTypeAttr)(node, 'editable', 'true'),\n            controlsOutside: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_0__.getBooleanTypeAttr)(node, 'controls-outside')\n        };\n    };\n    return InputNumber;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (InputNumber);\n\n\n/***/ }),\n\n/***/ \"./src/components/prefix.ts\":\n/*!**********************************!*\\\n  !*** ./src/components/prefix.ts ***!\n  \\**********************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar prefixCls = 'rab-';\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n    affix: prefixCls + \"affix\",\n    alert: prefixCls + \"alert\",\n    avatar: prefixCls + \"avatar\",\n    backtop: prefixCls + \"back-top\",\n    badge: prefixCls + \"badge\",\n    breadcrumb: prefixCls + \"breadcrumb\",\n    button: prefixCls + \"btn\",\n    card: prefixCls + \"card\",\n    carousel: prefixCls + \"carousel\",\n    checkbox: prefixCls + \"checkbox\",\n    circle: prefixCls + \"chart-circle\",\n    collapse: prefixCls + \"collapse\",\n    divider: prefixCls + \"divider\",\n    drawer: prefixCls + \"drawer\",\n    dropdown: prefixCls + \"dropdown\",\n    empty: prefixCls + \"empty\",\n    jumbotron: prefixCls + \"jumbotron\",\n    inputnb: prefixCls + \"input-number\",\n    icon: prefixCls + \"icon\",\n    loadingBar: prefixCls + \"loading-bar\",\n    message: prefixCls + \"message\",\n    messageChild: prefixCls + \"message-notice\",\n    modal: prefixCls + \"modal\",\n    notice: prefixCls + \"notice\",\n    pageHeader: prefixCls + \"page-header\",\n    poptip: prefixCls + \"poptip\",\n    noticeChild: prefixCls + \"notice-notice\",\n    progress: prefixCls + \"progress\",\n    radio: prefixCls + \"radio\",\n    rate: prefixCls + \"rate\",\n    result: prefixCls + \"result\",\n    skeleton: prefixCls + \"skeleton\",\n    switch: prefixCls + \"switch\",\n    tabs: prefixCls + \"tabs\",\n    tag: prefixCls + \"tag\",\n    spin: prefixCls + \"spin\",\n    steps: prefixCls + \"steps\",\n    time: prefixCls + \"time\",\n    timeline: prefixCls + \"timeline\",\n    tooltip: prefixCls + \"tooltip\"\n});\n\n\n/***/ }),\n\n/***/ \"./src/components/time/time.ts\":\n/*!*************************************!*\\\n  !*** ./src/components/time/time.ts ***!\n  \\*************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dayjs */ \"./node_modules/dayjs/dayjs.min.js\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dayjs_plugin_relativeTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dayjs/plugin/relativeTime */ \"./node_modules/dayjs/plugin/relativeTime.js\");\n/* harmony import */ var dayjs_plugin_relativeTime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_relativeTime__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _prefix__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../prefix */ \"./src/components/prefix.ts\");\n/* harmony import */ var _dom_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../dom-utils */ \"./src/dom-utils/index.ts\");\n/* harmony import */ var dayjs_locale_zh_cn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dayjs/locale/zh-cn */ \"./node_modules/dayjs/locale/zh-cn.js\");\n/* harmony import */ var dayjs_locale_zh_cn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(dayjs_locale_zh_cn__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nvar Time = /** @class */ (function () {\n    function Time() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.$el)('r-time', { all: true });\n        // 配置默认语言 (全局)\n        dayjs__WEBPACK_IMPORTED_MODULE_0___default().locale('zh-cn');\n        // 改变语言配置 (全局)，需自行引入 dayjs 语言包\n        // 注意！通过 script 标签引入 rabbitjs 的情况下，通过这个函数设置语言是无效的\n        this.locale = function (str) { return dayjs__WEBPACK_IMPORTED_MODULE_0___default().locale(str); };\n        this._create(this.COMPONENTS);\n    }\n    Time.prototype._create = function (COMPONENTS) {\n        var _this = this;\n        COMPONENTS.forEach(function (node) {\n            var _a = _this._attrs(node), type = _a.type, time = _a.time, interval = _a.interval, hash = _a.hash;\n            _this._setTime(node, type, time, interval);\n            _this._handleClick(node, hash);\n            (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.removeAttrs)(node, ['time', 'type', 'hash', 'interval']);\n        });\n    };\n    Time.prototype._setTime = function (node, type, time, interval) {\n        var timeStamp = eval(time);\n        var seconds = 0;\n        var timer = function () {\n            if (type === 'relative') {\n                dayjs__WEBPACK_IMPORTED_MODULE_0___default().extend((dayjs_plugin_relativeTime__WEBPACK_IMPORTED_MODULE_1___default()));\n                var _relativeTime = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(timeStamp).fromNow();\n                // 如果自动更新的间隔小于60则是要通过秒更新时间而不是分钟\n                // 当秒数走到60秒后就转换为 “x分钟前” 显示\n                if (interval < 60) {\n                    var Chinese = ['zh', 'zh-cn', 'zh-hk', 'zh-tw'];\n                    // 语言环境为中文才进行并显示秒级别更新\n                    if (Chinese.includes(dayjs__WEBPACK_IMPORTED_MODULE_0___default().locale())) {\n                        seconds++;\n                        (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.setText)(node, seconds + \"\\u79D2\\u524D\");\n                    }\n                }\n                else {\n                    (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.setText)(node, _relativeTime);\n                }\n                // 这段为设置中文状态下的情景\n                if (_relativeTime === '几秒前') {\n                    _relativeTime = '刚刚';\n                }\n                else {\n                    (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.setText)(node, _relativeTime);\n                }\n            }\n            else if (type === 'date') {\n                var date = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(timeStamp).format('YYYY-MM-DD');\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.setText)(node, date);\n            }\n            else if (type === 'datetime') {\n                var dataTime = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(timeStamp).format('YYYY-MM-DD-HH:mm:ss');\n                (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.setText)(node, dataTime);\n            }\n            return timer;\n        };\n        setTimeout(function () {\n            window.setInterval(timer(), interval * 1000);\n        }, 0);\n    };\n    Time.prototype._handleClick = function (node, hash) {\n        if (!hash)\n            return;\n        node.classList.add(_prefix__WEBPACK_IMPORTED_MODULE_2__.default.time + \"-with-hash\");\n        node.addEventListener('click', function () { return (window.location.hash = hash); });\n    };\n    Time.prototype._attrs = function (node) {\n        return {\n            time: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.getStrTypeAttr)(node, 'time', ''),\n            type: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.getStrTypeAttr)(node, 'type', 'relative'),\n            hash: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.getStrTypeAttr)(node, 'hash', ''),\n            interval: (0,_dom_utils__WEBPACK_IMPORTED_MODULE_3__.getNumTypeAttr)(node, 'interval', 60)\n        };\n    };\n    return Time;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Time);\n\n\n/***/ }),\n\n/***/ \"./src/dom-utils/elem.ts\":\n/*!*******************************!*\\\n  !*** ./src/dom-utils/elem.ts ***!\n  \\*******************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"$el\": function() { return /* binding */ $el; },\n/* harmony export */   \"createElem\": function() { return /* binding */ createElem; },\n/* harmony export */   \"setCss\": function() { return /* binding */ setCss; },\n/* harmony export */   \"setHtml\": function() { return /* binding */ setHtml; },\n/* harmony export */   \"setText\": function() { return /* binding */ setText; },\n/* harmony export */   \"getStrTypeAttr\": function() { return /* binding */ getStrTypeAttr; },\n/* harmony export */   \"getBooleanTypeAttr\": function() { return /* binding */ getBooleanTypeAttr; },\n/* harmony export */   \"getNumTypeAttr\": function() { return /* binding */ getNumTypeAttr; },\n/* harmony export */   \"getArrTypeAttr\": function() { return /* binding */ getArrTypeAttr; }\n/* harmony export */ });\n/**\n * 获取元素\n * @param node\n * @param options 选项 all 表示是否获取所有节点\n */\nfunction $el(node, options) {\n    if (options === null || options === void 0 ? void 0 : options.all) {\n        return document.querySelectorAll(node);\n    }\n    else {\n        return document.querySelector(node);\n    }\n}\nfunction createElem(tagName) {\n    return document.createElement(tagName);\n}\nfunction setCss(node, styeName, value) {\n    return (node.style[styeName] = value);\n}\nfunction setHtml(node, value) {\n    if (value || value === '') {\n        return (node.innerHTML = value);\n    }\n    else {\n        return node.innerHTML;\n    }\n}\nfunction setText(node, value) {\n    if (value || value === '') {\n        return (node.textContent = value);\n    }\n    else {\n        return node.textContent || '';\n    }\n}\n// 通用的标签属性获取方法\n// 获取后的值由原先的字符串类型转换成对应类型\n// Return String type\nfunction getStrTypeAttr(node, attrName, defaultVal) {\n    return node.getAttribute(attrName) || defaultVal;\n}\n// Return Boolean type\nfunction getBooleanTypeAttr(node, attrName) {\n    return node.getAttribute(attrName) === 'true';\n}\n// Return Number type\nfunction getNumTypeAttr(node, attrName, defaultVal) {\n    return Number(node.getAttribute(attrName)) || defaultVal;\n}\n// Return Array type\nfunction getArrTypeAttr(node, attrName) {\n    var _a;\n    var attr = ((_a = node.getAttribute(attrName)) === null || _a === void 0 ? void 0 : _a.replace(/'/g, '\"')) || '[]';\n    var array = JSON.parse(attr);\n    return array;\n}\n\n\n/***/ }),\n\n/***/ \"./src/dom-utils/index.ts\":\n/*!********************************************!*\\\n  !*** ./src/dom-utils/index.ts + 5 modules ***!\n  \\********************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"$el\": function() { return /* reexport */ elem.$el; },\n  \"bind\": function() { return /* reexport */ bind; },\n  \"createElem\": function() { return /* reexport */ elem.createElem; },\n  \"getArrTypeAttr\": function() { return /* reexport */ elem.getArrTypeAttr; },\n  \"getBooleanTypeAttr\": function() { return /* reexport */ elem.getBooleanTypeAttr; },\n  \"getNumTypeAttr\": function() { return /* reexport */ elem.getNumTypeAttr; },\n  \"getStrTypeAttr\": function() { return /* reexport */ elem.getStrTypeAttr; },\n  \"nextAll\": function() { return /* reexport */ nextAll; },\n  \"prevAll\": function() { return /* reexport */ prevAll; },\n  \"removeAttrs\": function() { return /* reexport */ removeAttrs; },\n  \"setCss\": function() { return /* reexport */ elem.setCss; },\n  \"setHtml\": function() { return /* reexport */ elem.setHtml; },\n  \"setText\": function() { return /* reexport */ elem.setText; },\n  \"siblings\": function() { return /* reexport */ siblings; },\n  \"slider\": function() { return /* reexport */ slide; },\n  \"unbind\": function() { return /* reexport */ unbind; }\n});\n\n;// CONCATENATED MODULE: ./src/dom-utils/bind.ts\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * 解决事件监听兼容性问题\n * @param {Object} obj对象\n * @param {String} type事件类型,不带'on'前缀\n * @param {Function} callback事件处理程序\n */\nfunction bind(obj, type, callback) {\n    if (obj.addEventListener) {\n        // W3C内核\n        obj.addEventListener(type, callback);\n    }\n    else {\n        // IE内核\n        obj.attachEvent(\"on\" + type, callback);\n    }\n}\n/**\n * 解决移除事件监听兼容性问题\n * @param {Object} obj对象\n * @param {String} type事件类型,不带'on'前缀\n * @param {Function} callback事件处理程序\n */\nfunction unbind(obj, type, callback) {\n    if (obj.removeEventListener) {\n        // W3C内核\n        obj.removeEventListener(type, callback);\n    }\n    else {\n        // IE内核\n        obj.detachEvent(\"on\" + type, callback);\n    }\n}\n\n// EXTERNAL MODULE: ./src/dom-utils/elem.ts\nvar elem = __webpack_require__(\"./src/dom-utils/elem.ts\");\n;// CONCATENATED MODULE: ./src/dom-utils/prev&next.ts\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nfunction prevAll(el) {\n    var Parent = el.parentElement;\n    var Child = Parent.children;\n    var prevChildren = [];\n    var i = 0;\n    var length = Child.length;\n    for (; i < length; i++) {\n        var _child = Child[i];\n        if (_child == el) {\n            break;\n        }\n        prevChildren.push(_child);\n    }\n    return prevChildren;\n}\nfunction nextAll(el) {\n    var Parent = el.parentElement;\n    var Child = Parent.children;\n    var nextChildren = [];\n    var length = Child.length;\n    var start = 0;\n    var i = length - 1;\n    for (; i >= start; i--) {\n        var _child = Child[i];\n        if (_child == el) {\n            break;\n        }\n        nextChildren.unshift(_child);\n    }\n    return nextChildren;\n}\n\n;// CONCATENATED MODULE: ./src/dom-utils/remove-attrs.ts\n/**\n * 移除组件标签的自定义属性\n * 1.非关联css的属性\n * 2.仅取值属性\n * 3.非业务逻辑代码要用的属性\n */\nfunction removeAttrs(elem, attrs) {\n    setTimeout(function () {\n        var i = 0;\n        var length = attrs.length;\n        for (; i < length; i++) {\n            var attr = attrs[i];\n            elem.getAttribute(attr) || elem.getAttribute(attr) === ''\n                ? elem.removeAttribute(attr)\n                : null;\n        }\n    }, 0);\n}\n\n;// CONCATENATED MODULE: ./src/dom-utils/siblings.ts\nfunction siblings(elem) {\n    var _a;\n    var r = [];\n    var n = (_a = elem.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild;\n    for (; n; n = n.nextSibling) {\n        if (n.nodeType === 1 && n !== elem) {\n            r.push(n);\n        }\n    }\n    return r;\n}\n\n;// CONCATENATED MODULE: ./src/dom-utils/slide.ts\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable prefer-rest-params */\n// @ts-nocheck\n/* harmony default export */ var slide = (window.Slider = (function () {\n    // 定义Slider对象\n    var Slider = {\n        slideDown: function (el, time) {\n            void 0;\n        },\n        slideUp: function (el, time) {\n            void 0;\n        }\n    };\n    // I.定义一个TimerManager类\n    // 1）构造函数\n    function TimerManager() {\n        this.timers = []; // 保存定时器\n        this.args = []; // 保存定时器的参数\n        this.isFiring = false;\n    }\n    // 2）静态方法：为element添加一个TimerManager实例\n    TimerManager.makeInstance = function (element) {\n        // 如果element.__TimerManager__上没有TimerManager，就为其添加一个\n        if (!element.__TimerManager__ || element.__TimerManager__.constructor != TimerManager) {\n            element.__TimerManager__ = new TimerManager();\n        }\n    };\n    // 3）扩展TimerManager原型，分别实现add，fire，next方法\n    TimerManager.prototype.add = function (timer, args) {\n        this.timers.push(timer);\n        this.args.push(args);\n        this.fire();\n    };\n    TimerManager.prototype.fire = function () {\n        if (!this.isFiring) {\n            var timer = this.timers.shift(), // 取出定时器\n            args = this.args.shift(); // 取出定时器参数\n            if (timer && args) {\n                this.isFiring = true;\n                // 传入参数，执行定时器函数\n                timer(args[0], args[1]);\n            }\n        }\n    };\n    TimerManager.prototype.next = function () {\n        this.isFiring = false;\n        this.fire();\n    };\n    // II. 修改动画函数并在定时器结束后调用element.__TimerManager__.next()\n    // 1）下滑函数\n    function fnSlideDown(element, time) {\n        if (element.offsetHeight == 0) {\n            //如果当前高度为0，则执行下拉动画\n            // 获取元素总高度\n            element.style.display = 'block'; // 1.显示元素，元素变为可见\n            var totalHeight_1 = element.offsetHeight; // 2.保存总高度\n            element.style.height = '0px'; // 3.再将元素高度设置为0，元素又变为不可见\n            // 定义一个变量保存元素当前高度\n            var currentHeight_1 = 0; // 当前元素高度为0\n            // 计算每次增加的值\n            var increment_1 = totalHeight_1 / (time / 10);\n            // 开始循环定时器\n            var timer_1 = setInterval(function () {\n                // 增加一部分高度\n                currentHeight_1 += increment_1;\n                // 把当前高度赋值给height属性\n                element.style.height = currentHeight_1 + \"px\";\n                // 如果当前高度大于或等于总高度则关闭定时器\n                if (currentHeight_1 >= totalHeight_1) {\n                    // 关闭定时器\n                    clearInterval(timer_1);\n                    // 把高度设置为总高度\n                    element.style.height = totalHeight_1 + \"px\";\n                    if (element.__TimerManager__ &&\n                        element.__TimerManager__.constructor == TimerManager) {\n                        element.__TimerManager__.next();\n                    }\n                }\n            }, 10);\n        }\n        else {\n            // 如果当前高度不为0，则直接执行队列里的下一个函数\n            if (element.__TimerManager__ && element.__TimerManager__.constructor == TimerManager) {\n                element.__TimerManager__.next();\n            }\n        }\n    }\n    // 2）上拉函数\n    function fnSlideUp(element, time) {\n        if (element.offsetHeight > 0) {\n            // 如果当前高度不为0，则执行上滑动画\n            // 获取元素总高度\n            var totalHeight_2 = element.offsetHeight;\n            // 定义一个变量保存元素当前高度\n            var currentHeight_2 = totalHeight_2;\n            // 计算每次减去的值\n            var decrement_1 = totalHeight_2 / (time / 10);\n            // 开始循环定时器\n            var timer_2 = setInterval(function () {\n                // 减去当前高度的一部分\n                currentHeight_2 -= decrement_1;\n                // 把当前高度赋值给height属性\n                element.style.height = currentHeight_2 + \"px\";\n                // 如果当前高度小于等于0，就关闭定时器\n                if (currentHeight_2 <= 0) {\n                    // 关闭定时器\n                    clearInterval(timer_2);\n                    // 把元素display设置为none\n                    element.style.display = 'none';\n                    // 把元素高度值还原\n                    element.style.height = totalHeight_2 + \"px\";\n                    if (element.__TimerManager__ &&\n                        element.__TimerManager__.constructor == TimerManager) {\n                        element.__TimerManager__.next();\n                    }\n                }\n            }, 10);\n        }\n        else {\n            // 如果当前高度为0， 则直接执行队列里的下一个函数\n            if (element.__TimerManager__ && element.__TimerManager__.constructor == TimerManager) {\n                element.__TimerManager__.next();\n            }\n        }\n    }\n    // III.定义外部访问接口\n    // 1）下拉接口\n    Slider.slideDown = function (element, time) {\n        TimerManager.makeInstance(element);\n        element.__TimerManager__.add(fnSlideDown, arguments);\n        return this;\n    };\n    // 2）上滑接口\n    Slider.slideUp = function (element, time) {\n        TimerManager.makeInstance(element);\n        element.__TimerManager__.add(fnSlideUp, arguments);\n        return this;\n    };\n    // 返回Slider对象\n    return Slider;\n})());\n\n;// CONCATENATED MODULE: ./src/dom-utils/index.ts\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/mixins/index.ts\":\n/*!******************************************!*\\\n  !*** ./src/mixins/index.ts + 63 modules ***!\n  \\******************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"CssTransition\": function() { return /* reexport */ CssTransition; },\n  \"Scrollable\": function() { return /* reexport */ scrollable; },\n  \"_Popper\": function() { return /* reexport */ tooltip_namespaceObject; },\n  \"_arrow\": function() { return /* reexport */ arrow_namespaceObject; },\n  \"clickoutside\": function() { return /* reexport */ clickOutside; },\n  \"moreThanOneNode\": function() { return /* reexport */ moreThanOneNode; },\n  \"usePromiseCallback\": function() { return /* reexport */ usePromiseCallback; },\n  \"warn\": function() { return /* reexport */ warn.default; }\n});\n\n// NAMESPACE OBJECT: ./src/mixins/arrow.ts\nvar arrow_namespaceObject = {};\n__webpack_require__.r(arrow_namespaceObject);\n__webpack_require__.d(arrow_namespaceObject, {\n  \"scrollUpdate\": function() { return scrollUpdate; }\n});\n\n// NAMESPACE OBJECT: ./src/mixins/tooltip.ts\nvar tooltip_namespaceObject = {};\n__webpack_require__.r(tooltip_namespaceObject);\n__webpack_require__.d(tooltip_namespaceObject, {\n  \"_newCreatePopper\": function() { return _newCreatePopper; }\n});\n\n// EXTERNAL MODULE: ./src/dom-utils/index.ts + 5 modules\nvar dom_utils = __webpack_require__(\"./src/dom-utils/index.ts\");\n;// CONCATENATED MODULE: ./src/mixins/arrow.ts\n// 更新popver弹窗或下拉菜单的箭头方向\n\nfunction scrollUpdate() {\n    var tooltips = (0,dom_utils.$el)('.rab-tooltip-popper', { all: true });\n    var poptips = (0,dom_utils.$el)('.rab-poptip-popper', { all: true });\n    var scrollEv = function (target) {\n        target.forEach(function (node) {\n            var popperPlacement = node.dataset.popperPlacement;\n            var xPlacement = node.getAttribute('x-placement');\n            if (xPlacement != popperPlacement) {\n                node.setAttribute('x-placement', popperPlacement);\n            }\n        });\n    };\n    // 当页面有这些组件存在时才做滚动监听\n    if (tooltips.length > 0) {\n        window.addEventListener('scroll', function () { return scrollEv(tooltips); });\n    }\n    if (poptips.length > 0) {\n        window.addEventListener('scroll', function () { return scrollEv(poptips); });\n    }\n}\n\n;// CONCATENATED MODULE: ./src/mixins/cb-promise.ts\n/**\n * 用于实例组件关闭后返回 promise，提供 then 接口在关闭后运行 callback\n * @param duration 组件关闭的时间，这里是用于组件没自己的配置项时，设为全局时间\n * @param compConfig 组件的配置项，这里是用于是否切换为组件自己设置的时间\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction usePromiseCallback(duration, compConfig) {\n    // promise 触发的时机为默认时间\n    var timeout = duration;\n    // 当组件参数以对象形式传递，并且设置了自己的 duration则修改 promise的触发时机\n    if (compConfig && typeof compConfig === 'object') {\n        if (compConfig.duration || compConfig.duration === 0) {\n            timeout = compConfig.duration;\n        }\n        else {\n            timeout = duration;\n        }\n    }\n    return promiseCb(timeout);\n}\nfunction promiseCb(duration) {\n    var timer = null;\n    return new Promise(function (afterClose) {\n        timer = setTimeout(afterClose, duration * 1000);\n        // duration 为 0 则说明当前组件不自动关闭\n        duration === 0 ? clearTimeout(timer) : timer;\n    });\n}\n\n;// CONCATENATED MODULE: ./src/mixins/clickoutside.ts\n\n/**\n * 用于点击外部关闭下拉菜单或气泡提示框\n * @param elem\n * @param callback 关闭事件回调\n * @param child\n * @param datasetKey\n * @param datasetVal 要被关闭的对象状态是否已经处于打开状态，如果是那么点击其以外的区域才执行事件回调\n */\nfunction clickOutside(elem, callback, child, datasetKey, datasetVal) {\n    var ev = function (e) {\n        if (datasetKey) {\n            if (child) {\n                // @ts-ignore\n                child.dataset[datasetKey] === datasetVal && callback(e);\n            }\n            else {\n                // @ts-ignore\n                child.dataset[datasetKey] === datasetVal && callback(e);\n            }\n        }\n        else {\n            callback();\n        }\n    };\n    (0,dom_utils.bind)(document, 'click', function (e) { return ev(e); });\n    (0,dom_utils.bind)(elem, 'click', function (e) { return e.stopPropagation(); });\n}\n\n;// CONCATENATED MODULE: ./src/mixins/css-transition.ts\nfunction CssTransition(elem, _a) {\n    var enterCls = _a.enterCls, leaveCls = _a.leaveCls, inOrOut = _a.inOrOut, rmCls = _a.rmCls, timeout = _a.timeout, hiddenParent = _a.hiddenParent;\n    var removeClassAfterTransition = function (aniClassName) {\n        if (rmCls) {\n            setTimeout(function () {\n                aniClassName ? elem.classList.remove(aniClassName) : '';\n            }, timeout);\n        }\n    };\n    if (inOrOut === 'in') {\n        // 如果父元素被隐藏则变为显示\n        if (hiddenParent) {\n            hiddenParent.style.display = '';\n            hiddenParent.style.opacity = '1';\n            hiddenParent.style.visibility = 'visible';\n        }\n        // if (elem.style.display === 'none') elem.style.display = '';\n        // if (elem.style.opacity === '0') elem.style.opacity = '1';\n        // if (elem.style.visibility === 'hidden') elem.style.visibility = 'visible';\n        elem.style.display = '';\n        elem.style.opacity = '1';\n        elem.style.visibility = 'visible';\n        elem.classList.add(enterCls);\n        removeClassAfterTransition(enterCls);\n    }\n    else if (inOrOut === 'out') {\n        if (elem.classList.contains(enterCls)) {\n            elem.classList.replace(enterCls, leaveCls);\n        }\n        else {\n            elem.classList.add(leaveCls);\n        }\n        removeClassAfterTransition(leaveCls);\n        // 过渡效果持续时间后隐藏元素\n        setTimeout(function () {\n            if (hiddenParent)\n                hiddenParent.style.display = 'none';\n            elem.style.display = 'none';\n            elem.style.opacity = '0';\n            elem.style.visibility = 'hidden';\n        }, timeout);\n    }\n}\n\n;// CONCATENATED MODULE: ./src/mixins/one-node.ts\n\n/**\n * 检查组件标签下是否具有一个父元素，\n * 不允许组件下有多个子节点用于添加额外内容，只有由一个节点组成。\n */\nfunction moreThanOneNode(node) {\n    if (node.childElementCount > 1) {\n        (0,warn.default)(\"The <\" + node.tagName.toLowerCase() + \"> tag must have a parent element\");\n        return true;\n    }\n    return false;\n}\n\n;// CONCATENATED MODULE: ./src/mixins/scrollable.ts\n\nfunction scrollable(_a) {\n    var _b = _a.scroll, scroll = _b === void 0 ? false : _b, _c = _a.lock, lock = _c === void 0 ? false : _c, node = _a.node, tagName = _a.tagName;\n    // 是否禁止对页面滚动条的修改\n    // 页面是否可以滚动\n    if (lock && !scroll) {\n        (0,dom_utils.setCss)(document.body, 'paddingRight', '17px');\n        (0,dom_utils.setCss)(document.body, 'overflow', 'hidden');\n    }\n    else {\n        (0,dom_utils.setCss)(document.body, 'paddingRight', '');\n        (0,dom_utils.setCss)(document.body, 'overflow', '');\n    }\n    var prevNode = node === null || node === void 0 ? void 0 : node.previousElementSibling;\n    // 解决抽屉或对话框组件在同时打开多个的情况下，只关闭了一个窗口而页面滚动条恢复出现的bug\n    if (prevNode) {\n        var prevTagName = prevNode.tagName.toLocaleLowerCase().replace(/r-/, '');\n        if (prevTagName === tagName) {\n            // @ts-ignore\n            if (prevNode.dataset[prevTagName + \"Visable\"] === 'true') {\n                scrollable({ scroll: false, lock: true });\n            }\n        }\n    }\n}\n\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\nfunction getBoundingClientRect(element) {\n  var rect = element.getBoundingClientRect();\n  return {\n    width: rect.width,\n    height: rect.height,\n    top: rect.top,\n    right: rect.right,\n    bottom: rect.bottom,\n    left: rect.left,\n    x: rect.left,\n    y: rect.top\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\n/*:: import type { Window } from '../types'; */\n\n/*:: declare function getWindow(node: Node | Window): Window; */\nfunction getWindow(node) {\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView || window : window;\n  }\n\n  return node;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\n\nfunction getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n  Element); */\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n  HTMLElement); */\n\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n/*:: declare function isShadowRoot(node: mixed): boolean %checks(node instanceof\n  ShadowRoot); */\n\n\nfunction isShadowRoot(node) {\n  var OwnElement = getWindow(node).ShadowRoot;\n  return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\nfunction getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\n\n\n\n\nfunction getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\nfunction getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\n\nfunction getDocumentElement(element) {\n  // $FlowFixMe[incompatible-return]: assume body is always available\n  return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n  element.document) || window.document).documentElement;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\n\n\n\nfunction getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\n\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\n\nfunction isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\n\n\n\n\n\n\n // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement);\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nfunction getLayoutRect(element) {\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: element.offsetWidth,\n    height: element.offsetHeight\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\n\n\nfunction getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    // $FlowFixMe[incompatible-return]\n    // $FlowFixMe[prop-missing]\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || // DOM Element detected\n    // $FlowFixMe[incompatible-return]: need a better way to handle this...\n    element.host || // ShadowRoot detected\n    // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\n\n\n\n\nfunction getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe[incompatible-return]: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\n\n\n\n\n\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nfunction listScrollParents(element, list) {\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = getNodeName(scrollParent) === 'body';\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\n\nfunction isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\n\n\n\n\n\n\n\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  var offsetParent = element.offsetParent;\n\n  if (offsetParent) {\n    var html = getDocumentElement(offsetParent);\n\n    if (getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && getComputedStyle(html).position !== 'static') {\n      return html;\n    }\n  }\n\n  return offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var currentNode = getParentNode(element);\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.willChange && css.willChange !== 'auto') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static') {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/enums.js\nvar enums_top = 'top';\nvar bottom = 'bottom';\nvar right = 'right';\nvar left = 'left';\nvar auto = 'auto';\nvar basePlacements = [enums_top, bottom, right, left];\nvar start = 'start';\nvar end = 'end';\nvar clippingParents = 'clippingParents';\nvar viewport = 'viewport';\nvar popper = 'popper';\nvar reference = 'reference';\nvar variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar enums_placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/orderModifiers.js\n // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nfunction orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js\nfunction debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/format.js\nfunction format(str) {\n  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    args[_key - 1] = arguments[_key];\n  }\n\n  return [].concat(args).reduce(function (p, c) {\n    return p.replace(/%s/, c);\n  }, str);\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/validateModifiers.js\n\n\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];\nfunction validateModifiers(modifiers) {\n  modifiers.forEach(function (modifier) {\n    Object.keys(modifier).forEach(function (key) {\n      switch (key) {\n        case 'name':\n          if (typeof modifier.name !== 'string') {\n            console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', \"\\\"\" + String(modifier.name) + \"\\\"\"));\n          }\n\n          break;\n\n        case 'enabled':\n          if (typeof modifier.enabled !== 'boolean') {\n            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', \"\\\"\" + String(modifier.enabled) + \"\\\"\"));\n          }\n\n        case 'phase':\n          if (modifierPhases.indexOf(modifier.phase) < 0) {\n            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(', '), \"\\\"\" + String(modifier.phase) + \"\\\"\"));\n          }\n\n          break;\n\n        case 'fn':\n          if (typeof modifier.fn !== 'function') {\n            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n          }\n\n          break;\n\n        case 'effect':\n          if (typeof modifier.effect !== 'function') {\n            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n          }\n\n          break;\n\n        case 'requires':\n          if (!Array.isArray(modifier.requires)) {\n            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', \"\\\"\" + String(modifier.requires) + \"\\\"\"));\n          }\n\n          break;\n\n        case 'requiresIfExists':\n          if (!Array.isArray(modifier.requiresIfExists)) {\n            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', \"\\\"\" + String(modifier.requiresIfExists) + \"\\\"\"));\n          }\n\n          break;\n\n        case 'options':\n        case 'data':\n          break;\n\n        default:\n          console.error(\"PopperJS: an invalid property has been provided to the \\\"\" + modifier.name + \"\\\" modifier, valid properties are \" + VALID_PROPERTIES.map(function (s) {\n            return \"\\\"\" + s + \"\\\"\";\n          }).join(', ') + \"; but \\\"\" + key + \"\\\" was provided.\");\n      }\n\n      modifier.requires && modifier.requires.forEach(function (requirement) {\n        if (modifiers.find(function (mod) {\n          return mod.name === requirement;\n        }) == null) {\n          console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n        }\n      });\n    });\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/uniqueBy.js\nfunction uniqueBy(arr, fn) {\n  var identifiers = new Set();\n  return arr.filter(function (item) {\n    var identifier = fn(item);\n\n    if (!identifiers.has(identifier)) {\n      identifiers.add(identifier);\n      return true;\n    }\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\n\nfunction getBasePlacement(placement) {\n  return placement.split('-')[0];\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergeByName.js\nfunction mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {\n      options: Object.assign(Object.assign({}, existing.options), current.options),\n      data: Object.assign(Object.assign({}, existing.data), current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js\n\n\n\nfunction getViewportRect(element) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n  // can be obscured underneath it.\n  // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n  // if it isn't open, so if this isn't available, the popper will be detected\n  // to overflow the bottom of the screen too early.\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n    // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n    // errors due to floating point numbers, so we need to check precision.\n    // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n    // Feature detection fails in mobile emulation mode in Chrome.\n    // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n    // 0.001\n    // Fallback here: \"Not Safari\" userAgent\n\n    if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js\n\n\n\n // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = element.ownerDocument.body;\n  var width = Math.max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = Math.max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += Math.max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/contains.js\n\nfunction contains(parent, child) {\n  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (rootNode && isShadowRoot(rootNode)) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js\nfunction rectToClientRect(rect) {\n  return Object.assign(Object.assign({}, rect), {}, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getInnerBoundingClientRect(element) {\n  var rect = getBoundingClientRect(element);\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingRect(element, boundary, rootBoundary) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent);\n    accRect.top = Math.max(rect.top, accRect.top);\n    accRect.right = Math.min(rect.right, accRect.right);\n    accRect.bottom = Math.min(rect.bottom, accRect.bottom);\n    accRect.left = Math.max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromMixedType(element, firstClippingParent));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getVariation.js\nfunction getVariation(placement) {\n  return placement.split('-')[1];\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\nfunction getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeOffsets.js\n\n\n\n\nfunction computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case enums_top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js\nfunction getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js\n\nfunction mergePaddingObject(paddingObject) {\n  return Object.assign(Object.assign({}, getFreshSideObject()), paddingObject);\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js\nfunction expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/detectOverflow.js\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var referenceElement = state.elements.reference;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n  var referenceClientRect = getBoundingClientRect(referenceElement);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign(Object.assign({}, popperRect), popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [enums_top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/createPopper.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\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.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nfunction popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign(Object.assign({}, DEFAULT_OPTIONS), defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(options) {\n        cleanupModifierEffects();\n        state.options = Object.assign(Object.assign(Object.assign({}, defaultOptions), state.options), options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        }); // Validate the provided modifiers so that the consumer will get warned\n        // if one of the modifiers is invalid for any reason\n\n        if (true) {\n          var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n            var name = _ref.name;\n            return name;\n          });\n          validateModifiers(modifiers);\n\n          if (getBasePlacement(state.options.placement) === auto) {\n            var flipModifier = state.orderedModifiers.find(function (_ref2) {\n              var name = _ref2.name;\n              return name === 'flip';\n            });\n\n            if (!flipModifier) {\n              console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n            }\n          }\n\n          var _getComputedStyle = getComputedStyle(popper),\n              marginTop = _getComputedStyle.marginTop,\n              marginRight = _getComputedStyle.marginRight,\n              marginBottom = _getComputedStyle.marginBottom,\n              marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n          // cause bugs with positioning, so we'll warn the consumer\n\n\n          if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n            return parseFloat(margin);\n          })) {\n            console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n          }\n        }\n\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update – it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          if (true) {\n            console.error(INVALID_ELEMENT_ERROR);\n          }\n\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n        var __debug_loops__ = 0;\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (true) {\n            __debug_loops__ += 1;\n\n            if (__debug_loops__ > 100) {\n              console.error(INFINITE_LOOP_ERROR);\n              break;\n            }\n          }\n\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update – it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      if (true) {\n        console.error(INVALID_ELEMENT_ERROR);\n      }\n\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref3) {\n        var name = _ref3.name,\n            _ref3$options = _ref3.options,\n            options = _ref3$options === void 0 ? {} : _ref3$options,\n            effect = _ref3.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nvar createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\n\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\n // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var eventListeners = ({\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\n\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_popperOffsets = ({\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n  var x = _ref.x,\n      y = _ref.y;\n  var win = window;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: Math.round(x * dpr) / dpr || 0,\n    y: Math.round(y * dpr) / dpr || 0\n  };\n}\n\nfunction mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive,\n      roundOffsets = _ref2.roundOffsets;\n\n  var _ref3 = roundOffsets ? roundOffsetsByDPR(offsets) : offsets,\n      _ref3$x = _ref3.x,\n      x = _ref3$x === void 0 ? 0 : _ref3$x,\n      _ref3$y = _ref3.y,\n      y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = enums_top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n    /*:: offsetParent = (offsetParent: Element); */\n\n\n    if (placement === enums_top) {\n      sideY = bottom;\n      y -= offsetParent.clientHeight - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left) {\n      sideX = right;\n      x -= offsetParent.clientWidth - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n  var state = _ref4.state,\n      options = _ref4.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n      _options$roundOffsets = options.roundOffsets,\n      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n  if (true) {\n    var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n    if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n      return transitionProperty.indexOf(property) >= 0;\n    })) {\n      console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n    }\n  }\n\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign(Object.assign({}, state.styles.arrow), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_computeStyles = ({\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\n\n // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n  var state = _ref.state;\n  Object.keys(state.elements).forEach(function (name) {\n    var style = state.styles[name] || {};\n    var attributes = state.attributes[name] || {};\n    var element = state.elements[name]; // arrow is optional + virtual elements\n\n    if (!isHTMLElement(element) || !getNodeName(element)) {\n      return;\n    } // Flow doesn't support to extend this property, but it's the most\n    // effective way to apply styles to an HTMLElement\n    // $FlowFixMe[cannot-write]\n\n\n    Object.assign(element.style, style);\n    Object.keys(attributes).forEach(function (name) {\n      var value = attributes[name];\n\n      if (value === false) {\n        element.removeAttribute(name);\n      } else {\n        element.setAttribute(name, value === true ? '' : value);\n      }\n    });\n  });\n}\n\nfunction applyStyles_effect(_ref2) {\n  var state = _ref2.state;\n  var initialStyles = {\n    popper: {\n      position: state.options.strategy,\n      left: '0',\n      top: '0',\n      margin: '0'\n    },\n    arrow: {\n      position: 'absolute'\n    },\n    reference: {}\n  };\n  Object.assign(state.elements.popper.style, initialStyles.popper);\n\n  if (state.elements.arrow) {\n    Object.assign(state.elements.arrow.style, initialStyles.arrow);\n  }\n\n  return function () {\n    Object.keys(state.elements).forEach(function (name) {\n      var element = state.elements[name];\n      var attributes = state.attributes[name] || {};\n      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n      var style = styleProperties.reduce(function (style, property) {\n        style[property] = '';\n        return style;\n      }, {}); // arrow is optional + virtual elements\n\n      if (!isHTMLElement(element) || !getNodeName(element)) {\n        return;\n      }\n\n      Object.assign(element.style, style);\n      Object.keys(attributes).forEach(function (attribute) {\n        element.removeAttribute(attribute);\n      });\n    });\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_applyStyles = ({\n  name: 'applyStyles',\n  enabled: true,\n  phase: 'write',\n  fn: applyStyles,\n  effect: applyStyles_effect,\n  requires: ['computeStyles']\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/offset.js\n\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, enums_top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign(Object.assign({}, rects), {}, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = enums_placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_offset = ({\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js\nvar hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js\nvar getOppositeVariationPlacement_hash = {\n  start: 'end',\n  end: 'start'\n};\nfunction getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return getOppositeVariationPlacement_hash[matched];\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js\n\n\n\n\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\nfunction computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? enums_placements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements;\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n\n    if (true) {\n      console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n    }\n  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/flip.js\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [enums_top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : enums_top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases – research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_flip = ({\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getAltAxis.js\nfunction getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/within.js\nfunction within(min, value, max) {\n  return Math.max(min, Math.min(value, max));\n}\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\n\n\n\n\n\n\n\n\n\n\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign(Object.assign({}, state.rects), {}, {\n    placement: state.placement\n  })) : tetherOffset;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var mainSide = mainAxis === 'y' ? enums_top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = popperOffsets[mainAxis] + overflow[mainSide];\n    var max = popperOffsets[mainAxis] - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n    var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _mainSide = mainAxis === 'x' ? enums_top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var _preventedOffset = within(_min, _offset, _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_preventOverflow = ({\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/arrow.js\n\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = state.modifiersData[name + \"#persistent\"].padding;\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? enums_top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction arrow_effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,\n      _options$padding = options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (true) {\n    if (!isHTMLElement(arrowElement)) {\n      console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    if (true) {\n      console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n    }\n\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n  state.modifiersData[name + \"#persistent\"] = {\n    padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_arrow = ({\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: arrow_effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/hide.js\n\n\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [enums_top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ var modifiers_hide = ({\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n});\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/popper-lite.js\n\n\n\n\n\nvar defaultModifiers = [eventListeners, modifiers_popperOffsets, modifiers_computeStyles, modifiers_applyStyles];\nvar popper_lite_createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/index.js\n\n\n\n\n\n\n\n\n\n;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/popper.js\n\n\n\n\n\n\n\n\n\n\nvar popper_defaultModifiers = [eventListeners, modifiers_popperOffsets, modifiers_computeStyles, modifiers_applyStyles, modifiers_offset, modifiers_flip, modifiers_preventOverflow, modifiers_arrow, modifiers_hide];\nvar popper_createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: popper_defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n\n;// CONCATENATED MODULE: ./src/mixins/tooltip.ts\n\nfunction _newCreatePopper(reference, popper, placement, offset) {\n    return popper_createPopper(reference, popper, {\n        placement: placement,\n        modifiers: [\n            {\n                name: 'computeStyles',\n                options: {\n                    gpuAcceleration: false // 使用top/left属性。否则会和弹出器动画冲突\n                }\n            },\n            {\n                name: 'computeStyles',\n                options: {\n                    adaptive: false // 避免重新计算弹出器位置从而造成位置牛头不对马嘴\n                }\n            },\n            {\n                name: 'offset',\n                options: {\n                    offset: [offset] // 自定义弹出器出现位置的偏移量\n                }\n            }\n        ]\n    });\n}\n\n// EXTERNAL MODULE: ./src/mixins/warn.ts\nvar warn = __webpack_require__(\"./src/mixins/warn.ts\");\n;// CONCATENATED MODULE: ./src/mixins/index.ts\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/mixins/warn.ts\":\n/*!****************************!*\\\n  !*** ./src/mixins/warn.ts ***!\n  \\****************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": function() { return /* binding */ warn; }\n/* harmony export */ });\nfunction warn(msg) {\n    console.error(\"[Rabbit] Error: \" + msg);\n    return;\n}\n\n\n/***/ }),\n\n/***/ \"./src/utils/check-type.ts\":\n/*!*********************************!*\\\n  !*** ./src/utils/check-type.ts ***!\n  \\*********************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"isUndef\": function() { return /* binding */ isUndef; },\n/* harmony export */   \"isStr\": function() { return /* binding */ isStr; },\n/* harmony export */   \"isNum\": function() { return /* binding */ isNum; },\n/* harmony export */   \"isBol\": function() { return /* binding */ isBol; },\n/* harmony export */   \"isFn\": function() { return /* binding */ isFn; },\n/* harmony export */   \"isObj\": function() { return /* binding */ isObj; },\n/* harmony export */   \"isArr\": function() { return /* binding */ isArr; }\n/* harmony export */ });\n/* harmony import */ var _mixins_warn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../mixins/warn */ \"./src/mixins/warn.ts\");\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nvar typeOf = function (r) {\n    var s = Object.prototype.toString.call(r);\n    return s.match(/\\[object (.*?)\\]/)[1].toLowerCase();\n};\nvar errMsg = function (right, wrong) {\n    (0,_mixins_warn__WEBPACK_IMPORTED_MODULE_0__.default)(\"The expected type accepted is \" + right + \", but the error type currently in use is --> \" + wrong);\n    return false;\n};\nvar isUndef = function (r) { return typeof r === 'undefined'; };\nvar isStr = function (r) {\n    return typeof r === 'string' ? true : errMsg('string', typeOf(r));\n};\nvar isNum = function (r) {\n    return typeof r === 'number' ? true : errMsg('number', typeOf(r));\n};\nvar isBol = function (r) {\n    return typeof r === 'boolean' ? true : errMsg('boolean', typeOf(r));\n};\n/**\n *\n * @param r  函数名\n * @param param 回调附带的参数。有多个参数时使用数组传递\n */\nvar isFn = function (r, param) {\n    return typeof r === 'function' ? r(param) : errMsg('function', typeOf(r));\n};\nvar isObj = function (r) {\n    return r.constructor === Object ? true : errMsg('object', typeOf(r));\n};\nvar isArr = function (r) {\n    return r.constructor === Array ? true : errMsg('array', typeOf(r));\n};\n\n\n/***/ }),\n\n/***/ \"./src/utils/index.ts\":\n/*!****************************************!*\\\n  !*** ./src/utils/index.ts + 4 modules ***!\n  \\****************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"destroyElem\": function() { return /* reexport */ destroyElem; },\n  \"destroyElemByKey\": function() { return /* reexport */ destroyElemByKey; },\n  \"randomStr\": function() { return /* reexport */ random_str; },\n  \"type\": function() { return /* reexport */ check_type; },\n  \"useHTMLString\": function() { return /* reexport */ isUseHTMLString; },\n  \"validComps\": function() { return /* reexport */ validComps; }\n});\n\n// EXTERNAL MODULE: ./src/utils/check-type.ts\nvar check_type = __webpack_require__(\"./src/utils/check-type.ts\");\n// EXTERNAL MODULE: ./src/mixins/index.ts + 63 modules\nvar mixins = __webpack_require__(\"./src/mixins/index.ts\");\n;// CONCATENATED MODULE: ./src/utils/destroy.ts\n\nfunction destroyElem(elem, _a) {\n    var _b = _a.fadeOut, fadeOut = _b === void 0 ? false : _b, clsLeave = _a.clsLeave, clsEnter = _a.clsEnter, _c = _a.duration, duration = _c === void 0 ? 3 : _c, _d = _a.transitionTime, transitionTime = _d === void 0 ? 250 : _d, _e = _a.destroy, destroy = _e === void 0 ? true : _e;\n    var timer = null;\n    // 方式一：是否只用淡出效果\n    if (fadeOut) {\n        isDismiss();\n        (0,mixins.CssTransition)(elem, {\n            inOrOut: 'out',\n            enterCls: 'rab-fade-in',\n            leaveCls: 'rab-fade-out',\n            timeout: 250\n        });\n        return;\n    }\n    // 方式二：手动配置过渡效果和过渡时间\n    timer = setTimeout(function () {\n        isDismiss();\n        (0,mixins.CssTransition)(elem, {\n            inOrOut: 'out',\n            enterCls: clsEnter,\n            leaveCls: clsLeave,\n            timeout: transitionTime\n        });\n    }, duration * 1000);\n    // 自动关闭的延时为 0 则不关闭\n    duration <= 0 ? clearTimeout(timer) : timer;\n    // 判断需要销毁或者是仅隐藏元素\n    function isDismiss() {\n        setTimeout(function () {\n            if (destroy) {\n                elem.remove();\n                elem = null; // 释放内存\n            }\n        }, transitionTime);\n    }\n}\nfunction destroyElemByKey(options) {\n    var prefixKey = options.prefixKey, key = options.key;\n    var target = document.querySelector(\"[\" + prefixKey + \"-key=\\\"\" + key + \"\\\"]\");\n    // 传入的key是否选取得到对应的元素\n    if (target) {\n        destroyElem(target, options);\n    }\n}\n\n;// CONCATENATED MODULE: ./src/utils/random-str.ts\n// 生成随机字符串\n/* harmony default export */ function random_str(len) {\n    if (len === void 0) { len = 32; }\n    var $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';\n    var maxPos = $chars.length;\n    var str = '', i = 0;\n    for (; i < len; i++) {\n        str += $chars.charAt(Math.floor(Math.random() * maxPos));\n    }\n    return str;\n}\n\n// EXTERNAL MODULE: ./src/dom-utils/index.ts + 5 modules\nvar dom_utils = __webpack_require__(\"./src/dom-utils/index.ts\");\n;// CONCATENATED MODULE: ./src/utils/use-html-string.ts\n\n/**\n * 设置属性是否支持传入 HTML 片段\n * @param elem\n * @param content\n * @param use\n */\nfunction isUseHTMLString(elem, content, use) {\n    use ? (0,dom_utils.setHtml)(elem, content) : (0,dom_utils.setText)(elem, content);\n}\n\n;// CONCATENATED MODULE: ./src/utils/validComps.ts\n/**\n * 检查是否为有效并且正确的组件\n */\nfunction validComps(target, compName) {\n    var r = '[Rabbit] Error: ';\n    if (!target) {\n        throw new Error(\"The target element you selected for configuration does not exist -- > '\" + target + \"'. This error occurred in the \" + compName + \" component\");\n    }\n    var targetName = target.tagName.toLowerCase().replace(/r-/, '');\n    if (targetName !== compName) {\n        throw (new Error().message = r + \"The configured component was selected incorrectly, it is not a \" + compName + \" component --> \\\"\" + targetName + \"\\\"\");\n    }\n}\n\n;// CONCATENATED MODULE: ./src/utils/index.ts\n\n\n\n\n\n\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(\"./src/build-umd.ts\");\n/******/ })()\n;\n});\n//# sourceMappingURL=rabbit.js.map"
  },
  {
    "path": "dist/styles/rabbit.css",
    "content": "/*!\n* RabbitUI\n* Web: https://www.rabbitui.cn\n* Github: https://github.com/niu-grandpa/rabbit-ui\n* Author: 钟瑞鸿 (Ryan John)\n*/.rab-load-loop{-webkit-animation:ani-load-loop 1s linear infinite;animation:ani-load-loop 1s linear infinite}@-webkit-keyframes ani-load-loop{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes ani-load-loop{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.input-group-error-append,.input-group-error-prepend{background-color:#fff;border:1px solid #ff4d4f}.input-group-error-append .rab-select-selection,.input-group-error-prepend .rab-select-selection{background-color:inherit;border:1px solid transparent}.input-group-error-prepend{border-right:0}.input-group-error-append{border-left:0}\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}*,:after,:before{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color,Segoe UI Symbol,Noto Color;font-size:14px;line-height:1.5;color:#55585e;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article,aside,blockquote,body,button,dd,details,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,input,legend,li,menu,nav,ol,p,section,td,textarea,th,ul{margin:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}input::-ms-clear,input::-ms-reveal{display:none}a{color:#1890ff;background:transparent;text-decoration:none;outline:none;cursor:pointer;transition:color .2s ease}a:hover{color:#46a6ff}a:active{color:#1789f2}a:active,a:hover{outline:0;text-decoration:none}a[disabled]{color:#ccc;cursor:not-allowed;pointer-events:none}p{margin-top:0;margin-bottom:1rem}code{padding:.2em .4em;margin:0;font-size:85%;background-color:#fff5f5;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;color:#fa795e}code,kbd,pre,samp{font-family:Consolas,Menlo,Courier,monospace}hr{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}@font-face{font-family:Iconfont;src:url(../fonts/iconfont.eot);src:url(../fonts/iconfont.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/iconfont.woff2) format(\"woff2\"),url(../fonts/iconfont.woff) format(\"woff\"),url(../fonts/iconfont.ttf) format(\"truetype\"),url(../fonts/iconfont.svg#iconfont) format(\"svg\");font-weight:400;font-style:normal}.rab-icon{display:inline-block;font-family:Iconfont;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:optimizeLegibility;line-height:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:inherit;text-align:center}.rab-icon-ios-alert-outline:before{content:\"\\e8b7\"}.rab-icon-rabbit:before{content:\"\\e600\"}.rab-icon-403:before{content:\"\\e8b6\"}.rab-icon-500:before{content:\"\\e8bc\"}.rab-icon-4042:before{content:\"\\ef05\"}.rab-icon-loading-solid:before{content:\"\\e8b4\"}.rab-icon-loading1:before{content:\"\\e8b5\"}.rab-icon-md-arrow-dropup-circle:before{content:\"\\e638\"}.rab-icon-md-swap:before{content:\"\\e738\"}.rab-icon-ios-person-add:before{content:\"\\e838\"}.rab-icon-md-arrow-dropup:before{content:\"\\e639\"}.rab-icon-md-sunny:before{content:\"\\e739\"}.rab-icon-ios-phone-landscape:before{content:\"\\e839\"}.rab-icon-md-arrow-round-down:before{content:\"\\e63a\"}.rab-icon-md-subway:before{content:\"\\e73a\"}.rab-icon-ios-photos:before{content:\"\\e83a\"}.rab-icon-md-arrow-forward:before{content:\"\\e63b\"}.rab-icon-md-switch:before{content:\"\\e73b\"}.rab-icon-ios-pin:before{content:\"\\e83b\"}.rab-icon-md-arrow-round-back:before{content:\"\\e63c\"}.rab-icon-md-tablet-landscape:before{content:\"\\e73c\"}.rab-icon-ios-pie:before{content:\"\\e83c\"}.rab-icon-md-arrow-up:before{content:\"\\e63d\"}.rab-icon-md-sync:before{content:\"\\e73d\"}.rab-icon-ios-pint:before{content:\"\\e83d\"}.rab-icon-md-arrow-round-up:before{content:\"\\e63e\"}.rab-icon-md-text:before{content:\"\\e73e\"}.rab-icon-ios-partly-sunny:before{content:\"\\e83e\"}.rab-icon-md-arrow-round-forward:before{content:\"\\e63f\"}.rab-icon-md-tablet-portrait:before{content:\"\\e73f\"}.rab-icon-ios-planet:before{content:\"\\e83f\"}.rab-icon-md-backspace:before{content:\"\\e640\"}.rab-icon-md-tennisball:before{content:\"\\e740\"}.rab-icon-ios-pizza:before{content:\"\\e840\"}.rab-icon-md-at:before{content:\"\\e641\"}.rab-icon-md-thermometer:before{content:\"\\e741\"}.rab-icon-ios-play:before{content:\"\\e841\"}.rab-icon-md-attach:before{content:\"\\e642\"}.rab-icon-md-thumbs-up:before{content:\"\\e742\"}.rab-icon-ios-play-circle:before{content:\"\\e842\"}.rab-icon-md-basket:before{content:\"\\e643\"}.rab-icon-md-thumbs-down:before{content:\"\\e743\"}.rab-icon-ios-podium:before{content:\"\\e843\"}.rab-icon-md-battery-dead:before{content:\"\\e644\"}.rab-icon-md-stats:before{content:\"\\e744\"}.rab-icon-ios-power:before{content:\"\\e844\"}.rab-icon-md-basketball:before{content:\"\\e645\"}.rab-icon-md-thunderstorm:before{content:\"\\e745\"}.rab-icon-ios-pricetag:before{content:\"\\e845\"}.rab-icon-md-battery-charging:before{content:\"\\e646\"}.rab-icon-md-time:before{content:\"\\e746\"}.rab-icon-ios-pricetags:before{content:\"\\e846\"}.rab-icon-md-battery-full:before{content:\"\\e647\"}.rab-icon-md-timer:before{content:\"\\e747\"}.rab-icon-ios-print:before{content:\"\\e847\"}.rab-icon-md-bed:before{content:\"\\e648\"}.rab-icon-md-today:before{content:\"\\e748\"}.rab-icon-ios-pulse:before{content:\"\\e848\"}.rab-icon-md-baseball:before{content:\"\\e649\"}.rab-icon-md-transgender:before{content:\"\\e749\"}.rab-icon-ios-qr-scanner:before{content:\"\\e849\"}.rab-icon-md-barcode:before{content:\"\\e64a\"}.rab-icon-md-trash:before{content:\"\\e74a\"}.rab-icon-ios-quote:before{content:\"\\e84a\"}.rab-icon-md-beaker:before{content:\"\\e64b\"}.rab-icon-md-trending-down:before{content:\"\\e74b\"}.rab-icon-ios-radio-button-off:before{content:\"\\e84b\"}.rab-icon-md-bluetooth:before{content:\"\\e64c\"}.rab-icon-md-trending-up:before{content:\"\\e74c\"}.rab-icon-ios-radio-button-on:before{content:\"\\e84c\"}.rab-icon-md-body:before{content:\"\\e64d\"}.rab-icon-md-tv:before{content:\"\\e74d\"}.rab-icon-ios-radio:before{content:\"\\e84d\"}.rab-icon-md-bonfire:before{content:\"\\e64e\"}.rab-icon-md-trophy:before{content:\"\\e74e\"}.rab-icon-ios-recording:before{content:\"\\e84e\"}.rab-icon-md-bicycle:before{content:\"\\e64f\"}.rab-icon-md-umbrella:before{content:\"\\e74f\"}.rab-icon-ios-redo:before{content:\"\\e84f\"}.rab-icon-md-beer:before{content:\"\\e650\"}.rab-icon-md-undo:before{content:\"\\e750\"}.rab-icon-ios-refresh:before{content:\"\\e850\"}.rab-icon-md-book:before{content:\"\\e651\"}.rab-icon-md-videocam:before{content:\"\\e751\"}.rab-icon-ios-refresh-circle:before{content:\"\\e851\"}.rab-icon-md-boat:before{content:\"\\e652\"}.rab-icon-md-volume-mute:before{content:\"\\e752\"}.rab-icon-ios-remove:before{content:\"\\e852\"}.rab-icon-md-bookmark:before{content:\"\\e653\"}.rab-icon-md-volume-low:before{content:\"\\e753\"}.rab-icon-ios-remove-circle-outline:before{content:\"\\e853\"}.rab-icon-md-bookmarks:before{content:\"\\e654\"}.rab-icon-md-volume-high:before{content:\"\\e754\"}.rab-icon-ios-remove-circle:before{content:\"\\e854\"}.rab-icon-md-bowtie:before{content:\"\\e655\"}.rab-icon-md-train:before{content:\"\\e755\"}.rab-icon-ios-reorder:before{content:\"\\e855\"}.rab-icon-md-briefcase:before{content:\"\\e656\"}.rab-icon-md-walk:before{content:\"\\e756\"}.rab-icon-ios-resize:before{content:\"\\e856\"}.rab-icon-md-browsers:before{content:\"\\e657\"}.rab-icon-md-wallet:before{content:\"\\e757\"}.rab-icon-ios-repeat:before{content:\"\\e857\"}.rab-icon-md-brush:before{content:\"\\e658\"}.rab-icon-md-unlock:before{content:\"\\e758\"}.rab-icon-ios-rainy:before{content:\"\\e858\"}.rab-icon-md-bug:before{content:\"\\e659\"}.rab-icon-md-warning:before{content:\"\\e759\"}.rab-icon-ios-return-left:before{content:\"\\e859\"}.rab-icon-md-build:before{content:\"\\e65a\"}.rab-icon-md-volume-off:before{content:\"\\e75a\"}.rab-icon-ios-restaurant:before{content:\"\\e85a\"}.rab-icon-md-bulb:before{content:\"\\e65b\"}.rab-icon-md-water:before{content:\"\\e75b\"}.rab-icon-ios-return-right:before{content:\"\\e85b\"}.rab-icon-md-business:before{content:\"\\e65c\"}.rab-icon-md-watch:before{content:\"\\e75c\"}.rab-icon-ios-rewind:before{content:\"\\e85c\"}.rab-icon-md-cafe:before{content:\"\\e65d\"}.rab-icon-md-woman:before{content:\"\\e75d\"}.rab-icon-ios-reverse-camera:before{content:\"\\e85d\"}.rab-icon-md-bus:before{content:\"\\e65e\"}.rab-icon-md-wine:before{content:\"\\e75e\"}.rab-icon-ios-ribbon:before{content:\"\\e85e\"}.rab-icon-md-calculator:before{content:\"\\e65f\"}.rab-icon-md-wifi:before{content:\"\\e75f\"}.rab-icon-ios-rocket:before{content:\"\\e85f\"}.rab-icon-md-call:before{content:\"\\e660\"}.rab-icon-ios-add:before{content:\"\\e760\"}.rab-icon-ios-rose:before{content:\"\\e860\"}.rab-icon-md-car:before{content:\"\\e661\"}.rab-icon-ios-add-circle:before{content:\"\\e761\"}.rab-icon-ios-sad:before{content:\"\\e861\"}.rab-icon-md-camera:before{content:\"\\e662\"}.rab-icon-ios-add-circle-outline:before{content:\"\\e762\"}.rab-icon-ios-save:before{content:\"\\e862\"}.rab-icon-md-card:before{content:\"\\e663\"}.rab-icon-ios-albums:before{content:\"\\e763\"}.rab-icon-ios-search:before{content:\"\\e863\"}.rab-icon-md-cash:before{content:\"\\e664\"}.rab-icon-ios-airplane:before{content:\"\\e764\"}.rab-icon-ios-school:before{content:\"\\e864\"}.rab-icon-md-cellular:before{content:\"\\e665\"}.rab-icon-ios-alarm:before{content:\"\\e765\"}.rab-icon-ios-send:before{content:\"\\e865\"}.rab-icon-md-cart:before{content:\"\\e666\"}.rab-icon-ios-alert:before{content:\"\\e766\"}.rab-icon-ios-share:before{content:\"\\e866\"}.rab-icon-md-calendar:before{content:\"\\e667\"}.rab-icon-ios-analytics:before{content:\"\\e767\"}.rab-icon-ios-settings:before{content:\"\\e867\"}.rab-icon-md-chatbubbles:before{content:\"\\e668\"}.rab-icon-ios-appstore:before{content:\"\\e768\"}.rab-icon-ios-share-alt:before{content:\"\\e868\"}.rab-icon-md-chatboxes:before{content:\"\\e669\"}.rab-icon-ios-aperture:before{content:\"\\e769\"}.rab-icon-ios-shirt:before{content:\"\\e869\"}.rab-icon-md-checkbox:before{content:\"\\e66a\"}.rab-icon-ios-apps:before{content:\"\\e76a\"}.rab-icon-ios-shuffle:before{content:\"\\e86a\"}.rab-icon-md-checkmark:before{content:\"\\e66b\"}.rab-icon-ios-archive:before{content:\"\\e76b\"}.rab-icon-ios-skip-backward:before{content:\"\\e86b\"}.rab-icon-md-checkbox-outline:before{content:\"\\e66c\"}.rab-icon-ios-american-football:before{content:\"\\e76c\"}.rab-icon-ios-skip-forward:before{content:\"\\e86c\"}.rab-icon-md-checkmark-circle:before{content:\"\\e66d\"}.rab-icon-ios-arrow-back:before{content:\"\\e76d\"}.rab-icon-ios-speedometer:before{content:\"\\e86d\"}.rab-icon-md-checkmark-circle-outline:before{content:\"\\e66e\"}.rab-icon-ios-arrow-down:before{content:\"\\e76e\"}.rab-icon-ios-square:before{content:\"\\e86e\"}.rab-icon-md-clipboard:before{content:\"\\e66f\"}.rab-icon-ios-arrow-dropdown-circle:before{content:\"\\e76f\"}.rab-icon-ios-square-outline:before{content:\"\\e86f\"}.rab-icon-md-close:before{content:\"\\e670\"}.rab-icon-ios-arrow-dropdown:before{content:\"\\e770\"}.rab-icon-ios-star:before{content:\"\\e870\"}.rab-icon-md-close-circle:before{content:\"\\e671\"}.rab-icon-ios-arrow-dropleft:before{content:\"\\e771\"}.rab-icon-ios-star-half:before{content:\"\\e871\"}.rab-icon-md-clock:before{content:\"\\e672\"}.rab-icon-ios-arrow-dropleft-circle:before{content:\"\\e772\"}.rab-icon-ios-star-outline:before{content:\"\\e872\"}.rab-icon-md-close-circle-outline:before{content:\"\\e673\"}.rab-icon-ios-arrow-dropright-circle:before{content:\"\\e773\"}.rab-icon-ios-stats:before{content:\"\\e873\"}.rab-icon-md-cloud:before{content:\"\\e674\"}.rab-icon-ios-arrow-dropright:before{content:\"\\e774\"}.rab-icon-ios-snow:before{content:\"\\e874\"}.rab-icon-md-cloud-circle:before{content:\"\\e675\"}.rab-icon-ios-arrow-dropup:before{content:\"\\e775\"}.rab-icon-ios-stopwatch:before{content:\"\\e875\"}.rab-icon-md-cloud-done:before{content:\"\\e676\"}.rab-icon-ios-arrow-dropup-circle:before{content:\"\\e776\"}.rab-icon-ios-sunny:before{content:\"\\e876\"}.rab-icon-md-cloud-download:before{content:\"\\e677\"}.rab-icon-ios-arrow-forward:before{content:\"\\e777\"}.rab-icon-ios-subway:before{content:\"\\e877\"}.rab-icon-md-cloud-outline:before{content:\"\\e678\"}.rab-icon-ios-arrow-round-back:before{content:\"\\e778\"}.rab-icon-ios-swap:before{content:\"\\e878\"}.rab-icon-md-cloudy:before{content:\"\\e679\"}.rab-icon-ios-arrow-round-down:before{content:\"\\e779\"}.rab-icon-ios-switch:before{content:\"\\e879\"}.rab-icon-md-cloudy-night:before{content:\"\\e67a\"}.rab-icon-ios-arrow-round-forward:before{content:\"\\e77a\"}.rab-icon-ios-tablet-landscape:before{content:\"\\e87a\"}.rab-icon-md-code-download:before{content:\"\\e67b\"}.rab-icon-ios-arrow-round-up:before{content:\"\\e77b\"}.rab-icon-ios-sync:before{content:\"\\e87b\"}.rab-icon-md-code-working:before{content:\"\\e67c\"}.rab-icon-ios-arrow-up:before{content:\"\\e77c\"}.rab-icon-ios-tablet-portrait:before{content:\"\\e87c\"}.rab-icon-md-color-fill:before{content:\"\\e67d\"}.rab-icon-ios-at:before{content:\"\\e77d\"}.rab-icon-ios-text:before{content:\"\\e87d\"}.rab-icon-md-color-filter:before{content:\"\\e67e\"}.rab-icon-ios-attach:before{content:\"\\e77e\"}.rab-icon-ios-thermometer:before{content:\"\\e87e\"}.rab-icon-md-cog:before{content:\"\\e67f\"}.rab-icon-ios-backspace:before{content:\"\\e77f\"}.rab-icon-ios-tennisball:before{content:\"\\e87f\"}.rab-icon-md-compass:before{content:\"\\e680\"}.rab-icon-ios-barcode:before{content:\"\\e780\"}.rab-icon-ios-thumbs-down:before{content:\"\\e880\"}.rab-icon-md-color-palette:before{content:\"\\e681\"}.rab-icon-ios-basketball:before{content:\"\\e781\"}.rab-icon-ios-thunderstorm:before{content:\"\\e881\"}.rab-icon-md-color-wand:before{content:\"\\e682\"}.rab-icon-ios-basket:before{content:\"\\e782\"}.rab-icon-ios-thumbs-up:before{content:\"\\e882\"}.rab-icon-md-cloud-upload:before{content:\"\\e683\"}.rab-icon-ios-battery-charging:before{content:\"\\e783\"}.rab-icon-ios-time:before{content:\"\\e883\"}.rab-icon-md-contact:before{content:\"\\e684\"}.rab-icon-ios-battery-dead:before{content:\"\\e784\"}.rab-icon-ios-today:before{content:\"\\e884\"}.rab-icon-md-contacts:before{content:\"\\e685\"}.rab-icon-ios-baseball:before{content:\"\\e785\"}.rab-icon-ios-timer:before{content:\"\\e885\"}.rab-icon-md-code:before{content:\"\\e686\"}.rab-icon-ios-beaker:before{content:\"\\e786\"}.rab-icon-ios-train:before{content:\"\\e886\"}.rab-icon-md-contrast:before{content:\"\\e687\"}.rab-icon-ios-bed:before{content:\"\\e787\"}.rab-icon-ios-trash:before{content:\"\\e887\"}.rab-icon-md-construct:before{content:\"\\e688\"}.rab-icon-ios-beer:before{content:\"\\e788\"}.rab-icon-ios-trending-down:before{content:\"\\e888\"}.rab-icon-md-copy:before{content:\"\\e689\"}.rab-icon-ios-bluetooth:before{content:\"\\e789\"}.rab-icon-ios-transgender:before{content:\"\\e889\"}.rab-icon-md-contract:before{content:\"\\e68a\"}.rab-icon-ios-bicycle:before{content:\"\\e78a\"}.rab-icon-ios-trending-up:before{content:\"\\e88a\"}.rab-icon-md-create:before{content:\"\\e68b\"}.rab-icon-ios-boat:before{content:\"\\e78b\"}.rab-icon-ios-trophy:before{content:\"\\e88b\"}.rab-icon-md-crop:before{content:\"\\e68c\"}.rab-icon-ios-battery-full:before{content:\"\\e78c\"}.rab-icon-ios-tv:before{content:\"\\e88c\"}.rab-icon-md-cube:before{content:\"\\e68d\"}.rab-icon-ios-body:before{content:\"\\e78d\"}.rab-icon-ios-undo:before{content:\"\\e88d\"}.rab-icon-md-cut:before{content:\"\\e68e\"}.rab-icon-ios-book:before{content:\"\\e78e\"}.rab-icon-ios-umbrella:before{content:\"\\e88e\"}.rab-icon-md-disc:before{content:\"\\e68f\"}.rab-icon-ios-bookmark:before{content:\"\\e78f\"}.rab-icon-ios-unlock:before{content:\"\\e88f\"}.rab-icon-md-desktop:before{content:\"\\e690\"}.rab-icon-ios-bonfire:before{content:\"\\e790\"}.rab-icon-ios-videocam:before{content:\"\\e890\"}.rab-icon-md-document:before{content:\"\\e691\"}.rab-icon-ios-bowtie:before{content:\"\\e791\"}.rab-icon-ios-volume-high:before{content:\"\\e891\"}.rab-icon-md-download:before{content:\"\\e692\"}.rab-icon-ios-bookmarks:before{content:\"\\e792\"}.rab-icon-ios-volume-low:before{content:\"\\e892\"}.rab-icon-md-done-all:before{content:\"\\e693\"}.rab-icon-ios-briefcase:before{content:\"\\e793\"}.rab-icon-ios-volume-mute:before{content:\"\\e893\"}.rab-icon-md-easel:before{content:\"\\e694\"}.rab-icon-ios-browsers:before{content:\"\\e794\"}.rab-icon-ios-volume-off:before{content:\"\\e894\"}.rab-icon-md-exit:before{content:\"\\e695\"}.rab-icon-ios-brush:before{content:\"\\e795\"}.rab-icon-ios-wallet:before{content:\"\\e895\"}.rab-icon-md-expand:before{content:\"\\e696\"}.rab-icon-ios-build:before{content:\"\\e796\"}.rab-icon-ios-warning:before{content:\"\\e896\"}.rab-icon-md-eye:before{content:\"\\e697\"}.rab-icon-ios-bulb:before{content:\"\\e797\"}.rab-icon-ios-walk:before{content:\"\\e897\"}.rab-icon-md-eye-off:before{content:\"\\e698\"}.rab-icon-ios-bug:before{content:\"\\e798\"}.rab-icon-ios-water:before{content:\"\\e898\"}.rab-icon-md-fastforward:before{content:\"\\e699\"}.rab-icon-ios-bus:before{content:\"\\e799\"}.rab-icon-ios-wifi:before{content:\"\\e899\"}.rab-icon-md-female:before{content:\"\\e69a\"}.rab-icon-ios-cafe:before{content:\"\\e79a\"}.rab-icon-ios-watch:before{content:\"\\e89a\"}.rab-icon-md-fitness:before{content:\"\\e69b\"}.rab-icon-ios-business:before{content:\"\\e79b\"}.rab-icon-ios-wine:before{content:\"\\e89b\"}.rab-icon-md-film:before{content:\"\\e69c\"}.rab-icon-ios-calculator:before{content:\"\\e79c\"}.rab-icon-ios-woman:before{content:\"\\e89c\"}.rab-icon-md-flag:before{content:\"\\e69d\"}.rab-icon-ios-calendar:before{content:\"\\e79d\"}.rab-icon-logo-android:before{content:\"\\e89d\"}.rab-icon-md-flash:before{content:\"\\e69e\"}.rab-icon-ios-call:before{content:\"\\e79e\"}.rab-icon-logo-bitbucket:before{content:\"\\e89e\"}.rab-icon-md-flashlight:before{content:\"\\e69f\"}.rab-icon-ios-camera:before{content:\"\\e79f\"}.rab-icon-logo-apple:before{content:\"\\e89f\"}.rab-icon-md-flask:before{content:\"\\e6a0\"}.rab-icon-ios-car:before{content:\"\\e7a0\"}.rab-icon-logo-bitcoin:before{content:\"\\e8a0\"}.rab-icon-md-flash-off:before{content:\"\\e6a1\"}.rab-icon-ios-card:before{content:\"\\e7a1\"}.rab-icon-logo-buffer:before{content:\"\\e8a1\"}.rab-icon-md-egg:before{content:\"\\e6a2\"}.rab-icon-ios-cart:before{content:\"\\e7a2\"}.rab-icon-logo-chrome:before{content:\"\\e8a2\"}.rab-icon-md-folder:before{content:\"\\e6a3\"}.rab-icon-ios-cellular:before{content:\"\\e7a3\"}.rab-icon-logo-css:before{content:\"\\e8a3\"}.rab-icon-md-finger-print:before{content:\"\\e6a4\"}.rab-icon-ios-cash:before{content:\"\\e7a4\"}.rab-icon-logo-closed-captioning:before{content:\"\\e8a4\"}.rab-icon-md-filing:before{content:\"\\e6a5\"}.rab-icon-ios-chatboxes:before{content:\"\\e7a5\"}.rab-icon-logo-designernews:before{content:\"\\e8a5\"}.rab-icon-md-flower:before{content:\"\\e6a6\"}.rab-icon-ios-checkbox:before{content:\"\\e7a6\"}.rab-icon-logo-angular:before{content:\"\\e8a6\"}.rab-icon-md-flame:before{content:\"\\e6a7\"}.rab-icon-ios-chatbubbles:before{content:\"\\e7a7\"}.rab-icon-logo-codepen:before{content:\"\\e8a7\"}.rab-icon-md-folder-open:before{content:\"\\e6a8\"}.rab-icon-ios-checkmark:before{content:\"\\e7a8\"}.rab-icon-logo-dribbble:before{content:\"\\e8a8\"}.rab-icon-md-gift:before{content:\"\\e6a9\"}.rab-icon-ios-checkmark-circle:before{content:\"\\e7a9\"}.rab-icon-logo-dropbox:before{content:\"\\e8a9\"}.rab-icon-md-funnel:before{content:\"\\e6aa\"}.rab-icon-ios-checkbox-outline:before{content:\"\\e7aa\"}.rab-icon-logo-facebook:before{content:\"\\e8aa\"}.rab-icon-md-football:before{content:\"\\e6ab\"}.rab-icon-ios-checkmark-circle-outline:before{content:\"\\e7ab\"}.rab-icon-logo-flickr:before{content:\"\\e8ab\"}.rab-icon-md-git-commit:before{content:\"\\e6ac\"}.rab-icon-ios-clipboard:before{content:\"\\e7ac\"}.rab-icon-logo-euro:before{content:\"\\e8ac\"}.rab-icon-md-git-branch:before{content:\"\\e6ad\"}.rab-icon-ios-clock:before{content:\"\\e7ad\"}.rab-icon-logo-foursquare:before{content:\"\\e8ad\"}.rab-icon-md-git-compare:before{content:\"\\e6ae\"}.rab-icon-ios-close:before{content:\"\\e7ae\"}.rab-icon-logo-freebsd-devil:before{content:\"\\e8ae\"}.rab-icon-md-git-merge:before{content:\"\\e6af\"}.rab-icon-ios-close-circle-outline:before{content:\"\\e7af\"}.rab-icon-logo-game-controller-a:before{content:\"\\e8af\"}.rab-icon-md-git-pull-request:before{content:\"\\e6b0\"}.rab-icon-ios-close-circle:before{content:\"\\e7b0\"}.rab-icon-logo-github:before{content:\"\\e8b0\"}.rab-icon-md-git-network:before{content:\"\\e6b1\"}.rab-icon-ios-cloud:before{content:\"\\e7b1\"}.rab-icon-logo-google:before{content:\"\\e8b1\"}.rab-icon-md-glasses:before{content:\"\\e6b2\"}.rab-icon-ios-cloud-circle:before{content:\"\\e7b2\"}.rab-icon-logo-game-controller-b:before{content:\"\\e8b2\"}.rab-icon-md-grid:before{content:\"\\e6b3\"}.rab-icon-ios-cloud-done:before{content:\"\\e7b3\"}.rab-icon-logo-googleplus:before{content:\"\\e8b3\"}.rab-icon-md-happy:before{content:\"\\e6b4\"}.rab-icon-ios-cloud-download:before{content:\"\\e7b4\"}.rab-icon-md-hammer:before{content:\"\\e6b5\"}.rab-icon-ios-cloud-upload:before{content:\"\\e7b5\"}.rab-icon-md-headset:before{content:\"\\e6b6\"}.rab-icon-ios-cloud-outline:before{content:\"\\e7b6\"}.rab-icon-md-hand:before{content:\"\\e6b7\"}.rab-icon-ios-cloudy:before{content:\"\\e7b7\"}.rab-icon-md-heart-dislike:before{content:\"\\e6b8\"}.rab-icon-ios-code:before{content:\"\\e7b8\"}.rab-icon-md-heart:before{content:\"\\e6b9\"}.rab-icon-ios-cloudy-night:before{content:\"\\e7b9\"}.rab-icon-md-heart-empty:before{content:\"\\e6ba\"}.rab-icon-ios-code-download:before{content:\"\\e7ba\"}.rab-icon-md-heart-half:before{content:\"\\e6bb\"}.rab-icon-ios-code-working:before{content:\"\\e7bb\"}.rab-icon-md-help:before{content:\"\\e6bc\"}.rab-icon-ios-color-fill:before{content:\"\\e7bc\"}.rab-icon-md-help-buoy:before{content:\"\\e6bd\"}.rab-icon-ios-cog:before{content:\"\\e7bd\"}.rab-icon-md-help-circle-outline:before{content:\"\\e6be\"}.rab-icon-ios-color-palette:before{content:\"\\e7be\"}.rab-icon-md-home:before{content:\"\\e6bf\"}.rab-icon-ios-color-filter:before{content:\"\\e7bf\"}.rab-icon-md-hourglass:before{content:\"\\e6c0\"}.rab-icon-ios-compass:before{content:\"\\e7c0\"}.rab-icon-md-ice-cream:before{content:\"\\e6c1\"}.rab-icon-ios-color-wand:before{content:\"\\e7c1\"}.rab-icon-md-globe:before{content:\"\\e6c2\"}.rab-icon-ios-construct:before{content:\"\\e7c2\"}.rab-icon-md-image:before{content:\"\\e6c3\"}.rab-icon-ios-contact:before{content:\"\\e7c3\"}.rab-icon-md-help-circle:before{content:\"\\e6c4\"}.rab-icon-ios-contract:before{content:\"\\e7c4\"}.rab-icon-md-infinite:before{content:\"\\e6c5\"}.rab-icon-ios-contacts:before{content:\"\\e7c5\"}.rab-icon-md-information:before{content:\"\\e6c6\"}.rab-icon-ios-create:before{content:\"\\e7c6\"}.rab-icon-md-images:before{content:\"\\e6c7\"}.rab-icon-ios-crop:before{content:\"\\e7c7\"}.rab-icon-md-information-circle:before{content:\"\\e6c8\"}.rab-icon-ios-contrast:before{content:\"\\e7c8\"}.rab-icon-md-information-circle-outline:before{content:\"\\e6c9\"}.rab-icon-ios-copy:before{content:\"\\e7c9\"}.rab-icon-md-jet:before{content:\"\\e6ca\"}.rab-icon-ios-cut:before{content:\"\\e7ca\"}.rab-icon-md-journal:before{content:\"\\e6cb\"}.rab-icon-ios-cube:before{content:\"\\e7cb\"}.rab-icon-md-key:before{content:\"\\e6cc\"}.rab-icon-ios-desktop:before{content:\"\\e7cc\"}.rab-icon-md-keypad:before{content:\"\\e6cd\"}.rab-icon-ios-document:before{content:\"\\e7cd\"}.rab-icon-md-laptop:before{content:\"\\e6ce\"}.rab-icon-ios-disc:before{content:\"\\e7ce\"}.rab-icon-md-leaf:before{content:\"\\e6cf\"}.rab-icon-ios-download:before{content:\"\\e7cf\"}.rab-icon-md-link:before{content:\"\\e6d0\"}.rab-icon-ios-done-all:before{content:\"\\e7d0\"}.rab-icon-md-list:before{content:\"\\e6d1\"}.rab-icon-ios-easel:before{content:\"\\e7d1\"}.rab-icon-md-list-box:before{content:\"\\e6d2\"}.rab-icon-ios-egg:before{content:\"\\e7d2\"}.rab-icon-md-locate:before{content:\"\\e6d3\"}.rab-icon-ios-exit:before{content:\"\\e7d3\"}.rab-icon-md-lock:before{content:\"\\e6d4\"}.rab-icon-ios-expand:before{content:\"\\e7d4\"}.rab-icon-md-mail:before{content:\"\\e6d5\"}.rab-icon-ios-eye:before{content:\"\\e7d5\"}.rab-icon-md-magnet:before{content:\"\\e6d6\"}.rab-icon-ios-fastforward:before{content:\"\\e7d6\"}.rab-icon-md-log-out:before{content:\"\\e6d7\"}.rab-icon-ios-eye-off:before{content:\"\\e7d7\"}.rab-icon-md-male:before{content:\"\\e6d8\"}.rab-icon-ios-filing:before{content:\"\\e7d8\"}.rab-icon-md-mail-unread:before{content:\"\\e6d9\"}.rab-icon-ios-female:before{content:\"\\e7d9\"}.rab-icon-md-man:before{content:\"\\e6da\"}.rab-icon-ios-film:before{content:\"\\e7da\"}.rab-icon-md-log-in:before{content:\"\\e6db\"}.rab-icon-ios-flag:before{content:\"\\e7db\"}.rab-icon-md-mail-open:before{content:\"\\e6dc\"}.rab-icon-ios-fitness:before{content:\"\\e7dc\"}.rab-icon-md-map:before{content:\"\\e6dd\"}.rab-icon-ios-flame:before{content:\"\\e7dd\"}.rab-icon-md-medal:before{content:\"\\e6de\"}.rab-icon-ios-flash:before{content:\"\\e7de\"}.rab-icon-md-medical:before{content:\"\\e6df\"}.rab-icon-ios-finger-print:before{content:\"\\e7df\"}.rab-icon-md-medkit:before{content:\"\\e6e0\"}.rab-icon-ios-flashlight:before{content:\"\\e7e0\"}.rab-icon-md-megaphone:before{content:\"\\e6e1\"}.rab-icon-ios-flash-off:before{content:\"\\e7e1\"}.rab-icon-md-menu:before{content:\"\\e6e2\"}.rab-icon-ios-flask:before{content:\"\\e7e2\"}.rab-icon-md-mic:before{content:\"\\e6e3\"}.rab-icon-ios-flower:before{content:\"\\e7e3\"}.rab-icon-md-mic-off:before{content:\"\\e6e4\"}.rab-icon-ios-folder:before{content:\"\\e7e4\"}.rab-icon-md-microphone:before{content:\"\\e6e5\"}.rab-icon-ios-folder-open:before{content:\"\\e7e5\"}.rab-icon-md-moon:before{content:\"\\e6e6\"}.rab-icon-ios-football:before{content:\"\\e7e6\"}.rab-icon-md-more:before{content:\"\\e6e7\"}.rab-icon-ios-git-branch:before{content:\"\\e7e7\"}.rab-icon-md-move:before{content:\"\\e6e8\"}.rab-icon-ios-gift:before{content:\"\\e7e8\"}.rab-icon-md-musical-notes:before{content:\"\\e6e9\"}.rab-icon-ios-git-commit:before{content:\"\\e7e9\"}.rab-icon-md-musical-note:before{content:\"\\e6ea\"}.rab-icon-ios-git-compare:before{content:\"\\e7ea\"}.rab-icon-md-navigate:before{content:\"\\e6eb\"}.rab-icon-ios-git-network:before{content:\"\\e7eb\"}.rab-icon-md-notifications:before{content:\"\\e6ec\"}.rab-icon-ios-glasses:before{content:\"\\e7ec\"}.rab-icon-md-notifications-off:before{content:\"\\e6ed\"}.rab-icon-ios-git-pull-request:before{content:\"\\e7ed\"}.rab-icon-md-nuclear:before{content:\"\\e6ee\"}.rab-icon-ios-hammer:before{content:\"\\e7ee\"}.rab-icon-md-nutrition:before{content:\"\\e6ef\"}.rab-icon-ios-grid:before{content:\"\\e7ef\"}.rab-icon-md-notifications-outline:before{content:\"\\e6f0\"}.rab-icon-ios-git-merge:before{content:\"\\e7f0\"}.rab-icon-md-options:before{content:\"\\e6f1\"}.rab-icon-ios-funnel:before{content:\"\\e7f1\"}.rab-icon-md-outlet:before{content:\"\\e6f2\"}.rab-icon-ios-hand:before{content:\"\\e7f2\"}.rab-icon-md-open:before{content:\"\\e6f3\"}.rab-icon-ios-happy:before{content:\"\\e7f3\"}.rab-icon-md-paper:before{content:\"\\e6f4\"}.rab-icon-ios-headset:before{content:\"\\e7f4\"}.rab-icon-md-paper-plane:before{content:\"\\e6f5\"}.rab-icon-ios-heart:before{content:\"\\e7f5\"}.rab-icon-md-partly-sunny:before{content:\"\\e6f6\"}.rab-icon-ios-globe:before{content:\"\\e7f6\"}.rab-icon-md-pause:before{content:\"\\e6f7\"}.rab-icon-ios-heart-empty:before{content:\"\\e7f7\"}.rab-icon-md-people:before{content:\"\\e6f8\"}.rab-icon-ios-heart-dislike:before{content:\"\\e7f8\"}.rab-icon-md-paw:before{content:\"\\e6f9\"}.rab-icon-ios-heart-half:before{content:\"\\e7f9\"}.rab-icon-md-pie:before{content:\"\\e6fa\"}.rab-icon-ios-help:before{content:\"\\e7fa\"}.rab-icon-md-pizza:before{content:\"\\e6fb\"}.rab-icon-ios-help-buoy:before{content:\"\\e7fb\"}.rab-icon-md-play-circle:before{content:\"\\e6fc\"}.rab-icon-ios-help-circle:before{content:\"\\e7fc\"}.rab-icon-md-podium:before{content:\"\\e6fd\"}.rab-icon-ios-home:before{content:\"\\e7fd\"}.rab-icon-md-phone-landscape:before{content:\"\\e6fe\"}.rab-icon-ios-hourglass:before{content:\"\\e7fe\"}.rab-icon-md-play:before{content:\"\\e6ff\"}.rab-icon-ios-image:before{content:\"\\e7ff\"}.rab-icon-md-pin:before{content:\"\\e700\"}.rab-icon-ios-information:before{content:\"\\e800\"}.rab-icon-logo-hackernews:before{content:\"\\e601\"}.rab-icon-md-phone-portrait:before{content:\"\\e701\"}.rab-icon-ios-images:before{content:\"\\e801\"}.rab-icon-logo-model-s:before{content:\"\\e602\"}.rab-icon-md-person-add:before{content:\"\\e702\"}.rab-icon-ios-ice-cream:before{content:\"\\e802\"}.rab-icon-logo-pinterest:before{content:\"\\e603\"}.rab-icon-md-photos:before{content:\"\\e703\"}.rab-icon-ios-information-circle:before{content:\"\\e803\"}.rab-icon-logo-linkedin:before{content:\"\\e604\"}.rab-icon-md-planet:before{content:\"\\e704\"}.rab-icon-ios-jet:before{content:\"\\e804\"}.rab-icon-logo-rss:before{content:\"\\e605\"}.rab-icon-md-person:before{content:\"\\e705\"}.rab-icon-ios-information-circle-outline:before{content:\"\\e805\"}.rab-icon-logo-npm:before{content:\"\\e606\"}.rab-icon-md-pint:before{content:\"\\e706\"}.rab-icon-ios-journal:before{content:\"\\e806\"}.rab-icon-logo-no-smoking:before{content:\"\\e607\"}.rab-icon-md-pricetag:before{content:\"\\e707\"}.rab-icon-ios-key:before{content:\"\\e807\"}.rab-icon-logo-tumblr:before{content:\"\\e608\"}.rab-icon-md-refresh:before{content:\"\\e708\"}.rab-icon-ios-keypad:before{content:\"\\e808\"}.rab-icon-logo-markdown:before{content:\"\\e609\"}.rab-icon-md-pulse:before{content:\"\\e709\"}.rab-icon-ios-help-circle-outline:before{content:\"\\e809\"}.rab-icon-logo-steam:before{content:\"\\e60a\"}.rab-icon-md-radio:before{content:\"\\e70a\"}.rab-icon-ios-laptop:before{content:\"\\e80a\"}.rab-icon-logo-playstation:before{content:\"\\e60b\"}.rab-icon-md-rainy:before{content:\"\\e70b\"}.rab-icon-ios-infinite:before{content:\"\\e80b\"}.rab-icon-logo-octocat:before{content:\"\\e60c\"}.rab-icon-md-print:before{content:\"\\e70c\"}.rab-icon-ios-leaf:before{content:\"\\e80c\"}.rab-icon-logo-python:before{content:\"\\e60d\"}.rab-icon-md-quote:before{content:\"\\e70d\"}.rab-icon-ios-link:before{content:\"\\e80d\"}.rab-icon-logo-javascript:before{content:\"\\e60e\"}.rab-icon-md-qr-scanner:before{content:\"\\e70e\"}.rab-icon-ios-list:before{content:\"\\e80e\"}.rab-icon-logo-tux:before{content:\"\\e60f\"}.rab-icon-md-pricetags:before{content:\"\\e70f\"}.rab-icon-ios-list-box:before{content:\"\\e80f\"}.rab-icon-logo-twitter:before{content:\"\\e610\"}.rab-icon-md-recording:before{content:\"\\e710\"}.rab-icon-ios-locate:before{content:\"\\e810\"}.rab-icon-logo-vk:before{content:\"\\e611\"}.rab-icon-md-power:before{content:\"\\e711\"}.rab-icon-ios-lock:before{content:\"\\e811\"}.rab-icon-logo-sass:before{content:\"\\e612\"}.rab-icon-md-remove-circle:before{content:\"\\e712\"}.rab-icon-ios-log-in:before{content:\"\\e812\"}.rab-icon-logo-yen:before{content:\"\\e613\"}.rab-icon-md-remove:before{content:\"\\e713\"}.rab-icon-ios-log-out:before{content:\"\\e813\"}.rab-icon-logo-slack:before{content:\"\\e614\"}.rab-icon-md-redo:before{content:\"\\e714\"}.rab-icon-ios-magnet:before{content:\"\\e814\"}.rab-icon-logo-snapchat:before{content:\"\\e615\"}.rab-icon-md-reorder:before{content:\"\\e715\"}.rab-icon-ios-mail-open:before{content:\"\\e815\"}.rab-icon-logo-vimeo:before{content:\"\\e616\"}.rab-icon-md-radio-button-on:before{content:\"\\e716\"}.rab-icon-ios-mail:before{content:\"\\e816\"}.rab-icon-md-add-circle:before{content:\"\\e617\"}.rab-icon-md-refresh-circle:before{content:\"\\e717\"}.rab-icon-ios-mail-unread:before{content:\"\\e817\"}.rab-icon-md-add:before{content:\"\\e618\"}.rab-icon-md-repeat:before{content:\"\\e718\"}.rab-icon-ios-male:before{content:\"\\e818\"}.rab-icon-logo-usd:before{content:\"\\e619\"}.rab-icon-md-return-left:before{content:\"\\e719\"}.rab-icon-ios-man:before{content:\"\\e819\"}.rab-icon-md-alarm:before{content:\"\\e61a\"}.rab-icon-md-remove-circle-outline:before{content:\"\\e71a\"}.rab-icon-ios-map:before{content:\"\\e81a\"}.rab-icon-md-airplane:before{content:\"\\e61b\"}.rab-icon-md-return-right:before{content:\"\\e71b\"}.rab-icon-ios-medical:before{content:\"\\e81b\"}.rab-icon-logo-yahoo:before{content:\"\\e61c\"}.rab-icon-md-restaurant:before{content:\"\\e71c\"}.rab-icon-ios-medkit:before{content:\"\\e81c\"}.rab-icon-logo-whatsapp:before{content:\"\\e61d\"}.rab-icon-md-rewind:before{content:\"\\e71d\"}.rab-icon-ios-menu:before{content:\"\\e81d\"}.rab-icon-logo-xing:before{content:\"\\e61e\"}.rab-icon-md-reverse-camera:before{content:\"\\e71e\"}.rab-icon-ios-medal:before{content:\"\\e81e\"}.rab-icon-logo-windows:before{content:\"\\e61f\"}.rab-icon-md-ribbon:before{content:\"\\e71f\"}.rab-icon-ios-megaphone:before{content:\"\\e81f\"}.rab-icon-md-apps:before{content:\"\\e620\"}.rab-icon-md-rocket:before{content:\"\\e720\"}.rab-icon-ios-mic:before{content:\"\\e820\"}.rab-icon-logo-nodejs:before{content:\"\\e621\"}.rab-icon-md-rose:before{content:\"\\e721\"}.rab-icon-ios-mic-off:before{content:\"\\e821\"}.rab-icon-md-american-football:before{content:\"\\e622\"}.rab-icon-md-school:before{content:\"\\e722\"}.rab-icon-ios-microphone:before{content:\"\\e822\"}.rab-icon-logo-skype:before{content:\"\\e623\"}.rab-icon-md-save:before{content:\"\\e723\"}.rab-icon-ios-moon:before{content:\"\\e823\"}.rab-icon-logo-wordpress:before{content:\"\\e624\"}.rab-icon-md-radio-button-off:before{content:\"\\e724\"}.rab-icon-ios-more:before{content:\"\\e824\"}.rab-icon-md-aperture:before{content:\"\\e625\"}.rab-icon-md-sad:before{content:\"\\e725\"}.rab-icon-ios-move:before{content:\"\\e825\"}.rab-icon-md-arrow-back:before{content:\"\\e626\"}.rab-icon-md-send:before{content:\"\\e726\"}.rab-icon-ios-musical-note:before{content:\"\\e826\"}.rab-icon-logo-reddit:before{content:\"\\e627\"}.rab-icon-md-resize:before{content:\"\\e727\"}.rab-icon-ios-navigate:before{content:\"\\e827\"}.rab-icon-logo-twitch:before{content:\"\\e628\"}.rab-icon-md-settings:before{content:\"\\e728\"}.rab-icon-ios-musical-notes:before{content:\"\\e828\"}.rab-icon-md-alert:before{content:\"\\e629\"}.rab-icon-md-shirt:before{content:\"\\e729\"}.rab-icon-ios-notifications:before{content:\"\\e829\"}.rab-icon-md-archive:before{content:\"\\e62a\"}.rab-icon-md-share-alt:before{content:\"\\e72a\"}.rab-icon-ios-notifications-off:before{content:\"\\e82a\"}.rab-icon-md-appstore:before{content:\"\\e62b\"}.rab-icon-md-skip-backward:before{content:\"\\e72b\"}.rab-icon-ios-notifications-outline:before{content:\"\\e82b\"}.rab-icon-logo-youtube:before{content:\"\\e62c\"}.rab-icon-md-shuffle:before{content:\"\\e72c\"}.rab-icon-ios-nuclear:before{content:\"\\e82c\"}.rab-icon-md-arrow-dropdown:before{content:\"\\e62d\"}.rab-icon-md-skip-forward:before{content:\"\\e72d\"}.rab-icon-ios-open:before{content:\"\\e82d\"}.rab-icon-md-arrow-dropdown-circle:before{content:\"\\e62e\"}.rab-icon-md-share:before{content:\"\\e72e\"}.rab-icon-ios-nutrition:before{content:\"\\e82e\"}.rab-icon-logo-xbox:before{content:\"\\e62f\"}.rab-icon-md-square:before{content:\"\\e72f\"}.rab-icon-ios-options:before{content:\"\\e82f\"}.rab-icon-md-add-circle-outline:before{content:\"\\e630\"}.rab-icon-md-square-outline:before{content:\"\\e730\"}.rab-icon-ios-outlet:before{content:\"\\e830\"}.rab-icon-md-arrow-dropleft:before{content:\"\\e631\"}.rab-icon-md-speedometer:before{content:\"\\e731\"}.rab-icon-ios-paper:before{content:\"\\e831\"}.rab-icon-md-analytics:before{content:\"\\e632\"}.rab-icon-md-search:before{content:\"\\e732\"}.rab-icon-ios-pause:before{content:\"\\e832\"}.rab-icon-md-arrow-dropright:before{content:\"\\e633\"}.rab-icon-md-star:before{content:\"\\e733\"}.rab-icon-ios-paw:before{content:\"\\e833\"}.rab-icon-md-albums:before{content:\"\\e634\"}.rab-icon-md-snow:before{content:\"\\e734\"}.rab-icon-ios-paper-plane:before{content:\"\\e834\"}.rab-icon-md-arrow-dropleft-circle:before{content:\"\\e635\"}.rab-icon-md-star-half:before{content:\"\\e735\"}.rab-icon-ios-person:before{content:\"\\e835\"}.rab-icon-md-arrow-down:before{content:\"\\e636\"}.rab-icon-md-stopwatch:before{content:\"\\e736\"}.rab-icon-ios-phone-portrait:before{content:\"\\e836\"}.rab-icon-md-arrow-dropright-circle:before{content:\"\\e637\"}.rab-icon-md-star-outline:before{content:\"\\e737\"}.rab-icon-ios-people:before{content:\"\\e837\"}.rab-article h1{font-size:26px;font-weight:400}.rab-article h2{font-size:20px;font-weight:400}.rab-article h3{font-size:16px;font-weight:400}.rab-article h4{font-size:14px;font-weight:400}.rab-article h5,.rab-article h6{font-size:12px;font-weight:400}.rab-article blockquote{padding:5px 5px 3px 10px;line-height:1.5;border-left:4px solid #ddd;margin-bottom:20px;color:#666;font-size:14px}.rab-article ul:not([class^=rab-]){padding-left:40px;list-style-type:disc}.rab-article li:not([class^=rab-]){margin-bottom:5px;font-size:14px}.rab-article ol ul:not([class^=rab-]),.rab-article ul ul:not([class^=rab-]){list-style-type:circle}.rab-article p{margin:5px;font-size:14px}.rab-fade-in{-webkit-animation:rabFadeIn .3s ease-in-out;animation:rabFadeIn .3s ease-in-out}.rab-fade-out{-webkit-animation:rabFadeOut .3s ease-in-out;animation:rabFadeOut .3s ease-in-out}@-webkit-keyframes rabFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rabFadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rabFadeOut{0%{opacity:1}to{opacity:0}}@keyframes rabFadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes rabMessageMoveIn{0%{opacity:0;padding:0;transform:translateY(-40%)}to{opacity:1;padding:8px}}@keyframes rabMessageMoveIn{0%{opacity:0;padding:0;transform:translateY(-40%)}to{opacity:1;padding:8px}}@-webkit-keyframes rabMessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}@keyframes rabMessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}to{max-height:0;padding:0;opacity:0}}@-webkit-keyframes rabNoticeMoveIn{0%{opacity:0;transform-origin:0 0;transform:translateX(100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes rabNoticeMoveIn{0%{opacity:0;transform-origin:0 0;transform:translateX(100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@-webkit-keyframes rabNoticeMoveOut{0%{opacity:1;transform-origin:0 0;transform:translateX(0)}70%{transform-origin:0 0;transform:translateX(100%);height:auto;padding:16px;margin-bottom:10px;opacity:0}to{transform-origin:0 0;transform:translateX(100%);height:0;padding:0;margin-bottom:0;opacity:0}}@keyframes rabNoticeMoveOut{0%{transform-origin:0 0;opacity:1;transform:translateX(0)}70%{transform-origin:0 0;transform:translateX(100%);height:auto;padding:16px;margin-bottom:10px;opacity:0}to{transform-origin:0 0;transform:translateX(100%);height:0;padding:0;margin-bottom:0;opacity:0}}@-webkit-keyframes rabDrawerMoveRightIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes rabDrawerMoveRightIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes rabDrawerMoveRightOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes rabDrawerMoveRightOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@-webkit-keyframes rabDrawerMoveLeftIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes rabDrawerMoveLeftIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes rabDrawerMoveLeftOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}@keyframes rabDrawerMoveLeftOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}@-webkit-keyframes rabDrawerMoveTopIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes rabDrawerMoveTopIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes rabDrawerMoveTopOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes rabDrawerMoveTopOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@-webkit-keyframes rabDrawerMoveBottomIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes rabDrawerMoveBottomIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes rabDrawerMoveBottomOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes rabDrawerMoveBottomOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@-webkit-keyframes rabEaseIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rabEaseIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@-webkit-keyframes rabEaseOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes rabEaseOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@-webkit-keyframes rabTransitionDropIn{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}@keyframes rabTransitionDropIn{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}@-webkit-keyframes rabTransitionDropOut{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.8)}}@keyframes rabTransitionDropOut{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.8)}}@-webkit-keyframes rabSlideUpIn{0%{opacity:0;transform-origin:0 0;transform:scaleY(.8)}to{opacity:1;transform-origin:0 0;transform:scaleY(1)}}@keyframes rabSlideUpIn{0%{opacity:0;transform-origin:0 0;transform:scaleY(.8)}to{opacity:1;transform-origin:0 0;transform:scaleY(1)}}@-webkit-keyframes rabSlideUpOut{0%{opacity:1;transform-origin:0 0;transform:scaleY(1)}to{opacity:0;transform-origin:0 0;transform:scaleY(.8)}}@keyframes rabSlideUpOut{0%{opacity:1;transform-origin:0 0;transform:scaleY(1)}to{opacity:0;transform-origin:0 0;transform:scaleY(.8)}}@-webkit-keyframes rabSlideDownIn{0%{opacity:0;transform-origin:100% 100%;transform:scaleY(.8)}to{opacity:1;transform-origin:100% 100%;transform:scaleY(1)}}@keyframes rabSlideDownIn{0%{opacity:0;transform-origin:100% 100%;transform:scaleY(.8)}to{opacity:1;transform-origin:100% 100%;transform:scaleY(1)}}@-webkit-keyframes rabSlideDownOut{0%{opacity:1;transform-origin:100% 100%;transform:scaleY(1)}to{opacity:0;transform-origin:100% 100%;transform:scaleY(.8)}}@keyframes rabSlideDownOut{0%{opacity:1;transform-origin:100% 100%;transform:scaleY(1)}to{opacity:0;transform-origin:100% 100%;transform:scaleY(.8)}}@-webkit-keyframes rabSlideLeftIn{0%{opacity:0;transform-origin:0 0;transform:scaleX(.8)}to{opacity:1;transform-origin:0 0;transform:scaleX(1)}}@keyframes rabSlideLeftIn{0%{opacity:0;transform-origin:0 0;transform:scaleX(.8)}to{opacity:1;transform-origin:0 0;transform:scaleX(1)}}@-webkit-keyframes rabSlideLeftOut{0%{opacity:1;transform-origin:0 0;transform:scaleX(1)}to{opacity:0;transform-origin:0 0;transform:scaleX(.8)}}@keyframes rabSlideLeftOut{0%{opacity:1;transform-origin:0 0;transform:scaleX(1)}to{opacity:0;transform-origin:0 0;transform:scaleX(.8)}}@-webkit-keyframes rabSlideRightIn{0%{opacity:0;transform-origin:100% 0;transform:scaleX(.8)}to{opacity:1;transform-origin:100% 0;transform:scaleX(1)}}@keyframes rabSlideRightIn{0%{opacity:0;transform-origin:100% 0;transform:scaleX(.8)}to{opacity:1;transform-origin:100% 0;transform:scaleX(1)}}@-webkit-keyframes rabSlideRightOut{0%{opacity:1;transform-origin:100% 0;transform:scaleX(1)}to{opacity:0;transform-origin:100% 0;transform:scaleX(.8)}}@keyframes rabSlideRightOut{0%{opacity:1;transform-origin:100% 0;transform:scaleX(1)}to{opacity:0;transform-origin:100% 0;transform:scaleX(.8)}}r-affix{display:block}.rab-affix{position:fixed;z-index:10}r-alert{color:#55585e;font-size:14px;line-height:1.5;position:relative;display:block;padding:8px 15px;margin-bottom:10px;word-wrap:break-word;border-radius:2px;border:1px solid #aed8ff;background-color:#edf6ff}r-alert .rab-alert-icon{color:#1890ff}r-alert[type=success]{border:1px solid #c2eaaf;background-color:#f6ffed}r-alert[type=success] .rab-alert-icon{color:#52c41a}r-alert[type=info]{border:1px solid #aed8ff;background-color:#edf6ff}r-alert[type=info] .rab-alert-icon{color:#1890ff}r-alert[type=warning]{border:1px solid #fde2ad;background-color:#fffbe6}r-alert[type=warning] .rab-alert-icon{color:#faad14}r-alert[type=error]{border:1px solid #ffc1c1;background-color:#fff2f0}r-alert[type=error] .rab-alert-icon{color:#ff4d4f}.rab-alert-with-icon{padding:8px 48px 8px 35px}.rab-alert-icon{font-size:16px;top:6px;left:12px;position:absolute}.rab-alert-title{color:#55585e}.rab-alert-desc{font-size:14px;color:#55585e;line-height:22px;display:none}.rab-alert-desc p{margin-bottom:0}.rab-alert-close{font-size:12px;position:absolute;right:8px;top:8px;overflow:hidden;cursor:pointer;top:10px}.rab-alert-close .rab-icon-ios-close{font-size:22px;color:#999;transition:color .2s ease;position:relative;top:0}.rab-alert-close .rab-icon-ios-close:hover{color:#666}.rab-alert-with-desc.rab-alert-with-icon{padding:16px 16px 16px 69px}.rab-alert-with-desc{padding:16px;position:relative;border-radius:2px;margin-bottom:10px;color:#55585e;line-height:1.5}.rab-alert-with-desc .rab-alert-desc{display:block}.rab-alert-with-desc .rab-alert-title{font-size:16px;color:#2c3e50;display:block;margin-bottom:4px}.rab-alert-with-desc .rab-alert-icon{top:50%;left:22px;transform:translateY(-50%);font-size:32px}.rab-alert-with-banner{border:0!important;border-radius:0!important}r-avatar{display:inline-block;text-align:center;background:#ccc;color:#fff;white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;width:32px;height:32px;line-height:32px;border-radius:50%}r-avatar .rab-icon{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}r-avatar[size=large]{width:40px;height:40px;line-height:40px;border-radius:50%}r-avatar[size=large].rab-avatar-icon{font-size:24px}r-avatar.rab-avatar-icon{font-size:18px}r-avatar[size=small]{width:24px;height:24px;line-height:24px;border-radius:50%}r-avatar[size=small].rab-avatar-icon{font-size:14px}r-avatar[shape=circle]{border-radius:50%}r-avatar[shape=square]{border-radius:2px}r-avatar>img{width:100%;height:100%}.rab-avatar-image{background:transparent}.rab-avatar-string{position:absolute;left:50%;transform-origin:0 center}r-back-top{z-index:10;position:fixed;cursor:pointer;display:none}r-back-top .rab-icon{position:relative;top:-3px;color:#fff;font-size:24px;padding:20px 12px}.rab-back-top-inner{background-color:rgba(0,0,0,.5);border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:all .2s ease-in-out}.rab-back-top-inner:hover{background-color:rgba(0,0,0,.7)}r-badge{position:relative;display:inline-block}r-badge[type=primary] .rab-badge-count{background:#1890ff}r-badge[type=success] .rab-badge-count{background:#52c41a}r-badge[type=error] .rab-badge-count{background:#ff4d4f}r-badge[type=warning] .rab-badge-count{background:#faad14}r-badge[type=info] .rab-badge-count{background:#2db7f5}r-badge[type=normal] .rab-badge-count{background:#e6ebf1;color:#808695}.rab-badge-count{font-family:\"Monospaced Number\";line-height:1;vertical-align:middle;position:absolute;transform:translateX(50%);top:-10px;right:0;height:20px;border-radius:10px;min-width:20px;background:#ff4d4f;border:1px solid transparent;color:#fff;line-height:17px;text-align:center;padding:0 6px;font-size:12px;white-space:nowrap;transform-origin:-10% center;z-index:10;box-shadow:0 0 0 1px #fff}.rab-badge-count-custom{background:transparent;color:inherit;border-color:transparent;box-shadow:none}.rab-badge-count a,.rab-badge-count a:hover{color:#fff}.rab-badge-count-alone{top:auto;display:block;position:relative;transform:translateX(0)}.rab-badge-dot{position:absolute;transform:translateX(-50%);transform-origin:0 center;top:-4px;right:-8px;width:8px;height:8px;border-radius:100%;background:#ff4d4f;z-index:10;box-shadow:0 0 0 1px #fff}.rab-badge-status{line-height:inherit;vertical-align:baseline}.rab-badge-status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;vertical-align:middle;position:relative;top:-1px}.rab-badge-status-success{background-color:#52c41a}.rab-badge-status-processing{background-color:#1890ff;position:relative}.rab-badge-status-processing:after{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:1px solid #1890ff;content:\"\";animation:rabStatusProcessing 1.2s ease-in-out infinite}.rab-badge-status-default{background-color:#e6ebf1}.rab-badge-status-error{background-color:#ff4d4f}.rab-badge-status-warning{background-color:#faad14}.rab-badge-status-text{display:inline-block;color:#55585e;font-size:14px;margin-left:6px}.rab-badge-status-magenta,.rab-badge-status-pink{background-color:#eb2f96}.rab-badge-status-red{background-color:#f5222d}.rab-badge-status-volcano{background-color:#fa541c}.rab-badge-status-orange{background-color:#fa8c16}.rab-badge-status-yellow{background-color:#fadb14}.rab-badge-status-gold{background-color:#faad14}.rab-badge-status-cyan{background-color:#13c2c2}.rab-badge-status-lime{background-color:#a0d911}.rab-badge-status-green{background-color:#52c41a}.rab-badge-status-blue{background-color:#1890ff}.rab-badge-status-geekblue{background-color:#2f54eb}.rab-badge-status-purple{background-color:#722ed1}@keyframes rabStatusProcessing{0%{transform:scale(.8);opacity:.5}to{transform:scale(2.4);opacity:0}}r-breadcrumb{display:block;color:#999;font-size:14px}r-breadcrumb a{color:#55585e;transition:color .2s ease-in-out}r-breadcrumb a:hover{color:#46a6ff}r-breadcrumb>span:last-child{font-weight:700;color:#55585e}r-breadcrumb>span:last-child .rab-breadcrumb-item-separator{display:none}.rab-breadcrumb-item-separator{margin:0 8px;color:#dcdee2}.rab-breadcrumb-item-link>.rab-icon+span{margin-left:4px}.rab-btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;white-space:nowrap;line-height:1.5;user-select:none;height:32px;padding:0 15px;font-size:14px;border-radius:2px;transition:color .2s linear,background-color .2s linear,border .2s linear,box-shadow .2s linear;color:#55585e;background-color:#fff;border:1px solid #dcdee2}.rab-btn>.rab-icon{line-height:1.5;margin:0 4px;height:26px}.rab-btn-icon-only.rab-btn-circle>.rab-icon{vertical-align:baseline}.rab-btn>i,.rab-btn>span{display:inline-block;vertical-align:initial}.rab-btn,.rab-btn:active,.rab-btn:focus{outline:0}.rab-btn:not([disabled]):hover{text-decoration:none}.rab-btn:not([disabled]):active{outline:0}.rab-btn.disabled,.rab-btn[disabled]{cursor:not-allowed}.rab-btn.disabled>*,.rab-btn[disabled]>*{pointer-events:none}.rab-btn-lg{height:40px;padding:0 15px;font-size:16px;border-radius:2px}.rab-btn-sm{height:24px;padding:0 7px;font-size:14px;border-radius:1px}.rab-btn-icon-only{width:32px;height:32px;padding:0;font-size:16px;border-radius:2px}.rab-btn-icon-only.rab-btn-large{width:40px;height:40px;padding:0;font-size:18px;border-radius:2px}.rab-btn-icon-only.rab-btn-small{width:24px;height:24px;padding:0;font-size:14px;border-radius:2px}.rab-btn>a:only-child{color:currentColor}.rab-btn>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn:hover{color:#77797e;border-color:#e3e5e8}.rab-btn.active,.rab-btn:active{color:#515459;background-color:#f2f2f2;border-color:#f2f2f2}.rab-btn.disabled,.rab-btn.disabled.active,.rab-btn.disabled:active,.rab-btn.disabled:focus,.rab-btn.disabled:hover,.rab-btn[disabled],.rab-btn[disabled].active,.rab-btn[disabled]:active,.rab-btn[disabled]:focus,.rab-btn[disabled]:hover,fieldset[disabled] .rab-btn,fieldset[disabled] .rab-btn.active,fieldset[disabled] .rab-btn:active,fieldset[disabled] .rab-btn:focus,fieldset[disabled] .rab-btn:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn.disabled.active>a:only-child,.rab-btn.disabled:active>a:only-child,.rab-btn.disabled:focus>a:only-child,.rab-btn.disabled:hover>a:only-child,.rab-btn.disabled>a:only-child,.rab-btn[disabled].active>a:only-child,.rab-btn[disabled]:active>a:only-child,.rab-btn[disabled]:focus>a:only-child,.rab-btn[disabled]:hover>a:only-child,.rab-btn[disabled]>a:only-child,fieldset[disabled] .rab-btn.active>a:only-child,fieldset[disabled] .rab-btn:active>a:only-child,fieldset[disabled] .rab-btn:focus>a:only-child,fieldset[disabled] .rab-btn:hover>a:only-child,fieldset[disabled] .rab-btn>a:only-child{color:currentColor}.rab-btn.disabled.active>a:only-child:after,.rab-btn.disabled:active>a:only-child:after,.rab-btn.disabled:focus>a:only-child:after,.rab-btn.disabled:hover>a:only-child:after,.rab-btn.disabled>a:only-child:after,.rab-btn[disabled].active>a:only-child:after,.rab-btn[disabled]:active>a:only-child:after,.rab-btn[disabled]:focus>a:only-child:after,.rab-btn[disabled]:hover>a:only-child:after,.rab-btn[disabled]>a:only-child:after,fieldset[disabled] .rab-btn.active>a:only-child:after,fieldset[disabled] .rab-btn:active>a:only-child:after,fieldset[disabled] .rab-btn:focus>a:only-child:after,fieldset[disabled] .rab-btn:hover>a:only-child:after,fieldset[disabled] .rab-btn>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn:hover{color:#46a6ff;background-color:#fff;border-color:#46a6ff}.rab-btn:hover>a:only-child{color:currentColor}.rab-btn:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn.active,.rab-btn:active{color:#1789f2;background-color:#fff;border-color:#1789f2}.rab-btn.active>a:only-child,.rab-btn:active>a:only-child{color:currentColor}.rab-btn.active>a:only-child:after,.rab-btn:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.rab-btn-long{width:100%}.rab-btn>.rab-icon-loading-solid{margin-right:4px}.rab-btn>.rab-icon+span,.rab-btn>span+.rab-icon{margin-left:4px}.rab-btn-primary{color:#fff;background-color:#1890ff;border-color:#1890ff}.rab-btn-primary>a:only-child{color:currentColor}.rab-btn-primary>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-primary:hover{color:#fff;background-color:#46a6ff;border-color:#46a6ff}.rab-btn-primary:hover>a:only-child{color:currentColor}.rab-btn-primary:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-primary.active,.rab-btn-primary:active{color:#f2f2f2;background-color:#1789f2;border-color:#1789f2}.rab-btn-primary.active>a:only-child,.rab-btn-primary:active>a:only-child{color:currentColor}.rab-btn-primary.active>a:only-child:after,.rab-btn-primary:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-primary.disabled,.rab-btn-primary.disabled.active,.rab-btn-primary.disabled:active,.rab-btn-primary.disabled:focus,.rab-btn-primary.disabled:hover,.rab-btn-primary[disabled],.rab-btn-primary[disabled].active,.rab-btn-primary[disabled]:active,.rab-btn-primary[disabled]:focus,.rab-btn-primary[disabled]:hover,fieldset[disabled] .rab-btn-primary,fieldset[disabled] .rab-btn-primary.active,fieldset[disabled] .rab-btn-primary:active,fieldset[disabled] .rab-btn-primary:focus,fieldset[disabled] .rab-btn-primary:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn-primary.disabled.active>a:only-child,.rab-btn-primary.disabled:active>a:only-child,.rab-btn-primary.disabled:focus>a:only-child,.rab-btn-primary.disabled:hover>a:only-child,.rab-btn-primary.disabled>a:only-child,.rab-btn-primary[disabled].active>a:only-child,.rab-btn-primary[disabled]:active>a:only-child,.rab-btn-primary[disabled]:focus>a:only-child,.rab-btn-primary[disabled]:hover>a:only-child,.rab-btn-primary[disabled]>a:only-child,fieldset[disabled] .rab-btn-primary.active>a:only-child,fieldset[disabled] .rab-btn-primary:active>a:only-child,fieldset[disabled] .rab-btn-primary:focus>a:only-child,fieldset[disabled] .rab-btn-primary:hover>a:only-child,fieldset[disabled] .rab-btn-primary>a:only-child{color:currentColor}.rab-btn-primary.disabled.active>a:only-child:after,.rab-btn-primary.disabled:active>a:only-child:after,.rab-btn-primary.disabled:focus>a:only-child:after,.rab-btn-primary.disabled:hover>a:only-child:after,.rab-btn-primary.disabled>a:only-child:after,.rab-btn-primary[disabled].active>a:only-child:after,.rab-btn-primary[disabled]:active>a:only-child:after,.rab-btn-primary[disabled]:focus>a:only-child:after,.rab-btn-primary[disabled]:hover>a:only-child:after,.rab-btn-primary[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-primary.active>a:only-child:after,fieldset[disabled] .rab-btn-primary:active>a:only-child:after,fieldset[disabled] .rab-btn-primary:focus>a:only-child:after,fieldset[disabled] .rab-btn-primary:hover>a:only-child:after,fieldset[disabled] .rab-btn-primary>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-primary.active,.rab-btn-primary:active,.rab-btn-primary:hover{color:#fff}.rab-btn-primary:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary:not(:first-child):not(:last-child){border-right-color:hsla(0,0%,100%,.5);border-left-color:hsla(0,0%,100%,.5)}.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary:first-child:not(:last-child){border-right-color:hsla(0,0%,100%,.5)}.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#dcdee2}.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary+.rab-btn,.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary:last-child:not(:first-child){border-left-color:hsla(0,0%,100%,.5)}.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary+.rab-btn[disabled],.rab-btn-group:not(.rab-btn-group-vertical) .rab-btn-primary:last-child:not(:first-child)[disabled]{border-left-color:#dcdee2}.rab-btn-group-vertical .rab-btn-primary:not(:first-child):not(:last-child){border-top-color:hsla(0,0%,100%,.5);border-bottom-color:hsla(0,0%,100%,.5)}.rab-btn-group-vertical .rab-btn-primary:first-child:not(:last-child){border-bottom-color:hsla(0,0%,100%,.5)}.rab-btn-group-vertical .rab-btn-primary:first-child:not(:last-child)[disabled]{border-top-color:#dcdee2}.rab-btn-group-vertical .rab-btn-primary+.rab-btn,.rab-btn-group-vertical .rab-btn-primary:last-child:not(:first-child){border-top-color:hsla(0,0%,100%,.5)}.rab-btn-group-vertical .rab-btn-primary+.rab-btn[disabled],.rab-btn-group-vertical .rab-btn-primary:last-child:not(:first-child)[disabled]{border-bottom-color:#dcdee2}.rab-btn-dashed{color:#55585e;background-color:#fff;border-color:#dcdee2;border-style:dashed}.rab-btn-dashed>a:only-child{color:currentColor}.rab-btn-dashed>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-dashed:hover{color:#77797e;border-color:#e3e5e8}.rab-btn-dashed.active,.rab-btn-dashed:active{color:#515459;background-color:#f2f2f2;border-color:#f2f2f2}.rab-btn-dashed.disabled,.rab-btn-dashed.disabled.active,.rab-btn-dashed.disabled:active,.rab-btn-dashed.disabled:focus,.rab-btn-dashed.disabled:hover,.rab-btn-dashed[disabled],.rab-btn-dashed[disabled].active,.rab-btn-dashed[disabled]:active,.rab-btn-dashed[disabled]:focus,.rab-btn-dashed[disabled]:hover,fieldset[disabled] .rab-btn-dashed,fieldset[disabled] .rab-btn-dashed.active,fieldset[disabled] .rab-btn-dashed:active,fieldset[disabled] .rab-btn-dashed:focus,fieldset[disabled] .rab-btn-dashed:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn-dashed.disabled.active>a:only-child,.rab-btn-dashed.disabled:active>a:only-child,.rab-btn-dashed.disabled:focus>a:only-child,.rab-btn-dashed.disabled:hover>a:only-child,.rab-btn-dashed.disabled>a:only-child,.rab-btn-dashed[disabled].active>a:only-child,.rab-btn-dashed[disabled]:active>a:only-child,.rab-btn-dashed[disabled]:focus>a:only-child,.rab-btn-dashed[disabled]:hover>a:only-child,.rab-btn-dashed[disabled]>a:only-child,fieldset[disabled] .rab-btn-dashed.active>a:only-child,fieldset[disabled] .rab-btn-dashed:active>a:only-child,fieldset[disabled] .rab-btn-dashed:focus>a:only-child,fieldset[disabled] .rab-btn-dashed:hover>a:only-child,fieldset[disabled] .rab-btn-dashed>a:only-child{color:currentColor}.rab-btn-dashed.disabled.active>a:only-child:after,.rab-btn-dashed.disabled:active>a:only-child:after,.rab-btn-dashed.disabled:focus>a:only-child:after,.rab-btn-dashed.disabled:hover>a:only-child:after,.rab-btn-dashed.disabled>a:only-child:after,.rab-btn-dashed[disabled].active>a:only-child:after,.rab-btn-dashed[disabled]:active>a:only-child:after,.rab-btn-dashed[disabled]:focus>a:only-child:after,.rab-btn-dashed[disabled]:hover>a:only-child:after,.rab-btn-dashed[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-dashed.active>a:only-child:after,fieldset[disabled] .rab-btn-dashed:active>a:only-child:after,fieldset[disabled] .rab-btn-dashed:focus>a:only-child:after,fieldset[disabled] .rab-btn-dashed:hover>a:only-child:after,fieldset[disabled] .rab-btn-dashed>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-dashed:hover{color:#46a6ff;background-color:#fff;border-color:#46a6ff}.rab-btn-dashed:hover>a:only-child{color:currentColor}.rab-btn-dashed:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-dashed.active,.rab-btn-dashed:active{color:#1789f2;background-color:#fff;border-color:#1789f2}.rab-btn-dashed.active>a:only-child,.rab-btn-dashed:active>a:only-child{color:currentColor}.rab-btn-dashed.active>a:only-child:after,.rab-btn-dashed:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-dashed:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.rab-btn-text{color:#55585e;background-color:transparent;border-color:transparent}.rab-btn-text>a:only-child{color:currentColor}.rab-btn-text>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-text:hover{color:#77797e;background-color:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.2)}.rab-btn-text.active,.rab-btn-text:active{color:#515459;background-color:rgba(0,0,0,.05);border-color:rgba(0,0,0,.05)}.rab-btn-text.disabled,.rab-btn-text.disabled.active,.rab-btn-text.disabled:active,.rab-btn-text.disabled:focus,.rab-btn-text.disabled:hover,.rab-btn-text[disabled],.rab-btn-text[disabled].active,.rab-btn-text[disabled]:active,.rab-btn-text[disabled]:focus,.rab-btn-text[disabled]:hover,fieldset[disabled] .rab-btn-text,fieldset[disabled] .rab-btn-text.active,fieldset[disabled] .rab-btn-text:active,fieldset[disabled] .rab-btn-text:focus,fieldset[disabled] .rab-btn-text:hover{background-color:#fafafa;border-color:#dcdee2;color:#c5c8ce;background-color:#fff;border-color:transparent}.rab-btn-text.disabled.active>a:only-child,.rab-btn-text.disabled:active>a:only-child,.rab-btn-text.disabled:focus>a:only-child,.rab-btn-text.disabled:hover>a:only-child,.rab-btn-text.disabled>a:only-child,.rab-btn-text[disabled].active>a:only-child,.rab-btn-text[disabled]:active>a:only-child,.rab-btn-text[disabled]:focus>a:only-child,.rab-btn-text[disabled]:hover>a:only-child,.rab-btn-text[disabled]>a:only-child,fieldset[disabled] .rab-btn-text.active>a:only-child,fieldset[disabled] .rab-btn-text:active>a:only-child,fieldset[disabled] .rab-btn-text:focus>a:only-child,fieldset[disabled] .rab-btn-text:hover>a:only-child,fieldset[disabled] .rab-btn-text>a:only-child{color:currentColor}.rab-btn-text.disabled.active>a:only-child:after,.rab-btn-text.disabled:active>a:only-child:after,.rab-btn-text.disabled:focus>a:only-child:after,.rab-btn-text.disabled:hover>a:only-child:after,.rab-btn-text.disabled>a:only-child:after,.rab-btn-text[disabled].active>a:only-child:after,.rab-btn-text[disabled]:active>a:only-child:after,.rab-btn-text[disabled]:focus>a:only-child:after,.rab-btn-text[disabled]:hover>a:only-child:after,.rab-btn-text[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-text.active>a:only-child:after,fieldset[disabled] .rab-btn-text:active>a:only-child:after,fieldset[disabled] .rab-btn-text:focus>a:only-child:after,fieldset[disabled] .rab-btn-text:hover>a:only-child:after,fieldset[disabled] .rab-btn-text>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-text:hover{color:#46a6ff;background-color:#fff;border-color:transparent}.rab-btn-text:hover>a:only-child{color:currentColor}.rab-btn-text:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-text.active,.rab-btn-text:active{color:#1789f2;background-color:#fff;border-color:transparent}.rab-btn-text.active>a:only-child,.rab-btn-text:active>a:only-child{color:currentColor}.rab-btn-text.active>a:only-child:after,.rab-btn-text:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-text:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.rab-btn-success{color:#fff;background-color:#52c41a;border-color:#52c41a}.rab-btn-success>a:only-child{color:currentColor}.rab-btn-success>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-success:hover{color:#fff;background-color:#75d048;border-color:#75d048}.rab-btn-success:hover>a:only-child{color:currentColor}.rab-btn-success:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-success.active,.rab-btn-success:active{color:#f2f2f2;background-color:#4eba19;border-color:#4eba19}.rab-btn-success.active>a:only-child,.rab-btn-success:active>a:only-child{color:currentColor}.rab-btn-success.active>a:only-child:after,.rab-btn-success:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-success.disabled,.rab-btn-success.disabled.active,.rab-btn-success.disabled:active,.rab-btn-success.disabled:focus,.rab-btn-success.disabled:hover,.rab-btn-success[disabled],.rab-btn-success[disabled].active,.rab-btn-success[disabled]:active,.rab-btn-success[disabled]:focus,.rab-btn-success[disabled]:hover,fieldset[disabled] .rab-btn-success,fieldset[disabled] .rab-btn-success.active,fieldset[disabled] .rab-btn-success:active,fieldset[disabled] .rab-btn-success:focus,fieldset[disabled] .rab-btn-success:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn-success.disabled.active>a:only-child,.rab-btn-success.disabled:active>a:only-child,.rab-btn-success.disabled:focus>a:only-child,.rab-btn-success.disabled:hover>a:only-child,.rab-btn-success.disabled>a:only-child,.rab-btn-success[disabled].active>a:only-child,.rab-btn-success[disabled]:active>a:only-child,.rab-btn-success[disabled]:focus>a:only-child,.rab-btn-success[disabled]:hover>a:only-child,.rab-btn-success[disabled]>a:only-child,fieldset[disabled] .rab-btn-success.active>a:only-child,fieldset[disabled] .rab-btn-success:active>a:only-child,fieldset[disabled] .rab-btn-success:focus>a:only-child,fieldset[disabled] .rab-btn-success:hover>a:only-child,fieldset[disabled] .rab-btn-success>a:only-child{color:currentColor}.rab-btn-success.disabled.active>a:only-child:after,.rab-btn-success.disabled:active>a:only-child:after,.rab-btn-success.disabled:focus>a:only-child:after,.rab-btn-success.disabled:hover>a:only-child:after,.rab-btn-success.disabled>a:only-child:after,.rab-btn-success[disabled].active>a:only-child:after,.rab-btn-success[disabled]:active>a:only-child:after,.rab-btn-success[disabled]:focus>a:only-child:after,.rab-btn-success[disabled]:hover>a:only-child:after,.rab-btn-success[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-success.active>a:only-child:after,fieldset[disabled] .rab-btn-success:active>a:only-child:after,fieldset[disabled] .rab-btn-success:focus>a:only-child:after,fieldset[disabled] .rab-btn-success:hover>a:only-child:after,fieldset[disabled] .rab-btn-success>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-success.active,.rab-btn-success:active,.rab-btn-success:hover{color:#fff}.rab-btn-success:focus{box-shadow:0 0 0 2px rgba(82,196,26,.2)}.rab-btn-warning{color:#fff;background-color:#faad14;border-color:#faad14}.rab-btn-warning>a:only-child{color:currentColor}.rab-btn-warning>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-warning:hover{color:#fff;background-color:#fbbd43;border-color:#fbbd43}.rab-btn-warning:hover>a:only-child{color:currentColor}.rab-btn-warning:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-warning.active,.rab-btn-warning:active{color:#f2f2f2;background-color:#eea413;border-color:#eea413}.rab-btn-warning.active>a:only-child,.rab-btn-warning:active>a:only-child{color:currentColor}.rab-btn-warning.active>a:only-child:after,.rab-btn-warning:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-warning.disabled,.rab-btn-warning.disabled.active,.rab-btn-warning.disabled:active,.rab-btn-warning.disabled:focus,.rab-btn-warning.disabled:hover,.rab-btn-warning[disabled],.rab-btn-warning[disabled].active,.rab-btn-warning[disabled]:active,.rab-btn-warning[disabled]:focus,.rab-btn-warning[disabled]:hover,fieldset[disabled] .rab-btn-warning,fieldset[disabled] .rab-btn-warning.active,fieldset[disabled] .rab-btn-warning:active,fieldset[disabled] .rab-btn-warning:focus,fieldset[disabled] .rab-btn-warning:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn-warning.disabled.active>a:only-child,.rab-btn-warning.disabled:active>a:only-child,.rab-btn-warning.disabled:focus>a:only-child,.rab-btn-warning.disabled:hover>a:only-child,.rab-btn-warning.disabled>a:only-child,.rab-btn-warning[disabled].active>a:only-child,.rab-btn-warning[disabled]:active>a:only-child,.rab-btn-warning[disabled]:focus>a:only-child,.rab-btn-warning[disabled]:hover>a:only-child,.rab-btn-warning[disabled]>a:only-child,fieldset[disabled] .rab-btn-warning.active>a:only-child,fieldset[disabled] .rab-btn-warning:active>a:only-child,fieldset[disabled] .rab-btn-warning:focus>a:only-child,fieldset[disabled] .rab-btn-warning:hover>a:only-child,fieldset[disabled] .rab-btn-warning>a:only-child{color:currentColor}.rab-btn-warning.disabled.active>a:only-child:after,.rab-btn-warning.disabled:active>a:only-child:after,.rab-btn-warning.disabled:focus>a:only-child:after,.rab-btn-warning.disabled:hover>a:only-child:after,.rab-btn-warning.disabled>a:only-child:after,.rab-btn-warning[disabled].active>a:only-child:after,.rab-btn-warning[disabled]:active>a:only-child:after,.rab-btn-warning[disabled]:focus>a:only-child:after,.rab-btn-warning[disabled]:hover>a:only-child:after,.rab-btn-warning[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-warning.active>a:only-child:after,fieldset[disabled] .rab-btn-warning:active>a:only-child:after,fieldset[disabled] .rab-btn-warning:focus>a:only-child:after,fieldset[disabled] .rab-btn-warning:hover>a:only-child:after,fieldset[disabled] .rab-btn-warning>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-warning.active,.rab-btn-warning:active,.rab-btn-warning:hover{color:#fff}.rab-btn-warning:focus{box-shadow:0 0 0 2px rgba(250,173,20,.2)}.rab-btn-error{color:#fff;background-color:#ff4d4f;border-color:#ff4d4f}.rab-btn-error>a:only-child{color:currentColor}.rab-btn-error>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-error:hover{color:#fff;background-color:#ff7172;border-color:#ff7172}.rab-btn-error:hover>a:only-child{color:currentColor}.rab-btn-error:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-error.active,.rab-btn-error:active{color:#f2f2f2;background-color:#f2494b;border-color:#f2494b}.rab-btn-error.active>a:only-child,.rab-btn-error:active>a:only-child{color:currentColor}.rab-btn-error.active>a:only-child:after,.rab-btn-error:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-error.disabled,.rab-btn-error.disabled.active,.rab-btn-error.disabled:active,.rab-btn-error.disabled:focus,.rab-btn-error.disabled:hover,.rab-btn-error[disabled],.rab-btn-error[disabled].active,.rab-btn-error[disabled]:active,.rab-btn-error[disabled]:focus,.rab-btn-error[disabled]:hover,fieldset[disabled] .rab-btn-error,fieldset[disabled] .rab-btn-error.active,fieldset[disabled] .rab-btn-error:active,fieldset[disabled] .rab-btn-error:focus,fieldset[disabled] .rab-btn-error:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn-error.disabled.active>a:only-child,.rab-btn-error.disabled:active>a:only-child,.rab-btn-error.disabled:focus>a:only-child,.rab-btn-error.disabled:hover>a:only-child,.rab-btn-error.disabled>a:only-child,.rab-btn-error[disabled].active>a:only-child,.rab-btn-error[disabled]:active>a:only-child,.rab-btn-error[disabled]:focus>a:only-child,.rab-btn-error[disabled]:hover>a:only-child,.rab-btn-error[disabled]>a:only-child,fieldset[disabled] .rab-btn-error.active>a:only-child,fieldset[disabled] .rab-btn-error:active>a:only-child,fieldset[disabled] .rab-btn-error:focus>a:only-child,fieldset[disabled] .rab-btn-error:hover>a:only-child,fieldset[disabled] .rab-btn-error>a:only-child{color:currentColor}.rab-btn-error.disabled.active>a:only-child:after,.rab-btn-error.disabled:active>a:only-child:after,.rab-btn-error.disabled:focus>a:only-child:after,.rab-btn-error.disabled:hover>a:only-child:after,.rab-btn-error.disabled>a:only-child:after,.rab-btn-error[disabled].active>a:only-child:after,.rab-btn-error[disabled]:active>a:only-child:after,.rab-btn-error[disabled]:focus>a:only-child:after,.rab-btn-error[disabled]:hover>a:only-child:after,.rab-btn-error[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-error.active>a:only-child:after,fieldset[disabled] .rab-btn-error:active>a:only-child:after,fieldset[disabled] .rab-btn-error:focus>a:only-child:after,fieldset[disabled] .rab-btn-error:hover>a:only-child:after,fieldset[disabled] .rab-btn-error>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-error.active,.rab-btn-error:active,.rab-btn-error:hover{color:#fff}.rab-btn-error:focus{box-shadow:0 0 0 2px rgba(255,77,79,.2)}.rab-btn-info{color:#fff;background-color:#2db7f5;border-color:#2db7f5}.rab-btn-info>a:only-child{color:currentColor}.rab-btn-info>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-info:hover{color:#fff;background-color:#57c5f7;border-color:#57c5f7}.rab-btn-info:hover>a:only-child{color:currentColor}.rab-btn-info:hover>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-info.active,.rab-btn-info:active{color:#f2f2f2;background-color:#2baee9;border-color:#2baee9}.rab-btn-info.active>a:only-child,.rab-btn-info:active>a:only-child{color:currentColor}.rab-btn-info.active>a:only-child:after,.rab-btn-info:active>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-info.disabled,.rab-btn-info.disabled.active,.rab-btn-info.disabled:active,.rab-btn-info.disabled:focus,.rab-btn-info.disabled:hover,.rab-btn-info[disabled],.rab-btn-info[disabled].active,.rab-btn-info[disabled]:active,.rab-btn-info[disabled]:focus,.rab-btn-info[disabled]:hover,fieldset[disabled] .rab-btn-info,fieldset[disabled] .rab-btn-info.active,fieldset[disabled] .rab-btn-info:active,fieldset[disabled] .rab-btn-info:focus,fieldset[disabled] .rab-btn-info:hover{color:#c5c8ce;background-color:#fafafa;border-color:#dcdee2}.rab-btn-info.disabled.active>a:only-child,.rab-btn-info.disabled:active>a:only-child,.rab-btn-info.disabled:focus>a:only-child,.rab-btn-info.disabled:hover>a:only-child,.rab-btn-info.disabled>a:only-child,.rab-btn-info[disabled].active>a:only-child,.rab-btn-info[disabled]:active>a:only-child,.rab-btn-info[disabled]:focus>a:only-child,.rab-btn-info[disabled]:hover>a:only-child,.rab-btn-info[disabled]>a:only-child,fieldset[disabled] .rab-btn-info.active>a:only-child,fieldset[disabled] .rab-btn-info:active>a:only-child,fieldset[disabled] .rab-btn-info:focus>a:only-child,fieldset[disabled] .rab-btn-info:hover>a:only-child,fieldset[disabled] .rab-btn-info>a:only-child{color:currentColor}.rab-btn-info.disabled.active>a:only-child:after,.rab-btn-info.disabled:active>a:only-child:after,.rab-btn-info.disabled:focus>a:only-child:after,.rab-btn-info.disabled:hover>a:only-child:after,.rab-btn-info.disabled>a:only-child:after,.rab-btn-info[disabled].active>a:only-child:after,.rab-btn-info[disabled]:active>a:only-child:after,.rab-btn-info[disabled]:focus>a:only-child:after,.rab-btn-info[disabled]:hover>a:only-child:after,.rab-btn-info[disabled]>a:only-child:after,fieldset[disabled] .rab-btn-info.active>a:only-child:after,fieldset[disabled] .rab-btn-info:active>a:only-child:after,fieldset[disabled] .rab-btn-info:focus>a:only-child:after,fieldset[disabled] .rab-btn-info:hover>a:only-child:after,fieldset[disabled] .rab-btn-info>a:only-child:after{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:transparent}.rab-btn-info.active,.rab-btn-info:active,.rab-btn-info:hover{color:#fff}.rab-btn-info:focus{box-shadow:0 0 0 2px rgba(45,183,245,.2)}.rab-btn-circle,.rab-btn-circle-outline{border-radius:32px}.rab-btn-circle-outline.rab-btn-large,.rab-btn-circle.rab-btn-large{border-radius:40px}.rab-btn-circle-outline.rab-btn-size,.rab-btn-circle.rab-btn-size{border-radius:24px}.rab-btn-circle-outline.rab-btn-icon-only,.rab-btn-circle.rab-btn-icon-only{width:32px;height:32px;padding:0;font-size:16px;border-radius:50%}.rab-btn-circle-outline.rab-btn-icon-only.rab-btn-large,.rab-btn-circle.rab-btn-icon-only.rab-btn-large{width:40px;height:40px;padding:0;font-size:18px;border-radius:50%}.rab-btn-circle-outline.rab-btn-icon-only.rab-btn-small,.rab-btn-circle.rab-btn-icon-only.rab-btn-small{width:24px;height:24px;padding:0;font-size:14px;border-radius:50%}.rab-btn:before{position:absolute;top:-1px;left:-1px;bottom:-1px;right:-1px;background:#fff;opacity:.35;content:\"\";border-radius:inherit;z-index:1;transition:opacity .2s;pointer-events:none;display:none}.rab-btn.rab-btn-loading{pointer-events:none;position:relative}.rab-btn.rab-btn-loading:before{display:block}.rab-btn-group{position:relative;display:inline-block;vertical-align:middle}.rab-btn-group>.rab-btn{position:relative;float:left}.rab-btn-group>.rab-btn.active,.rab-btn-group>.rab-btn:active,.rab-btn-group>.rab-btn:hover{z-index:2}.rab-btn-group-circle .rab-btn{border-radius:32px}.rab-btn-group-lg.rab-btn-group-circle .rab-btn{border-radius:40px}.rab-btn-group-lg>.rab-btn{height:40px;padding:0 15px;font-size:16px;border-radius:2px}.rab-btn-group-sm.rab-btn-group-circle .rab-btn{border-radius:24px}.rab-btn-group-sm>.rab-btn{height:24px;padding:0 7px;font-size:14px;border-radius:1px}.rab-btn-group-sm>.rab-btn>.rab-icon{font-size:14px}.rab-btn-group-sm .rab-btn-icon-only{width:24px;height:24px;padding:0}.rab-btn-group-lg .rab-btn-icon-only{width:40px;height:40px;padding:0}.rab-btn+.rab-btn-group,.rab-btn-group+.rab-btn,.rab-btn-group+.rab-btn-group,.rab-btn-group .rab-btn+.rab-btn{margin-left:-1px}.rab-btn-group .rab-btn:not(:first-child):not(:last-child){border-radius:0}.rab-btn-group:not(.rab-btn-group-vertical)>.rab-btn:first-child{margin-left:0}.rab-btn-group:not(.rab-btn-group-vertical)>.rab-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rab-btn-group:not(.rab-btn-group-vertical)>.rab-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rab-btn-group>.rab-btn-group{float:left}.rab-btn-group>.rab-btn-group:not(:first-child):not(:last-child)>.rab-btn{border-radius:0}.rab-btn-group:not(.rab-btn-group-vertical)>.rab-btn-group:first-child:not(:last-child)>.rab-btn:last-child{border-bottom-right-radius:0;border-top-right-radius:0;padding-right:8px}.rab-btn-group:not(.rab-btn-group-vertical)>.rab-btn-group:last-child:not(:first-child)>.rab-btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0;padding-left:8px}.rab-btn-group-vertical{display:inline-block;vertical-align:middle}.rab-btn-group-vertical>.rab-btn{display:block;width:100%;max-width:100%;float:none;min-width:32px}.rab-btn-group-vertical.rab-btn-group-small>.rab-btn{min-width:24px}.rab-btn-group-vertical.rab-btn-group-large>.rab-btn{min-width:40px}.rab-btn+.rab-btn-group-vertical,.rab-btn-group-vertical+.rab-btn,.rab-btn-group-vertical+.rab-btn-group-vertical,.rab-btn-group-vertical .rab-btn+.rab-btn{margin-top:-1px;margin-left:0}.rab-btn-group-vertical>.rab-btn:first-child{margin-top:0}.rab-btn-group-vertical>.rab-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.rab-btn-group-vertical>.rab-btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.rab-btn-group-vertical>.rab-btn-group-vertical:first-child:not(:last-child)>.rab-btn:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:8px}.rab-btn-group-vertical>.rab-btn-group-vertical:last-child:not(:first-child)>.rab-btn:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0;padding-top:8px}.rab-btn-ghost{color:#fff}.rab-btn-ghost,.rab-btn-ghost:hover{background:transparent}.rab-btn-ghost.rab-btn-dashed,.rab-btn-ghost.rab-btn-default{color:#fff;border-color:#fff}.rab-btn-ghost.rab-btn-dashed:hover,.rab-btn-ghost.rab-btn-default:hover{color:#46a6ff;border-color:#46a6ff}.rab-btn-ghost.rab-btn-primary{color:#1890ff}.rab-btn-ghost.rab-btn-primary:hover{color:#46a6ff;background:rgba(243,249,255,.5)}.rab-btn-ghost.rab-btn-info{color:#2db7f5}.rab-btn-ghost.rab-btn-info:hover{color:#57c5f7;background:rgba(245,251,254,.5)}.rab-btn-ghost.rab-btn-success{color:#52c41a}.rab-btn-ghost.rab-btn-success:hover{color:#75d048;background:rgba(246,252,244,.5)}.rab-btn-ghost.rab-btn-warning{color:#faad14}.rab-btn-ghost.rab-btn-warning:hover{color:#fbbd43;background:rgba(255,251,243,.5)}.rab-btn-ghost.rab-btn-error{color:#ff4d4f}.rab-btn-ghost.rab-btn-error:hover{color:#ff7172;background:rgba(255,246,246,.5)}.rab-btn-ghost.rab-btn-dashed[disabled],.rab-btn-ghost.rab-btn-default[disabled],.rab-btn-ghost.rab-btn-error[disabled],.rab-btn-ghost.rab-btn-info[disabled],.rab-btn-ghost.rab-btn-primary[disabled],.rab-btn-ghost.rab-btn-success[disabled],.rab-btn-ghost.rab-btn-warning[disabled]{background:transparent;color:rgba(0,0,0,.25);border-color:#dcdee2}.rab-btn-ghost.rab-btn-text[disabled]{background:transparent;color:rgba(0,0,0,.25)}.rab-btn-sm{font-size:12px}a.rab-btn{padding-top:.1px;line-height:30px}a.rab-btn-lg{line-height:38px}a.rab-btn-sm{line-height:22px}r-card{display:block;background:#fff;border:1px solid #e8eaec;border-radius:2px;font-size:14px;position:relative;transition:all .2s ease-in-out}r-card:not(.rab-card-shadow):hover{box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:#eee}.rab-card-no-border{border:none!important}.rab-card-shadow{box-shadow:0 2px 8px 0 rgba(0,0,0,.1)}.rab-card-dis-hover:hover{box-shadow:none!important}.rab-card-dis-hover.rab-card-bordered:hover,.rab-card-dis-hover:hover{border-color:#e8eaec!important}.rab-card-head{border-bottom:1px solid #e8eaec;padding:14px 16px;line-height:1.5;font-size:16px;color:#2c3e50}.rab-card-head-inner,.rab-card-head p{display:inline-block;width:100%;height:20px;line-height:20px;font-size:16px;color:#2c3e50;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rab-card-extra{position:absolute;right:16px;top:14px}.rab-card-body{padding:16px}r-carousel{position:relative;display:block}.rab-carousel-list{position:relative;width:100%;overflow:hidden}.rab-carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .5s ease}.rab-carousel-item-next,.rab-carousel-item-prev,.rab-carousel-item.active{display:block}.active.rab-carousel-item-right,.rab-carousel-item-next:not(.rab-carousel-item-left){transform:translateX(100%)}.active.rab-carousel-item-left,.rab-carousel-item-prev:not(.rab-carousel-item-right){transform:translateX(-100%)}.rab-carousel-fade .rab-carousel-item{opacity:0;transition-property:opacity;transform:none}.rab-carousel-fade .rab-carousel-item-next.rab-carousel-item-left,.rab-carousel-fade .rab-carousel-item-prev.rab-carousel-item-right,.rab-carousel-fade .rab-carousel-item.active{z-index:1;opacity:1}.rab-carousel-fade .active.rab-carousel-item-left,.rab-carousel-fade .active.rab-carousel-item-right{z-index:0;opacity:0;transition:opacity .5s ease 0s}.rab-carousel-arrow{border:0;padding:0;margin:0;outline:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:none;position:absolute;top:50%;z-index:10;transform:translateY(-50%);transition:.2s;background-color:rgba(31,45,61,.11);color:#fff;text-align:center;font-size:1em;font-family:inherit;line-height:inherit}.rab-carousel-arrow:hover{background-color:rgba(31,45,61,.5)}.rab-carousel-arrow>*{vertical-align:baseline}.rab-carousel-arrow.left{left:16px}.rab-carousel-arrow.right{right:16px}.rab-carousel-arrow-always{display:inherit}.rab-carousel-arrow-hover{display:inherit;opacity:0}r-carousel:hover .rab-carousel-arrow-hover{opacity:1}.rab-carousel-dots{z-index:10;display:none;position:relative;list-style:none;text-align:center;padding:0;width:100%;height:17px}.rab-carousel-dots-inside{display:block;position:absolute;bottom:3px}.rab-carousel-dots-outside{display:block;margin-top:3px}.rab-carousel-dots li{position:relative;display:inline-block;vertical-align:top;text-align:center;margin:0 2px;padding:7px 0;cursor:pointer}.rab-carousel-dots li button{width:16px;height:3px;border:0;cursor:pointer;background:#8391a5;opacity:.3;display:block;border-radius:1px;outline:none;font-size:0;color:transparent;transition:all .5s}.rab-carousel-dots li button.radius{width:9px;height:9px;border-radius:50%}.rab-carousel-dots li:hover>button{opacity:.7}.rab-carousel-dots li.rab-carousel-active>button{opacity:1;width:24px}.rab-carousel-dots li.rab-carousel-active>button.radius{width:9px}.rab-checkbox{display:inline-block;vertical-align:middle;white-space:nowrap;cursor:pointer;position:relative;line-height:1}.rab-checkbox-focus{box-shadow:0 0 0 2px rgba(24,144,255,.2);z-index:1}.rab-checkbox:hover .rab-checkbox-inner{border-color:#bcbcbc}.rab-checkbox-inner{display:inline-block;width:16px;height:16px;position:relative;top:0;left:0;border:1px solid #dcdee2;border-radius:2px;background-color:#fff;transition:border-color .2s ease-in-out,background-color .2s ease-in-out,box-shadow .2s ease-in-out}.rab-checkbox-inner:after{content:\"\";display:table;width:4px;height:8px;position:absolute;top:1px;left:4px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0);transition:all .2s ease-in-out}.rab-checkbox-input{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;cursor:pointer;opacity:0}.rab-checkbox-input[disabled]{cursor:not-allowed}.rab-checkbox+.rab-icon{position:relative;top:1px;margin-left:5px}.rab-checkbox-checked:hover .rab-checkbox-inner{border-color:#1890ff}.rab-checkbox-checked .rab-checkbox-inner{border-color:#1890ff;background-color:#1890ff}.rab-checkbox-checked .rab-checkbox-inner:after{content:\"\";display:table;width:4px;height:8px;position:absolute;top:2px;left:5px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1);transition:all .2s ease-in-out}.rab-checkbox-indeterminate .rab-checkbox-inner:after{content:\"\";width:10px;height:1px;transform:scale(1);position:absolute;left:2px;top:6px}.rab-checkbox-indeterminate:hover .rab-checkbox-inner{border-color:#1890ff}.rab-checkbox-indeterminate .rab-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.rab-checkbox-indeterminate[disabled] .rab-checkbox-inner{background-color:#f3f3f3;border-color:#dcdee2}.rab-checkbox-indeterminate[disabled] .rab-checkbox-inner:after{border-color:#c5c8ce}r-checkbox{cursor:pointer;font-size:14px;display:inline-block;margin-right:8px}r-checkbox[disabled],r-checkbox[disabled] .rab-checkbox{cursor:not-allowed}r-checkbox[disabled] .rab-checkbox-checked:hover .rab-checkbox-inner{border-color:#dcdee2}r-checkbox[disabled] .rab-checkbox-checked .rab-checkbox-inner{background-color:#f3f3f3;border-color:#dcdee2}r-checkbox[disabled] .rab-checkbox-checked .rab-checkbox-inner:after{animation-name:none;border-color:#ccc}r-checkbox[disabled] .rab-checkbox .rab-checkbox-inner{border-color:#dcdee2;background-color:#f3f3f3}r-checkbox[disabled] .rab-checkbox .rab-checkbox-inner:after{animation-name:none;border-color:#ccc}r-checkbox[disabled] .rab-checkbox .rab-checkbox-inner-input{cursor:default}r-checkbox[disabled] .rab-checkbox+span{color:#ccc;cursor:not-allowed}r-checkbox[disabled] .rab-checkbox:hover .rab-checkbox-inner{border-color:#dcdee2}r-checkbox[type=border]{border:1px solid #dcdee2;border-radius:2px;height:32px;line-height:31px;padding:0 15px;transition:border .2s ease-in-out}r-checkbox[size=large]{font-size:16px}r-checkbox[size=large] .rab-checkbox-inner{width:18px;height:18px}r-checkbox[size=large] .rab-checkbox-inner:after{width:5px;height:9px}r-checkbox[size=large].rab-checkbox-checked .rab-checkbox-inner:after{width:6px;height:10px}r-checkbox[size=large] .rab-checkbox-indeterminate .rab-checkbox-inner:after{width:12px;top:7px}r-checkbox[size=small]{font-size:14px}r-checkbox[size=small] .rab-checkbox-inner{width:14px;height:14px}r-checkbox[size=small] .rab-checkbox-inner:after{top:0;left:3px}r-checkbox[size=small].rab-checkbox-checked .rab-checkbox-inner:after{top:1px;left:4px}r-checkbox[size=small] .rab-checkbox-indeterminate .rab-checkbox-inner:after{width:8px;top:5px}r-checkbox+span,r-checkbox .rab-checkbox+span{margin-right:4px}.rab-checkbox-checked[type=border]{border-color:#1890ff}r-checkbox-group{display:block;font-size:14px}r-checkbox-group r-checkbox{display:inline-block}r-checkbox-group[size=large]{font-size:16px}r-checkbox-group[size=large] .rab-checkbox-inner{width:18px;height:18px}r-checkbox-group[size=large] .rab-checkbox-inner:after{width:5px;height:9px}r-checkbox-group[size=large].rab-checkbox-checked .rab-checkbox-inner:after{width:6px;height:10px}r-checkbox-group[size=large] .rab-checkbox-indeterminate .rab-checkbox-inner:after{width:12px;top:7px}r-checkbox-group[size=small]{font-size:14px}r-checkbox-group[size=small] .rab-checkbox-inner{width:14px;height:14px}r-checkbox-group[size=small] .rab-checkbox-inner:after{top:0;left:3px}r-checkbox-group[size=small].rab-checkbox-checked .rab-checkbox-inner:after{top:1px;left:4px}r-checkbox-group[size=small] .rab-checkbox-indeterminate .rab-checkbox-inner:after{width:8px;top:5px}r-checkbox-group[size=small] r-checkbox[type=border],r-checkbox[size=small][type=border]{height:24px;line-height:23px;padding:0 7px}r-checkbox-group[size=large] r-checkbox[type=border],r-checkbox[size=large][type=border]{height:40px;line-height:37px;padding:0 15px}r-circle{display:inline-block;position:relative}.rab-chart-circle-inner{width:100%;text-align:center;position:absolute;left:0;top:50%;transform:translateY(-50%);line-height:0}r-collapse{display:block;background-color:#fafafa;border-radius:2px;border:1px solid #dcdee2}r-collapse-panel{display:none;border-top:1px solid #dcdee2}r-collapse-panel:first-child{border-top:0}r-collapse-panel>.rab-collapse-header{height:38px;line-height:38px;padding-left:16px;color:#666;cursor:pointer;position:relative;border-bottom:1px solid transparent}r-collapse-panel>.rab-collapse-header>i{transition:transform .2s ease-in-out;margin-right:14px}r-collapse-panel.rab-collapse-item-active>.rab-collapse-header{border-bottom:1px solid #dcdee2}r-collapse-panel.rab-collapse-item-active>.rab-collapse-header>i{transform:rotate(90deg)}r-collapse-panel:last-child>.rab-collapse-content{border-radius:0 0 2px 2px}.rab-collapse-ghost,.rab-collapse-simple{border-top:none;border-left:none;border-right:none;border-radius:0}.rab-collapse-ghost>r-collapse-panel.rab-collapse-item-active>.rab-collapse-header,.rab-collapse-simple>r-collapse-panel.rab-collapse-item-active>.rab-collapse-header{border-bottom:1px solid transparent}.rab-collapse-content{display:none;overflow:hidden;color:#55585e;padding:0 16px;background-color:#fff}.rab-collapse-content>.rab-collapse-content-box{padding-top:16px;padding-bottom:16px}.rab-collapse-simple>r-collapse-panel>.rab-collapse-content>.rab-collapse-content-box{padding-top:0}.rab-collapse-simple .rab-collapse-content{background-color:#fafafa}.rab-collapse-ghost{border-bottom:none}.rab-collapse-ghost>r-collapse-panel{border-top:none}.rab-collapse-ghost>r-collapse-panel>.rab-collapse-content>.rab-collapse-content-box{padding-top:12px;padding-bottom:12px}.rab-collapse-ghost,.rab-collapse-ghost .rab-collapse-content{background-color:#fff}.rab-collapse-item-active>.rab-collapse-content{display:block}r-count-down{display:inline-block;font-size:20px}r-divider{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color,Segoe UI Symbol,Noto Color;font-size:14px;line-height:1.5;color:#55585e;box-sizing:border-box;margin:0;padding:0;list-style:none;background:#e8eaec}r-divider,r-divider[type=vertical]{margin:0 8px;display:inline-block;height:.9em;width:1px;vertical-align:middle;position:relative;top:-.06em}r-divider[type=horizontal]{display:block;height:1px;width:100%;min-width:100%;margin:24px 0;clear:both}r-divider[type=horizontal].rab-divider-with-text-center,r-divider[type=horizontal].rab-divider-with-text-left,r-divider[type=horizontal].rab-divider-with-text-right{display:table;white-space:nowrap;text-align:center;background:transparent;font-weight:500;color:#2c3e50;font-size:16px;margin:16px 0}r-divider[type=horizontal].rab-divider-with-text-center:after,r-divider[type=horizontal].rab-divider-with-text-center:before,r-divider[type=horizontal].rab-divider-with-text-left:after,r-divider[type=horizontal].rab-divider-with-text-left:before,r-divider[type=horizontal].rab-divider-with-text-right:after,r-divider[type=horizontal].rab-divider-with-text-right:before{content:\"\";display:table-cell;position:relative;top:50%;width:50%;border-top:1px solid #e8eaec;transform:translateY(50%)}r-divider[type=horizontal][size=small].rab-divider-with-text-center,r-divider[type=horizontal][size=small].rab-divider-with-text-left,r-divider[type=horizontal][size=small].rab-divider-with-text-right{font-size:14px;margin:8px 0}r-divider[type=horizontal].rab-divider-with-text-left .rab-divider-inner-text,r-divider[type=horizontal].rab-divider-with-text-right .rab-divider-inner-text{display:inline-block;padding:0 10px}r-divider[type=horizontal].rab-divider-with-text-left:before{top:50%;width:5%}r-divider[type=horizontal].rab-divider-with-text-left:after,r-divider[type=horizontal].rab-divider-with-text-right:before{top:50%;width:95%}r-divider[type=horizontal].rab-divider-with-text-right:after{top:50%;width:5%}r-divider[type=horizontal].rab-divider-with-text-left.rab-divider-dashed,r-divider[type=horizontal].rab-divider-with-text-right.rab-divider-dashed,r-divider[type=horizontal].rab-divider-with-text.rab-divider-dashed{border-top:0}r-divider[type=horizontal].rab-divider-with-text-left.rab-divider-dashed:after,r-divider[type=horizontal].rab-divider-with-text-left.rab-divider-dashed:before,r-divider[type=horizontal].rab-divider-with-text-right.rab-divider-dashed:after,r-divider[type=horizontal].rab-divider-with-text-right.rab-divider-dashed:before,r-divider[type=horizontal].rab-divider-with-text.rab-divider-dashed:after,r-divider[type=horizontal].rab-divider-with-text.rab-divider-dashed:before{border-style:dashed none none}.rab-divider-inner-text{display:inline-block;padding:0 24px}.rab-divider-dashed{background:none;border-top:1px dashed #e8eaec}.rab-divider-plain.rab-divider-with-text,.rab-divider-plain.rab-divider-with-text-left,.rab-divider-plain.rab-divider-with-text-right{color:#55585e!important;font-weight:400!important;font-size:14px!important}r-drawer{display:none}.rab-drawer{width:auto;height:100%;position:fixed}.rab-drawer-inner{position:absolute}.rab-drawer-bottom,.rab-drawer-top{width:100%;left:0}.rab-drawer-left,.rab-drawer-right{top:0;height:100%}.rab-drawer-left{left:0}.rab-drawer-right{right:0}.rab-drawer-top{top:0}.rab-drawer-bottom{bottom:0}.rab-drawer-hidden{display:none!important}.rab-drawer-wrap{position:fixed;overflow:auto;top:0;right:0;bottom:0;left:0;z-index:1000;-webkit-overflow-scrolling:touch;outline:0}.rab-drawer-wrap-inner{position:absolute;overflow:hidden}.rab-drawer-wrap-dragging{user-select:none}.rab-drawer-wrap *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rab-drawer-mask{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(45,45,45,.55);height:100%;z-index:1000}.rab-drawer-mask-hidden{display:none}.rab-drawer-mask-inner{position:absolute}.rab-drawer-content{width:100%;height:100%;position:absolute;top:0;bottom:0;background-color:#fff;border:0;background-clip:padding-box;box-shadow:0 4px 12px rgba(0,0,0,.15)}.rab-drawer-content-no-mask{pointer-events:auto}.rab-drawer-header{border-bottom:1px solid #e8eaec;padding:14px 16px;line-height:1.5;font-size:16px;color:#2c3e50}.rab-drawer-header-inner,.rab-drawer-header p{display:inline-block;width:100%;height:20px;line-height:20px;font-size:16px;color:#2c3e50;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rab-drawer-close{z-index:1;font-size:12px;position:absolute;right:8px;top:8px;overflow:hidden;cursor:pointer}.rab-drawer-close .rab-icon-ios-close{font-size:28px;color:#999;transition:color .2s ease;position:relative;top:0}.rab-drawer-close .rab-icon-ios-close:hover{color:#666}.rab-drawer-body{width:100%;height:calc(100% - 51px);padding:16px;font-size:14px;line-height:1.5;word-wrap:break-word;position:absolute;overflow:auto}.rab-drawer-no-header .rab-drawer-body{height:100%}.rab-drawer-no-mask{pointer-events:none}.rab-drawer-no-mask .rab-drawer-drag{pointer-events:auto}.rab-drawer-drag{top:0;height:100%;width:0;position:absolute}.rab-drawer-drag-left{right:0}.rab-drawer-drag-move-trigger{width:8px;height:100px;line-height:100px;position:absolute;top:50%;background:#f3f3f3;transform:translate(-50%,-50%);border-radius:4px/6px;box-shadow:0 0 1px 1px rgba(0,0,0,.2);cursor:col-resize}.rab-drawer-drag-move-trigger-point{display:inline-block;width:50%;transform:translateX(50%)}.rab-drawer-drag-move-trigger-point i{display:block;border-bottom:1px solid silver;padding-bottom:2px}.rab-drawer-top-move-enter{animation:rabDrawerMoveTopIn .55s cubic-bezier(.075,.82,.165,1)}.rab-drawer-bottom-move-enter{animation:rabDrawerMoveBottomIn .55s cubic-bezier(.075,.82,.165,1)}.rab-drawer-left-move-enter{animation:rabDrawerMoveLeftIn .55s cubic-bezier(.075,.82,.165,1)}.rab-drawer-right-move-enter{animation:rabDrawerMoveRightIn .55s cubic-bezier(.075,.82,.165,1)}.rab-drawer-top-move-leave{animation:rabDrawerMoveTopOut .5s cubic-bezier(.075,.82,.165,1)}.rab-drawer-bottom-move-leave{animation:rabDrawerMoveBottomOut .5s cubic-bezier(.075,.82,.165,1)}.rab-drawer-left-move-leave{animation:rabDrawerMoveLeftOut .5s cubic-bezier(.075,.82,.165,1)}.rab-drawer-right-move-leave{animation:rabDrawerMoveRightOut .5s cubic-bezier(.075,.82,.165,1)}r-dropdown{display:inline-block;position:relative}r-dropdown r-dropdown-menu{overflow:visible;max-height:none}r-dropdown-menu{width:inherit;max-height:200px;overflow:auto;display:block;visibility:hidden;min-width:100px;padding:5px 0;box-shadow:0 2px 8px rgba(0,0,0,.15);position:absolute;background-color:#fff;box-sizing:border-box;border-radius:2px;z-index:900}r-dropdown-item[selected],r-dropdown-item[selected]:hover{background:#e6f7ff}r-dropdown-item[danger]{color:#ff4d4f}r-dropdown-item[danger]:hover{color:#fff;background-color:#ff4d4f}r-dropdown-item{display:block;margin:0;line-height:normal;padding:7px 16px;clear:both;color:#55585e;font-size:14px!important;white-space:nowrap;cursor:pointer;transition:all .3s ease-in-out}r-dropdown-item:hover{background:#f3f3f3}r-dropdown-item[disabled],r-dropdown-item[disabled]:hover{color:#c5c8ce;cursor:not-allowed}r-dropdown-item[disabled]:hover{background-color:#fff}r-dropdown-item[selected],r-dropdown-item[selected]:hover{color:#1890ff;background:rgba(24,144,255,.1)}r-dropdown-item[selected].rab-dropdown-item-focus{background:rgba(21,127,225,.91)}r-dropdown-item[divided]{margin-top:5px;border-top:1px solid #e8eaec}r-dropdown-item[divided]:before{content:\"\";height:5px;display:block;margin:0 -16px;background-color:#fff;position:relative;top:-7px}.rab-dropdown-item-focus{background:#f3f3f3}.rab-dropdown-item-enter{color:#1890ff;font-weight:700;float:right}.rab-dropdown-large r-dropdown-item{padding:7px 16px 8px;font-size:14px!important}@-moz-document url-prefix(){r-dropdown-item{white-space:normal}}.transition-drop-enter{animation:rabTransitionDropIn .3s ease-in-out}.transition-drop-leave{animation:rabTransitionDropOut .3s ease-in-out}r-empty{display:block;margin:0 8px;font-size:14px;line-height:22px;text-align:center}.rab-empty-image{height:100px;margin-bottom:12px}.rab-empty-image img{height:100%}.rab-empty-description{margin:0;color:#808695}.rab-empty-footer{margin-top:12px}.rab-input-number{display:inline-block;width:100%;line-height:1.5;font-size:14px;color:#55585e;background-color:#fff;background-image:none;position:relative;cursor:text;transition:border .2s ease-in-out,background .2s ease-in-out,box-shadow .2s ease-in-out;margin:0;padding:0;width:80px;height:32px;line-height:32px;vertical-align:middle;border:1px solid #dcdee2;border-radius:2px;overflow:hidden;cursor:default}.rab-input-number::-moz-placeholder{color:#c5c8ce;opacity:1}.rab-input-number:-ms-input-placeholder{color:#c5c8ce}.rab-input-number::-webkit-input-placeholder{color:#c5c8ce}.rab-input-number:focus{border-color:#46a6ff;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.rab-input-number[disabled],fieldset[disabled] .rab-input-number{background-color:#f3f3f3;opacity:1;cursor:not-allowed;color:#ccc}.rab-input-number[disabled]:hover,fieldset[disabled] .rab-input-number:hover{border-color:#e3e5e8}textarea.rab-input-number{max-width:100%;height:auto;min-height:32px;vertical-align:bottom;font-size:14px}.rab-input-number-large{font-size:16px;padding:6px 7px;height:40px}.rab-input-number-small{padding:1px 7px;height:24px;border-radius:1px}.rab-input-number-handler-wrap{width:22px;height:100%;border-left:1px solid #dcdee2;border-radius:0 2px 2px 0;background:#fff;position:absolute;top:0;right:0;opacity:0;transition:opacity .2s ease-in-out}.rab-input-number:hover .rab-input-number-handler-wrap{opacity:1}.rab-input-number-handler-up{cursor:pointer}.rab-input-number-handler-up-inner{top:-1px}.rab-input-number-handler-down{border-top:1px solid #dcdee2;top:-1px;cursor:pointer}.rab-input-number-handler{display:block;width:100%;height:16px;line-height:0;text-align:center;overflow:hidden;color:#999;position:relative}.rab-input-number-handler:hover .rab-input-number-handler-down-inner,.rab-input-number-handler:hover .rab-input-number-handler-up-inner{color:#46a6ff}.rab-input-number-handler-down-inner,.rab-input-number-handler-up-inner{width:12px;height:12px;line-height:12px;font-size:14px;color:#999;user-select:none;position:absolute;right:5px;transition:all .2s linear}.rab-input-number:hover{border-color:#46a6ff}.rab-input-number-focused{border-color:#46a6ff;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.rab-input-number-disabled{background-color:#f3f3f3;opacity:1;cursor:not-allowed;color:#ccc}.rab-input-number-disabled:hover{border-color:#e3e5e8}.rab-input-number-input-wrap{overflow:hidden;height:32px}.rab-input-number-input{width:100%;height:32px;line-height:32px;padding:0 7px;text-align:left;outline:0;-moz-appearance:textfield;color:#666;border:0;border-radius:2px;transition:all .2s linear}.rab-input-number-input::-webkit-inner-spin-button,.rab-input-number-input::-webkit-outer-spin-button{-webkit-appearance:none}.rab-input-number-input[disabled]{background-color:#f3f3f3;opacity:1;cursor:not-allowed;color:#ccc}.rab-input-number-input[disabled]:hover{border-color:#e3e5e8}.rab-input-number-input::placeholder{color:#c5c8ce}.rab-input-number-large{padding:0}.rab-input-number-large .rab-input-number-input-wrap{height:40px}.rab-input-number-large .rab-input-number-handler{height:20px}.rab-input-number-large input{height:40px;line-height:40px}.rab-input-number-large .rab-input-number-handler-up-inner{top:1px}.rab-input-number-large .rab-input-number-handler-down-inner{bottom:5px}.rab-input-number-small{padding:0}.rab-input-number-small .rab-input-number-input-wrap{height:24px}.rab-input-number-small .rab-input-number-handler{height:12px}.rab-input-number-small input{height:24px;line-height:24px;margin-top:-1px;vertical-align:top}.rab-input-number-small .rab-input-number-handler-up-inner{top:-4px}.rab-input-number-small .rab-input-number-handler-down-inner{bottom:2px}.rab-input-number-disabled .rab-input-number-handler-down-inner,.rab-input-number-disabled .rab-input-number-handler-up-inner,.rab-input-number-handler-down-disabled .rab-input-number-handler-down-inner,.rab-input-number-handler-down-disabled .rab-input-number-handler-up-inner,.rab-input-number-handler-up-disabled .rab-input-number-handler-down-inner,.rab-input-number-handler-up-disabled .rab-input-number-handler-up-inner{opacity:.72;color:#ccc!important;cursor:not-allowed}.rab-input-number-disabled .rab-input-number-input{opacity:.72;cursor:not-allowed;background-color:#f3f3f3}.rab-input-number-disabled .rab-input-number-handler-wrap{display:none}.rab-input-number-disabled .rab-input-number-handler{opacity:.72;color:#ccc!important;cursor:not-allowed}.rab-input-number-controls-outside{width:144px;padding:0 32px}.rab-input-number-controls-outside .rab-input-number-input{border-radius:0;text-align:center}.rab-input-number-controls-outside-btn{display:inline-block;width:32px;height:32px;line-height:30px;position:absolute;top:0;text-align:center;background-color:#f8f8f9;color:#55585e;cursor:pointer}.rab-input-number-controls-outside-btn i{font-size:16px}.rab-input-number-controls-outside-btn:hover i{color:#1890ff}.rab-input-number-controls-outside-btn-disabled,.rab-input-number-controls-outside-btn-disabled:hover{cursor:not-allowed}.rab-input-number-controls-outside-btn-disabled:hover i,.rab-input-number-controls-outside-btn-disabled i{color:#ccc}.rab-input-number-controls-outside-up{right:0;border-left:1px solid #dcdee2}.rab-input-number-controls-outside-down{left:0;border-right:1px solid #dcdee2}.rab-input-number-disabled.rab-input-number-controls-outside .rab-input-number-controls-outside-btn{cursor:not-allowed}.rab-input-number-disabled.rab-input-number-controls-outside .rab-input-number-controls-outside-btn i{color:#ccc}.rab-input-number-large.rab-input-number-controls-outside{width:160px;padding:0 40px}.rab-input-number-large.rab-input-number-controls-outside .rab-input-number-controls-outside-btn{width:40px;height:40px;line-height:38px}.rab-input-number-large.rab-input-number-controls-outside .rab-input-number-controls-outside-btn i{font-size:20px}.rab-input-number-small.rab-input-number-controls-outside{width:128px;padding:0 24px}.rab-input-number-small.rab-input-number-controls-outside .rab-input-number-controls-outside-btn{width:24px;height:24px;line-height:22px}.rab-input-number-small.rab-input-number-controls-outside .rab-input-number-controls-outside-btn i{font-size:14px}r-jumbotron{display:block;padding:2rem 1rem;margin-bottom:32px;background-color:#e6ebf1;border-radius:2px}r-jumbotron[type=light]{background-color:#fff}r-jumbotron[type=dark]{background-color:#141414}r-jumbotron[type=dark] .rab-jumbotron-title{color:hsla(0,0%,100%,.8)}r-jumbotron[type=dark] .rab-jumbotron-subtitle{color:hsla(0,0%,100%,.85)}@media (min-width:576px){r-jumbotron{padding:3rem 2rem}}.rab-jumbotron-container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.rab-jumbotron-container{max-width:540px}}@media (min-width:768px){.rab-jumbotron-container{max-width:720px;max-width:960px;max-width:1140px}}.rab-jumbotron-title{color:#2c3e50;font-size:3.5rem;font-weight:300;line-height:1.5}.rab-jumbotron-subtitle{font-size:1.25rem;font-weight:300;margin-bottom:16px}.rab-loading-bar{width:100%;position:fixed;top:0;left:0;right:0;z-index:2000;pointer-events:none}.rab-loading-bar-inner{height:100%;transition:width .2s linear}.rab-loading-bar-inner-color-primary{background-color:#1890ff}.rab-loading-bar-inner-failed-color-error{background-color:#ff4d4f}.rab-message{font-size:14px;position:fixed;z-index:1010;width:100%;top:16px;left:0;pointer-events:none}.rab-message-notice{padding:8px;text-align:center;transition:height .3s ease-in-out,padding .3s ease-in-out}.rab-message-notice:first-child{margin-top:-8px}.rab-message-notice-close{position:absolute;right:4px;top:10px;color:#999;outline:none}.rab-message-notice-close i.rab-icon{font-size:22px;color:#999;transition:color .2s ease;position:relative;top:4px}.rab-message-notice-close i.rab-icon:hover{color:#666}.rab-message-notice-content{display:inline-block;pointer-events:all;padding:10px 16px;border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.15);background:#fff;position:relative}.rab-message-notice-content-text{display:inline-block}.rab-message-notice-closable .rab-message-notice-content-text{padding-right:32px}.rab-message-success .rab-icon{color:#52c41a}.rab-message-error .rab-icon{color:#ff4d4f}.rab-message-warning .rab-icon{color:#faad14}.rab-message-info .rab-icon,.rab-message-loading .rab-icon{color:#1890ff}.rab-message .rab-icon{margin-right:8px;font-size:18px;position:relative;top:1px}.rab-message .rab-icon-loading-solid{height:5px}.rab-message-notice-with-background .rab-message-notice-content-background{box-shadow:none;border-radius:4px}.rab-message-notice-with-background .rab-message-notice-content-info{background:#f0faff;color:#178fff;border:1px solid #cfefff}.rab-message-notice-with-background .rab-message-notice-content-success{background:#f2ffe6;color:#52c41a;border:1px solid #d9f7be}.rab-message-notice-with-background .rab-message-notice-content-warning{background:#fffbe6;color:#faad14;border:1px solid #fff1b8}.rab-message-notice-with-background .rab-message-notice-content-error{background:#fff2f0;color:#ff4d4f;border:1px solid #fff1f0}.rab-message-move-enter{animation:rabMessageMoveIn .3s cubic-bezier(.23,1,.32,1)}.rab-message-move-leave{animation:rabMessageMoveOut .3s cubic-bezier(.23,1,.32,1)}.zoom-big-enter{-webkit-animation:rabZoomBigIn .2s cubic-bezier(.075,.82,.165,1);animation:rabZoomBigIn .2s cubic-bezier(.075,.82,.165,1)}.zoom-big-leave{-webkit-animation:rabZoomBigOut .2s cubic-bezier(.075,.82,.165,1);animation:rabZoomBigOut .2s cubic-bezier(.075,.82,.165,1)}.zoom-big-fast-enter{-webkit-animation:rabZoomBigFastIn .2s cubic-bezier(.075,.82,.165,1);animation:rabZoomBigFastIn .2s cubic-bezier(.075,.82,.165,1)}.zoom-big-fast-leave{-webkit-animation:rabZoomBigFastOut .2s cubic-bezier(.075,.82,.165,1);animation:rabZoomBigFastOut .2s cubic-bezier(.075,.82,.165,1)}@-webkit-keyframes rabZoomBigIn{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes rabZoomBigIn{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes rabZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}}@keyframes rabZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}}@-webkit-keyframes rabZoomBigFastIn{0%{-webkit-transform:scale(.6);transform:scale(.6);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes rabZoomBigFastIn{0%{-webkit-transform:scale(.6);transform:scale(.6);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes rabZoomBigFastOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.85);transform:scale(.85);opacity:0}}@keyframes rabZoomBigFastOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.85);transform:scale(.85);opacity:0}}r-modal{display:none}.rab-modal{width:auto;margin:0 auto;position:relative;outline:none;top:100px}.rab-modal.zoom-big-enter,.rab-modal.zoom-big-leave{animation-duration:.3s}.rab-modal-hidden{display:none!important}.rab-modal-wrap{position:fixed;overflow:auto;top:0;right:0;bottom:0;left:0;z-index:1000;-webkit-overflow-scrolling:touch;outline:0}.rab-modal-wrap *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rab-modal-mask{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(45,45,45,.55);height:100%;z-index:1000}.rab-modal-mask-hidden{display:none}.rab-modal-content{position:relative;background-color:#fff;border:0;border-radius:2px;background-clip:padding-box;box-shadow:0 4px 12px rgba(0,0,0,.15)}.rab-modal-content-no-mask{pointer-events:auto}.rab-modal-header{border-bottom:1px solid #e8eaec;padding:14px 16px;line-height:1.5;font-size:16px;color:#2c3e50}.rab-modal-header-inner,.rab-modal-header p{display:inline-block;width:100%;height:20px;line-height:20px;font-size:16px;color:#2c3e50;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rab-modal-close{z-index:1;font-size:12px;position:absolute;right:8px;top:8px;overflow:hidden;cursor:pointer}.rab-modal-close .rab-icon-ios-close{font-size:31px;color:#999;transition:color .2s ease;position:relative;top:8px}.rab-modal-close .rab-icon-ios-close:hover{color:#666}.rab-modal-body{padding:16px;font-size:14px;line-height:1.5}.rab-modal-body p{margin:0}.rab-modal-footer{border-top:1px solid #e8eaec;padding:12px 18px;text-align:right}.rab-modal-footer button+button{margin-left:8px;margin-bottom:0}.rab-modal-fullscreen{width:100%!important;top:0;bottom:0;position:absolute}.rab-modal-fullscreen .rab-modal-content{width:100%;border-radius:0;position:absolute;top:0;bottom:0}.rab-modal-fullscreen .rab-modal-body{width:100%;overflow:auto;position:absolute;top:51px;bottom:61px}.rab-modal-fullscreen-no-header .rab-modal-body{top:0}.rab-modal-fullscreen-no-footer .rab-modal-body{bottom:0}.rab-modal-fullscreen .rab-modal-footer{position:absolute;width:100%;bottom:0}.rab-modal-no-mask{pointer-events:none}@media (max-width:576px){.rab-modal{width:auto!important;margin:10px}.rab-modal-fullscreen{width:100%!important;margin:0}.vertical-center-modal .rab-modal{flex:1}}.rab-modal-confirm{padding:6px 16px 8px}.rab-modal-confirm-head{padding:0 12px 0 0}.rab-modal-confirm-head-icon{display:inline-block;font-size:30px;vertical-align:middle;position:relative;top:-8px}.rab-modal-confirm-head-icon-info{color:#1890ff}.rab-modal-confirm-head-icon-success{color:#52c41a}.rab-modal-confirm-head-icon-warning{color:#faad14}.rab-modal-confirm-head-icon-error{color:#ff4d4f}.rab-modal-confirm-head-icon-confirm{color:#faad14}.rab-modal-confirm-head-title{display:inline-block;vertical-align:middle;margin-left:10px;font-size:16px;color:#2c3e50;font-weight:500}.rab-modal-confirm-body{padding-left:44px;font-size:14px;color:#55585e;position:relative}.rab-modal-confirm-body p{margin:0}.rab-modal-confirm-footer{margin-top:20px;text-align:right}.rab-modal-confirm-footer button+button{margin-left:8px;margin-bottom:0}.rab-notice{margin-right:24px;position:fixed;z-index:1010}.rab-notice-content-with-icon,.rab-notice-with-desc.rab-notice-with-icon .rab-notice-title{margin-left:51px}.rab-notice-notice{width:384px;max-width:calc(100vw - 48px);margin-bottom:10px;margin-left:auto;padding:16px;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);background:#fff;line-height:1.5;position:relative;overflow:hidden}.rab-notice-notice-close{position:absolute;top:16px;right:22px;color:#999;outline:none}.rab-notice-notice-close i{font-size:22px;color:#999;transition:color .2s ease;position:relative;top:4px}.rab-notice-notice-close i:hover{color:#666}.rab-notice-notice-with-desc .rab-notice-notice-close{top:11px}.rab-notice-title{font-size:16px;line-height:19px;color:#2c3e50;padding-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rab-notice-with-desc .rab-notice-title{margin-bottom:8px}.rab-notice-desc{font-size:14px;color:#55585e;text-align:justify;line-height:1.5}.rab-notice-with-desc.rab-notice-with-icon .rab-notice-desc{margin-left:51px}.rab-notice-with-icon .rab-notice-title{margin-left:26px}.rab-notice-icon{position:absolute;top:10px;font-size:20px}.rab-notice-icon-success{color:#52c41a}.rab-notice-icon-info{color:#1890ff}.rab-notice-icon-warning{color:#faad14}.rab-notice-icon-error{color:#ff4d4f}.rab-notice-with-desc .rab-notice-icon{font-size:36px;top:1px}.rab-notice-custom-content{position:relative}.rab-notice-move-enter{animation:rabNoticeMoveIn .35s cubic-bezier(.075,.82,.165,1)}.rab-notice-move-leave{animation:rabNoticeMoveOut .5s cubic-bezier(.075,.82,.165,1)}r-page-header{display:block;font-size:14px;line-height:1.5;position:relative;padding:12px 24px;background-color:#fff}.rab-page-header-heading{width:100%;display:flex;align-items:baseline;overflow:hidden}.rab-page-header-heading-title{display:block;float:left;padding-right:12px;color:#2c3e50;font-size:20px;line-height:40px}.rab-page-header-heading-sub-title{color:#808695;font-size:14px}.rab-page-header-back{margin-right:12px;display:flex;align-items:center;transition:color .3s;color:#2c3e50;cursor:pointer}.rab-page-header-back:hover{color:#1890ff}.rab-page-header-back .rab-icon{font-size:21px}.rab-poptip-rel,r-poptip{display:inline-block}.rab-poptip-rel{position:relative}.rab-poptip-title{min-width:177px;min-height:32px;margin:0;padding:8px 16px;position:relative;border-bottom:1px solid #e8eaec;color:#2c3e50;font-size:14px;font-weight:500}.rab-poptip-body{padding:12px 16px}.rab-poptip-body-content{color:#55585e;overflow:auto}.rab-poptip-body-content-word-wrap{white-space:normal;text-align:justify}.rab-poptip-inner{width:100%;background-color:#fff;background-clip:padding-box;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);white-space:nowrap;text-align:left}.rab-poptip-popper{min-width:170px;will-change:top,left;display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060;visibility:hidden;opacity:0}.rab-poptip-popper[x-placement^=top]{padding:7px 0 10px}.rab-poptip-popper[x-placement^=right]{padding:0 7px 0 10px}.rab-poptip-popper[x-placement^=bottom]{padding:10px 0 7px}.rab-poptip-popper[x-placement^=left]{padding:0 10px 0 7px}.rab-poptip-popper[x-placement^=top] .rab-poptip-arrow{bottom:3px;border-width:7px 7px 0;border-top-color:hsla(0,0%,85%,.5)}.rab-poptip-popper[x-placement=top] .rab-poptip-arrow{left:50%;margin-left:-7px}.rab-poptip-popper[x-placement=top-start] .rab-poptip-arrow{left:16px}.rab-poptip-popper[x-placement=top-end] .rab-poptip-arrow{right:16px}.rab-poptip-popper[x-placement^=right] .rab-poptip-arrow{left:3px;border-width:7px 7px 7px 0;border-right-color:hsla(0,0%,85%,.5)}.rab-poptip-popper[x-placement=right] .rab-poptip-arrow{top:50%;margin-top:-7px}.rab-poptip-popper[x-placement=right-start] .rab-poptip-arrow{top:8px}.rab-poptip-popper[x-placement=right-end] .rab-poptip-arrow{bottom:8px}.rab-poptip-popper[x-placement^=left] .rab-poptip-arrow{right:3px;border-width:7px 0 7px 7px;border-left-color:hsla(0,0%,85%,.5)}.rab-poptip-popper[x-placement=left] .rab-poptip-arrow{top:50%;margin-top:-7px}.rab-poptip-popper[x-placement=left-start] .rab-poptip-arrow{top:8px}.rab-poptip-popper[x-placement=left-end] .rab-poptip-arrow{bottom:8px}.rab-poptip-popper[x-placement^=bottom] .rab-poptip-arrow{top:3px;border-width:0 7px 7px;border-bottom-color:hsla(0,0%,85%,.5)}.rab-poptip-popper[x-placement=bottom] .rab-poptip-arrow{left:50%;margin-left:-7px}.rab-poptip-popper[x-placement=bottom-start] .rab-poptip-arrow{left:16px}.rab-poptip-popper[x-placement=bottom-end] .rab-poptip-arrow{right:16px}.rab-poptip-popper[x-placement^=top] .rab-poptip-arrow:after{content:\" \";bottom:1px;margin-left:-7px;border-bottom-width:0;border-top-width:7px;border-top-color:#fff}.rab-poptip-popper[x-placement^=right] .rab-poptip-arrow:after{content:\" \";left:1px;bottom:-7px;border-left-width:0;border-right-width:7px;border-right-color:#fff}.rab-poptip-popper[x-placement^=bottom] .rab-poptip-arrow:after{content:\" \";top:1px;margin-left:-7px;border-top-width:0;border-bottom-width:7px;border-bottom-color:#fff}.rab-poptip-popper[x-placement^=left] .rab-poptip-arrow:after{content:\" \";right:1px;border-right-width:0;border-left-width:7px;border-left-color:#fff;bottom:-7px}.rab-poptip-arrow,.rab-poptip-arrow:after{display:block;width:0;height:0;position:absolute;border-color:transparent;border-style:solid}.rab-poptip-arrow{border-width:8px}.rab-poptip-arrow:after{content:\"\";border-width:7px}.rab-poptip-confirm .rab-poptip-popper{max-width:300px}.rab-poptip-confirm .rab-poptip-inner{white-space:normal}.rab-poptip-confirm .rab-poptip-body{padding:16px 16px 8px}.rab-poptip-confirm .rab-poptip-body .rab-icon{font-size:18px;color:#faad14;line-height:16px;position:absolute}.rab-poptip-confirm .rab-poptip-body-message{padding:0 0 12px 24px;color:#2c3e50}.rab-poptip-confirm .rab-poptip-footer{text-align:right;margin-bottom:6px}.rab-poptip-confirm .rab-poptip-footer button{margin-left:4px}.rab-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0}.rab-progress-show-info .rab-progress-outer{padding-right:55px;margin-right:-55px}.rab-progress-inner{display:inline-block;width:100%;background-color:#f3f3f3;border-radius:100px;vertical-align:middle;position:relative}.rab-progress-inner-text{display:inline-block;vertical-align:middle;font-size:12px;margin:0 6px}.rab-progress-bg{text-align:right;border-radius:100px;background-color:#1890ff;transition:all .4s;position:relative}.rab-progress-bg:after{content:\"\";display:inline-block;height:100%;vertical-align:middle}.rab-progress-bg .rab-progress-inner-text{color:#fff}.rab-progress-success-bg{border-radius:100px;background-color:#52c41a;transition:all .4s;position:absolute;top:0;left:0}.rab-progress-text{display:inline-block;margin-left:5px;text-align:left;font-size:1em;vertical-align:middle;color:#808695}r-progress{display:inline-block;width:100%;line-height:1.5;font-size:12px;position:relative}r-progress[status=active] .rab-progress-bg:before{content:\"\";opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:10px;-webkit-animation:rab-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;animation:rab-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite}r-progress[status=success] .rab-progress-bg{background-color:#52c41a}r-progress[status=success] .rab-progress-text{color:#52c41a}r-progress[status=warning] .rab-progress-bg{background-color:#faad14}r-progress[status=warning] .rab-progress-text{color:#faad14}r-progress[status=wrong] .rab-progress-bg{background-color:#ff4d4f}r-progress[status=wrong] .rab-progress-text{color:#ff4d4f}@-webkit-keyframes rab-progress-active{0%{opacity:.3;width:0}to{opacity:0;width:100%}}@keyframes rab-progress-active{0%{opacity:.3;width:0}to{opacity:0;width:100%}}@-webkit-keyframes rab-progress-active-vertical{0%{opacity:.3;height:0}to{opacity:0;height:100%}}@keyframes rab-progress-active-vertical{0%{opacity:.3;height:0}to{opacity:0;height:100%}}r-radio{margin-right:8px;font-size:14px;vertical-align:middle;display:inline-block;position:relative;white-space:nowrap;cursor:pointer}r-radio[size=large] .rab-radio .rab-radio-inner{width:14px;height:14px}r-radio[size=large] .rab-radio .rab-radio-inner:after{width:8px;height:8px}r-radio[size=small],r-radio[size=small] .rab-radio{font-size:16px}r-radio[size=small] .rab-radio .rab-radio-inner{width:18px;height:18px}r-radio[size=small] .rab-radio .rab-radio-inner:after{width:12px;height:12px}r-radio[disabled],r-radio[disabled] .rab-radio{cursor:not-allowed}r-radio[disabled] .rab-radio:hover .rab-radio-inner{border-color:#dcdee2}r-radio[disabled] .rab-radio-inner{border-color:#dcdee2;background-color:#f3f3f3}r-radio[disabled] .rab-radio-inner:after{background-color:#ccc}r-radio[disabled] .rab-radio-input{cursor:not-allowed}r-radio[disabled] .rab-radio+span{color:#ccc}r-radio[type=border]{border:1px solid #dcdee2;border-radius:2px;height:32px;line-height:30px;padding:0 15px;transition:border .2s ease-in-out}r-radio[type=border].rab-radio-wrapper-checked{border-color:#1890ff}r-radio[type=border][disabled] .rab-radio{border-color:#dcdee2}r-radio-group[size=small] r-radio[type=border] .rab-radio,r-radio[size=small][type=border] .rab-radio{height:24px;line-height:22px;padding:0 7px}r-radio-group[size=large] r-radio[type=border] .rab-radio,r-radio[size=large][type=border] .rab-radio{height:40px;line-height:36px;padding:0 15px}r-radio-group{display:inline-block;font-size:14px;vertical-align:middle}r-radio-group[direction=vertical] r-radio{display:block;height:30px;line-height:30px}.rab-radio-focus .rab-radio-inner{box-shadow:0 0 0 2px rgba(24,144,255,.2);z-index:1}.rab-radio{display:inline-block;margin-right:4px;white-space:nowrap;position:relative;vertical-align:middle;cursor:pointer}.rab-radio:hover .rab-radio-inner{border-color:#bcbcbc}.rab-radio-inner{display:inline-block;width:16px;height:16px;position:relative;top:0;left:0;background-color:#fff;border:1px solid #dcdee2;border-radius:50%;transition:all .2s ease-in-out}.rab-radio-inner:after{position:absolute;width:8px;height:8px;left:3px;top:3px;border-radius:50%;display:table;border-top:0;border-left:0;content:\" \";background-color:#1890ff;opacity:0;transition:all .2s ease-in-out;transform:scale(0)}.rab-radio-input{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;opacity:0;cursor:pointer}.rab-radio-checked .rab-radio-inner{border-color:#1890ff}.rab-radio-checked .rab-radio-inner:after{opacity:1;transform:scale(1);transition:all .2s ease-in-out}.rab-radio-checked:hover:not([disabled]) .rab-radio-inner{border-color:#1890ff}span.rab-radio+*{margin-left:2px;margin-right:2px;vertical-align:baseline}r-radio-group[type=button]{font-size:0;-webkit-text-size-adjust:none}r-radio-group[type=button] .rab-radio{width:0;margin-right:0}r-radio-group[type=button] r-radio{display:inline-block;height:32px;line-height:30px;margin:0;padding:0 15px;font-size:14px;color:#55585e;transition:all .2s ease-in-out;cursor:pointer;border:1px solid #dcdee2;border-left:0;background:#fff;position:relative}r-radio-group[type=button] r-radio>span{margin-left:0}r-radio-group[type=button] r-radio:after,r-radio-group[type=button] r-radio:before{content:\"\";display:block;position:absolute;width:1px;height:100%;left:-1px;top:0;background:#dcdee2;transition:all .2s ease-in-out}r-radio-group[type=button] r-radio:after{height:36px;left:-1px;top:-3px;background:rgba(24,144,255,.2);opacity:0}r-radio-group[type=button] r-radio:first-child{border-radius:2px 0 0 2px;border-left:1px solid #dcdee2}r-radio-group[type=button] r-radio:first-child:after,r-radio-group[type=button] r-radio:first-child:before{display:none}r-radio-group[type=button] r-radio:last-child{border-radius:0 2px 2px 0}r-radio-group[type=button] r-radio:first-child:last-child{border-radius:2px}r-radio-group[type=button] r-radio:hover{position:relative;color:#1890ff}r-radio-group[type=button] r-radio:hover .rab-radio{background-color:#000}r-radio-group[type=button] r-radio .rab-radio-inner,r-radio-group[type=button] r-radio input{opacity:0;width:0;height:0}r-radio-group[type=button] r-radio.rab-radio-checked{background:#fff;border-color:#1890ff;color:#1890ff;box-shadow:-1px 0 0 0 #1890ff;z-index:1}r-radio-group[type=button] r-radio.rab-radio-checked:before{background:#1890ff;opacity:.1}r-radio-group[type=button] r-radio.rab-radio-checked.rab-radio-focus .rab-radio-inner{box-shadow:-1px 0 0 0 #1890ff,0 0 0 2px rgba(24,144,255,.2);transition:all .2s ease-in-out}r-radio-group[type=button] r-radio.rab-radio-checked.rab-radio-focus .rab-radio-inner:after{left:-3px;top:-3px;opacity:1;background:rgba(24,144,255,.2)}r-radio-group[type=button] r-radio.rab-radio-checked.rab-radio-focus .rab-radio-inner:first-child{box-shadow:0 0 0 2px rgba(24,144,255,.2)}r-radio-group[type=button] r-radio.rab-radio-checked:first-child{border-color:#1890ff;box-shadow:none}r-radio-group[type=button] r-radio.rab-radio-checked:hover{border-color:#46a6ff;color:#46a6ff}r-radio-group[type=button] r-radio.rab-radio-checked:active{border-color:#1789f2;color:#1789f2}r-radio-group[type=button] r-radio.rab-radio-wrapper-checked{background:#fff;border-color:#1890ff;color:#1890ff;box-shadow:-1px 0 0 0 #1890ff;z-index:1}r-radio-group[type=button] r-radio.rab-radio-wrapper-checked:first-child{border-color:#1890ff;box-shadow:none}r-radio-group[type=button] r-radio[disabled]{cursor:not-allowed}r-radio-group[type=button] r-radio[disabled],r-radio-group[type=button] r-radio[disabled]:first-child,r-radio-group[type=button] r-radio[disabled]:hover{border-color:#dcdee2;background-color:#fafafa;color:#ccc}r-radio-group[type=button] r-radio[disabled]:first-child{border-left-color:#dcdee2}r-radio-group[type=button] r-radio[disabled].rab-radio-wrapper-checked{color:#fff;background-color:#e6e6e6;border-color:#dcdee2;box-shadow:none!important}r-radio-group[button-style=solid] r-radio:not([disabled]).rab-radio-wrapper-checked{background:#1890ff;color:#fff}r-radio-group[button-style=solid] r-radio:not([disabled]).rab-radio-wrapper-checked:hover{background:#46a6ff;color:#fff}r-radio-group[size=large][type=button] r-radio{height:40px;line-height:38px;font-size:16px}r-radio-group[size=large][type=button] r-radio:after{height:44px}r-radio-group[size=small][type=button] r-radio{height:24px;line-height:22px;padding:0 12px;font-size:14px}r-radio-group[size=small][type=button] r-radio:after{height:28px}r-radio-group[size=small][type=button] r-radio:first-child{border-radius:1px 0 0 1px}r-radio-group[size=small][type=button] r-radio:last-child{border-radius:0 1px 1px 0}r-result{display:block;padding:48px 32px}.rab-result-info .rab-result-icon .rab-icon{color:#1890ff}.rab-result-success .rab-result-icon .rab-icon{color:#52c41a}.rab-result-warning .rab-result-icon .rab-icon{color:#faad14}.rab-result-error .rab-result-icon .rab-icon{color:#ff4d4f}.rab-result-image{width:350px;height:280px;margin:auto}.rab-result-icon{margin-bottom:24px;text-align:center}.rab-result-icon>.rab-icon{font-size:90px}.rab-result-title{color:#2c3e50;font-size:24px;text-align:center}.rab-result-subtitle{color:#808695;font-size:14px;margin-top:12px;text-align:center}.rab-result-extra{margin:24px 0 0;text-align:center}.rab-result-extra>*{margin-right:8px}.rab-result-extra>:last-child{margin-right:0}.rab-result-content{margin-top:24px;padding:24px 40px;background-color:#fafafa}r-skeleton{display:table;width:100%}.rab-skeleton-content,.rab-skeleton-header{display:table-cell;vertical-align:top}.rab-skeleton-header{padding-right:16px}.rab-skeleton-header .rab-skeleton-avatar{display:inline-block;vertical-align:top;background:#f2f2f2;width:32px;height:32px;line-height:32px}.rab-skeleton-header .rab-skeleton-avatar-large{width:40px;height:40px;line-height:40px}.rab-skeleton-header .rab-skeleton-avatar-small{width:24px;height:24px;line-height:24px}.rab-skeleton-header .rab-skeleton-avatar.rab-skeleton-avatar-circle{border-radius:50%}.rab-skeleton-header .rab-skeleton-avatar.rab-skeleton-avatar-square{border-radius:0}.rab-skeleton-content{width:100%}.rab-skeleton-content .rab-skeleton-title{width:100%;height:16px;margin-top:16px;background:#f2f2f2}.rab-skeleton-content .rab-skeleton-paragraph{padding:0}.rab-skeleton-content .rab-skeleton-paragraph li{width:100%;height:16px;list-style:none;background:#f2f2f2}.rab-skeleton-content .rab-skeleton-paragraph li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.rab-skeleton-content .rab-skeleton-paragraph li+li{margin-top:16px}.rab-skeleton-content .rab-skeleton-title+.rab-skeleton-paragraph{margin-top:24px}.rab-skeleton-with-avatar .rab-skeleton-content .rab-skeleton-title{margin-top:12px}.rab-skeleton-with-avatar .rab-skeleton-content .rab-skeleton-title+.rab-skeleton-paragraph{margin-top:28px}.rab-skeleton-active .rab-skeleton-content .rab-skeleton-paragraph>li,.rab-skeleton-active .rab-skeleton-content .rab-skeleton-title,.rab-skeleton-active .rab-skeleton-header .rab-skeleton-avatar{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:rab-skeleton-loading 1.4s ease infinite;animation:rab-skeleton-loading 1.4s ease infinite}@-webkit-keyframes rab-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes rab-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}r-spin{color:#1890ff;vertical-align:middle;text-align:center}r-spin[size=small] .rab-spin-dot{width:12px;height:12px}r-spin[size=large] .rab-spin-dot{width:32px;height:32px}r-spin[fix]{position:absolute;top:0;left:0;z-index:8;width:100%;height:100%;background-color:hsla(0,0%,100%,.9)}r-spin[fix] .rab-spin-main{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}r-spin[fix] .rab-spin-dot{display:inline-block}.rab-spin-dot{position:relative;display:block;border-radius:50%;background-color:#1890ff;width:20px;height:20px;animation:ani-spin-bounce 1s ease-in-out 0s infinite}.rab-spin-fullscreen{z-index:2010}.rab-spin-fullscreen-wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.rab-spin-show-text .rab-spin-dot,.rab-spin-text{display:none!important}.rab-spin-show-text .rab-spin-text{display:block!important}.rab-spin-text .rab-icon-loading1{font-size:24px;height:8px}.rab-table-wrapper r-spin[fix]{border:none}.rab-table-wrapper-with-border r-spin[fix]{border:1px solid #dcdee2;border-top:0;border-left:0}@keyframes ani-spin-bounce{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}r-steps{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;font-size:0;line-height:1.5}r-steps .rab-steps-head,r-steps .rab-steps-main{position:relative;display:inline-block;vertical-align:top}r-steps .rab-steps-head{background:#fff}r-steps .rab-steps-head-inner{display:block;width:26px;height:26px;line-height:24px;margin-right:8px;text-align:center;border:1px solid #ccc;border-radius:50%;font-size:14px;transition:background-color .2s ease-in-out}r-steps .rab-steps-head-inner>.rab-steps-icon{position:relative;top:3.5px}r-steps .rab-steps-head-inner>.rab-steps-icon.rab-icon{font-size:24px}r-steps .rab-steps-head-inner>.rab-steps-icon.rab-icon-ios-checkmark-empty,r-steps .rab-steps-head-inner>.rab-steps-icon.rab-icon-ios-close-empty{font-weight:700}r-steps .rab-steps-main{margin-top:2.5px;display:inline}r-steps .rab-steps-custom .rab-steps-title{margin-top:2.5px}r-steps .rab-steps-title{display:inline-block;margin-bottom:4px;padding-right:10px;font-size:14px;font-weight:700;color:#666;background:#fff}r-steps .rab-steps-title>a:first-child:last-child{color:#666}r-steps .rab-steps-item-last .rab-steps-title{padding-right:0;width:100%}r-steps .rab-steps-content{font-size:12px;color:#999}r-steps .rab-steps-tail{width:100%;padding:0 10px;position:absolute;left:0;top:13px}r-steps .rab-steps-tail>i{display:inline-block;width:100%;height:1px;vertical-align:top;background:#e8eaec;border-radius:1px;position:relative}r-steps .rab-steps-tail>i:after{content:\"\";width:0;height:100%;background:#e8eaec;opacity:0;position:absolute;top:0}r-steps[size=small] .rab-steps-head-inner{width:18px;height:18px;line-height:16px;margin-right:10px;text-align:center;border-radius:50%;font-size:12px}r-steps[size=small] .rab-steps-head-inner>.rab-steps-icon.rab-icon{font-size:16px;top:1px}r-steps[size=small] .rab-steps-main{margin-top:0}r-steps[size=small] .rab-steps-title{margin-bottom:4px;margin-top:0;color:#666;font-size:12px;font-weight:700}r-steps[size=small] .rab-steps-content{font-size:12px;color:#999;padding-left:30px}r-steps[size=small] .rab-steps-tail{top:8px;padding:0 8px}r-steps[size=small] .rab-steps-tail>i{width:100%;height:1px;border-radius:1px}r-steps[size=small] r-step .rab-steps-custom .rab-steps-head-inner,r-steps r-step .rab-steps-custom .rab-steps-head-inner{width:inherit;height:inherit;line-height:inherit;border-radius:0;border:0;background:none}r-step{display:inline-block;position:relative;vertical-align:top;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}r-step:last-child{-webkit-box-flex:0;-ms-flex:0;flex:none}r-step[status=wait] .rab-steps-head-inner{background-color:#fff}r-step[status=wait] .rab-steps-head-inner>.rab-steps-icon,r-step[status=wait] .rab-steps-head-inner span{color:#ccc}r-step[status=wait] .rab-steps-content,r-step[status=wait] .rab-steps-title{color:#999}r-step[status=wait] .rab-steps-tail>i{background-color:#e8eaec}r-step[status=process] .rab-steps-head-inner{border-color:#1890ff;background-color:#1890ff}r-step[status=process] .rab-steps-head-inner>.rab-steps-icon,r-step[status=process] .rab-steps-head-inner span{color:#fff}r-step[status=process] .rab-steps-content,r-step[status=process] .rab-steps-title{color:#666}r-step[status=process] .rab-steps-tail>i{background-color:#e8eaec}r-step[status=finish] .rab-steps-head-inner{background-color:#fff;border-color:#1890ff}r-step[status=finish] .rab-steps-head-inner>.rab-steps-icon,r-step[status=finish] .rab-steps-head-inner span{color:#1890ff}r-step[status=finish] .rab-steps-tail>i:after{width:100%;background:#1890ff;transition:all .2s ease-in-out;opacity:1}r-step[status=finish] .rab-steps-content,r-step[status=finish] .rab-steps-title{color:#999}r-step[status=error] .rab-steps-head-inner{color:#ff4d4f;background-color:#fff;border-color:#ff4d4f}r-step[status=error] .rab-steps-content,r-step[status=error] .rab-steps-head-inner>.rab-steps-icon,r-step[status=error] .rab-steps-title{color:#ff4d4f}r-step[status=error] .rab-steps-tail>i{background-color:#e8eaec}r-step.rab-steps-next-error .rab-steps-tail>i,r-step.rab-steps-next-error .rab-steps-tail>i:after{background-color:#ff4d4f}r-step.rab-steps-custom .rab-steps-head-inner{background:none;border:0;width:auto;height:auto}r-step.rab-steps-custom .rab-steps-head-inner>.rab-steps-icon{font-size:22px;top:4px;width:22px;height:22px}r-step[status=process].rab-steps-custom .rab-steps-head-inner>.rab-steps-icon{color:#1890ff}r-step:last-child .rab-steps-tail{display:none}r-steps[direction=vertical]{display:block}r-steps[direction=vertical] r-step{display:block;overflow:visible}r-steps[direction=vertical] .rab-steps-tail{position:absolute;left:13px;top:0;width:1px;height:100%;padding:30px 0 4px}r-steps[direction=vertical] .rab-steps-tail>i{width:1px;height:100%}r-steps[direction=vertical] .rab-steps-tail>i:after{width:100%;height:0}r-steps[direction=vertical][status=finish] .rab-steps-tail>i:after{height:100%}r-steps[direction=vertical] .rab-steps-head{float:left}r-steps[direction=vertical] .rab-steps-head-inner{margin-right:16px}r-steps[direction=vertical] .rab-steps-main{min-height:47px;overflow:hidden;display:block}r-steps[direction=vertical] .rab-steps-main .rab-steps-title{line-height:26px}r-steps[direction=vertical] .rab-steps-main .rab-steps-content{padding-bottom:12px;padding-left:0}r-steps[direction=vertical] .rab-steps-custom .rab-steps-icon{left:4px}r-steps[direction=vertical][size=small] .rab-steps-custom .rab-steps-icon{left:0}r-steps[direction=vertical][size=small] .rab-steps-tail{position:absolute;left:9px;top:0;padding:22px 0 4px}r-steps[direction=vertical][size=small] .rab-steps-tail>i{height:100%}r-steps[direction=vertical][size=small] .rab-steps-title{line-height:18px}r-steps[direction=horizontal].rab-steps-hidden{visibility:hidden}r-steps[direction=horizontal] .rab-steps-content{padding-left:35px}r-steps[direction=horizontal] r-step:not(:first-child) .rab-steps-head{padding-left:10px;margin-left:-10px}r-switch{display:inline-block;width:44px;height:22px;line-height:20px;vertical-align:middle;border:1px solid transparent;border-radius:100px;background-color:rgba(0,0,0,.25);position:relative;cursor:pointer;user-select:none;transition:all .2s ease-in-out}r-switch:before{content:\"\";display:none;width:14px;height:14px;border-radius:50%;background-color:transparent;position:absolute;left:3px;top:3px;z-index:1;border:1px solid transparent;border-left-color:#1890ff;animation:rab-switch-loading 1s linear;animation-iteration-count:infinite}r-switch:after{content:\"\";width:18px;height:18px;border-radius:18px;background-color:#fff;position:absolute;left:1px;top:1px;cursor:pointer;transition:left .2s ease-in-out,width .2s ease-in-out;box-shadow:0 2px 4px 0 rgba(0,35,11,.2)}r-switch:active:after{width:26px}r-switch:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}r-switch:focus:hover{box-shadow:none}.rab-switch-loading{opacity:.4}.rab-switch-loading:before{display:block}.rab-switch-inner{color:#fff;font-size:12px;position:absolute;left:23px}.rab-switch-inner i{width:12px;height:12px;text-align:center;position:relative}.rab-switch-small{width:28px;height:16px;line-height:14px}.rab-switch-small:after{width:12px;height:12px}.rab-switch-small:active:after{width:14px}.rab-switch-small:before{width:10px;height:10px;left:2px;top:2px}.rab-switch-small.rab-switch-checked:after{left:13px}.rab-switch-small.rab-switch-checked:before{left:14px}.rab-switch-small:active.rab-switch-checked:after{left:11px}.rab-switch-large{width:56px}.rab-switch-large:active:after{width:26px;width:30px}.rab-switch-large.rab-switch-checked:after{left:35px}.rab-switch-large.rab-switch-checked:before{left:37px}.rab-switch-large:active.rab-switch-checked:after{left:23px}.rab-switch-checked{border-color:#1890ff;background-color:#1890ff}.rab-switch-checked .rab-switch-inner{left:7px}.rab-switch-checked:after{left:23px}.rab-switch-checked:before{left:25px}.rab-switch-checked:active:after{left:15px}.rab-switch-disabled{cursor:not-allowed;opacity:.4}.rab-switch-disabled:after{background:#fff;cursor:not-allowed}.rab-switch-disabled .rab-switch-inner{color:#fff}.rab-switch-disabled.rab-switch-checked{border-color:#1890ff;background-color:#1890ff;opacity:.4}.rab-switch-disabled.rab-switch-checked:after{background:#fff}.rab-switch-disabled.rab-switch-checked .rab-switch-inner{color:#fff}@keyframes rab-switch-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}r-tabs{display:block;position:relative;overflow:hidden;color:#55585e;zoom:1}r-tabs:after,r-tabs:before{content:\"\";display:table}r-tabs:after{clear:both;visibility:hidden;font-size:0;height:0}.rab-tabs-bar{outline:none;border-bottom:1px solid #dcdee2;margin-bottom:16px}.rab-tabs-nav-container{margin-bottom:-1px;line-height:1.5;font-size:14px;white-space:nowrap;position:relative;zoom:1}.rab-tabs-nav-container:after,.rab-tabs-nav-container:before{content:\"\";display:table}.rab-tabs-nav-container:after{clear:both;visibility:hidden;font-size:0;height:0}.rab-tabs-nav-container ::-webkit-scrollbar{height:4px;background-color:#fff}.rab-tabs-nav-container ::-webkit-scrollbar-thumb{border-radius:20px;background-color:#dcdee2}.rab-tabs-nav-container:focus{outline:none}.rab-tabs-nav-container:focus .rab-tabs-tab-focused{border-color:#46a6ff!important}.rab-tabs-nav-container-scrolling{padding-left:32px;padding-right:32px}.rab-tabs-nav-wrap{position:relative;overflow-x:auto;overflow-y:hidden}.rab-tabs-nav-right{float:right;margin-left:5px}.rab-tabs-nav-next,.rab-tabs-nav-prev{width:32px;text-align:center;position:absolute;line-height:32px;cursor:pointer}.rab-tabs-nav-next i,.rab-tabs-nav-prev i{font-size:16px}.rab-tabs-nav{padding-left:0;margin:0;float:left;list-style:none;position:relative;transition:transform .5s ease-in-out}.rab-tabs-nav:after,.rab-tabs-nav:before{display:table;content:\" \"}.rab-tabs-nav:after{clear:both}.rab-tabs-nav .rab-tabs-tab-disabled{cursor:not-allowed!important;color:#ccc!important}.rab-tabs-nav .rab-tabs-tab{display:inline-block;height:100%;padding:8px 16px;margin-right:16px;cursor:pointer;text-decoration:none;position:relative;transition:color .3s ease-in-out}.rab-tabs-nav .rab-tabs-tab:hover{color:#46a6ff}.rab-tabs-nav .rab-tabs-tab:active{color:#1789f2}.rab-tabs-nav .rab-tabs-tab .rab-icon{width:14px;height:14px;margin-right:8px}.rab-tabs-nav .rab-tabs-tab-active{color:#1890ff}.rab-tabs-nav .rab-tabs-tab-active:after{content:\"\";width:100%;height:2px;background-color:#1890ff;position:absolute;left:0;bottom:0;z-index:1}.rab-tabs-mini .rab-tabs-nav-container{font-size:14px}.rab-tabs-mini .rab-tabs-tab{margin-right:0;padding:8px 16px;font-size:12px}.rab-tabs-card>.rab-tabs-bar .rab-tabs-nav-container{height:32px}.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab{margin:0 4px 0 0;height:31px;padding:5px 16px 4px;border:1px solid #dcdee2;border-bottom:0;border-radius:2px 2px 0 0;transition:all .3s ease-in-out;background:#fafafa}.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active{height:32px;padding-bottom:5px;background:#fff;transform:translateZ(0);border-color:#dcdee2;color:#1890ff}.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active:after{display:none}.rab-tabs-card>.rab-tabs-bar .rab-tabs-nav-wrap{margin-bottom:0}.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab .rab-tabs-close{width:0;height:22px;font-size:22px;margin-right:0;color:#999;text-align:right;vertical-align:middle;overflow:hidden;position:relative;top:5px;transform-origin:100% 50%;transition:all .3s ease-in-out}.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab .rab-tabs-close:hover{color:#444}.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active .rab-tabs-close,.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab:hover .rab-tabs-close{width:22px;transform:translateZ(0);margin-right:-6px}.rab-tabs-no-animation>.rab-tabs-content{transform:none!important}.rab-tabs-no-animation>.rab-tabs-content>.rab-tabs-tabpane-inactive{display:none}r-tabs .rab-tabs-content-animated{display:flex;flex-direction:row;will-change:transform;transition:transform .3s ease-in-out}r-tabs r-tab-pane{display:none;flex-shrink:0;width:100%;transition:opacity .3s;opacity:1;outline:none}r-tabs .rab-tabs-tabpane-inactive{opacity:0;height:0}r-tag{display:inline-block;height:22px;line-height:22px;margin:2px 4px 2px 0;padding:0 8px;border:1px solid #e8eaec;border-radius:1px;background:#fafafa;font-size:12px;vertical-align:middle;opacity:1;overflow:hidden}r-tag:hover{opacity:.85}r-tag .rab-icon-ios-close{display:inline-block;font-size:14px;font-size:20px\\9;transform:scale(1.42857143) rotate(0deg);cursor:pointer;margin-left:2px;color:#666;opacity:.66;position:relative;top:-5px}:root r-tag .rab-icon-ios-close{font-size:14px}r-tag .rab-icon-ios-close:hover{opacity:1}.rab-tag-size-large{height:32px;line-height:32px;padding:0 12px}.rab-tag-size-medium{height:28px;line-height:28px;padding:0 10px}r-tag:not(.rab-tag-border):not(.rab-tag-dot):not(.rab-tag-checked){background:transparent;border:0;color:#55585e}r-tag:not(.rab-tag-border):not(.rab-tag-dot):not(.rab-tag-checked) .rab-icon-ios-close{color:#55585e!important}.rab-tag-color-error{color:#ff4d4f!important;border-color:#ff4d4f}.rab-tag-color-success{color:#52c41a!important;border-color:#52c41a}.rab-tag-color-primary{color:#1890ff!important;border-color:#1890ff}.rab-tag-color-warning{color:#faad14!important;border-color:#faad14}.rab-tag-color-white{color:#fff!important}.rab-tag-dot{height:32px;line-height:32px;border:1px solid #e8eaec!important;color:#55585e!important;background:#fff!important;padding:0 12px}.rab-tag-dot-inner{display:inline-block;width:12px;height:12px;margin-right:8px;border-radius:50%;background:#e8eaec;position:relative;top:1px}.rab-tag-dot .rab-icon-ios-close{color:#666!important;margin-left:12px!important}.rab-tag-border{height:24px;line-height:24px;border:1px solid #e8eaec;color:#e8eaec;background:#fff!important;position:relative}.rab-tag-border .rab-icon-ios-close{color:#666;margin-left:12px!important}.rab-tag-border:after{content:\"\";display:none;width:1px;background:currentColor;position:absolute;top:0;bottom:0;right:22px}.rab-tag-border.rab-tag-closable:after{display:block}.rab-tag-border.rab-tag-closable .rab-icon-ios-close{margin-left:18px!important;left:4px;top:-5px}.rab-tag-border.rab-tag-primary{color:#1890ff!important;border:1px solid #1890ff!important}.rab-tag-border.rab-tag-primary:after{background:#1890ff}.rab-tag-border.rab-tag-primary .rab-icon-ios-close{color:#1890ff!important}.rab-tag-border.rab-tag-success{color:#52c41a!important;border:1px solid #52c41a!important}.rab-tag-border.rab-tag-success:after{background:#52c41a}.rab-tag-border.rab-tag-success .rab-icon-ios-close{color:#52c41a!important}.rab-tag-border.rab-tag-warning{color:#faad14!important;border:1px solid #faad14!important}.rab-tag-border.rab-tag-warning:after{background:#faad14}.rab-tag-border.rab-tag-warning .rab-icon-ios-close{color:#faad14!important}.rab-tag-border.rab-tag-error{color:#ff4d4f!important;border:1px solid #ff4d4f!important}.rab-tag-border.rab-tag-error:after{background:#ff4d4f}.rab-tag-border.rab-tag-error .rab-icon-ios-close{color:#ff4d4f!important}.rab-tag-text{color:#55585e}.rab-tag-text a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.rab-tag-error,.rab-tag-primary,.rab-tag-success,.rab-tag-warning{border:0}.rab-tag-error,.rab-tag-error .rab-icon-ios-close,.rab-tag-error .rab-icon-ios-close:hover,.rab-tag-error a,.rab-tag-error a:hover,.rab-tag-primary,.rab-tag-primary .rab-icon-ios-close,.rab-tag-primary .rab-icon-ios-close:hover,.rab-tag-primary a,.rab-tag-primary a:hover,.rab-tag-success,.rab-tag-success .rab-icon-ios-close,.rab-tag-success .rab-icon-ios-close:hover,.rab-tag-success a,.rab-tag-success a:hover,.rab-tag-warning,.rab-tag-warning .rab-icon-ios-close,.rab-tag-warning .rab-icon-ios-close:hover,.rab-tag-warning a,.rab-tag-warning a:hover{color:#fff}.rab-tag-primary,.rab-tag-primary.rab-tag-dot .rab-tag-dot-inner{background:#1890ff}.rab-tag-success,.rab-tag-success.rab-tag-dot .rab-tag-dot-inner{background:#52c41a}.rab-tag-warning,.rab-tag-warning.rab-tag-dot .rab-tag-dot-inner{background:#faad14}.rab-tag-error,.rab-tag-error.rab-tag-dot .rab-tag-dot-inner{background:#ff4d4f}.rab-tag-pink{line-height:20px;background:#fff0f6;border-color:#ffadd2}.rab-tag-pink .rab-tag-text{color:#eb2f96!important}.rab-tag-pink.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-pink{line-height:30px}.rab-tag-size-medium.rab-tag-pink{line-height:26px}.rab-tag-magenta{line-height:20px;background:#fff0f6;border-color:#ffadd2}.rab-tag-magenta .rab-tag-text{color:#eb2f96!important}.rab-tag-magenta.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-magenta{line-height:30px}.rab-tag-size-medium.rab-tag-magenta{line-height:26px}.rab-tag-red{line-height:20px;background:#fff1f0;border-color:#ffa39e}.rab-tag-red .rab-tag-text{color:#f5222d!important}.rab-tag-red.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-red{line-height:30px}.rab-tag-size-medium.rab-tag-red{line-height:26px}.rab-tag-volcano{line-height:20px;background:#fff2e8;border-color:#ffbb96}.rab-tag-volcano .rab-tag-text{color:#fa541c!important}.rab-tag-volcano.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-volcano{line-height:30px}.rab-tag-size-medium.rab-tag-volcano{line-height:26px}.rab-tag-orange{line-height:20px;background:#fff7e6;border-color:#ffd591}.rab-tag-orange .rab-tag-text{color:#fa8c16!important}.rab-tag-orange.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-orange{line-height:30px}.rab-tag-size-medium.rab-tag-orange{line-height:26px}.rab-tag-yellow{line-height:20px;background:#feffe6;border-color:#fffb8f}.rab-tag-yellow .rab-tag-text{color:#fadb14!important}.rab-tag-yellow.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-yellow{line-height:30px}.rab-tag-size-medium.rab-tag-yellow{line-height:26px}.rab-tag-gold{line-height:20px;background:#fffbe6;border-color:#ffe58f}.rab-tag-gold .rab-tag-text{color:#faad14!important}.rab-tag-gold.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-gold{line-height:30px}.rab-tag-size-medium.rab-tag-gold{line-height:26px}.rab-tag-cyan{line-height:20px;background:#e6fffb;border-color:#87e8de}.rab-tag-cyan .rab-tag-text{color:#13c2c2!important}.rab-tag-cyan.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-cyan{line-height:30px}.rab-tag-size-medium.rab-tag-cyan{line-height:26px}.rab-tag-lime{line-height:20px;background:#fcffe6;border-color:#eaff8f}.rab-tag-lime .rab-tag-text{color:#a0d911!important}.rab-tag-lime.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-lime{line-height:30px}.rab-tag-size-medium.rab-tag-lime{line-height:26px}.rab-tag-green{line-height:20px;background:#f6ffed;border-color:#b7eb8f}.rab-tag-green .rab-tag-text{color:#52c41a!important}.rab-tag-green.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-green{line-height:30px}.rab-tag-size-medium.rab-tag-green{line-height:26px}.rab-tag-blue{line-height:20px;background:#e6f7ff;border-color:#91d5ff}.rab-tag-blue .rab-tag-text{color:#1890ff!important}.rab-tag-blue.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-blue{line-height:30px}.rab-tag-size-medium.rab-tag-blue{line-height:26px}.rab-tag-geekblue{line-height:20px;background:#f0f5ff;border-color:#adc6ff}.rab-tag-geekblue .rab-tag-text{color:#2f54eb!important}.rab-tag-geekblue.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-geekblue{line-height:30px}.rab-tag-size-medium.rab-tag-geekblue{line-height:26px}.rab-tag-purple{line-height:20px;background:#f9f0ff;border-color:#d3adf7}.rab-tag-purple .rab-tag-text{color:#722ed1!important}.rab-tag-purple.rab-tag-dot{line-height:32px}.rab-tag-size-large.rab-tag-purple{line-height:30px}.rab-tag-size-medium.rab-tag-purple{line-height:26px}r-time{display:inline-block}.rab-time-with-hash{cursor:pointer}.rab-time-with-hash:hover{text-decoration:underline}.rab-timeline-item-tail{height:100%;border-left:1px solid #e8eaec;position:absolute;left:5px;top:0}.rab-timeline-item-head{width:13px;height:13px;background-color:#fff;border-radius:50%;border:1px solid transparent;position:absolute}.rab-timeline-item-head-blue{border-color:#1890ff;color:#1890ff}.rab-timeline-item-head-red{border-color:#ff4d4f;color:#ff4d4f}.rab-timeline-item-head-green{border-color:#52c41a;color:#52c41a}.rab-timeline-item-head-gray{border-color:#ccc;color:#ccc}.rab-timeline-item-head-custom{width:40px;height:auto;margin-top:6px;padding:3px 0;text-align:center;line-height:1.5;border:0;border-radius:0;font-size:14px;position:absolute;left:-15px;transform:translateY(-50%)}.rab-timeline-item-head-custom .rab-icon{font-size:16px}.rab-timeline-item-content{padding:1px 1px 10px 22px;font-size:14px;position:relative;top:-10px}r-timeline{display:block;margin:0;padding:0}r-timeline-item{display:block;margin:0!important;padding:0 0 12px;position:relative}r-timeline-item:last-child .rab-timeline-item-tail{display:none}r-timeline[pending=true] r-timeline-item:nth-last-of-type(2) .rab-timeline-item-tail{border-left:1px dotted #e8eaec}r-timeline[pending=true] r-timeline-item:nth-last-of-type(2) .rab-timeline-item-content{min-height:48px}r-tooltip{display:inline-block}r-tooltip .rab-tooltip-rel{display:inline-block;position:relative;width:inherit}r-tooltip .rab-tooltip-popper{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}r-tooltip .rab-tooltip-popper[x-placement^=top]{padding:5px 0 8px}r-tooltip .rab-tooltip-popper[x-placement^=right]{padding:0 5px 0 8px}r-tooltip .rab-tooltip-popper[x-placement^=bottom]{padding:8px 0 5px}r-tooltip .rab-tooltip-popper[x-placement^=left]{padding:0 8px 0 5px}r-tooltip .rab-tooltip-popper[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:rgba(0,0,0,.75)}r-tooltip .rab-tooltip-popper[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}r-tooltip .rab-tooltip-popper[x-placement=top-start] .rab-tooltip-arrow{left:16px}r-tooltip .rab-tooltip-popper[x-placement=top-end] .rab-tooltip-arrow{right:16px}r-tooltip .rab-tooltip-popper[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:rgba(0,0,0,.75)}r-tooltip .rab-tooltip-popper[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}r-tooltip .rab-tooltip-popper[x-placement=right-start] .rab-tooltip-arrow{top:8px}r-tooltip .rab-tooltip-popper[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}r-tooltip .rab-tooltip-popper[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:rgba(0,0,0,.75)}r-tooltip .rab-tooltip-popper[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}r-tooltip .rab-tooltip-popper[x-placement=left-start] .rab-tooltip-arrow{top:8px}r-tooltip .rab-tooltip-popper[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}r-tooltip .rab-tooltip-popper[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:rgba(0,0,0,.75)}r-tooltip .rab-tooltip-popper[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}r-tooltip .rab-tooltip-popper[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}r-tooltip .rab-tooltip-popper[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}r-tooltip .rab-tooltip-inner{max-width:250px;min-height:34px;padding:8px 12px;color:#fff;text-align:left;text-decoration:none;background-color:rgba(0,0,0,.75);border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.15);white-space:nowrap}r-tooltip .rab-tooltip-with-width{white-space:pre-wrap;text-align:justify;word-wrap:break-word;word-break:break-all}r-tooltip .rab-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.rab-tooltip-light.rab-tooltip-popper{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-light.rab-tooltip-popper[x-placement^=top]{padding:7px 0 10px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=right]{padding:0 7px 0 10px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=bottom]{padding:10px 0 7px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=left]{padding:0 10px 0 7px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:7px 7px 0;border-top-color:hsla(0,0%,85%,.5)}.rab-tooltip-light.rab-tooltip-popper[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-7px}.rab-tooltip-light.rab-tooltip-popper[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-light.rab-tooltip-popper[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:7px 7px 7px 0;border-right-color:hsla(0,0%,85%,.5)}.rab-tooltip-light.rab-tooltip-popper[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-7px}.rab-tooltip-light.rab-tooltip-popper[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-light.rab-tooltip-popper[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:7px 0 7px 7px;border-left-color:hsla(0,0%,85%,.5)}.rab-tooltip-light.rab-tooltip-popper[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-7px}.rab-tooltip-light.rab-tooltip-popper[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-light.rab-tooltip-popper[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 7px 7px;border-bottom-color:hsla(0,0%,85%,.5)}.rab-tooltip-light.rab-tooltip-popper[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-7px}.rab-tooltip-light.rab-tooltip-popper[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-light.rab-tooltip-popper[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-light.rab-tooltip-popper[x-placement^=top] .rab-tooltip-arrow:after{content:\" \";bottom:1px;margin-left:-7px;border-bottom-width:0;border-top-width:7px;border-top-color:#fff}.rab-tooltip-light.rab-tooltip-popper[x-placement^=right] .rab-tooltip-arrow:after{content:\" \";left:1px;bottom:-7px;border-left-width:0;border-right-width:7px;border-right-color:#fff}.rab-tooltip-light.rab-tooltip-popper[x-placement^=bottom] .rab-tooltip-arrow:after{content:\" \";top:1px;margin-left:-7px;border-top-width:0;border-bottom-width:7px;border-bottom-color:#fff}.rab-tooltip-light.rab-tooltip-popper[x-placement^=left] .rab-tooltip-arrow:after{content:\" \";right:1px;border-right-width:0;border-left-width:7px;border-left-color:#fff;bottom:-7px}.rab-tooltip-light .rab-tooltip-inner{background-color:#fff;color:#55585e}.rab-tooltip-light .rab-tooltip-arrow{border-width:8px}.rab-tooltip-light .rab-tooltip-arrow:after{display:block;width:0;height:0;position:absolute;content:\"\";border:7px solid transparent}.rab-tooltip-popper.rab-tooltip-pink{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-pink[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-pink[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-pink[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-pink[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-pink[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-pink[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-pink .rab-tooltip-inner{background-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-magenta{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-magenta[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-magenta .rab-tooltip-inner{background-color:#eb2f96}.rab-tooltip-popper.rab-tooltip-red{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-red[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#f5222d}.rab-tooltip-popper.rab-tooltip-red[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-red[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-red[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#f5222d}.rab-tooltip-popper.rab-tooltip-red[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-red[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-red[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#f5222d}.rab-tooltip-popper.rab-tooltip-red[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-red[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-red[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-red[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#f5222d}.rab-tooltip-popper.rab-tooltip-red[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-red[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-red[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-red .rab-tooltip-inner{background-color:#f5222d}.rab-tooltip-popper.rab-tooltip-volcano{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#fa541c}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#fa541c}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#fa541c}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#fa541c}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-volcano[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-volcano .rab-tooltip-inner{background-color:#fa541c}.rab-tooltip-popper.rab-tooltip-orange{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#fa8c16}.rab-tooltip-popper.rab-tooltip-orange[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#fa8c16}.rab-tooltip-popper.rab-tooltip-orange[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#fa8c16}.rab-tooltip-popper.rab-tooltip-orange[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-orange[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#fa8c16}.rab-tooltip-popper.rab-tooltip-orange[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-orange[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-orange .rab-tooltip-inner{background-color:#fa8c16}.rab-tooltip-popper.rab-tooltip-yellow{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#fadb14}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#fadb14}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#fadb14}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#fadb14}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-yellow[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-yellow .rab-tooltip-inner{background-color:#fadb14}.rab-tooltip-popper.rab-tooltip-gold{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#faad14}.rab-tooltip-popper.rab-tooltip-gold[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#faad14}.rab-tooltip-popper.rab-tooltip-gold[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#faad14}.rab-tooltip-popper.rab-tooltip-gold[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-gold[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#faad14}.rab-tooltip-popper.rab-tooltip-gold[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-gold[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-gold .rab-tooltip-inner{background-color:#faad14}.rab-tooltip-popper.rab-tooltip-cyan{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#13c2c2}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#13c2c2}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#13c2c2}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#13c2c2}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-cyan[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-cyan .rab-tooltip-inner{background-color:#13c2c2}.rab-tooltip-popper.rab-tooltip-lime{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#a0d911}.rab-tooltip-popper.rab-tooltip-lime[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#a0d911}.rab-tooltip-popper.rab-tooltip-lime[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#a0d911}.rab-tooltip-popper.rab-tooltip-lime[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-lime[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#a0d911}.rab-tooltip-popper.rab-tooltip-lime[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-lime[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-lime .rab-tooltip-inner{background-color:#a0d911}.rab-tooltip-popper.rab-tooltip-green{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-green[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#52c41a}.rab-tooltip-popper.rab-tooltip-green[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-green[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-green[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#52c41a}.rab-tooltip-popper.rab-tooltip-green[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-green[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-green[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#52c41a}.rab-tooltip-popper.rab-tooltip-green[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-green[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-green[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-green[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#52c41a}.rab-tooltip-popper.rab-tooltip-green[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-green[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-green[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-green .rab-tooltip-inner{background-color:#52c41a}.rab-tooltip-popper.rab-tooltip-blue{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#1890ff}.rab-tooltip-popper.rab-tooltip-blue[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#1890ff}.rab-tooltip-popper.rab-tooltip-blue[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#1890ff}.rab-tooltip-popper.rab-tooltip-blue[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-blue[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#1890ff}.rab-tooltip-popper.rab-tooltip-blue[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-blue[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-blue .rab-tooltip-inner{background-color:#1890ff}.rab-tooltip-popper.rab-tooltip-geekblue{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#2f54eb}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#2f54eb}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#2f54eb}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#2f54eb}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-geekblue[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-geekblue .rab-tooltip-inner{background-color:#2f54eb}.rab-tooltip-popper.rab-tooltip-purple{display:block;visibility:visible;font-size:14px;line-height:1.5;position:absolute;z-index:1060}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=top]{padding:5px 0 8px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=right]{padding:0 5px 0 8px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=bottom]{padding:8px 0 5px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=left]{padding:0 8px 0 5px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=top] .rab-tooltip-arrow{bottom:3px;border-width:5px 5px 0;border-top-color:#722ed1}.rab-tooltip-popper.rab-tooltip-purple[x-placement=top] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=top-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=top-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=right] .rab-tooltip-arrow{left:3px;border-width:5px 5px 5px 0;border-right-color:#722ed1}.rab-tooltip-popper.rab-tooltip-purple[x-placement=right] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=right-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=right-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=left] .rab-tooltip-arrow{right:3px;border-width:5px 0 5px 5px;border-left-color:#722ed1}.rab-tooltip-popper.rab-tooltip-purple[x-placement=left] .rab-tooltip-arrow{top:50%;margin-top:-5px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=left-start] .rab-tooltip-arrow{top:8px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=left-end] .rab-tooltip-arrow{bottom:8px}.rab-tooltip-popper.rab-tooltip-purple[x-placement^=bottom] .rab-tooltip-arrow{top:3px;border-width:0 5px 5px;border-bottom-color:#722ed1}.rab-tooltip-popper.rab-tooltip-purple[x-placement=bottom] .rab-tooltip-arrow{left:50%;margin-left:-5px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=bottom-start] .rab-tooltip-arrow{left:16px}.rab-tooltip-popper.rab-tooltip-purple[x-placement=bottom-end] .rab-tooltip-arrow{right:16px}.rab-tooltip-popper.rab-tooltip-purple .rab-tooltip-inner{background-color:#722ed1}"
  },
  {
    "path": "docs/affix.md",
    "content": "# Affix 固钉\n\n将页面元素钉在可视范围。\n\n## 何时使用\n\n- 当内容区域比较长，需要滚动页面时，这部分内容对应的操作或者导航需要在滚动范围内始终展现。常用于侧边菜单和按钮组合。\n- 页面可视范围过小时，慎用此功能以免遮挡页面内容。\n\n## 代码示例\n\n基础用法\n\n- 简单使用，当元素不可见时，直接固定在最顶端。\n\n```html\n<style>\n    .demo-affix {\n        display: inline-block;\n        color: #fff;\n        padding: 10px 30px;\n        text-align: center;\n        background: #1890ff;\n    }\n</style>\n\n<r-affix>\n  <span class=\"demo-affix\">固定在最顶部</span>\n</r-affix>\n```\n\n偏移\n\n- 当滚动到一定距离时再固定。\n\n```html\n<r-affix offset-top=\"50\">\n  <span class=\"demo-affix\">固定在顶部 50px 的位置</span>\n</r-affix>\n```\n\n固定在底部\n\n- 在屏幕下方固定，可以通过缩小浏览器窗口高度来查看效果。\n\n- 注意，`offset-top`和`offset-bottom`只可以设置一个，如果都设置，会使用`offset-top`。\n\n```html\n<r-affix offset-bottom=\"20\">\n  <span class=\"demo-affix\">固定在底部 20px 的位置</span>\n</r-affix>\n```\n\n固定状态改变时的回调\n\n- 当固定状态发生改变时，会触发事件。\n\n```html\n<r-affix offset-top=\"100\" id=\"test\">\n  <span class=\"demo-affix\">固定在顶部 100px 的位置</span>\n</r-affix>\n\n<script>\n    const affix = new Rabbit.Affix();\n\n    affix.config('#test').events({\n        onChange: (affixed) => {\n            Rabbit.Message.info(`当前状态：${affixed}`);\n        }\n    });\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Affix\n\n| 属性          | 说明                                    | 默认值 |\n| ------------- | --------------------------------------- | ------ |\n| offset-top    | 距离窗口顶部达到指定偏移量后触发        | 0      |\n| offset-bottom | 距离窗口底部达到指定偏移量后触发        | -      |\n| use-capture   | addEventListener 原生的 useCapture 选项 | false  |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 alert，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `events(options)`\n\n| 返回值 | 说明                            | 类型     | 默认值 |\n| ------ | ------------------------------- | -------- | ------ |\n| events | 非响应式API，添加提示框的事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                         | 回调参数                      |\n| :------- | :--------------------------- | :---------------------------- |\n| onChange | 固定状态改变时触发的回调函数 | (affixed:  boolean)  =>  void |"
  },
  {
    "path": "docs/alert.md",
    "content": "# Alert 警告提示\n\n警告提示，展现需要关注的信息。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Alert()`\n\n## 何时使用\n\n- 当某个页面需要向用户显示警告的信息时。\n- 非浮层的静态展现形式，始终展现，不会自动消失，用户可以点击关闭。\n\n## 代码示例\n\n基础用法\n\n- 基本使用方法，有四种样式可以选择`info`、`success`、`warning`、`error`。默认是 `info`\n\n```html\n<r-alert title=\"信息提示的文案\"></r-alert>\n<r-alert type=\"success\" title=\"成功提示的文案\"></r-alert>\n<r-alert type=\"warning\" title=\"警告提示的文案\"></r-alert>\n<r-alert type=\"error\" title=\"错误提示的文案\"></r-alert>\n```\n\n含有辅助性文字介绍\n\n- 含有辅助性文字介绍的警告提示。\n\n```html\n<r-alert title=\"信息提示的文案\">\n  <p>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。</p>\n</r-alert>\n<r-alert type=\"success\" title=\"成功提示的文案\">\n  <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n</r-alert>\n<r-alert type=\"warning\" title=\"警告提示的文案\">\n  <p>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。</p>\n</r-alert>\n<r-alert type=\"error\" title=\"错误提示的文案\">\n  <p>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。</p>\n</r-alert>\n```\n\n图标\n\n- 设置 `show-icon`  为 `true` 并根据 `type` 属性自动添加不同图标，或者设置属性 `icon` 自定义图标。\n\n```html\n<r-alert title=\"信息提示的文案\" show-icon=\"true\"></r-alert>\n<r-alert type=\"success\" title=\"成功提示的文案\" show-icon=\"true\"></r-alert>\n<r-alert type=\"warning\" title=\"警告提示的文案\" show-icon=\"true\"></r-alert>\n<r-alert type=\"error\" title=\"错误提示的文案\" show-icon=\"true\"></r-alert>\n\n<r-alert title=\"信息提示的文案\" show-icon=\"true\">\n  <p>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。</p>\n</r-alert>\n<r-alert type=\"success\" title=\"成功提示的文案\" show-icon=\"true\">\n  <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n</r-alert>\n<r-alert type=\"warning\" title=\"警告提示的文案\" show-icon=\"true\">\n  <p>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。</p>\n</r-alert>\n<r-alert type=\"error\" title=\"错误提示的文案\" show-icon=\"true\">\n  <p>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。</p>\n</r-alert>\n<r-alert title=\"自定义图标\" show-icon=\"true\" icon=\"<i class='rab-icon rab-icon-ios-planet'>\">\n  <p>自定义图标的内容，自定义图标的内容，自定义图标的内容。</p>\n</r-alert>\n```\n\n可关闭\n\n- 设置属性 `closable`  为  `true` 显示关闭按钮，点击可关闭提示。\n\n- 设置属性  `close-text` 可以自定义关闭，自定义的文字会替换原先的关闭图标。\n\n```html\n<r-alert title=\"信息提示的文案\" closable=\"true\" id=\"test\"></r-alert>\n<r-alert type=\"success\" title=\"成功提示的文案\" closable=\"true\">\n  <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n</r-alert>\n<r-alert type=\"warning\" title=\"警告提示的文案\" closable=\"true\" close-text=\"知道了\"></r-alert>\n```\n\n顶部公告\n\n- 设置属性 `banner`  为  `true` 可以应用顶部公告的样式。\n\n```html\n<r-alert banner=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n<r-alert banner=\"true\" closable=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n<r-alert banner=\"true\" show-icon=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n#### Alert\n\n| 属性       | 说明                                                        | 默认值 |\n| ---------- | ----------------------------------------------------------- | ------ |\n| type       | 警告提示样式，可选值为`info`、`success`、`warning`、`error` | info   |\n| title      | 提示标题                                                    | -      |\n| show-icon  | 是否显示图标                                                | false  |\n| closable   | 是否可关闭                                                  | false  |\n| close-text | 关闭按钮自定义文本                                          | -      |\n| banner     | 应用顶部公告的样式                                          | -      |\n| icon       | 自定义图标内容                                              | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 alert，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `title`\n- `icon`\n\n- `events(options)`\n\n| 返回值 | 说明                            | 类型     | 默认值 |\n| ------ | ------------------------------- | -------- | ------ |\n| title  | 响应式设置或更新警告提示内容    | String   | -      |\n| icon   | 响应式设置或更新图标内容        | String   | -      |\n| events | 非响应式API，添加提示框的事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性    | 说明                 | 回调参数                       |\n| :------ | :------------------- | :----------------------------- |\n| onClose | 关闭时触发的回调函数 | (event:  MouseEvent)  =>  void |"
  },
  {
    "path": "docs/avatar.md",
    "content": "# Avatar头像\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Avatar()`\n\n用来代表用户或事物，支持图片、图标或字符展示。\n\n## 代码示例\n\n- 基础用法\n\n头像有三种尺寸，两种形状可选。\n\n`size` 可以设置为数值，但不能带任何单位只能是数字\n\n```html\n<r-avatar icon=\"md-person\" size=\"64\"></r-avatar>\n<r-avatar icon=\"md-person\" size=\"large\"></r-avatar>\n<r-avatar icon=\"md-person\"></r-avatar>\n<r-avatar icon=\"md-person\" size=\"small\"></r-avatar>\n\n<r-avatar icon=\"md-person\" shape=\"square\" size=\"64\"></r-avatar>\n<r-avatar icon=\"md-person\" shape=\"square\" size=\"large\"></r-avatar>\n<r-avatar icon=\"md-person\" shape=\"square\"></r-avatar>\n<r-avatar icon=\"md-person\" shape=\"square\" size=\"small\"></r-avatar>\n```\n\n- 类型\n\n支持三种类型：图片、icon 以及字符，其中 icon 和字符型可以自定义图标颜色及背景色。\n\n```html\n<r-avatar icon=\"md-person\"></r-avatar>\n<r-avatar>U</r-avatar>\n<r-avatar>USER</r-avatar>\n<r-avatar style=\"color: #f56a00; background-color: #fde3cf\">U</r-avatar>\n<r-avatar src=\"https://avatars3.githubusercontent.com/u/62378518\"></r-avatar>\n<r-avatar style=\"background-color: #87d068\" icon=\"md-person\"></r-avatar>\n```\n\n- 自动调整字符大小\n\n对于字符型的头像，当字符串较长时，字体大小可以根据头像宽度自动调整。\n\n```html\n<r-avatar style=\"background-color: #f56a00\">U</r-avatar>\n<r-avatar style=\"background-color: #7265e6\">Lucy</r-avatar>\n<r-avatar style=\"background-color: #ffbf00\">Tom</r-avatar>\n<r-avatar style=\"background-color: #00a2ae\">Edward</r-avatar>\n```\n\n- 自定义图标\n\n自定义图标\n\n```html\n<r-avatar custom-icon=\"<i class='rab-icon rab-icon-md-happy'>\"></r-avatar>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Avatar\n\n| 属性           | 说明                                                        | 默认值 |\n| -------------- | ----------------------------------------------------------- | ------ |\n| shape       | 指定头像的形状，可选值为 `circle`、`square`                 | circle |\n| size        | 设置头像的大小，可选值为 `large`、`small`，支持设置具体数值 | -      |\n| src         | 图片类头像的资源地址                                        | -      |\n| icon        | 设置头像的图标类型，参考 `icon`                        | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                | 类型   |\n| ---- | --------------------------------------------------- | ------ |\n| el   | 配置当前选定的 avatar，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `events(options)`\n\n| 返回值 | 说明                            | 类型     | 默认值 |\n| ------ | ------------------------------- | -------- | ------ |\n| events | 非响应式API，添加提示框的事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                                                     | 回调参数                                       |\n| :------- | :------------------------------------------------------- | :--------------------------------------------- |\n| onError  | 在设置 src 且图片加载不成功时触发                             | (event:Event) => void                         |\n"
  },
  {
    "path": "docs/back-top.md",
    "content": "# BackTop 回到顶部\n\n返回页面顶部的操作按钮。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.BackTop()`\n\n## 何时使用\n\n- 当页面内容区域比较长时；\n- 当用户需要频繁返回顶部查看相关内容时。\n\n## 代码示例\n\n基础用法\n\n- 默认位置距离页面右部和底部 30px，滚动至距顶端 400px 时显示。\n- 向下滚动页面，灰色的按钮为默认效果，蓝色的按钮为自定义效果。\n\n```html\n<r-back-top></r-back-top>\n```\n\n自定义样式\n\n- 自定义了位置在页面底部 200px,滚动至距顶端 200px 时显示。\n\n```html\n<style>\n  .top {\n      padding: 10px;\n      background: rgba(0, 153, 229, 0.7);\n      color: #fff;\n      text-align: center;\n      border-radius: 2px;\n  }\n</style>\n\n<r-back-top height=\"100\" bottom=\"200\">\n  <div class=\"top\">返回顶端</div>\n</r-back-top>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### BackTop\n\n| 属性     | 说明                                      | 默认值 |\n| -------- | ----------------------------------------- | ------ |\n| height   | 页面滚动高度达到该值时才显示`BackTop`组件 | 400    |\n| bottom   | 组件距离底部的距离                        | 30     |\n| right    | 组件距离右部的距离                        | 30     |\n| duration | 滚动动画持续时间，单位 毫秒               | 500    |"
  },
  {
    "path": "docs/badge.md",
    "content": "# Badge 徽标数\n\n图标右上角的圆形徽标数字。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Badge()`\n\n## 何时使用\n\n- 一般出现在通知图标或头像的右上角，用于显示需要处理的消息条数，通过醒目视觉形式吸引用户处理。\n\n## 代码示例\n\n基础用法\n\n- 简单的徽章展示，当 `count` 为 `0` 时，默认不显示，可以设置属性 `show-zero=\"true\"` 修改为显示。\n\n```html\n<style>\n  .demo-badge {\n     width: 42px;\n     height: 42px;\n     background: #eee;\n     border-radius: 6px;\n     display: inline-block;\n   }\n</style>\n\n<r-badge count=\"3\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"0\" show-zero=\"true\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n```\n\n小红点\n\n- 没有具体的数字。\n\n```html\n<r-badge dot=\"true\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge dot=\"true\">\n  <i class=\"rab-icon rab-icon-ios-notifications-outline\" style=\"font-size: 26px\"></i>\n</r-badge>\n<r-badge dot=\"true\">\n  <a>可以是一个链接</a>\n</r-badge>\n```\n\n封顶数字\n\n- 超过 `maxCount` 的会显示为 `${maxCount}+`，默认的 `maxCount` 为 `99`。\n\n```html\n<r-badge count=\"99\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"100\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"99\" max-count=\"10\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"1000\" max-count=\"999\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n```\n\n独立使用及自定义样式 \n\n- 不包裹任何元素即是独立使用，可自定样式展现。在右上角的 badge 则限定为红色。\n\n```html\n<style>\n    .demo-badge-alone sup {\n      background: #5cb85c !important;\n    }\n</style>\n<r-badge count=\"25\"></r-badge>\n<r-badge count=\"15\" class=\"demo-badge-alone\"></r-badge>\n```\n\n自定义内容\n\n设置 `text` 属性，可以自定义显示内容。\n\n```html\n<r-badge text=\"new\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge text=\"hot\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n```\n\n自定义位置\n\n设置 `offset` 属性，可以自定义徽标的位置\n\n```html\n<r-badge count=\"3\" offset=\"[5,10]\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n```\n\n状态点 \n\n- 用于表示状态的小圆点。\n\n```html\n<r-badge status=\"success\"></r-badge>\n<r-badge status=\"error\"></r-badge>\n<r-badge status=\"default\"></r-badge>\n<r-badge status=\"processing\"></r-badge>\n<r-badge status=\"warning\"></r-badge>\n<r-badge status=\"error\"></r-badge>\n<br />\n<r-badge status=\"success\" text=\"Success\"></r-badge>\n<br />\n<r-badge status=\"error\" text=\"Error\"></r-badge>\n<br />\n<r-badge status=\"default\" text=\"Default\"></r-badge>\n<br />\n<r-badge status=\"processing\" text=\"Processing\"></r-badge>\n<br />\n<r-badge status=\"warning\" text=\"Warning\"></r-badge>\n```\n\n多彩徽标\n\n- 属性 `color` 可以设置更多预设的状态点颜色，或者自定义颜色。\n\n```html\n<strong>预设：</strong>\n<br>\n<r-badge color=\"blue\" text=\"blue\"></r-badge> <br />\n<r-badge color=\"green\" text=\"green\"></r-badge> <br />\n<r-badge color=\"red\" text=\"red\"></r-badge> <br />\n<r-badge color=\"yellow\" text=\"yellow\"></r-badge> <br />\n<r-badge color=\"pink\" text=\"pink\"></r-badge> <br />\n<r-badge color=\"magenta\" text=\"magenta\"></r-badge> <br />\n<r-badge color=\"volcano\" text=\"volcano\"></r-badge> <br />\n<r-badge color=\"orange\" text=\"orange\"></r-badge> <br />\n<r-badge color=\"gold\" text=\"gold\"></r-badge> <br />\n<r-badge color=\"lime\" text=\"lime\"></r-badge> <br />\n<r-badge color=\"cyan\" text=\"cyan\"></r-badge> <br />\n<r-badge color=\"geekblue\" text=\"geekblue\"></r-badge> <br />\n<r-badge color=\"purple\" text=\"purple\"></r-badge> <br />\n<br>\n<strong>自定义：</strong>\n<br>\n<r-badge color=\"#2db7f5\" text=\"#2db7f5\"></r-badge> <br />\n```\n\n预设颜色\n\n- 使用 `type` 属性，可以设置不同的颜色。\n\n```html\n<r-badge count=\"6\" type=\"primary\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"6\" type=\"success\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"6\" type=\"normal\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"6\" type=\"info\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"6\" type=\"error\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n<r-badge count=\"6\" type=\"warning\">\n  <a class=\"demo-badge\"></a>\n</r-badge>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Badge\n\n| 属性      | 说明                                                         | 默认值 |\n| --------- | ------------------------------------------------------------ | ------ |\n| count     | 显示的数字，大于`maxCount`时，显示`${maxCount}+`，为 0 时隐藏 | -      |\n| max-count | 展示封顶的数字值                                             | 99     |\n| dot       | 不展示数字，只有一个小红点，如需隐藏 dot，详见下方 config 方法 | false  |\n| type      | 使用预设的颜色，可选值为 success、primary、normal、error、warning、info | -      |\n| show-zero | 当数值为 0 时，是否展示 Badge                                | false  |\n| status    | 设置 Badge 为状态点，可选值为 success、processing、default、error、warning | -      |\n| text      | 自定义内容，如果设置了 status，则为状态点的文本              | -      |\n| offset    | 设置状态点的位置偏移，格式为 [x, y]                          | -      |\n| color     | 设置更多状态点的颜色或自定义颜色                             | -      |\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 badge，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `count`\n- `text`\n\n- `dot`\n\n| 返回值 | 说明                               | 类型    | 默认值 |\n| ------ | ---------------------------------- | ------- | ------ |\n| count  | 响应式设置或更新警告徽标显示的数字 | Number  | -      |\n| text   | 响应式设置或更新徽标自定义内容     | String  | -      |\n| dot    | 响应式设置或更新是否为为点状       | Boolean | -      |\n"
  },
  {
    "path": "docs/breadcrumb.md",
    "content": "# Breadcrumb 面包屑\n\n显示当前页面在系统层级结构中的位置，并能向上返回。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Breadcrumb()`\n\n## 何时使用\n\n- 当系统拥有超过两级以上的层级结构时；\n- 当需要告知用户『你在哪里』时；\n- 当需要向上导航的功能时。\n\n## 代码示例\n\n基础用法\n\n- 最简单的用法。\n\n```html\n<r-breadcrumb>\n  <a href=\"#\">Home</a>\n  <a href=\"#\">Components</a>\n  <span>Breadcrumb</span>\n</r-breadcrumb>\n```\n\n带图标\n\n- 可自定义每项的内容，比如带有一个图标。\n\n```html\n<r-breadcrumb>\n  <div>\n      <i class=\"rab-icon rab-icon-ios-home-outline\"></i>\n      <a href=\"#\">Home</a>\n  </div>\n  <div>\n      <i class=\"rab-icon rab-icon-logo-buffer\"></i>\n      <a href=\"#\">Components</a>\n  </div>\n  <div>\n      <i class=\"rab-icon rab-icon-ios-cafe\"></i>\n      <span>Breadcrumb</span>\n  </div>\n</r-breadcrumb>\n```\n\n分隔符\n\n- 通过设置`separator`属性来自定义分隔符，比如` > `，也可以接受自定义的HTML字符串。\n\n```html\n<r-breadcrumb separator=\">\">\n  <a href=\"#\">Home</a>\n  <a href=\"#\">Components</a>\n  <span>Breadcrumb</span>\n</r-breadcrumb>\n\n<r-breadcrumb separator=\"<b class='demo-breadcrumb-separator'>=></b>\">\n  <a href=\"#\">Home</a>\n  <a href=\"#\">Components</a>\n  <span>Breadcrumb</span>\n</r-breadcrumb>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Breadcrumb\n\n| 属性      | 说明         | 默认值 |\n| --------- | ------------ | ------ |\n| separator | 自定义分隔符 | /      |"
  },
  {
    "path": "docs/button.md",
    "content": "# Button 按钮\n\n按钮用于开始一个即时操作。\n\n## 何时使用\n\n- 标记了一个（或封装一组）操作命令，响应用户点击行为，触发相应的业务逻辑。\n\n## 代码示例\n\n- 按钮类型\n\n按钮类型有：默认按钮、主按钮、虚线按钮、文字按钮以及四种颜色按钮。\n\n通过添加不同的类名创建不同样式的按钮\n\n```html\n<button type=\"button\" class=\"rab-btn\">默认按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-info\">信息按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-success\">成功按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-warning\">警告按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-error\">危险按钮</button>\n```\n\n- 幽灵按钮\n\n幽灵按钮将其他按钮的内容反色，背景变为透明，常用在有色背景上。\n\n```html\n<div style=\"background: rgb(190, 200, 200); padding: 20px;\">\n    <button type=\"button\" class=\"rab-btn rab-btn-ghost\">默认按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-ghost\">主要按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-ghost\">虚线按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-text rab-btn-ghost\">文本按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-info rab-btn-ghost\">信息按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-success rab-btn-ghost\">成功按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-warning rab-btn-ghost\">警告按钮</button>\n    <button type=\"button\" class=\"rab-btn rab-btn-error rab-btn-ghost\">危险按钮</button>\n</div>\n```\n\n- 图标按钮及按钮形状\n\n通过设置`icon`属性在`button`内嵌入一个`icon`，或者直接在`button`内添加 `i` 标签。\n\n使用`button`的`icon`属性，图标位置将添加在最左边，如果需要自定义位置，则直接在`Button`内添加 `i` 标签。\n\n通过添加类名 `rab-btn-circle`，可将按钮置为圆的形状。\n\n```html\n<button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary rab-btn-circle\"></button>\n<button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary\">搜索</button>\n<button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary rab-btn-circle\">\n  搜索\n</button>\n<button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-circle\">圆角按钮</button>\n<button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-circle\"></button>\n<button type=\"button\" icon=\"ios-search\" class=\"rab-btn\">搜索</button>\n<button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-circle\">搜索</button>\n<button type=\"button\" class=\"rab-btn rab-btn-circle\">圆角按钮</button>\n```\n\n- 按钮尺寸\n\n按钮有三种尺寸：大、默认（中）、小\n\n通过添加类名`rab-btn-lg`和`rab-btn-sm`将按钮设置为大和小尺寸，不设置为默认（中）尺寸。\n\n```html\n<button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-lg\">主要按钮</button>\n<button type=\"button\" class=\"rab-btn\">默认按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-sm\">虚线按钮</button>\n```\n\n- 长按钮 \n\n通过添加类名 `rab-btn-long` 可将按钮宽度设置为 100% 使按钮适合其父宽度,常用于弹窗内操作按钮。\n\n```html\n<button type=\"button\" class=\"rab-btn rab-btn-success rab-btn-long\">提交按钮</button>\n<button type=\"button\" class=\"rab-btn rab-btn-error rab-btn-long\">删除按钮</button>\n```\n\n- 不可用状态\n\n通过添加`disabled`属性可将按钮设置为不可用状态。\n\n```html\n<button disabled type=\"button\" class=\"rab-btn\">默认按钮(禁用)</button>\n<button disabled type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮(禁用)</button>\n<button disabled type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮(禁用)</button>\n<button disabled type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮(禁用)</button>\n```\n\n- 加载中状态\t\n\n通过添加`loading=\"true\"`属性可以让按钮处于加载中状态\n\n```html\n<button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-primary\">Loading...</button>\n<button type=\"button\" id=\"testBtn1\" class=\"rab-btn rab-btn-circle\"></button>\n<button type=\"button\" id=\"testBtn2\" class=\"rab-btn rab-btn-circle\" icon=\"ios-power\"></button>\n<button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-circle\"></button>\n<button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-primary rab-btn-circle\"></button>\n\n<script>\n\tconst button = new Rabbit.Button();\n    const btn1 = document.querySelector('#testBtn1');\n    const btn2 = document.querySelector('#testBtn2');\n    \n    btn1.onclick = () => {\n        button.config('#testBtn1').loading = true;\n    };\n    btn2.onclick = () => {\n        button.config('#testBtn1').loading = true;\n    }\n</script>\n```\n\n- 按钮组合\n\n实现按钮组合的效果\n\n```html\n<h4>基本</h4>\n\n<div class=\"rab-btn-group\">\n  <button type=\"button\" class=\"rab-btn\">Cancel</button>\n  <button type=\"button\" class=\"rab-btn rab-btn-primary\">Confirm</button>\n</div>\n\n<div class=\"rab-btn-group\">\n  <button disabled type=\"button\" class=\"rab-btn\">Yesterday</button>\n  <button disabled type=\"button\" class=\"rab-btn\">Today</button>\n  <button disabled type=\"button\" class=\"rab-btn\">Tomorrow</button>\n</div>\n\n<div class=\"rab-btn-group\">\n  <button type=\"button\" class=\"rab-btn rab-btn-primary\">L</button>\n  <button type=\"button\" class=\"rab-btn\">M</button>\n  <button type=\"button\" class=\"rab-btn\">M</button>\n  <button type=\"button\" class=\"rab-btn rab-btn-dashed\">R</button>\n</div>\n\n<h4>图标</h4>\n\n<div class=\"rab-btn-group\">\n  <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n    <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n    <span>Backward</span>\n  </button>\n  <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n    <span>Forward</span>\n    <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n  </button>\n</div>\n\n<div class=\"rab-btn-group\">\n  <button type=\"button\" icon=\"ios-skip-backward\" class=\"rab-btn rab-btn-primary\"></button>\n  <button type=\"button\" icon=\"ios-skip-forward\" class=\"rab-btn rab-btn-primary\"></button>\n</div>\n\n<div class=\"rab-btn-group\">\n  <button type=\"button\" icon=\"ios-color-wand\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"ios-sunny\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"ios-crop\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"ios-color-filter\" class=\"rab-btn\"></button>\n</div>\n\n<h4>圆角</h4>\n\n<div class=\"rab-btn-group rab-btn-group-circle\">\n  <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n    <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n    <span>Backward</span>\n  </button>\n  <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n    <span>Forward</span>\n    <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n  </button>\n</div>\n\n<div class=\"rab-btn-group rab-btn-group-circle\">\n  <button type=\"button\" icon=\"ios-skip-backward\" class=\"rab-btn rab-btn-primary\"></button>\n  <button type=\"button\" icon=\"ios-skip-forward\" class=\"rab-btn rab-btn-primary\"></button>\n</div>\n\n<div class=\"rab-btn-group rab-btn-group-circle\">\n  <button type=\"button\" icon=\"ios-color-wand\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"ios-sunny\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"ios-crop\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"ios-color-filter\" class=\"rab-btn\"></button>\n</div>\n\n<h4>尺寸</h4>\n\n<div class=\"rab-btn-group rab-btn-group-lg\">\n  <button type=\"button\" class=\"rab-btn\">Large</button>\n  <button type=\"button\" class=\"rab-btn\">Large</button>\n</div>\n\n<div class=\"rab-btn-group\">\n  <button type=\"button\" class=\"rab-btn\">Default</button>\n  <button type=\"button\" class=\"rab-btn\">Default</button>\n</div>\n\n<div class=\"rab-btn-group rab-btn-group-sm\">\n  <button type=\"button\" class=\"rab-btn\">Small</button>\n  <button type=\"button\" class=\"rab-btn\">Small</button>\n</div>\n\n<div class=\"rab-btn-group rab-btn-group-lg rab-btn-group-circle\">\n  <button type=\"button\" class=\"rab-btn\">Large</button>\n  <button type=\"button\" class=\"rab-btn\">Large</button>\n</div>\n\n<div class=\"rab-btn-group rab-btn-group-circle\">\n  <button type=\"button\" class=\"rab-btn\">Default</button>\n  <button type=\"button\" class=\"rab-btn\">Default</button>\n</div>\n\n<div class=\"rab-btn-group rab-btn-group-sm rab-btn-group-circle\">\n  <button type=\"button\" class=\"rab-btn\">Small</button>\n  <button type=\"button\" class=\"rab-btn\">Small</button>\n</div>\n```\n\n- 按钮组纵向排列\n\n按钮组纵向排列\n\n```html\n<div class=\"rab-btn-group rab-btn-group-vertical\">\n  <button type=\"button\" icon=\"logo-facebook\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"logo-twitter\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"logo-googleplus\" class=\"rab-btn\"></button>\n  <button type=\"button\" icon=\"logo-tumblr\" class=\"rab-btn\"></button>\n</div>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Button\n\n| 属性       | 说明                                                 | 默认值 |\n| ---------- | ---------------------------------------------------- | ------ |\n| loading | 设置按钮为加载中状态 | false  |\n| disabled   | 设置按钮为禁用状态                                   | false  |\n| icon    | 设置按钮的图标类型                                   | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                              | 类型   |\n| ---- | ------------------------------------------------- | ------ |\n| el   | 配置当前选定的 button，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `loading`\n\n| 返回值  | 说明                           | 类型    | 默认值 |\n| ------- | ------------------------------ | ------- | ------ |\n| loading | 响应式设置设置按钮为加载中状态 | Boolean | false  |\n\n### 动态设置按钮加载中状态\n\n常用于点击按钮后等待验证或其他异步操作，在这段时间按钮是被设为加载中的状态，并且在等待响应完成后按钮需切换为原始状态。\n\n示例：\n\n```html\n<button type=\"button\" class=\"rab-btn\" id=\"exampleBtn\" onclick=\"handleClick()\">验证</button>\n<script>\n\tconst button = new Button();\n \n    handleClick = () => {\n       button.config('#exampleBtn').loading = true;\n        setTimeout(() => {\n    \t\tbutton.config('#exampleBtn').loading = false;\n            console.log('加载完成!');\n \t\t}, 3000);\n    }\n</script>\n```\n\n"
  },
  {
    "path": "docs/card.md",
    "content": "# Card卡片\n\n通用卡片容器。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Card()`\n\n## 何时使用\n\n最基础的卡片容器，可承载文字、列表、图片、段落，常用于后台概览页面。\n\n## 代码示例\n\n基本用法\n\n- 包含标题、内容、操作区域。\n\n```html\n<r-card title=\"卡片标题\" extra=\"<a>更多</a>\" style=\"width: 340px\">\n   <div>\n      <p>卡片内容 1</p>\n      <p>卡片内容 2</p>\n      <p>卡片内容 3</p>\n   </div>\n</r-card>\n```\n\n无边框\n\n- 通过设置属性`no-border=\"true\"` ，可以不添加边框，建议在灰色背景下使用。\n\n```html\n<div style=\"background: #eee; padding: 20px\">\n  <r-card title=\"无边框\" no-border=\"true\">\n     <p>\n         这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片\n     </p>\n  </r-card>\n</div>\n```\n\n禁用悬停阴影\n\n- 通过设置属性`dis-hover=\"true\"`来禁用鼠标悬停显示阴影的效果。\n\n```html\n<r-card title=\"卡片标题\">\n   <div>\n      <p>卡片内容 1</p>\n      <p>卡片内容 2</p>\n      <p>卡片内容 3</p>\n   </div>\n</r-card>\n<r-card title=\"卡片标题\" dis-hover=\"true\">\n   <div>\n      <p>卡片内容 1</p>\n      <p>卡片内容 2</p>\n      <p>卡片内容 3</p>\n   </div>\n</r-card>\n```\n\n卡片阴影\n\n- 通过设置属性`shadow=\"true\"`来显示卡片阴影，使用该属性后，`no-border`和`dis-hover`将无效，建议在灰色背景下使用。\n\n```html\n<div style=\"background: #eee; padding: 20px\">\n  <r-card title=\"卡片标题\" no-border=\"true\">\n    <div>\n       <p>卡片内容 1</p>\n       <p>卡片内容 2</p>\n       <p>卡片内容 3</p>\n    </div>\n  </r-card>\n  <r-card title=\"卡片标题\" shadow=\"true\">\n    <div>\n       <p>卡片内容 1</p>\n       <p>卡片内容 2</p>\n       <p>卡片内容 3</p>\n    </div>\n  </r-card>\n</div>\n```\n\n简洁卡片 \n\n- 只包含内容区域，没有标题。\n\n```html\n<r-card style=\"width: 340px\">\n  <div style=\"text-align: center\">\n      <img src=\"../../assets/logo.png\" style=\"height: 95px\" />\n      <h3 style=\"margin: 8px 0\">一套基于TS构建的UI组件库</h3>\n  </div>\n</r-card>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Card\n\n| 属性        | 说明                             | 默认值 |\n| ----------- | -------------------------------- | ------ |\n| no-bodred   | 不显示边框，建议在灰色背景下使用 | false      |\n| dis-hover   | 禁用鼠标悬停显示阴影             | false      |\n| shadow      | 卡片阴影，建议在灰色背景下使用   | false  |\n| title       | 卡片标题                         | -      |\n| extra       | 卡片额外操作的内容               | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 steps，必须是选择器名称或者元素名 | String |\n\n该方法返回以下2个 String 类型的属性：\n\n- `title`\n- `extra`\n\n| 返回值 | 说明                         | 类型   | 默认值 |\n| ------ | ---------------------------- | ------ | ------ |\n| title  | 响应式设置卡片标题           | String | -      |\n| extra  | 响应式设置卡片额外操作的内容 | String | -      |"
  },
  {
    "path": "docs/carousel.md",
    "content": "# Carousel走马灯\n\n旋转木马，一组轮播的区域。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Carousel()`。\n>\n> 该元素标签能够添加额外的子元素节点作为内容部分，并自动追加到指定的内部节点上，且额外添加的所有节点必须只能具有一个父元素包裹\n\n## 何时使用\n\n- 当有一组平级的内容。\n- 当内容空间不足时，可以用走马灯的形式进行收纳，进行轮播展现。\n- 常用于一组图片或卡片轮播。\n\n## 代码示例\n\n基础用法\n\n- 最基本的用法。\n\n```html\n<style>\n    .demo-carousel {\n        height: 250px;\n        color: #fff;\n        line-height: 250px;\n        text-align: center;\n        font-size: 20px;\n        background: #364d79;\n    }\n</style>\n\n<r-carousel>\n  <div>\n      <div class=\"demo-carousel\">1</div>\n      <div class=\"demo-carousel\">2</div>\n      <div class=\"demo-carousel\">3</div>\n      <div class=\"demo-carousel\">4</div>\n  </div>\n</r-carousel>\n```\n\n自动切换\n\n- 设置属性 `autoplay=\"true\"` 可以自动轮播，同时可以设置属性 `autoplay-speed` 改变自动播放的速度。\n\n```html\n<r-carousel autoplay=\"true\" id=\"test\">\n  <div>\n      <div class=\"demo-carousel\">1</div>\n      <div class=\"demo-carousel\">2</div>\n      <div class=\"demo-carousel\">3</div>\n      <div class=\"demo-carousel\">4</div>\n  </div>\n</r-carousel>\n\n<script>\n\tconst carousel = new Rabbit.Carousel();\n    carousel.config('#test').events({\n        onChange: ([oldValue, value]) => {\n            console.log(`原幻灯片索引: ${oldValue}`, `目前激活索引: ${value}`);\n        },\n        onClick: (index) => {\n            console.log(index);\n        }\n    });\n</script>\n```\n\n渐显\n\n- 设置属性 `effect=\"fade\"` 切换效果为渐显。\n\n```html\n<r-carousel effect=\"fade\" autoplay=\"true\">\n  <div>\n      <div class=\"demo-carousel\">1</div>\n      <div class=\"demo-carousel\">2</div>\n      <div class=\"demo-carousel\">3</div>\n      <div class=\"demo-carousel\">4</div>\n  </div>\n</r-carousel>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Carousel\n\n| 属性           | 说明                                                         | 默认值 |\n| :------------- | :----------------------------------------------------------- | :----- |\n| autoplay       | 是否自动切换                                                 | false  |\n| autoplay-speed | 自动切换的时间间隔，单位为毫秒                               | 2000   |\n| dots           | 指示器的位置，可选值为 inside （内部），outside（外部），none（不显示） | inside |\n| radius-dot     | 是否显示圆形指示器                                           | false  |\n| trigger        | 指示器的触发方式，可选值为 click（点击），hover（悬停）      | click  |\n| arrow          | 切换箭头的显示时机，可选值为 hover（悬停），always（一直显示），never（不显示） | hover  |\n| easing         | 动画效果                                                     | ease   |\n| effect         | 动画效果函数，可切换为渐显 `fade`                            | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                | 类型   |\n| ---- | --------------------------------------------------- | ------ |\n| el   | 配置当前选定的 carousel，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `events(options)`\n\n| 返回值 | 说明                            | 类型     | 默认值 |\n| ------ | ------------------------------- | -------- | ------ |\n| events | 非响应式API，添加提示框的事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                                                     | 回调参数                                       |\n| :------- | :------------------------------------------------------- | :--------------------------------------------- |\n| onClick  | 点击幻灯片时触发，返回索引值                             | (index: number) => void                        |\n| onChange | 幻灯片切换时触发，目前激活的幻灯片的索引，原幻灯片的索引 | ([ oldValue, value ]: [number,number]) => void |"
  },
  {
    "path": "docs/checkbox.md",
    "content": "# Checkbox 多选框\n\n多选框。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Card()`\n\n## 何时使用\n\n- 在一组可选项中进行多项选择时；\n- 单独使用可以表示两种状态之间的切换，和 `switch` 类似。区别在于切换 `switch` 会直接触发状态改变，而 `checkbox` 一般用于状态标记，需要和提交操作配合。\n\n## 代码示例\n\n基本用法\n\n- 简单的 checkbox\n\n```html\n<r-checkbox>Checkbox</r-checkbox>\n```\n\n组合使用\n\n- 使用`r-checkbox-group`配合数组来生成组合。在组合使用时，`r-checkbox` 使用 `label` 来自动判断选中状态。\n\n```html\n<r-checkbox-group value=\"['facebook', 'github']\">\n  <r-checkbox label=\"twitter\" icon=\"logo-twitter\">Twitter</r-checkbox>\n  <r-checkbox label=\"facebook\" icon=\"logo-facebook\">Facebook</r-checkbox>\n  <r-checkbox label=\"github\" icon=\"logo-github\">Github</r-checkbox>\n  <r-checkbox label=\"snapchat\" icon=\"logo-snapchat\">Snapchat</r-checkbox>\n</r-checkbox-group>\n\n<r-checkbox-group value=\"['西瓜']\">\n  <r-checkbox label=\"苹果\">苹果</r-checkbox>\n  <r-checkbox label=\"西瓜\">西瓜</r-checkbox>\n  <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n</r-checkbox-group>\n```\n\n不可用\n\n- 通过设置`disabled`属性来禁用多选框。\n\n```html\n<r-checkbox checked=\"true\" disabled>Checkbox</r-checkbox>\n<r-checkbox-group value=\"['西瓜']\">\n  <r-checkbox label=\"苹果\" disabled>苹果</r-checkbox>\n  <r-checkbox label=\"西瓜\" disabled>西瓜</r-checkbox>\n  <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n</r-checkbox-group>\n```\n\n显示边框 \n\n设置属性 `type=\"border\"` 可以显示边框。\n\n```html\n<r-checkbox-group value=\"['苹果']\">\n  <r-checkbox label=\"苹果\" type=\"border\">苹果</r-checkbox>\n  <r-checkbox label=\"西瓜\" type=\"border\">西瓜</r-checkbox>\n  <r-checkbox label=\"猕猴桃\" type=\"border\">猕猴桃</r-checkbox>\n</r-checkbox-group>\n```\n\n全选\n\n- 在实现全选效果时，你可能会用到 `indeterminate` 属性。示例代码只是一种写法。\n\n```html\n<div style=\"border-bottom: 1px solid #e9e9e9;padding-bottom:6px;margin-bottom:6px;\">\n  <r-checkbox id=\"checkAll\">全选</r-checkbox>\n</div>\n<r-checkbox-group id=\"checkAllGroup\">\n  <r-checkbox label=\"苹果\">苹果</r-checkbox>\n  <r-checkbox label=\"西瓜\">西瓜</r-checkbox>\n  <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n</r-checkbox-group>\n\n<script>\n\tconst checkbox = new Rabbit.Checkbox();\n    const checkAll = checkbox.config('#checkAll');\n    const checkAllGroup = checkbox.config('#checkAllGroup');\n\n    checkAll.events({\n        onChange: (checked) => {\n            if (checkAll.indeterminate) {\n                checkAllGroup.value = [];\n                checkAll.checked = false;\n                checkAll.indeterminate = false;\n            } else if (checked) {\n                checkAllGroup.value = ['苹果', '西瓜', '猕猴桃'];\n            } else {\n                checkAllGroup.value = [];\n                checkAll.indeterminate = false;\n            }\n        }\n    });\n\n    checkAllGroup.events({\n        onChange: (data) => {\n            if (data.length === 0) {\n                checkAll.checked = false;\n                checkAll.indeterminate = false;\n            } else if (data.length === 3) {\n                checkAll.checked = true;\n                checkAll.indeterminate = false;\n            } else if (data.length && data.length < 3) {\n                checkAll.indeterminate = true;\n            }\n        }\n    });\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Checkbox\n\n| 属性          | 说明                                                         | 默认值 |\n| :------------ | :----------------------------------------------------------- | :----- |\n| checked       | 单个是否选中                                                 | false  |\n| label         | 只在组合使用时有效。指定当前选项的 value 值，组合会自动判断当前选择的项目 | -      |\n| disabled      | 是否禁用当前项                                               | false  |\n| size          | 单选框的尺寸，可选值为 `large`，`small` 或者不设置           | -      |\n| border        | 是否显示边框                                                 | false  |\n| icon          | 设置前缀图标                                                 | -      |\n| indeterminate | 设置 indeterminate 状态，只负责样式控制                      | false  |\n\n### RadioGroup\n\n| 属性  | 说明                                                 | 默认值 |\n| :---- | :--------------------------------------------------- | :----- |\n| value | 指定选中项目的集合                                   | [ ]    |\n| size  | 多选框组的尺寸，可选值为 `large`、`small` 或者不设置 | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                | 类型   |\n| ---- | --------------------------------------------------- | ------ |\n| el   | 配置当前选定的 checkbox，必须是选择器名称或者元素名 | String |\n\n该方法返回以下三个值：\n\n- `checked`\n- `disabled`\n- `value`\n- `indeterminate`\n- `events(options)`\n\n| 返回值        | 说明                                         | 类型      | 默认值 |\n| ------------- | -------------------------------------------- | --------- | ------ |\n| checked       | 响应式设置单个是否选中                       | Boolean   | -      |\n| disabled      | 响应式设置是否禁用当前项                     | Boolean   | -      |\n| value         | 响应式设置 checkbox-group 当前选中的项目数据 | String[ ] | -      |\n| indeterminate | 响应式设置 indeterminate 状态                | Boolean   | -      |\n| events        | 非响应式API，添加 Checkbox 的事件，          | Function  | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                                                         | 回调参数                                      |\n| :------- | :----------------------------------------------------------- | :-------------------------------------------- |\n| onChange | 在选项状态发生改变时触发。当选中的配置目标是 checkbox-group 时，返回已选中的数组。如果是单个 checkbox 则返回当前选中状态 | (checked: boolean \\| data: string[ ]) => void |\n\n"
  },
  {
    "path": "docs/circle.md",
    "content": "# Circle 进度环\n\n通过图表展示操作的当前进度。\n\n## 何时使用\n\n图表类组件。一般有两种用途：\n\n- 显示某项任务进度的百分比；\n\n- 统计某些指标的占比。\n\n## 代码示例\n\n基础用法\n\n* 圆形进度环有一系列的参数可配置，具体可以查看下面的API文档。\n\n```html\n<r-circle percent=\"80\">\n  <span style=\"font-size: 24px\">80%</span>\n</r-circle>\n<r-circle percent=\"100\" stroke-color=\"#5cb85c\">\n  <i class=\"rab-icon rab-icon-ios-checkmark\" style=\"font-size: 60px; color: #5cb85c\"></i>\n</r-circle>\n<r-circle percent=\"35\" stroke-color=\"#ff5500\">\n  <i class=\"rab-icon rab-icon-ios-close\" style=\"font-size: 50px; color: #ff5500\"></i>\n</r-circle>\n```\n\n配合外部组件使用\n\n- 通过数据的联动和逻辑控制，实现交互效果。\n\n```html\n<r-circle percent=\"0\" id=\"test\">\n  <span id=\"percentText\" style=\"font-size: 24px\">0%</span>\n</r-circle>\n<div class=\"rab-btn-group rab-btn-group-lg\">\n  <button type=\"button\" class=\"rab-btn rab-btn-icon-only\" onclick=\"add()\">\n    <i class=\"rab-icon rab-icon-ios-add\"></i>\n  </button>\n  <button type=\"button\" class=\"rab-btn rab-btn-icon-only\" onclick=\"minus()\">\n    <i class=\"rab-icon rab-icon-ios-remove\"></i>\n  </button>\n</div>\n\n<script>\n    const circle = new Rabbit.Circle();\n    const test = circle.config('#test');\n    const percentText = document.querySelector('#percentText')!;\n\n    let percent = 0;\n\n    add = () => {\n        if (percent >= 100) {\n            return false;\n        }\n        percent += 10;\n        percent == 100 ? (test.strokeColor = '#5cb85c') : '';\n        test.percent = percent;\n        percentText.textContent = `${percent}%`;\n    };\n\n    minus = () => {\n        if (percent <= 0) {\n            return false;\n        }\n        percent -= 10;\n        test.percent = percent;\n        test.strokeColor = '#1890ff';\n        percentText.textContent = `${percent}%`;\n    };\n</script>\n```\n\n自定义更多样式\n\n- 通过自定义内容和丰富的配置，可以组合出很多统计效果。\n- 注意！标签容器下必须具有一个父元素。\n\n```html\n<style>\n   .demo-circle-custom h1 {\n        display: inline-block;\n        color: #3f414d;\n        font-size: 28px;\n        font-weight: normal;\n        margin: 24px 0;\n    }\n    \n    .demo-circle-custom p {\n        color: #657180;\n        margin: 16px;\n        font-size: 14px;\n    }\n    \n    .demo-circle-custom span {\n        display: block;\n        padding-top: 15px;\n        color: #657180;\n        font-size: 14px;\n    }\n    \n    .demo-circle-custom span:before {\n        content: '';\n        display: block;\n        width: 50px;\n        height: 1px;\n        margin: 0 auto;\n        background: #e0e3e6;\n        position: relative;\n        top: -15px;\n    }\n    \n    .demo-circle-custom span i {\n        font-style: normal;\n        color: #3f414d;\n    }\n</style>\n\n<r-circle \n  size=\"250\" \n  trail-width=\"4\" \n  stroke-width=\"5\" \n  percent=\"75\" \n  stroke-linecap=\"square\" \n  stroke-color=\"#43a3fb\"\n>\n  <div class=\"demo-circle-custom\">\n    <h1>42,001,776</h1>\n    <p>消费人群规模</p>\n    <span>\n      总占人数\n      <i>75%</i>\n    </span>\n  </div>\n</r-circle>\n```\n\n仪表盘\n\n- 通过设置属性 `dashboard=\"true\"`，可以很方便地实现仪表盘样式的进度环。\n\n```html\n<r-circle percent=\"80\" dashboard=\"true\">\n  <span style=\"font-size: 24px\">80%</span>\n</r-circle>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Circle\n\n| 属性           | 说明                                                         | 默认值   |\n| -------------- | ------------------------------------------------------------ | -------- |\n| percent        | 百分比                                                       | 0        |\n| size           | 图表的宽度和高度，单位 px                                    | 120      |\n| stroke-linecap | 进度环顶端的形状，可选值为`square`（方）和`round`（圆）      | round    |\n| stroke-width   | 进度环的线宽，单位 px                                        | 6        |\n| stroke-color   | 进度环的颜色，支持传入数组显示为渐变色，标签属性上设置数组的格式的值为`'[\"xxxx\",\"xxx\"]'` | \\#1890ff |\n| trail-width    | 进度环背景的线宽，单位 px                                    | 5        |\n| trail-color    | 进度环背景的颜色                                             | \\#eaeef2 |\n| dashboard      | 是否显示为仪表盘                                             | false    |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                              | 类型   |\n| ---- | ------------------------------------------------- | ------ |\n| el   | 配置当前选定的 circle，必须是选择器名称或者元素名 | String |\n\n该方法返回以下两个值：\n\n- `percent`\n\n- `strokeColor`\n\n| 返回值      | 说明                   | 类型                 | 默认值  |\n| ----------- | ---------------------- | -------------------- | ------- |\n| percent     | 响应式设置百分比       | Number               | 0       |\n| strokeColor | 响应式设置进度环的颜色 | String  \\| String[ ] | #1890ff |\n"
  },
  {
    "path": "docs/collapse.md",
    "content": "# Collapse折叠面板\n\n可以折叠/展开的内容区域。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Collapse()`\n\n## 何时使用\n\n- 对复杂区域进行分组和隐藏，保持页面的整洁。\n- `手风琴` 是一种特殊的折叠面板，只允许单个内容区域展开。\n\n\n## 代码示例\n\n基础用法\n\n- 通过设置属性 `active-index` 可以同时展开多个面板，这个例子默认展开了第一个。\n\n```html\n<r-collapse active-index=\"1\" id=\"demoCollapse\">\n  <r-collapse-panel index=\"1\" title=\"面板标题1\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"2\" title=\"面板标题2\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"3\" title=\"面板标题3\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n</r-collapse>\n\n<script>\n    const collapse = new Rabbit.Collapse();\n    collapse.config('#demoCollapse').events({\n        onChange: (key) => {\n            console.log(key);\n        }\n    });\n</script>\n```\n\n手风琴\n\n- 通过设置属性`accordion=\"true\"`开启手风琴模式，每次只能打开一个面板。\n\n```html\n<r-collapse active-index=\"1\" accordion=\"true\">\n  <r-collapse-panel index=\"1\" title=\"面板标题1\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"2\" title=\"面板标题2\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"3\" title=\"面板标题3\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n</r-collapse>\n```\n\n简洁风格\n\n- 设置属性 `simple=\"true\"` 可以显示为一套没有边框的简洁样式。\n\n```html\n<r-collapse active-index=\"1\" simple=\"true\">\n  <r-collapse-panel index=\"1\" title=\"面板标题1\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"2\" title=\"面板标题2\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"3\" title=\"面板标题3\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n</r-collapse>\n```\n\n隐藏箭头\n\n- 通过给 `r-collapse-panel` 设置属性 `hide-arrow=\"true\"` 可以隐藏面板的箭头图标\n\n```html\n<r-collapse active-index=\"1\">\n  <r-collapse-panel index=\"1\" title=\"面板标题1\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"2\" title=\"面板标题2\" hide-arrow=\"true\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n</r-collapse>\n```\n\n幽灵折叠面板\n\n- 通过设置属性 `ghost=\"true\"` 将折叠面板的背景变成透明。\n\n```html\n<r-collapse active-index=\"1\" ghost=\"true\">\n  <r-collapse-panel index=\"1\" title=\"面板标题1\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"2\" title=\"面板标题2\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n  <r-collapse-panel index=\"3\" title=\"面板标题3\">\n      <p>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。</p>\n  </r-collapse-panel>\n</r-collapse>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Collapse\n\n| 属性             | 说明                                                         | 默认值 |\n| ---------------- | ------------------------------------------------------------ | ------ |\n| active-index | 初始化选中面板的 key，格式可以为 `string`、`number`、 `\"[string]\"` 或 `\"[number]\"` | -      |\n| accordion        | 是否开启手风琴模式，开启后每次至多展开一个面板               | false  |\n| simple           | 简洁边框风格的折叠面板                                       | false  |\n| ghost            | 使折叠面板透明且无边框                                       | false  |\n\n### Collapse-panel\n\n| 属性       | 说明                                                         | 默认值 |\n| ---------- | ------------------------------------------------------------ | ------ |\n| index        | 当前面板的 key，与 r-collapse 的`active-index`对应，不填为索引值 | index  |\n| hide-arrow | 隐藏当前面板上的箭头                                         | false  |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                | 类型   |\n| ---- | --------------------------------------------------- | ------ |\n| el   | 配置当前选定的 collapse，必须是选择器名称或者元素名 | String |\n\n该方法返回以下两个值：\n\n- `activeIndex`\n\n- `events(options)`\n\n| 返回值    | 说明                            | 类型                                        | 默认值 |\n| --------- | ------------------------------- | ------------------------------------------- | ------ |\n| activeIndex | 响应式设置当前激活面板的 index    | String  \\| String[ ] \\| Number \\| Number[ ] | -      |\n| events    | 非响应式API，添加折叠面板事件， | Function                                    | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                                                   | 回调参数               |\n| :------- | :----------------------------------------------------- | :--------------------- |\n| onChange | 切换面板时触发，返回当前已展开的面板的 key，格式为数组 | (index: string[]) => void |"
  },
  {
    "path": "docs/count-down.md",
    "content": "# CountDown 倒计时\n\n根据设置目标时间来倒计时的组件。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.CountDown()`\n\n## 何时使用\n\n- 当页面某个部分或功能需要进行倒计时\n\n\n## 代码示例\n\n基础用法\n\n- 最简单的用法\n- 设置的时间格式为 `YYYY/MM/DD HH:mm:ss` 或 `YYYY-MM-DD HH:mm:ss` \n\n```html\n<r-count-down id=\"test1\"></r-count-down>\n<r-count-down id=\"test2\"></r-count-down>\n\n<script>\n\tconst countDown = new Rabbit.CountDown();\n    const date = new Date();\n\n    const YYMMDD = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;\n    const h = date.getHours();\n    const mm = date.getMinutes();\n\n    // 'YYYY/MM/DD HH:mm:ss'\n    countDown.config('#test1').endTime = `${YYMMDD} ${h + 1}:00:00`;\n    countDown.config('#test2').endTime = `${YYMMDD} ${h}:${mm + 1}:00`;\n    countDown.config('#test2').events({\n        onStop: (stop) => {\n            if (stop) Rabbit.Message.info('倒计时结束！')\n        }\n    });\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### CountDown\n\n| 属性     | 说明                     | 默认值 |\n| -------- | ------------------------ | ------ |\n| end-time | 设置倒计时结束的目标时间 | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                  | 类型   |\n| ---- | ----------------------------------------------------- | ------ |\n| el   | 配置当前选定的 count-down，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `endTime`\n- `events(options)`\n\n| 返回值  | 说明                            | 类型     | 默认值 |\n| ------- | ------------------------------- | -------- | ------ |\n| endTime | 响应式设置倒计时结束的目标时间  | String   | -      |\n| events  | 非响应式API，添加倒计时的事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性   | 说明                   | 回调参数                   |\n| :----- | :--------------------- | :------------------------- |\n| onStop | 倒计时结束后触发的事件 | (stop:  boolean)  =>  void |"
  },
  {
    "path": "docs/divider.md",
    "content": "# Divider 分割线\n\n区隔内容的分割线。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Divider()`\n\n## 何时使用\n\n- 对不同章节的文本段落进行分割。\n- 对行内文字/链接进行分割，例如表格的操作列。\n\n\n## 代码示例\n\n水平分割线 \n\n- 默认为水平分割线，可在中间加入文字。\n\n```html\n<p>\n  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n<r-divider></r-divider>\n<p>\n  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n<r-divider>标题居中</r-divider>\n<p>\n  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n<r-divider dashed=\"true\"></r-divider>\n<p>\n  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n```\n\n垂直分割线\n\n- 使用 `type=\"vertical\"` 设置为行内的垂直分割线。\n\n```html\n文本\n<r-divider type=\"vertical\"></r-divider>\n<a href=\"#\">链接</a>\n<r-divider type=\"vertical\"></r-divider>\n<a href=\"#\">链接</a>\n```\n\n标题位置\n\n- 修改分割线标题的位置。\n\n```html\n<r-divider orientation=\"left\">左侧标题</r-divider>\n<p>\n  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n<r-divider orientation=\"right\">右侧标题</r-divider>\n<p>\n  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n```\n\n分割文字使用正文样式\n\n- 使用 `plain` 可以设置为更轻量的分割文字样式。\n\n```html\n<r-divider plain=\"true\">标题居中</r-divider>\n<p>\n    从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n<r-divider plain=\"true\" orientation=\"left\">右侧标题</r-divider>\n<p>\n    从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n<r-divider plain=\"true\" orientation=\"right\">右侧标题</r-divider>\n<p>\n    从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n</p>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Divider\n\n| 属性        | 说明                                              | 默认值     |\n| ----------- | ------------------------------------------------- | ---------- |\n| type        | 水平还是垂直类型，可选值为 horizontal 或 vertical | horizontal |\n| orientation | 分割线标题的位置，可选值为 left、right 或 center  | center     |\n| dashed      | 是否虚线                                          | false      |\n| size        | 标题文字尺寸，可选值为 small 或 不填              | -          |\n| plain       | 文字是否显示为普通正文样式                        | false      |"
  },
  {
    "path": "docs/drawer.md",
    "content": "# Drawer 抽屉\n\n屏幕边缘滑出的浮层面板。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Drawer()`。\n>\n\n## 何时使用\n\n- 抽屉从父窗体边缘滑入，覆盖住部分父窗体内容。用户在抽屉内操作时不必离开当前任务，操作完成后，可以平滑地回到到原任务。\n\n- 当需要一个附加的面板来控制父窗体内容，这个面板在需要时呼出。比如，控制界面展示样式，往界面中添加内容。\n- 当需要在当前任务流中插入临时任务，创建或预览附加内容。比如展示协议条款，创建子对象。\n\n\n## 代码示例\n\n基础抽屉\n\n- 基础抽屉，点击触发按钮抽屉从右滑出，点击遮罩区关闭。\n- 注意！容器内的节点必须具有一个父元素\n\n```html\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleClick()\">Open</button>\n\n<r-drawer title=\"Basic Drawer\" id=\"test1\">\n  <div>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n  </div>\n</r-drawer>\n\n<script>\n    const drawer = new Rabbit.Drawer();\n    \n    let visible = false;\n    handleClick = () => {\n       visible === false ? (visible = !visible) : visible;\n       drawer.config('#test1').visable = visible;\n    };\n    \n    drawer.config('#test1').events({\n        onClose: () => {\n            console.log('关闭抽屉');\n        }\n    });\n</script>\n```\n\n自定义位置\n\n- 自定义位置，点击触发按钮抽屉从相应的位置滑出，点击遮罩区关闭\n\n```html\n<button class=\"rab-btn\" onclick=\"Top()\">Top</button>\n<button class=\"rab-btn\" onclick=\"Left()\">Left</button>\n<button class=\"rab-btn\" onclick=\"Bottom()\">Bottom</button>\n<button class=\"rab-btn\" onclick=\"Right()\">Right</button>\n\n<r-drawer id=\"test2\" title=\"Basic Drawer\" placement=\"top\">\n  <div>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n  </div>\n</r-drawer>\n\n<r-drawer id=\"test3\" title=\"Basic Drawer\" placement=\"left\">\n  <div>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n  </div>\n</r-drawer>\n\n<r-drawer id=\"test4\" title=\"Basic Drawer\" placement=\"bottom\">\n  <div>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n  </div>\n</r-drawer>\n\n<r-drawer id=\"test5\" title=\"Basic Drawer\">\n  <div>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n      <p>Some contents...</p>\n  </div>\n</r-drawer>\n\n<script>\n    const drawer = new Rabbit.Drawer();\n    \n    let top = false;\n    let left = false;\n    let bottom = false;\n    let right = false;\n    \n    Top = () => {\n        top === false ? (top = !top) : top;\n        drawer.config('#test2').visable = top;\n    };\n    \n    Left = () => {\n        left === false ? (left = !left) : left;\n        drawer.config('#test3').visable = left;\n    };\n    \n    Bottom = () => {\n        bottom === false ? (bottom = !bottom) : bottom;\n        drawer.config('#test4').visable = bottom;\n    };\n    \n    Right = () => {\n        right === false ? (right = !right) : right;\n        drawer.config('#test5').visable = right;\n    };\n</script>\n```\n\n在当前 DOM  内打开\n\n- 设置抽屉在当前元素内打开\n\n```html\n<style>\n    .container {\n        width: 480px;\n        height: 200px;\n        margin: 20px auto;\n        overflow: hidden;\n        position: relative;\n        border: 1px solid #ebedf0;\n        border-radius: 2px;\n        padding: 48px;\n        text-align: center;\n        background: #fafafa;\n    }\n</style>\n\n<div class=\"container\">\n    <button class=\"rab-btn rab-btn-primary\" onclick=\"openInner()\">Open Inner</button>\n    <r-drawer title=\"Basic Drawer\" id=\"test6\" inner=\"true\">\n        <p>Some contents...</p>\n    </r-drawer>\n</div>\n\n<script>\n    const drawer = new Rabbit.Drawer();\n    \n    let inner = false;\n    openInner = () => {\n      inner === false ? (inner = !inner) : inner;\n      drawer.config('#test6').visable = inner;\n    };\n</script>\n```\n\n多层抽屉 \n\n- 在抽屉内打开新的抽屉，用以解决多分支任务的复杂状况。\n\n```html\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleClick1()\">多层抽屉</button>\n\n<r-drawer id=\"test7\" title=\"多层抽屉\" width=\"512px\">\n  <button class=\"rab-btn rab-btn-primary\" onclick=\"handleClick2()\">打开第二层抽屉</button>\n</r-drawer>\n\n<r-drawer id=\"test8\" title=\"第二层抽屉\">\n  <p>这是第二层抽屉。</p>\n</r-drawer>\n\n<script>\n    const drawer = new Rabbit.Drawer();\n    \n\tlet first = false;\n    let second = false;\n    \n    handleClick1 = () => {\n      first === false ? (first = !first) : first;\n      drawer.config('#test7').visable = first;\n    };\n\n    handleClick2 = () => {\n      second === false ? (second = !second) : second;\n      drawer.config('#test8').visable = second;\n    };\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Drawer\n\n| 属性          | 说明                                                | 默认值 |\n| :------------ | :-------------------------------------------------- | :----- |\n| visible       | 初始 Drawer 是否可见                                | false  |\n| title         | 抽屉标题                                            | -      |\n| width         | 抽屉宽度。需要带像素单位                            | 256px  |\n| closable      | 是否显示右上角的关闭按钮                            | false  |\n| mask-closable | 是否允许点击遮罩层关闭                              | true   |\n| mask          | 是否显示遮罩层                                      | true   |\n| scrollable    | 页面是否可以滚动                                    | false  |\n| placement     | 抽屉的方向，可选值为 top、  right、  bottom 、 left | right  |\n| inner         | 是否设置抽屉在某个元素内打开，该元素需要有相对定位  | false  |\n| lock-scroll   | 是否禁止对页面滚动条的修改                          | false  |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                              | 类型   |\n| ---- | ------------------------------------------------- | ------ |\n| el   | 配置当前选定的 drawer，必须是选择器名称或者元素名 | String |\n\n该方法返回以下两个值：\n\n- `title`\n\n- `events(options)`\n\n| 返回值 | 说明                        | 类型     | 默认值 |\n| ------ | --------------------------- | -------- | ------ |\n| title  | 响应式设置抽屉的标题        | String   | -      |\n| events | 非响应式API，添加抽屉事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性    | 说明           | 回调参数 |\n| :------ | :------------- | :------- |\n| onClose | 关闭抽屉时触发 | 无       |"
  },
  {
    "path": "docs/dropdown.md",
    "content": "# Dropdown 下拉菜单\n\n向下弹出的列表。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Dropdown()`\n\n## 何时使用\n\n- 当页面上的操作命令过多时，用此组件可以收纳操作元素。点击或移入触点，会出现一个下拉菜单。可在列表中进行选择，并执行相应的命令。\n\n## 代码示例\n\n 基础用法\n\n- 最简单的下拉菜单，触发对象可以是链接、按钮等各种元素。\n\n- 本例还展示了禁用项和分隔线。\n\n```html\n<r-dropdown id=\"test\">\n  <a>下拉菜单 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item disabled>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item divided>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<r-dropdown>\n  <button class=\"rab-btn rab-btn-primary\">\n      下拉菜单 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n  </button>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item disabled>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item divided>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<script>\n\tconst dropdown = new Rabbit.Dropdown();\n    dropdown.config('#test').events({\n        onClick: (key) => {\n            console.log(key);\n        },\n        onVisibleChange: (visible) => {\n            console.log(visible);\n        }\n    });\n</script>\n```\n\n触发方式 \n\n- 通过设置属性 `trigger` 可以更改触发方式，可选项为 click 、 hover(默认)、contextMenu(右键)\n\n```html\n<r-dropdown>\n  <a>hover 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<r-dropdown trigger=\"click\">\n  <a>click 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<r-dropdown trigger=\"contextMenu\">\n  <a>右键触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>返回</r-dropdown-item>\n      <r-dropdown-item danger>删除</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<r-dropdown trigger=\"custom\" class=\"custom\" id=\"testCustom\">\n  <a onclick=\"handleOpen()\">\n      custom 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n  </a>\n  <r-dropdown-menu>\n      <r-dropdown-item>\n          <p>常用于各种自定义下拉内容的场景。</p>\n          <div style=\"text-align: right;margin:10px;\">\n              <button class=\"rab-btn rab-btn-primary\" onclick=\"handleClose()\">关闭</button>\n          </div>\n      </r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<script>\n    const dropdown = new Rabbit.Dropdown();\n    // 下拉菜单自定义触发\n    handleOpen = () => (dropdown.config('#testCustom').visible = true);\n    handleClose = () => (dropdown.config('#testCustom').visible = false);\n</script>\n```\n\n对齐方向\n\n- 通过设置属性 `placement` 可以更改下拉菜单出现的方向，与 Poptip 和 Tooltip 配置一致，支持 12 个方向，详见 API。\n\n```html\n<r-dropdown placement=\"bottom-start\">\n  <a>菜单(左) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<r-dropdown>\n  <a>\n      菜单(居中) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n  </a>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n\n<r-dropdown placement=\"bottom-end\">\n  <a>菜单(右) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>老干妈</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item>葱油饼</r-dropdown-item>\n      <r-dropdown-item>黄金糕</r-dropdown-item>\n      <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n```\n\n嵌套用法 \n\n- 下拉菜单可以进行嵌套实现级联的效果，嵌套时注意设置子集的展开方向。\n\n```html\n<r-dropdown placement=\"bottom-start\">\n  <a>北京小吃 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n  <r-dropdown-menu>\n      <r-dropdown-item>豆汁儿</r-dropdown-item>\n      <r-dropdown-item>炸酱面</r-dropdown-item>\n      <r-dropdown-item>驴打滚</r-dropdown-item>\n      <!-- 嵌套下拉菜单 start -->\n      <r-dropdown placement=\"right-start\">\n          <r-dropdown-item>\n              北京烤鸭 <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n          </r-dropdown-item>\n          <r-dropdown-menu>\n              <r-dropdown-item>壁炉烤鸭</r-dropdown-item>\n              <r-dropdown-item>焖炉烤鸭</r-dropdown-item>\n          </r-dropdown-menu>\n      </r-dropdown>\n      <!-- 嵌套下拉菜单 end -->\n      <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n  </r-dropdown-menu>\n</r-dropdown>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Dropdown\n\n| 属性                     | 说明                                                         | 默认值 |\n| :----------------------- | :----------------------------------------------------------- | :----- |\n| trigger                  | 触发方式，可选值为 `hover`（悬停）`click`（点击）`contextMenu`（右键）`custom` (自定义) | hover  |\n| placement                | 下拉菜单出现的位置，可选值为`top``top-start``top-end``bottom``bottom-start``bottom-end``left``left-start``left-end``right``right-start``right-end`, 支持自动识别 | bottom |\n| visible `1.3.0`          | 手动控制下拉框的显示，在 trigger = 'custom' 时使用           | false  |\n| stop-propagation `1.3.0` | 是否开启 stop-propagation，在trigger = 'custom' 时，如果将事件绑定到 r-dropdown 上时最好使用 | false  |\n\n### DropdownItem\n\n| 属性           | 说明                         | 默认值 |\n| :------------- | :--------------------------- | :----- |\n| key `1.3.0`    | 用来标识这一项               | -      |\n| disabled       | 禁用该项                     | -      |\n| divided        | 显示分割线                   | -      |\n| selected       | 标记该项为选中状态           | -      |\n| danger `1.3.0` | 标记为危险项，用于删除项操作 |        |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                              | 类型   |\n| ---- | ------------------------------------------------- | ------ |\n| el   | 配置当前选定的 drawer，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `visible`\n\n- `events(options)`\n\n| 返回值          | 说明                          | 类型     | 默认值 |\n| --------------- | ----------------------------- | -------- | ------ |\n| visible `1.3.0` | 响应式设置或更新下拉框的显示  | Boolean  | false  |\n| events          | 非响应式API，添加下拉菜单事件 | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性                    | 说明                                             | 回调参数                   |\n| :---------------------- | :----------------------------------------------- | :------------------------- |\n| onClick `1.3.0`         | 点击菜单项时触发，返回 r-dropdown-item 的 key 值 | (key: string)  =>  void    |\n| onVisibleChange `1.3.0` | 菜单显示状态改变时调用                           | (visible: boolean) => void |\n| onClickOutside `1.3.0`  | 点击外部关闭下拉菜单时触发                       | (event: Event) => void     |\n"
  },
  {
    "path": "docs/empty.md",
    "content": "# Empty 空状态\n\n空状态时的展示占位图。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Empty()`\n\n## 何时使用\n\n- 当目前没有数据时，用于显式的用户提示。\n- 初始化场景时的引导创建流程。\n\n## 代码示例\n\n基础用法\n\n- 简单的展示。\n\n```html\n<r-empty></r-empty>\n```\n\n自定义\n\n- 设置属性 ` image` 自定义图片、`desc` 设置描述、 \n- 如果设置附属内容，容器下有且只能由一个子节点\n\n```html\n<r-empty desc=\"自定义的<a>描述</a>\"\n  image=\"https://gw.alipayobjects.com/mdn/miniapp_social/afts/img/A*pevERLJC9v0AAAAAAAAAAABjAQAAAQ/original\"\n  image-style=\"height: 60px\">\n  <button class=\"rab-btn rab-btn-primary\">立即创建</button>\n</r-empty>\n```\n\n无描述\n\n- 设置属性 `desc=\"false\"` 不显示描述。\n\n```html\n<r-empty desc=\"false\"></r-empty>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Empty\n\n| 属性        | 说明           | 默认值 |\n| :---------- | :------------- | :----- |\n| desc        | 自定义描述内容 | -      |\n| image-style | 图片样式       | -      |\n| image       | 自定义图片地址 | -      |"
  },
  {
    "path": "docs/input-number.md",
    "content": "# InputNumber 数字输入框\n\n通过鼠标或键盘，输入范围内的数值。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.InputNumber()`\n\n## 何时使用\n\n- 当需要获取标准数值时。\n\n## 代码示例\n\n基础用法\n\n- 可以通过输入、鼠标点击或键盘的上下键来改变数值大小。\n\n```html\n<r-input-number value=\"1\" min=\"1\" max=\"10\" id=\"test1\"></r-input-number>\n<script>\n\tconst inputNumber = new Rabbit.InputNumber();\n    inputNumber.config('#test1').events({\n        onChange: (value) => {\n            console.log('changed!', value);\n        }\n    });    \n</script>\n```\n\n小数\n\n- 通过设置`step`属性控制每次改变的精度。\n\n```html\n<r-input-number value=\"1\" min=\"1\" max=\"10\" step=\"1.2\"></r-input-number>\n```\n\n格式化展示\n\n- 通过 `formatter` 格式化数字，以展示具有具体含义的数据，往往需要配合 `parser` 一起使用。\n- formatter 属性的值的字符串格式为：反引号包裹  ${value}。\n- parser 属性的值需为字符串的数组，第一个位置为要匹配替换的内容，第二个位置为替换后的结果；若无该属性则使用默认的匹配规则转换。\n\n```html\n<r-input-number \n  value=\"1000\" \n  formatter=\"`$ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\" \n  parser=\"[/\\$\\s?|(,*)/g, '']\">\n</r-input-number>\n<r-input-number value=\"100\" formatter=\"`${value}%`\"></r-input-number>\n```\n\n尺寸\n\n- 通过设置`size`属性为`large`和`small`将输入框设置为大和小尺寸，不设置为默认尺寸。\n\n```html\n<r-input-number value=\"3\" size=\"small\"></r-input-number>\n<r-input-number value=\"3\"></r-input-number>\n<r-input-number value=\"3\" size=\"large\"></r-input-number>\n```\n\n不可用\n\n- 通过设置`disabled=\"true\"`属性禁用输入框，点击按钮切换状态。\n\n```html\n<r-input-number value=\"1\" disabled=\"true\" id=\"test2\"></r-input-number>\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleClick()\">禁用状态</button>\n\n<script>\n    const inputNumber = new Rabbit.InputNumber();\n\tlet flag = true;\n    handleClick = () => {\n       flag ? (flag = !flag) : (flag = true);\n       inputNumber.config('#test2').disabled = flag;\n    };\n</script>\n```\n\n只读\n\n- 通过设置`readonly=\"true\"`属性开启只读。\n\n```html\n<r-input-number value=\"1\" readonly=\"true\"></r-input-number>\n```\n\n不可编辑\n\n- 通过设置`editable=\"false\"`属性控制是否能编辑。\n\n```html\n<r-input-number value=\"1\" editable=\"false\"></r-input-number>\n```\n\n按钮位置\n\n- 通过设置 `controls-outside=\"true\"` 属性可以将按钮位置置于输入框两侧。\n\n```html\n<r-input-number value=\"1\" controls-outside=\"true\"></r-input-number>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### InputNumber\n\n| 属性             | 说明                                                       | 默认值    |\n| :--------------- | :--------------------------------------------------------- | :-------- |\n| max              | 最大值                                                     | Infinity  |\n| min              | 最小值                                                     | -Infinity |\n| value            | 输入框当前值                                               | -         |\n| controls-outside | 按钮位置是否置于两侧                                       | false     |\n| step             | 每次改变的步伐，可以是小数                                 | 1         |\n| size             | 输入框尺寸，可选值为`large`、`small`或者不填               | -         |\n| disabled         | 设置禁用状态                                               | false     |\n| placeholder      | 占位文本                                                   | -         |\n| formatter        | 指定输入框展示值的格式                                     | -         |\n| parser           | 指定从 formatter 里转换回数字的方式，和 formatter 搭配使用 | -         |\n| readonly         | 是否设置为只读                                             | false     |\n| editable         | 是否可编辑                                                 | true      |\n| precision        | 数值精度                                                   | -         |\n| input-id         | 给内部实际的输入框元素设置 `id`                            | -         |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                    | 类型   |\n| ---- | ------------------------------------------------------- | ------ |\n| el   | 配置当前选定的 input-number，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `value`\n- `step`\n- `disabled`\n- `readOnly`\n- `editable`\n- `events(options)`\n\n| 返回值   | 说明                                   | 类型      |\n| -------- | -------------------------------------- | --------- |\n| value    | 响应式设置输入框当前值                 | Boolean   |\n| step     | 响应式设置每次改变的步伐               | Number    |\n| disabled | 响应式设置禁用状态                     | Boolean   |\n| readOnly | 响应式设置是否设置为只读               | Boolean   |\n| editable | 响应式设置是否可编辑                   | Boolean   |\n| events   | 非响应式API，添加 InputNumber 的事件， | Functioin |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                         | 回调参数                    |\n| :------- | :--------------------------- | :-------------------------- |\n| onChange | 数值改变时的回调，返回当前值 | (value: number) => void     |\n| onFocus  | 聚焦时触发                   | (event: InputEvent) => void |\n| onBlur   | 失焦时触发                   | 无                          |"
  },
  {
    "path": "docs/jumbotron.md",
    "content": "# Jumbotron 巨幕\n\n用于排版和分行，以便在较大的容器中分隔内容。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Jumbotron()`\n>\n\n## 何时使用\n\n- 当需要展示巨大的标题和段落时使用。\n\n## 代码示例\n\n基础用法\n\n- 最简单的用法，如果添加额外内容则标签容器下有且只能由一个子节点组成\n\n```html\n<r-jumbotron \n  title=\"Hello, world!\" \n  sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\">\n  <div>\n      <hr style=\"margin-bottom: 1.5rem;\" />\n      <p>它使用实用程序类来排版和空格，以便在较大的容器中分隔内容。</p>\n      <button class=\"rab-btn rab-btn-primary rab-btn-lg\">了解更多</button>\n  </div>\n</r-jumbotron>\n```\n\n外观\n\n- 通过设置属性 `type` 切换外观背景色\n\n```html\n<r-jumbotron \n  type=\"light\" \n  title=\"Hello, world!\" \n  sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\">\n</r-jumbotron>\n\n<r-jumbotron \n  type=\"dark\" \n  title=\"Hello, world!\" \n  sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\">\n</r-jumbotron>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Jumbotron\n\n| 属性      | 说明                                     | 默认值 |\n| :-------- | :--------------------------------------- | :----- |\n| type      | 更改外观颜色，可选值为 `light` 和 `dark` | -      |\n| title     | 设置大标题                               | -      |\n| sub-title | 设置描述标题                             | -      |"
  },
  {
    "path": "docs/loading-bar.md",
    "content": "# LoadingBar 加载进度条\n\n全局创建一个显示页面加载、异步请求、文件上传等的加载进度条。\n\n> LoadingBar 只会在全局创建一个，因此在任何位置调用的方法都会控制这同一个组件。主要使用场景是路由切换和Ajax，因为这两者都不能拿到精确的进度，LoadingBar 会模拟进度，当然也可以通过`update()`方法来传入一个精确的进度，比如在文件上传时会很有用，具体见API。\n\n#### 在路由中使用\n\n ```js\n// 以Vue的路由为例，部分代码省略\nimport Loading from 'rabbit-simple-ui/src/components/loading-bar';\n\nrouter.beforeEach((to, from, next) => {\n    Loading.start();\n    next();\n});\n\nrouter.afterEach(route => {\n    Loading.finish();\n});\n ```\n\n#### 在异步请求中使用\n\n```html\n<script>\n// 以jQuery的Ajax为例，部分代码省略\n// 假设示例以 script 标签引入的方式，所以需要使用全局变量 Rabbit\nfunction getData () {\n  Rabbit.Loading.start();\n  $.ajax({\n      url: '/api/someurl',\n      type: 'get',\n      success: () => {\n          Rabbit.Loading.finish();\n      },\n      error: () => {\n          Rabbit.Loading.error();\n      }\n  });\n}\n</script>\n```\n\n## 代码示例\n\n 基本用法\n\n- 点击 Start 开始进度，点击 Finish 结束。在调用`start()`方法后，组件会自动模拟进度，当调用`finish()`或`error()`时，补全进度并自动消失。\n\n```js\nRabbit.Loading.statr();\nRabbit.Loading.finish();\nRabbit.Loading.error();\n```\n\n<p style=\"font-size: 32px\">API</p>\n\nLoadingBar instance\n\n通过直接调用以下方法来使用组件：\n\n- `Rabbit.Loading.start()`\n- `Rabbit.Loading.finish()`\n- `Rabbit.Loading.error()`\n- `Rabbit.Loading.update(percent)`\n\n函数及参数说明如下：\n\n| 函数名 | 说明                                     | 参数                      |\n| ------ | ---------------------------------------- | ------------------------- |\n| start  | 开始从 0 显示进度条，并自动加载进度      | 无                        |\n| finish | 结束进度条，自动补全剩余进度             | 无                        |\n| error  | 以错误的类型结束进度条，自动补全剩余进度 | 无                        |\n| update | 精确加载到指定的进度                     | percent，指定的进度百分比 |\n\n另外提供了全局配置和全局销毁的方法：\n\n- `Rabbit.Loading.config(options)`\n- `Rabbit.Loading.destroy()`\n\n```js\nRabbit.Loading.config({\n    color: '#5cb85c',\n    failedColor: '#f0ad4e',\n    height: 5\n});\n```\n\n| 属性        | 说明                                   | 类型   | 默认值  |\n| :---------- | :------------------------------------- | :----- | :------ |\n| color       | 进度条的颜色，默认为 Rabbit 主色       | String | primary |\n| failedColor | 失败时的进度条颜色，默认为 Rabbit 主色 | String | error   |\n| height      | 进度条高度，单位 px                    | Number | 2       |\n| duration    | 隐藏时的持续时间，单位 ms              | Number | 800     |"
  },
  {
    "path": "docs/message.md",
    "content": "# Message 全局提示\n\n全局展示操作反馈信息。\n\n## 何时使用\n\n- 可提供成功、警告和错误等反馈信息。\n- 顶部居中显示并自动消失，是一种不打断用户操作的轻量级提示方式。\n\n## 代码示例\n\n普通提示\n\n- 最基本的提示，默认在3秒后消失。\n\n```html\n<button class=\"rab-btn rab-btn-primary\" onclick=\"info()\">显示消息提示</button>\n<script>\n\tinfo = () => {\n        Rabbit.Message.info('这是一条普通的提示');\n    }\n</script>\n```\n\n提示类型\n\n- 包括成功、失败、警告。\n\n```html\n<button class=\"rab-btn\" onclick=\"success()\">显示成功提示</button>\n<button class=\"rab-btn\" onclick=\"warning()\">显示警告提示</button>\n<button class=\"rab-btn\" onclick=\"error()\">显示错误提示</button>\n<script>\n\tsuccess = () => {\n      Rabbit.Message.success('这是一条成功的提示');\n    };\n    warning = () => {\n      Rabbit.Message.warning('这是一条警告的提示');\n    };\n    error = () => {\n      Rabbit.Message.error('这是一条错误的提示');\n    };\n</script>\n```\n\n带背景色\n\n设置属性 `background`  为 true 后，通知提示会显示背景色。\n\n```html\n<button class=\"rab-btn\" onclick=\"background('info')\">显示消息提示</button>\n<button class=\"rab-btn\" onclick=\"background('success')\">显示成功提示</button>\n<button class=\"rab-btn\" onclick=\"background('warning')\">显示警告提示</button>\n<button class=\"rab-btn\" onclick=\"background('error')\">显示错误提示</button>\n<script>\n\tbackground = (type: string) => {\n      Rabbit.Message[type]({\n          content: '这是一条带背景色的通知',\n          background: true,\n          duration: 5\n      });\n    };\n</script>\n```\n\n加载中\n\n- 进行全局 loading，异步自行移除。需要手动调用 `destroy` 方法关闭。\n\n```html\n<button class=\"rab-btn\" onclick=\"loading()\">显示加载中...</button>\n<script>\n\tloading = () => {\n      Rabbit.Message.loading({\n          content: '正在加载中...',\n          duration: 0,\n          // key: 'msgKey'\t-> 在destroy方法里添加该key值，则仅移除该实例\n      });\n      setTimeout(() => Rabbit.Message.destroy(/*'msgKey'*/), 5000);\n    };\n</script>\n```\n\nPromise 接口\n\n- 可以通过 then 接口在关闭后运行 callback 。以上用例将在每个 Rabbit.Message 将要结束时通过 then 显示新的 Rabbit.Message 。\n- 如果手动通过关闭按钮结束则无效\n\n```html\n<button class=\"rab-btn\" onclick=\"promise()\">Promise 接口</button>\n<script>\n    promise = () => {\n      Rabbit.Message.loading('正在加载中...').then(() => {\n          Rabbit.Message.success('加载成功!').then(() => {\n              Rabbit.Message.info('加载成功后的提示');\n          });\n      });\n    };\n</script>\n```\n\n自定义时长 \n\n- 自定义时长，也可以在`Rabbit.Message.config()`中全局配置，详见API。\n\n```html\n<button class=\"rab-btn\" onclick=\"time()\">显示10秒的提示</button>\n<script>\n    time = () => {\n      Rabbit.Message.success({\n          content: '这是成功的提示信息，我将在10秒内消失',\n          duration: 10\n      });\n    };\n</script>\n```\n\n可关闭\n\n- 设置 `closable` 为 true 后可以手动关闭提示。\n\n```html\n<button class=\"rab-btn\" onclick=\"closable()\">显示可关闭的提示</button>\n<script>\n    closable = () => {\n      Rabbit.Message.info({\n          content: '可手动关闭的提示',\n          duration: 8,\n          closable: true\n      });\n    };\n</script>\n```\n\n使用 HTML 片段\n\n- 传入 HTML 片段\n\n```html\n<button class=\"rab-btn\" onclick=\"useHTML()\">使用 HTML 片段</button>\n<script>\n    useHTML = () => {\n      Rabbit.Message.info({\n          content: '<strong>这是 <i>HTML</i> 片段</strong>',\n          dangerouslyUseHTMLString: true\n      });\n    };\n</script>\n```\n\n> `content` 属性虽然支持传入 HTML 片段，但是在网站上动态渲染任意 HTML 是非常危险的，因为容易导致 [XSS 攻击](https://en.wikipedia.org/wiki/Cross-site_scripting)。因此在 `dangerouslyUseHTMLString` 打开的情况下，请确保`content`的内容是可信的，**永远不要**将用户提交的内容赋值给 `content`  属性。\n\n<p style=\"font-size: 32px\">API</p>\n\n#### Message 实例\n\n通过直接调用以下方法来使用组件：\n\n- `Rabbit.Message.info(config)`\n- `Rabbit.Message.success(config)`\n- `Rabbit.Message.warning(config)`\n- `Rabbit.Message.error(config)`\n- `Rabbit.Message.loading(config)`\n\n组件同时提供 promise 接口。\n\n- `Rabbit.Message[level](config).then(afterClose)`\n\n其中 `Rabbit.Message[level]` 是组件已经提供的静态方法。`then` 接口返回值是 Promise。\n\n参数 config 可以是字符串或对象，当为字符串时，直接显示内容，当为对象时，具体说明如下：\n\n| 属性       | 说明                                   | 类型            | 默认值 |\n| ---------- | -------------------------------------- | --------------- | ------ |\n| content    | 提示内容                               | String          | -      |\n| duration   | 自动关闭的延时，单位秒，不关闭可以写 0 | Number          | 3      |\n| onClose    | 点击消息关闭按钮时的回调                 | Function        | -      |\n| closable   | 是否显示关闭按钮                       | Boolean         | false  |\n| background | 是否显示背景色                         | Boolean         | false  |\n| key        | 当前提示的唯一标志                     | String \\| Number | -      |\n| dangerouslyUseHTMLString | 是否将 content 属性作为 HTML 片段处理 | Boolean | false |\n\n#### 全局方法\n\n还提供了全局配置和全局销毁方法：\n\n- `Rabbit.Message.config(options)`\n- `Rabbit.Message.destroy()`\n\n也可通过 `Rabbit.Message.destroy(key)` 来关闭一条消息。\n\n```js\nRabbit.Message.loading({\n  key: 'msgKey',\n  content: '正在加载中...',\n  duration: 0,\n});\nsetTimeout(() => Rabbit.Message.destroy('msgKey'), 5000);\n```\n\n```js\nRabbit.Message.config({\n  top: 100,\n  duration: 2\n});\n```\n\n| 属性     | 说明                             | 类型   | 默认值 |\n| -------- | -------------------------------- | ------ | ------ |\n| top      | 提示组件距离顶端的距离，单位像素 | Number | 24     |\n| duration | 默认自动关闭的延时，单位秒       | Number | 3      |\n\n## FAQ\n\n### 通过异步或者关闭按钮关闭消息后，为什么 `then`  接口的回调事件不生效\n\n组件提供的 Promise接口是当实例自动关闭时才会触发的，并不是通过任意方式关闭组件都会调用该接口。\n\n如果您想通过手动移除消息后接着添加回调事件，请使用 `onClose` api，至于要在异步移除后添加事件，建议是在异步的那个时机里添加\n"
  },
  {
    "path": "docs/mini-modal.md",
    "content": "# MiniModal 轻量对话框\n\n创建一次性的轻量级对话框。\n\n## 何时使用\n\n- 当需要一个简洁的确认框询问用户时，可以调用 `Rabbit.MiniModal.confirm()` 实例方法创建。\n\n## 代码示例\n\n基本用法\n\n- 四种基本的对话框，只提供一个确定按钮。\n\n```html\n<button class=\"rab-btn\" onclick=\"instance('info')\">消息</button>\n<button class=\"rab-btn\" onclick=\"instance('success')\">成功</button>\n<button class=\"rab-btn\" onclick=\"instance('warning')\">警告</button>\n<button class=\"rab-btn\" onclick=\"instance('error')\">错误</button>\n\n<script>\n\tconst title = '对话框标题';\n    const content = '这是一段对话框的内容';\n\n    instance = (type) => {\n      switch (type) {\n          case 'info':\n              Rabbit.MiniModal.info({\n                  title,\n                  content\n              });\n              break;\n          case 'success':\n              Rabbit.MiniModal.success({\n                  title,\n                  content\n              });\n              break;\n          case 'warning':\n              Rabbit.MiniModal.warning({\n                  title,\n                  content\n              });\n              break;\n          case 'error':\n              Rabbit.MiniModal.error({\n                  title,\n                  content\n              });\n              break;\n      }\n    };\n</script>\n```\n\n确认对话框\n\n- 快速弹出确认对话框，并且可以自定义按钮文字及异步关闭。\n- 将`dangerouslyUseHTMLString`属性设置为 true，`content` 就会被当作 HTML 片段处理。\n\n```html\n-\n```\n\n> `title` 和 `content` 属性虽然支持传入 HTML 片段，但是在网站上动态渲染任意 HTML 是非常危险的，因为容易导致 [XSS 攻击](https://en.wikipedia.org/wiki/Cross-site_scripting)。因此在 `dangerouslyUseHTMLString` 打开的情况下，请确保 `content` 的内容是可信的，**永远不要**将用户提交的内容赋值给 `content` 属性。\n\n#### Modal instance\n\n通过直接调用以下方法来使用：\n\n- `Rabbit.MiniModal.info(config)`\n- `Rabbit.MiniModal.success(config)`\n- `Rabbit.MiniModal.warning(config)`\n- `Rabbit.MiniModal.error(config)`\n- `Rabbit.MiniModal.confirm(config)`\n\n以上方法隐式地创建及维护。参数 config 为对象，具体说明如下：\n\n## API\n\n| 属性       | 说明                                                         | 类型             | 默认值 |\n| ---------- | ------------------------------------------------------------ | ---------------- | ------ |\n| title      | 标题                                                         | String           | -      |\n| content    | 内容                                                         | String           | -      |\n| width      | 宽度，单位 px                                                | Number \\| String | 416    |\n| okText     | 确定按钮的文字                                               | String           | 确定   |\n| cancelText | 取消按钮的文字，只在`Modal.confirm()`下有效                  | String           | 取消   |\n| loading    | 点击确定按钮时是否显示 loading 状态，开启则需手动调用`Modal.remove()`来关闭对话框 | Boolean          | false  |\n| scrollable | 页面是否可以滚动                                             | Boolean          | false  |\n| keyboard   | 是否可以按 Esc 键关闭                                        | Boolean          | false  |\n| onOk       | 点击确定的回调                                               | Function         | -      |\n| onCancel   | 点击取消的回调，只在`Modal.confirm()`下有效                  | Function         | -      |\n| lockScroll | 是否禁止对页面滚动条的修改                                   | Boolean          | true   |\n\n另外提供了全局关闭对话框的方法：\n\n- `Rabbit.MiniModal.remove()`"
  },
  {
    "path": "docs/modal.md",
    "content": "# Modal 对话框\n\n模态对话框。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Modal()`\n\n## 何时使用\n\n- 需要用户处理事务，又不希望跳转页面以致打断工作流程时，可以使用 `Modal` 在当前页面正中打开一个浮层，承载相应的操作。\n\n- 另外当需要一个简洁的确认框询问用户时，可以使用 `MiniModal.confirm()` 。\n\n## 代码示例\n\n基础用法\n\n- 最简单的使用方法，设置属性`visable` 为 true / false 来显示 / 隐藏对话框。\n\n- 可以使用 `config` 方法提供的 API `visible` 动态控制显示隐藏。\n\n- 默认按键盘`ESC`键也可以关闭。\n- 注意！容器内的节点必须具有一个父元素。\n\n```html\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleModal1()\">显示对话框</button>\n\n<r-modal title=\"普通的Modal对话框标题\" id=\"m1\">\n  <div>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n  </div>\n</r-modal>\n\n<script>\n\tconst modal = new Rabbit.Modal();\n    handleModal1 = () => {\n       modal.config('#m1').visible = true;\n       modal.config('#m1').events({\n           onOk: () => {\n                Rabbit.Message.info('点击了确定');\n            },\n           onCancel: () => {\n                Rabbit.Message.info('点击了取消');\n           }\n        });\n   \t  };\n</script>\n```\n\n自定义外观\n\n- 控制是否显示标题栏、自定义按钮文字、自定义宽度。\n\n```html\n<button class=\"rab-btn\" onclick=\"handleModal2()\">不带标题栏</button>\n<button class=\"rab-btn\" onclick=\"handleModal3()\">国际化</button>\n<button class=\"rab-btn\" onclick=\"handleModal4()\">设置宽度</button>\n\n<r-modal id=\"m2\">\n  <div>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n  </div>\n</r-modal>\n<r-modal title=\"Modal Title\" ok-text=\"ok\" cancel-text=\"cancel\" id=\"m3\">\n  <div>\n      <p>Some Content...</p>\n      <p>Some Content...</p>\n      <p>Some Content...</p>\n  </div>\n</r-modal>\n<r-modal title=\"自定义宽度\" width=\"360px\" id=\"m4\">\n  <div>\n      <p>自定义宽度，单位 px，默认 520px。</p>\n      <p>\n          对话框的宽度是响应式的，当屏幕尺寸小于 768px 时，宽度会变为自动\n          <code>auto</code>。\n      </p>\n  </div>\n</r-modal>\n\n<script>\n    const modal = new Rabbit.Modal();\n    handleModal2 = () => {\n        modal.config('#m2').visible = true;\n    };\n    handleModal3 = () => {\n        modal.config('#m3').visible = true;\n    };\n    handleModal4 = () => {\n        modal.config('#m4').visible = true;\n    };\n</script>\n```\n\n异步关闭\n\n- 设置属性`loading=“true”`后，点击确定按钮对话框不会自动消失，并显示 loading 状态，需要手动关闭对话框，常用于表单提交。\n\n```html\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleModal5()\">异步关闭</button>\n\n<r-modal title=\"对话框标题\" loading=\"true\" id=\"m5\">\n  <p>点击确定后，对话框将在 2秒 后关闭。</p>\n</r-modal>\n\n<script>\n    const modal = new Rabbit.Modal();\n    let timer = null;\n    \n\thandleModal5 = () => {\n        modal.config('#m5').visible = true;\n    };\n    \n    modal.config('#m5').events({\n      onOk: () => {\n          timer = setTimeout(() => {\n              modal.config('#m5').visible = false;\n          }, 2000);\n      },\n      onCancel: () => {\n          clearTimeout(timer);\n      }\n    });\n</script>\n```\n\n禁用关闭\n\n- 可以禁用关闭和遮罩层关闭。\n\n```html\n<button class=\"rab-btn\" onclick=\"handleModal6()\">禁用右上角关闭(含Esc键)</button>\n<button class=\"rab-btn\" onclick=\"handleModal7()\">禁用遮罩层关闭</button>\n\n<r-modal title=\"对话框标题\" closable=\"false\" id=\"m6\">\n  <div>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n  </div>\n</r-modal>\n\n<r-modal title=\"对话框标题\" mask-closable=\"false\" id=\"m7\">\n  <div>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n  </div>\n</r-modal>\n\n<script>\n\tconst modal = new Rabbit.Modal();\n    handleModal6 = () => {\n      modal.config('#m6').visible = true;\n    };\n    handleModal7 = () => {\n      modal.config('#m7').visible = true;\n    };\n</script>\n```\n\n自定义位置\n\n- 可以自定义 Modal 的对话框样式 以及 对话框 Wrap 的 class 名称，从而实现更多自定义的样式，比如垂直居中。\n\n```html\n<style>\n    .vertical-center-modal {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .vertical-center-modal .rab-modal {\n        top: 0;\n    }\n\n    .demo-custom-modal .rab-modal {\n        top: 20px;\n    }\n</style>\n\n<button class=\"rab-btn\" onclick=\"handleModal8()\">垂直居中</button>\n<button class=\"rab-btn\" onclick=\"handleModal9()\">距离顶部20px</button>\n\n<r-modal title=\"对话框标题\" class-name=\"vertical-center-modal\" id=\"m8\">\n  <div>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n  </div>\n</r-modal>\n\n<r-modal title=\"对话框标题\" class-name=\"demo-custom-modal\" id=\"m9\">\n  <div>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n      <p>对话框内容</p>\n  </div>\n</r-modal>\n\n<script>\n\tconst modal = new Rabbit.Modal();\n    handleModal8 = () => {\n      modal.config('#m8').visible = true;\n    };\n    handleModal9 = () => {\n      modal.config('#m9').visible = true;\n    };\n</script>\n```\n\n全屏\n\n- 设置属性 `fullscreen` 可以全屏显示。\n\n- 设置属性 `footer-hide` 可以隐藏底部内容。\n\n```html\n<button class=\"rab-btn\" onclick=\"handleModal10()\">显示全屏对话框</button>\n\n<r-modal title=\"全屏对话框\" fullscreen=\"true\" id=\"m10\">\n  <p>这是一个全屏的对话框</p>\n</r-modal>\n\n<script>\n\tconst modal = new Rabbit.Modal();\n    handleModal10 = () => {\n      modal.config('#m10').visible = true;\n    };\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Modal\n\n| 属性          | 说明                                                         | 默认值 |\n| ------------- | ------------------------------------------------------------ | ------ |\n| visible       | 对话框默认是否显示                                           | false  |\n| title         | 对话框标题                                                   | -      |\n| closable      | 是否显示右上角的关闭按钮，关闭后 Esc 按键也将关闭            | true   |\n| mask-closable | 是否允许点击遮罩层关闭                                       | true   |\n| loading       | 点击确定按钮时，确定按钮是否显示 loading 状态，开启则需手动关闭对话框 | false  |\n| scrollable    | 页面是否可以滚动                                             | false  |\n| fullscreen    | 是否全屏显示                                                 | false  |\n| mask          | 是否显示遮罩层                                               | true   |\n| ok-text       | 确定按钮文字                                                 | 确定   |\n| cancel-text   | 取消按钮文字                                                 | 取消   |\n| width         | 对话框宽度，对话框的宽度是响应式的，当屏幕尺寸小于 768px 时，宽度会变为自动`auto`。 | 520px  |\n| footer-hide   | 不显示底部                                                   | false  |\n| class-name    | 设置对话框容器`.rab-modal-wrap`的类名，可辅助实现垂直居中等自定义效果 | -      |\n| z-index       | 层级                                                         | 1000   |\n| lock-scroll   | 是否禁止对页面滚动条的修改                                   | false  |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 modal，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `visible`\n- `title`\n- `events(options)`\n\n| 返回值  | 说明                         | 类型     | 默认值 |\n| ------- | ---------------------------- | -------- | ------ |\n| visible | 响应式设置或更新对话框的显示 | Boolean  | false  |\n| title   | 响应式设置或更新对话框标题   | String   | -      |\n| events  | 非响应式API，添加对话框事件  | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明           | 回调参数 |\n| :------- | :------------- | :------- |\n| onOk     | 点击确定的回调 | 无       |\n| onCancel | 点击取消的回调 | 无       |"
  },
  {
    "path": "docs/notice.md",
    "content": "# Notice 通知提醒框\n\n全局展示通知提醒信息。\n\n## 何时使用\n\n在系统四个角显示通知提醒信息。经常用于以下情况：\n\n- 较为复杂的通知内容。\n- 带有交互的通知，给出用户下一步的行动点。\n- 系统主动推送。\n\n## 代码示例\n\n 基础用法\n\n- 基本用法，默认在 4.5秒后关闭。如果 `desc` 参数为空或不填，则自动应用仅标题模式下的样式。\n- 建议标题言简意赅，例如\"删除成功\"，更详细的内容可以放在描述信息里。\n\n```html\n<button type=\"button\" class=\"rab-btn rab-btn-primary\" onclick=\"open()\">打开提醒</button>\n<script>\n\topen = () => {\n        Rabbit.Notice.open({\n          title: '这是通知标题',\n          desc: '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述',\n          onClick: () => {\n            console.log('Notification Clicked!');\n          },\n          onClose: () => {\n            console.log('Notification Close!');\n          },\n        });\n    }\n</script>\n```\n\n提醒类型\n\n- 带有状态图标的提醒。\n\n- 带描述信息和仅标题\n\n```html\n<p>带描述信息</p>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('info')\">消息</button>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('success')\">成功</button>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('warning')\">警告</button>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('error')\">错误</button>\n<p>仅标题</p>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('info',true)\">消息</button>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('success',true)\">成功</button>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('warning',true)\">警告</button>\n<button type=\"button\" class=\"rab-btn\" onclick=\"notice('error',true)\">错误</button>\n<script>\n\tnotice = (type, nodesc = false) => {\n        Rabbit.Notice[type]({\n            title: '这是通知标题',\n            desc: nodesc\n            ? ''\n            : '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述'\n        })\n    }\n</script>\n\n```\n\n- 自定义时长\n\n自定义时长，为 0 则不自动关闭。\n\n```html\n<button type=\"button\" class=\"rab-btn rab-btn-primary\" onclick=\"time()\">打开提醒</button>\n<script>\n\ttime = () => {\n\t\tNotice.open({\n          title: '这是通知标题',\n          desc: '这条通知不会自动关闭，需要点击关闭按钮才可以关闭。',\n          duration: 0,\n        });\n    }\n</script>\n```\n\nPromise 接口\n\n- 可以通过 then 接口在关闭后运行 callback 。以上用例将在每个 Rabbit.Notice 将要结束时通过 then 显示新的 Rabbit.Notice 。\n- 如果手动通过关闭按钮结束则无效\n\n```html\n<button type=\"button\" class=\"rab-btn\" onclick=\"promise()\">打开提醒</button>\n<script>\n\tpromise = () => {\n\t\tRabbti.Notice.open({\n            title: '行程已发布',\n            desc: '您的行程订单已发布，正在等待待车主接单...',\n        })\n        .then(() => {\n            Rabbti.Notice.info({\n                title: '已有车主接单啦！',\n                desc: '你发布的行程订单已有车主接单了，请提前付款以免被取消订单！',\n            })\n            .then(() => {\n                Rabbti.Notice.success({\n                  title: '费用支付成功',\n                  desc: '您的行程将在2021.9.9 12:30 开始',\n                });\n              });\n          });\n    }\n</script>\n```\n\n使用 HTML 片段\n\n- `title` 和 `desc` 属性支持传入 HTML 片段\n\n- 将`dangerouslyUseHTMLString`属性设置为 true， 就会被当作 HTML 片段处理。\n\n```html\n<button type=\"button\" class=\"rab-btn rab-btn-primary\" onclick=\"html()\">打开提醒</button>\n<script>\n\thtml = () => {\n        Rabbit.Notice.open({\n          title: 'HTML片段',\n          desc: `<strong>这是 <i>HTML</i> 片段</strong>`,\n          dangerouslyUseHTMLString: true,\n        });\n    }\n</script>\n```\n\n> `title` 和  `desc`  属性虽然支持传入 HTML 片段，但是在网站上动态渲染任意 HTML 是非常危险的，因为容易导致 [XSS 攻击](https://en.wikipedia.org/wiki/Cross-site_scripting)。因此在 `dangerouslyUseHTMLString` 打开的情况下，请确保  `desc` 的内容是可信的，**永远不要**将用户提交的内容赋值给  `desc` 属性。\n\n隐藏关闭按钮\n\n- 设置属性 `closable` 为 `false` 可以不显示关闭按钮\n\n```html\n<button type=\"button\" class=\"rab-btn\" onclick=\"open()\">打开提醒</button>\n<script>\n\topen = () => {\n        Notice.open({\n          title: '这是通知标题',\n          closable: false\n        });\n    }\n</script>\n```\n\n<p style=\"font-size: 32px\">API</p>\n\n### Notice 实例\n\n通过直接调用以下方法来使用组件：\n\n- `Rabbit.Notice.open(config)`\n- `Rabbit.Notice.info(config)`\n- `Rabbit.Notice.success(config)`\n- `Rabbit.Notice.warning(config)`\n- `Rabbit.Notice.error(config)`\n\n组件同时提供 promise 接口。\n\n- `Rabbit.Notice[level](config).then(afterClose)`\n\n其中 `Rabbit.Notice[level]` 是组件已经提供的静态方法。`then` 接口返回值是 Promise。\n\n参数 config 为对象，具体说明如下：\n\n| 属性                     | 说明                                                     | 类型             | 默认值 |\n| ------------------------ | -------------------------------------------------------- | ---------------- | ------ |\n| title                    | 通知提醒的标题                                           | String           | -      |\n| desc                     | 通知提醒的内容，为空或不填时，自动应用仅标题模式下的样式 | String           | -      |\n| duration                 | 自动关闭的延时，单位秒，不关闭可以写 0                   | Number           | 4.5    |\n| key                      | 当前通知的唯一标识                                       | String \\| Number | -      |\n| closable                 | 是否显示关闭按钮                                         | Boolean          | true   |\n| style                    | 自定义内联样式                                           | String           | -      |\n| className                | 自定义 CSS class                                         | String           | -      |\n| dangerouslyUseHTMLString | 是否将 title 或 desc 属性作为 HTML 片段处理              | Boolean          | false  |\n| icon                     | 自定义图标                                               | String           | -      |\n| onClose                  | 点击默认关闭按钮时触发的回调函数                         | Function         | -      |\n| onClick                  | 点击通知时触发的回调函数                                 | Function         | -      |\n\n#### 全局方法\n\n还提供了全局配置、全局关闭某个通知和全局销毁的方法：\n\n- `Rabbit.Notice.config(options)`\n- `Rabbit.Notice.close(key)`\n- `Rabbit.Notice.destroy()`\n\n```js\nRabbit.Notice.config({\n  top: 50,\n  duration: 3\n});\n```\n\n| 属性     | 说明                             | 类型   | 默认值 |\n| -------- | -------------------------------- | ------ | ------ |\n| top      | 通知组件距离顶端的距离，单位像素 | Number | 24     |\n| duration | 默认自动关闭的延时，单位秒       | Number | 4.5    |\n\n## FAQ\n\n### 通过异步或者关闭按钮关闭通知后，为什么 `then`  接口的回调事件不生效\n\n组件提供的 Promise接口是当实例自动关闭时才会触发的，并不是通过任意方式关闭组件都会调用该接口。\n\n如果您想通过手动移除通知后接着添加回调事件，请使用 `onClose` api，至于要在异步移除后添加事件，建议是在异步的那个时机里添加"
  },
  {
    "path": "docs/page-header.md",
    "content": "# PageHeader 页头\n\n页头位于页容器中，页容器顶部，起到了内容概览和引导页级操作的作用。包括由面包屑、标题、页面内容简介、页面级操作等、页面级导航组成。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.PageHeader()`\n\n## 何时使用\n\n- 当需要使用户快速理解当前页是什么以及方便用户使用页面功能时使用，通常也可被用作页面间导航。\n\n## 代码示例\n\n标准样式\n\n- 标准页头，适合使用在需要简单描述的场景。\n\n```html\n<r-page-header\n   title=\"首页\"\n   sub-title=\"这是副标题描述\" \n   style=\"border: 1px solid #f0f0f0\">\n</r-page-header>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### PageHeader\n\n| 属性      | 说明                 | 默认值 |\n| --------- | -------------------- | ------ |\n| title     | 自定义标题文字       | -      |\n| sub-title | 自定义的二级标题文字 | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                   | 类型   |\n| ---- | ------------------------------------------------------ | ------ |\n| el   | 配置当前选定的 page-header，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `events(options)`\n\n| 返回值  | 说明                            | 类型             | 默认值 |\n| ------- | ------------------------------- | ---------------- | ------ |\n| events  | 非响应式API，添加提示框的事件， | Function         | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性   | 说明               | 回调参数 |\n| :----- | :----------------- | :------- |\n| onBack | 返回按钮的点击事件 | 无       |"
  },
  {
    "path": "docs/poptip.md",
    "content": "# Poptip 气泡提示\n\n点击/鼠标移入元素，弹出气泡式的卡片浮层。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Poptip()`\n\n## 何时使用\n\n- 当目标元素有进一步的描述和相关操作时，可以收纳到卡片中，根据用户的操作行为进行展现。\n\n- 和`Tooltip` 类似，具有很多相同配置，不同点是 `Poptip` 以卡片的形式承载了更多的内容，比如链接、表格、按钮等。\n\n- `Poptip `还 `confirm` 确认框，与 `Modal`不同的是，它会出现在就近元素，相对轻量。\n\n## 代码示例\n\n 基础用法\n\n- 支持三种触发方式：鼠标悬停、点击、聚焦。默认是点击。\n\n```html\n<r-poptip trigger=\"hover\" title=\"标题\" content=\"提示内容\">\n  <button type=\"button\" class=\"rab-btn\">hover 激活</button>\n</r-poptip>\n<r-poptip title=\"标题\" content=\"提示内容\" id=\"test1\">\n  <button type=\"button\" class=\"rab-btn\">click 激活</button>\n</r-poptip>\n<r-poptip trigger=\"focus\" title=\"标题\" content=\"提示内容\">\n  <button type=\"button\" class=\"rab-btn\">focus 激活</button>\n</r-poptip>\n<r-poptip title=\"标题\" content=\"<span style='color:#ccc'>请输入内容...</span>\" id=\"testInput\">\n  <input type=\"text\" placeholder=\"配合输入框\" oninput=\"handleChange(this.value)\" />\n</r-poptip>\n\n<script>\n\tconst poptip = new Rabbit.Poptip();\n\n    poptip.config('#test1').events({\n        onPopperShow: () => {\n            console.log('poptip show');\n        },\n        onPopperHide: () => {\n            console.log('poptip hide');\n        }\n    });\n\n    handleChange = (value) => {\n        poptip.config('#testInput').content = value;\n    };\n</script>\n```\n\n位置\n\n- 组件提供了12个不同的方向显示`Poptip`，具体配置可查看`API`。\n\n```html\n<style>\n    .top,\n    .bottom {\n      text-align: center;\n    }\n\n    .center {\n      width: 300px;\n      margin: 10px auto;\n      overflow: hidden;\n    }\n\n    .center-left {\n      float: left;\n    }\n\n    .center-right {\n      float: right;\n    }\n</style>\n\n<div class=\"top\">\n  <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"top-start\">\n      <button class=\"rab-btn\">上左</button>\n  </r-poptip>\n  <r-poptip title=\"提示标题\" content=\"提示内容\">\n      <button class=\"rab-btn\">上边</button>\n  </r-poptip>\n  <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"top-end\">\n      <button class=\"rab-btn\">上右</button>\n  </r-poptip>\n</div>\n<div class=\"center\">\n  <div class=\"center-left\">\n      <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"left-start\">\n          <button class=\"rab-btn\">左上</button> </r-poptip><br /><br />\n      <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"left\">\n          <button class=\"rab-btn\">左边</button> </r-poptip><br /><br />\n      <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"left-end\">\n          <button class=\"rab-btn\">左下</button>\n      </r-poptip>\n  </div>\n  <div class=\"center-right\">\n      <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"right-start\">\n          <button class=\"rab-btn\">右上</button> </r-poptip><br /><br />\n      <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"right\">\n          <button class=\"rab-btn\">右边</button> </r-poptip><br /><br />\n      <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"right-end\">\n          <button class=\"rab-btn\">右下</button>\n      </r-poptip>\n  </div>\n</div>\n<div class=\"bottom\">\n  <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"bottom-start\">\n      <button class=\"rab-btn\">下左</button>\n  </r-poptip>\n  <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"bottom\">\n      <button class=\"rab-btn\">下边</button>\n  </r-poptip>\n  <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"bottom-end\">\n      <button class=\"rab-btn\">下右</button>\n  </r-poptip>\n</div>\n```\n\n从浮层内关闭\n\n- 通过 config 方法提供的`visible` api 来控制提示框的显示和隐藏。\n\n```html\n<r-poptip id=\"test2\" title=\"标题\" content=\"<a onclick='handleClose()'>关闭提示框</a>\">\n  <a>Click 激活</a>\n</r-poptip>\n\n<script>\n\thandleClose = () => {\n       poptip.config('#test2').visible = false;\n    };\n</script>\n```\n\n禁用提示\n\n- 通过设置属性 `disabled=\"true\"` 禁止显示提示框\n\n```html\n<r-poptip disabled=\"true\">\n  <button class=\"rab-btn\">禁用提示</button>\n</r-poptip>\n```\n\n嵌套复杂内容\n\n- 实现复杂的内容。\n\n```html\n<r-poptip width=\"400\" placement=\"right\" id=\"test3\">\n  <button class=\"rab-btn\">复杂内容</button>\n</r-poptip>\n\n<script>\n\tconst poptip = new Rabbit.Poptip();\n    const table = `\n      <div class=\"api\">\n          <table>\n              <thead>\n                  <tr>\n                      <th>日期</th>\n                      <th>姓名</th>\n                      <th>地址</th>\n                  </tr>\n              </thead>\n              <tbody>\n                  <tr>\n                      <td>2021-01-17</td>\n                      <td>山本先生</td>\n                      <td>日本福冈县福冈市中央区樱坂</td>\n                  </tr>\n                  <tr>\n                      <td>2021-01-17</td>\n                      <td>山本先生</td>\n                      <td>日本福冈县福冈市中央区樱坂</td>\n                  </tr>\n                  <tr>\n                      <td>2021-01-17</td>\n                      <td>山本先生</td>\n                      <td>日本福冈县福冈市中央区樱坂</td>\n                  </tr>\n              </tbody>\n          </table>\n      </div>`;\n\tpoptip.config('#test3').content = table;\n</script>\n```\n\n自动换行\n\n- 设置属性 `word-wrap`，当超出宽度后，文本将自动换行，并两端对齐。\n\n```html\n<r-poptip\n  word-wrap=\"true\"\n  width=\"200\"\n  content=\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\"\n>\n  <button class=\"rab-btn\">长文本</button>\n</r-poptip>\n```\n\n确认框\n\n- 通过设置属性`confirm`开启确认框模式。确认框只会以 click 的形式激活，并且只会显示 title 的内容，忽略 content。\n\n```html\n<r-poptip confirm=\"true\" title=\"您确认删除这条内容吗？\" id=\"test4\">\n  <button class=\"rab-btn\">删除</button>\n</r-poptip>\n<r-poptip confirm=\"true\" title=\"Are you sure delete this task?\" ok-text=\"yes\" cancel-text=\"no\">\n  <button class=\"rab-btn\">国际化</button>\n</r-poptip>\n\n<script>\n    const poptip = new Rabbit.Poptip();\n    poptip.config('#test4').events({\n        onOk: () => {\n            Rabbit.Message.info('点击了确定');\n        },\n        onCancel: () => {\n            Rabbit.Message.info('点击了取消');\n        }\n    });\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Poptip\n\n| 属性            | 说明                                                         | 默认值   |\n| :-------------- | :----------------------------------------------------------- | :------- |\n| trigger         | 触发方式，可选值为`hover`（悬停）`click`（点击）`focus`（聚焦）,在 confirm 模式下，只有 click 有效 | click    |\n| title           | 显示的标题                                                   | -        |\n| content         | 显示的正文内容，只在非 confirm 模式下有效-                   | -        |\n| placement       | 提示框出现的位置，可选值为`top``top-start``top-end``bottom``bottom-start``bottom-end``left``left-start``left-end``right``right-start``right-end`，支持自动识别top | top      |\n| width           | 宽度，最小宽度为 150px，在 confirm 模式下，默认最大宽度为 300px | -        |\n| confirm         | 是否开启对话框模式                                           | false    |\n| disabled        | 是否禁用                                                     | false    |\n| ok-text         | 确定按钮的文字，只在 confirm 模式下有效                      | 确定     |\n| cancel-text     | 取消按钮的文字，只在 confirm 模式下有效                      | 取消     |\n| padding         | 自定义间距值                                                 | 8px 16px |\n| offset          | 出现位置的偏移量                                             | 0        |\n| visible `1.4.0` | 提示框是否显示或隐藏                                         | false    |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                              | 类型   |\n| ---- | ------------------------------------------------- | ------ |\n| el   | 配置当前选定的 poptip，必须是选择器名称或者元素名 | String |\n\n该方法返回以下三个值：\n\n- `title`\n- `content`\n- `disabled`\n- `visible`\n- `events(options)`\n\n| 返回值           | 说明                           | 类型              | 默认值 |\n| ---------------- | ------------------------------ | ----------------- | ------ |\n| title            | 响应式设置提示框标题           | String \\| Number  | -      |\n| content          | 响应式设置提示框的内容         | String  \\| Number | -      |\n| disabled `1.4.0` | 响应式设置提示框是否禁用       | Boolean           | false  |\n| visible `1.4.0`  | 响应式设置提示框是否显示和隐藏 | Boolean           | false  |\n| events           | 非响应式API，添加提示框的事件  | Function          | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性                 | 说明                                    | 回调参数 |\n| :------------------- | :-------------------------------------- | :------- |\n| onPopperShow `1.4.0` | 在提示框显示时触发                      | 无       |\n| onPopperHide `1.4.0` | 在提示框消失时触发                      | 无       |\n| onOK                 | 点击确定的回调，只在 confirm 模式下有效 | 无       |\n| onCancel             | 点击取消的回调，只在 confirm 模式下有效 | 无       |"
  },
  {
    "path": "docs/progress.md",
    "content": "# Progress 进度条\n\n用于展示操作进度，告知用户当前状态和预期。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Progress()`\n\n## 何时使用\n\n- 在操作需要较长时间才能完成时，为用户显示该操作的当前进度和状态。\n\n- 当一个操作会打断当前界面，或者需要在后台运行，且耗时可能超过2秒时；\n- 当需要显示一个操作完成的百分比时。\n\n## 代码示例\n\n- 基本用法\n\n标准的进度条。\n\n```html\n<r-progress percent=\"30\"></r-progress>\n<r-progress percent=\"50\" status=\"active\"></r-progress>\n<r-progress percent=\"70\" status=\"wrong\"></r-progress>\n<r-progress percent=\"100\" status=\"success\"></r-progress>\n<r-progress percent=\"50\" status=\"warning\"></r-progress>\n<r-progress percent=\"50\" show-text=\"false\"></r-progress>\n```\n\n- 百分比内显\n\n设置属性 `text-inside=\"true\"` 可以将百分比显示在进度条内部。\n\n需要通过属性 `stroke-width` 设置一个足够的高度。\n\n```html\n<r-progress\n  text-inside=\"true\" \n  stroke-width=\"20\" \n  percent=\"30\">\n</r-progress>\n\n<r-progress\n  text-inside=\"true\" \n  stroke-width=\"20\" \n  percent=\"70\" \n  status=\"active\">\n</r-progress>\n\n<r-progress\n  text-inside=\"true\" \n  stroke-width=\"20\" \n  percent=\"100\" \n  status=\"success\">\n</r-progress>\n\n<r-progress\n  text-inside=\"true\" \n  stroke-width=\"20\" \n  percent=\"80\" \n  status=\"warning\">\n</r-progress>\n\n<r-progress\n  text-inside=\"true\" \n  stroke-width=\"20\" \n  percent=\"50\" \n  status=\"wrong\">\n</r-progress>\n```\n\n- 渐变色\n\n设置属性 `stroke-color` 为数组时，可以显示为渐变色。\n\n数组只能设置为两项。\n\n```html\n<r-progress percent=\"99\" stroke-color=\"['#108ee9', '#87d068']\"></r-progress>\n<r-progress\n percent=\"99\" \n stroke-color=\"['#108ee9', '#87d068']\" \n status=\"active\">\n</r-progress>\n```\n\n- 分段进度条\n\n标准的分段进度条。\n\n```html\n<r-progress percent=\"60\" success-percent=\"30\"></r-progress>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Progress\n\n| 属性               | 说明                                                         | 默认值 |\n| ------------------ | ------------------------------------------------------------ | ------ |\n| percent         | 百分比                                                       | 0      |\n| status          | 状态，可选值为`normal`、`active`、`wrong`、`success`、`warning` | normal |\n| stroke-width    | 进度条的线宽，单位 px                                        | 10     |\n| stroke-color    | 进度条的颜色，传入格式为数组，显示为渐变色                   | -      |\n| show-text       | 隐藏数值或状态图标                                           | false  |\n| success-percent | 已完成的分段百分比                                           | 0      |\n| text-inside     | 百分比是否置于进度条内                                       | false  |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                | 类型   |\n| ---- | --------------------------------------------------- | ------ |\n| el   | 配置当前选定的 progress，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `percent`\n- `successPercent`\n\n\n| 返回值         | 说明                               | 类型   | 默认值 |\n| -------------- | ---------------------------------- | ------ | ------ |\n| percent        | 响应式设置或更新进度条百分比       | Number | -      |\n| successPercent | 响应式设置或更新已完成的分段百分比 | Number | -      |\n\n"
  },
  {
    "path": "docs/radio.md",
    "content": "# Radio 单选框\n\n单选框。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Radio()`\n\n## 何时使用\n\n- 用于在多个备选项中选中单个状态。\n- 和 Select 的区别是，Radio 所有选项默认可见，方便用户在比较中选择，因此选项不宜过多。\n\n## 代码示例\n\n单独使用\n\n- 最简单的用法。\n\n```html\n<r-radio checked=\"true\" id=\"demoRadio\">Radio</r-radio>\n\n<script>\n\tconst radio = new Rabbit.Radio();\n    radio.config('#demoRadio').events({\n        onChange: (state) => {\n            console.log(`当前状态：${state}`)\n        }\n    })\n</script>\n```\n\n组合使用\n\n- 使用`r-radio-group`实现一组互斥的选项组。在组合使用时，`radio` 使用 `label` 来自动判断。每个 radio 的内容可以自定义。\n- 设置属性 `icon` 可以添加前缀图标\n\n```html\n<r-radio-group value=\"apple\">\n  <r-radio label=\"apple\" icon=\"logo-apple\">Apple</r-radio>\n  <r-radio label=\"android\" icon=\"logo-android\">Android</r-radio>\n  <r-radio label=\"windows\" icon=\"logo-windows\">Windows</r-radio>\n</r-radio-group>\n\n<r-radio-group value=\"爪哇犀牛\" id=\"demoRadioGroup\">\n  <r-radio label=\"金斑蝶\">金斑蝶</r-radio>\n  <r-radio label=\"爪哇犀牛\">爪哇犀牛</r-radio>\n  <r-radio label=\"印度黑羚\">印度黑羚</r-radio>\n</r-radio-group>\n\n<script>\n\tconst radio = new Rabbit.Radio();\n    radio.config('#demoRadioGroup').events({\n        onChange: (item) => {\n            console.log(item)\n        }\n    })\n</script>\n```\n\n不可用\n\n- 通过设置`disabled`属性来禁用单选框。\n\n```html\n<r-radio checked=\"true\" disabled>Radio</r-radio>\n\n<r-radio-group value=\"爪哇犀牛\">\n  <r-radio label=\"金斑蝶\" disabled>金斑蝶</r-radio>\n  <r-radio label=\"爪哇犀牛\">爪哇犀牛</r-radio>\n  <r-radio label=\"印度黑羚\">印度黑羚</r-radio>\n</r-radio-group>\n```\n\n垂直\n\n- 设置属性 `direction=\"vertical\"` 可以垂直显示，按钮样式下无效。\n\n```html\n<r-radio-group value=\"apple\" direction=\"vertical\">\n  <r-radio label=\"apple\">Apple</r-radio>\n  <r-radio label=\"android\">Android</r-radio>\n  <r-radio label=\"windows\">Windows</r-radio>\n</r-radio-group>\n```\n\n按钮样式\n\n- 组合使用时可以设置属性`type`为 button 来应用按钮的样式。\n\n```html\n<r-radio-group value=\"北京\" type=\"button\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\">上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n\n<r-radio-group value=\"北京\" type=\"button\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\" disabled>上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n\n<r-radio-group value=\"北京\" type=\"button\">\n  <r-radio label=\"北京\" disabled>北京</r-radio>\n  <r-radio label=\"上海\" disabled>上海</r-radio>\n  <r-radio label=\"深圳\" disabled>深圳</r-radio>\n  <r-radio label=\"杭州\" disabled>杭州</r-radio>\n</r-radio-group>\n```\n\n填底的按钮样式\n\n- 设置属性 `button-style` 为 `solid` 可显示为实色填底的单选按钮样式。\n\n```html\n<r-radio-group value=\"北京\" type=\"button\" button-style=\"solid\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\">上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n\n<r-radio-group value=\"深圳\" type=\"button\" button-style=\"solid\" style=\"margin-top: 16px\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\" disabled>上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n```\n\n显示边框\n\n- radio 设置属性 `type=\"border\"` 可以显示边框。\n\n```html\n<r-radio-group value=\"金斑蝶\">\n  <r-radio label=\"金斑蝶\" type=\"border\">金斑蝶</r-radio>\n  <r-radio label=\"爪哇犀牛\" type=\"border\">爪哇犀牛</r-radio>\n  <r-radio label=\"印度黑羚\" type=\"border\">印度黑羚</r-radio>\n</r-radio-group>\n```\n\n尺寸\n\n- 通过设置属性`size`为`large`或`small`将按钮样式设置为大和小尺寸，不设置为默认(中)尺寸。\n\n```html\n<r-radio-group value=\"北京\" type=\"button\" size=\"large\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\">上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n\n<r-radio-group value=\"北京\" type=\"button\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\">上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n\n<r-radio-group value=\"北京\" type=\"button\" size=\"small\">\n  <r-radio label=\"北京\">北京</r-radio>\n  <r-radio label=\"上海\">上海</r-radio>\n  <r-radio label=\"深圳\">深圳</r-radio>\n  <r-radio label=\"杭州\">杭州</r-radio>\n</r-radio-group>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n###  Radio\n\n| 属性     | 说明                                                         | 默认值 |\n| :------- | :----------------------------------------------------------- | :----- |\n| checked  | 单个是否选中                                                 | false  |\n| label    | 只在组合使用时有效。指定当前选项的 value 值，组合会自动判断当前选择的项目 | -      |\n| disabled | 是否禁用当前项                                               | false  |\n| size     | 单选框的尺寸，可选值为 `large`，`small` 或者不设置           | -      |\n| border   | 是否显示边框                                                 | false  |\n| icon     | 设置前缀图标                                                 | -      |\n\n### RadioGroup\n\n| 属性         | 说明                                               | 默认值 |\n| :----------- | :------------------------------------------------- | :----- |\n| value        | 指定当前选中的项目数据                             | -      |\n| type         | 可选值为 button 或不填，为 button 时使用按钮样式   | -      |\n| button-style | 按钮样式，可选值为 solid                           | -      |\n| size         | 单选框的尺寸，可选值为 `large`，`small` 或者不设置 | -      |\n| direction    | 是否垂直排列，按钮样式下无效，可选值为 `vertical`  | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 radio，必须是选择器名称或者元素名 | String |\n\n该方法返回以下三个值：\n\n- `checked`\n\n- `value`\n\n- `events(options)`\n\n| 返回值  | 说明                                      | 类型     | 默认值 |\n| ------- | ----------------------------------------- | -------- | ------ |\n| checked | 响应式设置单个是否选中                    | Boolean  | -      |\n| value   | 响应式设置 radio-group 当前选中的项目数据 | String   | -      |\n| events  | 非响应式API，添加 Radio 的事件，          | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                                                         | 回调参数                                |\n| :------- | :----------------------------------------------------------- | :-------------------------------------- |\n| onChange | 在选项状态发生改变时触发，当选中的配置目标是 radio-group 时，则返回一个对象，为当前选中的项，如果是单个 radio 则返回当前选中状态 | (state: boolean \\| item:object) => void |"
  },
  {
    "path": "docs/result.md",
    "content": "# Result 结果\n\n用于反馈一系列操作任务的处理结果。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Result()`。\n>\n> 该元素标签能够添加额外的子元素节点作为内容部分，并自动追加到指定的内部节点上，且额外添加的所有节点必须只能具有一个父元素包裹\n\n## 何时使用\n\n- 当有重要操作需告知用户处理结果，且反馈内容较为复杂时使用。\n\n## 代码示例\n\nSuccess\n\n- 成功的结果\n\n```html\n<r-result\n  status=\"success\"\n  title=\"提交成功\"\n  subtitle=\"已提交申请，等待部门审核。\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button> \n         <button type='button' class='rab-btn'>打印</button>\"\n>\n</r-result>\n```\n\nInfo\n\n- 展示处理结果。\n\n```html\n<r-result\n  title=\"请勿重复操作\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n>\n</r-result>\n```\n\nWarning\n\n- 警告类型的结果。\n\n```html\n<r-result\n  status=\"warning\"\n  title=\"操作发生了一些问题\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>重新提交</button>\"\n>\n</r-result>\n```\n\nError\n\n- 复杂的错误反馈。\n- 在 `r-result` 标签内部添加节点时，有且只能有一个子元素，所以需要用一个父级盒子包裹内容\n\n```html\n<style>\n  .typography {\n    overflow-wrap: break-word;\n    margin-bottom: 8px;\n  }\n\n  .typography .rab-icon {\n    color: red;\n  }\n</style>\n\n<r-result\n  status=\"error\"\n  title=\"提交失败\"\n  subtitle=\"请检查并修改以下信息后再重新提交\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回修改</button>\"\n>\n  <div>\n    <h4 class=\"typography\">您提交的内容有以下错误:</h4>\n    <div class=\"typography\">\n      <i class=\"rab-icon rab-icon-ios-close-circle-outline\"></i> 您的帐户已被冻结。\n      <a>立即解冻></a>\n    </div>\n    <div class=\"typography\">\n      <i class=\"rab-icon rab-icon-ios-close-circle-outline\"></i> 您的帐户还没有资格申请。\n      <a>申请解锁></a>\n    </div>\n  </div>\n</r-result>\n\n```\n\n403\n\n- 你没有此页面的访问权限。\n\n```html\n<r-result\n  status=\"403\"\n  title=\"403\"\n  subtitle=\"对不起，您没有权限访问此页。\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n>\n</r-result>\n```\n\n404\n\n- 此页面未找到。\n\n```html\n<r-result\n  status=\"404\"\n  title=\"404\"\n  subtitle=\"对不起，您访问的页面不存在。\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n>\n</r-result>\n```\n\n500\n\n- 服务器发生了错误。\n\n```html\n<r-result\n  status=\"500\"\n  title=\"500\"\n  subtitle=\"对不起，服务器出了点问题。\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n>\n</r-result>\n```\n\n自定义图标\n\n- 自定义 icon。\n\n```html\n<r-result\n  icon=\"ios-happy\"\n  title=\"太棒了，我们已经完成了所有的操作！\"\n  extra=\"<button type='button' class='rab-btn rab-btn-primary'>下一步</button>\"\n>\n</r-result>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Result\n\n| 属性     | 说明                                                         | 默认值 |\n| -------- | ------------------------------------------------------------ | ------ |\n| status   | 结果的状态，决定图标和颜色。可选值为 `success`、`error`、`info` 、 `warning` 、 `404`、`403`、 `500` | info   |\n| title    | 标题文字                                                     | -      |\n| subtitle | 结果描述                                                     | -      |\n| extra    | 操作区，建议放置按钮组                                       | -      |\n| icon     | 自定义图标                                                   | -      |\n"
  },
  {
    "path": "docs/skeleton.md",
    "content": "# Skeleton 骨架屏\n\n在需要等待加载内容的位置提供一个占位图形组合。\n\n>注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Skeleton()`\n\n## 何时使用\n\n- 网络较慢，需要长时间等待加载处理的情况下。\n- 图文信息内容较多的列表/卡片中。\n- 只在第一次加载数据的时候使用。\n- 可以被 Spin 完全代替，但是在可用的场景下可以比 Spin 提供更好的视觉效果和用户体验。\n\n## 代码示例\n\n基础用法\n\n- 最简单的占位效果。\n\n```html\n<r-skeleton></r-skeleton>\n```\n\n复杂组合\n\n- 带有头像占位图的组合。\n\n```html\n<r-skeleton avatar=\"true\" paragraph-rows=\"4\"></r-skeleton>\n```\n\n动画效果\n\n- 显示动画效果。\n\n```html\n<r-skeleton active=\"true\"></r-skeleton>\n<r-skeleton active=\"true\" avatar=\"true\"></r-skeleton>\n```\n\n自定义段落占位图的宽度\n\n- 设置段落占位图的宽度，若为数组时则为对应的每行宽度，反之则是最后一行的宽度\n\n```html\n<r-skeleton paragraph-width=\"[60,80,100]\"></r-skeleton>\n```\n\n加载占位图\n\n- 配合其他元素使用\n\n```html\n<style>\n  .example {\n    width: 918px;\n    padding: 42px 24px 50px;\n    margin: 50px auto;\n    border: 1px solid #f0f0f0;\n  }\n\n  .article h3 {\n    margin-bottom: 16px;\n  }\n\n  .article button {\n    margin-top: 16px;\n  }\n</style>\n\n<div class=\"example\">\n  <r-skeleton style=\"display: none\" id=\"demoSkeleton\"></r-skeleton>\n  <div class=\"article\">\n    <div class=\"content\">\n      <h3>Vue.js, the progressive javascript framework</h3>\n      <p>\n        An incrementally adoptable ecosystem that scales between a library and a full-featured\n        framework. Blazing Fast Virtual DOM Minimal Optimization Efforts\n      </p>\n    </div>\n    <button type=\"button\" class=\"rab-btn\" onclick=\"toggle(this)\">显示骨架图</button>\n  </div>\n\n  <script>\n    const skeleton = document.querySelector('#demoSkeleton');\n    const content = document.querySelector('.content');\n\n    toggle = ($this) => {\n      skeleton.style.display = '';\n      content.style.display = 'none';\n      $this.setAttribute('disabled', 'true');\n\n      setTimeout(() => {\n        skeleton.style.display = 'none';\n        content.style.display = '';\n        $this.removeAttribute('disabled');\n      }, 3000);\n    };\n  </script>\n</div>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Skeleton\n\n| 属性            | 说明                                                         | 默认值 |\n| --------------- | ------------------------------------------------------------ | ------ |\n| active          | 是否展示动画效果                                             | false  |\n| avatar          | 是否显示头像占位图                                           | false  |\n| paragraph       | 是否显示段落占位图                                           | true   |\n| title           | 是否显示标题占位图                                           | true   |\n| title-width     | 设置标题占位图的宽度                                         | -      |\n| paragraph-rows  | 设置段落占位图的行数                                         | -      |\n| paragraph-width | 设置段落占位图的宽度，若为数组时则为对应的每行宽度，反之则是首行的宽度 | -      |\n| avatar-size     | 设置头像占位图的大小，可选值为 `small`、`large`              | large  |\n| avatar-shape    | 指定头像的形状，可选值为 `circle`、`square`                  | circle |"
  },
  {
    "path": "docs/spin.md",
    "content": "# Spin 加载中\n\n用于页面和区块的加载中状态。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Spin()`\n\n## 何时使用\n\n页面局部处于等待异步数据或正在渲染过程时，合适的加载动效会有效缓解用户的焦虑。\n\n## 代码示例\n\n 基础用法\n\n- 最简单使用 Spin 的方法。\n\n```html\n<r-spin></r-spin>\n```\n\n各种尺寸\n\n- 通过设置`size`属性为`large`和`small`将 Spin 设置为大和小尺寸，不设置为默认（中）尺寸。\n\n```html\n<style>\n    .col-span-8 {\n        display: block;\n        width: 33.33333333%;\n        float: left;\n    }\n</style>\n\n<div class=\"col-span-8\">\n  <r-spin size=\"small\"></r-spin>\n</div>\n<div class=\"col-span-8\">\n  <r-spin></r-spin>\n</div>\n<div class=\"col-span-8\">\n  <r-spin size=\"large\"></r-spin>\n</div>\n```\n\n居中固定\n\n- 设置属性 `fix` 在容器内部垂直居中固定，需要父级有`relative`或`absolute`。\n\n```html\n<style>\n    .demo-spin-container{\n    \tdisplay: inline-block;\n        width: 200px;\n        height: 100px;\n        position: relative;\n        border: 1px solid #eee;\n    }\n</style>\n<div class=\"demo-spin-container\">\n    <r-spin fix></r-spin>\n</div>\n```\n\n自定义内容\n\n- 自定义 Spin 的内容，可以是简单的文字，也可以是很复杂的动画。\n\n```html\n<style>\n    .col-span-8 {\n        display: block;\n        width: 33.33333333%;\n        float: left;\n    }\n    \n    .demo-spin-col {\n        height: 100px;\n        position: relative;\n        border: 1px solid #eee;\n    }\n</style>\n\n<div class=\"demo-spin-col col-span-8\">\n  <r-spin fix>加载中...</r-spin>\n</div>\n\n<div class=\"demo-spin-col col-span-8\">\n  <r-spin fix>\n      <i class=\"rab-icon rab-icon-loading1 rab-load-loop\"></i>\n      <div>Loading...</div>\n  </r-spin>\n</div>\n```\n\n状态切换\n\n- 控制 Spin 组件的显示和消失。\n\n```html\n<style>\n    .demo-spin-article {\n        width: 400px;\n        height: 240px;\n        padding: 10px;\n        text-align: center;\n        position: relative;\n    }\n</style>\n\n<div class=\"demo-spin-article\">\n  <h3>登金陵凤凰台</h3>\n  <address>李白</address>\n  <article>\n      <p>凤凰台上凤凰游，凤去台空江自流。</p>\n      <p>吴宫花草埋幽径，晋代衣冠成古丘。</p>\n      <p>三山半落青天外，二水中分白鹭洲。</p>\n      <p>总为浮云能蔽日，长安不见使人愁。</p>\n  </article>\n  <r-spin fix size=\"large\" id=\"demo_spin\"></r-spin>\n</div>\n<br /> 切换显示状态：\n<r-switch></r-switch>\n\n<script>\n    const spin = new Rabbit.Spin();\n    const Switch = new Rabbit.Switch();\n    \n    Switch.config('r-switch').events({\n        onChange: (checked) => {\n            document.querySelector('#demo_spin').style.display = checked ? 'none' : '';\n        }\n    });\n</script>\n```\n\n整页加载 \n\n- 使用Spin提供的 `show` 和 `hide` 方法可以全局加载和隐藏。\n\n```html\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleShow()\">整页显示，3秒后关闭</button>\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handleHide()\">自定义显示内容</button>\n<script>\n    handleShow = () => {\n        spin.show();\n        setTimeout(() => {\n            spin.hide();\n        }, 3000);\n    };\n    \n\tconst content = `<i class=\"rab-icon rab-icon-loading1 rab-load-loop\" \n\t\t\t\t\t\tstyle=\"font-size: 22px;height: 30px\"></i>\n           \t\t\t <div>Loading...</div>`;\n    \n    handleHide = () => {\n        spin.show({ content });\n        setTimeout(() => {\n            spin.hide();\n        }, 3000);\n    };\n</script>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Spin\n\n| 属性 | 说明                                         | 默认值 |\n| :--- | :------------------------------------------- | :----- |\n| size | Spin尺寸，可选值为`large`和`small`或者不设置 | -      |\n| fix  | 是否固定，需要父级有`relative`或`absolute`   | -      |"
  },
  {
    "path": "docs/steps.md",
    "content": "# Steps 步骤条\n\n引导用户按照流程完成任务的导航条。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Steps()`\n\n## 何时使用\n\n- 当任务复杂或者存在先后关系时，将其分解成一系列步骤，从而简化任务。\n\n## 代码示例\n\n基础用法\n\n- 基本用法，组件会根据`current`自动判断各步骤状态。\n\n```html\n<r-steps current=\"1\">\n  <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n</r-steps>\n```\n\n迷你版\n\n- 设置属性`size`为`small`启用迷你版。\n\n```html\n<r-steps current=\"2\" size=\"small\">\n  <r-step title=\"已完成\"></r-step>\n  <r-step title=\"已完成\"></r-step>\n  <r-step title=\"进行中\"></r-step>\n  <r-step title=\"待进行\"></r-step>\n</r-steps>\n```\n\n带图标的步骤条\n\n- 通过设置`r-step`的`icon`属性可以自定义图标。\n\n```html\n<r-steps current=\"1\">\n  <r-step title=\"注册\" icon=\"ios-person\"></r-step>\n  <r-step title=\"上传头像\" icon=\"ios-camera\"></r-step>\n  <r-step title=\"验证邮箱\" icon=\"ios-mail\"></r-step>\n</r-steps>\n```\n\n切换步骤\n\n- 通常配合内容及按钮使用，表示一个流程的处理进度。\n\n```html\n<r-steps current=\"0\" id=\"test\">\n  <r-step title=\"步骤1\"></r-step>\n  <r-step title=\"步骤2\"></r-step>\n  <r-step title=\"步骤3\"></r-step>\n  <r-step title=\"步骤4\"></r-step>\n</r-steps>\n<br />\n<button class=\"rab-btn rab-btn-primary\" onclick=\"handlClickNext()\">下一步</button>\n\n<script>\n\tconst Steps = new Rabbit.Steps();\n    \n    let n = 0;\n    handlClickNext = () => {\n        if (n == 3) {\n            n = 0;\n        } else {\n            n += 1;\n        }\n        Steps.config('#test').current = n;\n    };\n</script>\n```\n\n垂直方向\n\n- 设置属性`direction`为`vertical`在垂直方向展示。\n\n```html\n<r-steps current=\"2\" direction=\"vertical\">\n  <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n</r-steps>\n```\n\n步骤运行错误\n\n设置`r-steps`的属性`status`为`error`指定当前步骤状态。\n\n```html\n<r-steps current=\"1\" status=\"error\">\n  <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n  <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n</r-steps>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Steps\n\n整体步骤条\n\n| 属性      | 说明                                                         | 默认值     |\n| :-------- | :----------------------------------------------------------- | :--------- |\n| current   | 当前步骤，从 0 开始计数                                      | 0          |\n| status    | 当前步骤的状态，可选值为`wait`、`process`、`finish`、`error` | process    |\n| size      | 步骤条的尺寸，可选值为`small`或者不写                        | -          |\n| direction | 步骤条的方向，可选值为`horizontal`（水平）或`vertical`（垂直） | horizontal |\n\n### Step\n\n子项步骤\n\n| 属性    | 说明                                                         | 默认值  |\n| :------ | :----------------------------------------------------------- | :------ |\n| status  | 步骤的状态，可选值为`wait`、`process`、`finish`、`error`，不设置时自动判断 | process |\n| title   | 标题                                                         | -       |\n| content | 步骤的详细描述，可选                                         | -       |\n| icon    | 步骤的图标，可选                                             | -       |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 steps，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `current`\n- `status`\n- `title`\n- `content`\n- `itemStatus`\n\n| 返回值     | 说明                                                         | 类型          | 默认值  |\n| ---------- | ------------------------------------------------------------ | ------------- | ------- |\n| current    | 响应式设置或更新当前步骤                                     | Number        | 0       |\n| status     | 响应式设置或更新当前步骤的状态，可选值为`wait`、`process`、`finish`、`error` | String        | process |\n| title      | 响应式设置或更新 title                                       | String        | -       |\n| content    | 响应式设置或更新 content                                     | String        | -       |\n| itemStatus | 响应式设置或更新每一个子项步骤的状态                         | Array<string> | -       |\n"
  },
  {
    "path": "docs/switch.md",
    "content": "# Switch 开关\n\n开关选择器\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Switch()`\n\n## 何时使用\n\n- 需要表示开关状态/两种状态之间的切换时\n- 和 `checkbox`的区别是，切换 `switch` 会直接触发状态改变，而 `checkbox` 一般用于状态标记，需要和提交操作配合\n\n## 代码示例\n\n基本\n\n- 基本用法，状态切换时会触发事件。\n\n```html\n<r-switch id=\"test\"></r-switch>\n<script>\n\tconst Switch = new Rabbit.Switch();\n     Switch.config('#test').events({\n        onChange: (checked) => {\n            Rabbit.Message.info(`开关状态: ${checked}`);\n        }\n    });\n</script>\n```\n\n尺寸\n\n- 设置`size`为 `large` 或 `small` 使用大号和小号的开关。\n\n```html\n<r-switch size=\"large\"></r-switch>\n<r-switch></r-switch>\n<r-switch size=\"small\"></r-switch>\n```\n\n- 文字和图标\n\n设置属性  `open`  和 `close` 自定义切换状态后显示的内容，建议如果使用2个汉字，将开关尺寸设置为 large。\n\n```html\n<r-switch open=\"开\" close=\"关\"></r-switch>\n<r-switch\n  open=\"<i class='rab-icon rab-icon-md-checkmark'></i>\"\n  close=\"<i class='rab-icon rab-icon-md-close'></i>\">\n</r-switch>\n<br />\n<r-switch size=\"large\" open=\"开启\" close=\"关闭\"></r-switch>\n<r-switch size=\"large\" open=\"ON\" close=\"OFF\"></r-switch>\n```\n\n不可用\n\n- 设置属性 `disabled=\"true\"` 禁用开关\n\n```html\n<r-switch disabled=\"true\"></r-switch>\n```\n\n加载中\n\n- 设置属性  `loading=\"true\"` 标识开关操作仍在执行中。\n\n```html\n<r-switch loading=\"true\" checked=\"true\"></r-switch>\n<r-switch loading=\"true\" size=\"small\"></r-switch>\n```\n\n自定义颜色\n\n- 设置属性 `true-color` 和 `false-color` 可以自定义背景色。\n\n```html\n<r-switch true-color=\"#52c41a\" false-color=\"#ff4d4f\"></r-switch>\n```\n\n\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Switch\n\n| 属性           | 说明                                                         | 默认值 |\n| -------------- | ------------------------------------------------------------ | ------ |\n| checked     | 指定当前是否选中                                             | false  |\n| size        | 开关的尺寸，可选值为`large`、`small`、`default`或者不写。建议开关如果使用了2个汉字的文字，使用 large。 | default |\n| disabled       | 禁用开关                                                     | false  |\n| true-color  | 自定义打开时的背景色                                         | -      |\n| false-color | 自定义关闭时的背景色                                         | -      |\n| loading     | 加载中的开关                                                 | false  |\n| open        | 自定义显示打开时的内容                                  | -      |\n| close       | 自定义显示关闭时的内容                                  | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                                | 类型   |\n| ---- | --------------------------------------------------- | ------ |\n| el   | 配置当前选定的 carousel，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `checked`\n- `disabled`\n- `loading`\n\n- `events(options)`\n\n| 返回值   | 说明                             | 类型     | 默认值 |\n| -------- | -------------------------------- | -------- | ------ |\n| checked  | 响应式设置或更新当前是否选中状态 | Boolean  | -      |\n| disabled | 响应式设置或更新禁用开关状态     | Boolean  | -      |\n| loading  | 响应式设置或更新加载中的开关状态 | Boolean  | -      |\n| events   | 非响应式API，添加开关事件        | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明                           | 回调参数                   |\n| :------- | :----------------------------- | :------------------------- |\n| onChange | 开关变化时触发，返回当前的状态 | (checked: boolean) => void |"
  },
  {
    "path": "docs/tabs.md",
    "content": "# Tabs 标签页\n\n选项卡切换组件。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Tabs()`\n\n## 何时使用\n\n- 提供平级的区域将大块内容进行收纳和展现，保持界面整洁。\n\nRabbitUI 依次提供了三级选项卡，分别用于不同的场景。\n\n- 卡片式的页签，提供可关闭的样式，常用于容器顶部。\n- 标准线条式页签，用于容器内部的主功能切换，这是最常用的 Tabs。\n\n## 代码示例\n\n基础用法\n\n- `active-index` 与 `r-tab-pane` 的 `index` 对应，用于标识当前激活的是哪一项，key 值默认从 0 开始，默认激活第一项。可以使用提供的 `config` 方法返回的 `activeIndex` 进行动态改变\n\n```html\n<r-tabs active-index=\"1\" id=\"test\">\n  <r-tab-pane tab=\"标签一\" index=\"1\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签二\" index=\"2\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签三\" index=\"3\">标签三的内容</r-tab-pane>\n</r-tabs>\n\n<script>\n\tconst tabs = new Rabbit.Tabs();\n    tabs.config('#test').events({\n        onClick: (index) => {\n            console.log('当前点击的tab',index);\n        }\n    });\n</script>\n```\n\n图标\n\n- 通过设置属性 `icon`，可以显示一个图标。\n\n```html\n<r-tabs>\n  <r-tab-pane tab=\"macOS\" icon=\"logo-apple\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"Windows\" icon=\"logo-windows\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"Linux\" icon=\"logo-tux\">标签三的内容</r-tab-pane>\n</r-tabs>\n```\n\n迷你型\n\n- 设置属性 `size` 为 `small` 可以显示为迷你型，只在 `type` 为 `line` 时有效。\n\n```html\n<r-tabs size=\"small\">\n  <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n</r-tabs>\n```\n\n禁用\n\n- 禁用某一项。\n\n```html\n<r-tabs>\n  <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签二\" disabled=\"true\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n</r-tabs>\n```\n\n卡片样式\n\n- 设置属性 `type` 为 `card` 可以显示卡片样式，常用于容器顶部。\n\n```html\n<r-tabs type=\"card\">\n  <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n</r-tabs>\n```\n\n可关闭\n\n- 通过设置属性 `closable` 可以关闭某一项，仅在 `type` 为 `card` 时有效。\n- 当设置了可关闭后，面板的切换将不使用切换动画。\n\n```html\n<r-tabs type=\"card\" closable=\"true\">\n  <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n</r-tabs>\n```\n\n不使用动画\n\n- 通过设置属性 `animated` 为 `false` 可以禁用动画。\n\n```html\n<r-tabs animated=\"false\">\n  <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n  <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n</r-tabs>\n```\n\n其它样式\n\n- 可以根据业务自定义 UI，需要一点额外的样式覆盖。\n\n```html\n<style>\n  .demo-tabs-style1>.rab-tabs-card>.rab-tabs-content {\n      height: 120px;\n      margin-top: -16px;\n  }\n  \n  .demo-tabs-style1>.rab-tabs-card>.rab-tabs-content>r-tab-pane {\n      background: #fff;\n      padding: 16px;\n  }\n  \n  .demo-tabs-style1>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab {\n      border-color: transparent;\n  }\n  \n  .demo-tabs-style1>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active {\n      border-color: #fff;\n  }\n  \n  .demo-tabs-style2>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab {\n      border-radius: 0;\n      background: #fff;\n  }\n  \n  .demo-tabs-style2>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active {\n      border-top: 1px solid #3399ff;\n  }\n  \n  .demo-tabs-style2>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active:before {\n      content: '';\n      display: block;\n      width: 100%;\n      height: 1px;\n      background: #3399ff;\n      position: absolute;\n      top: 0;\n      left: 0;\n  }\n</style>\n\n<div class=\"demo-tabs-style1\" style=\"background: #e3e8ee; padding: 16px\">\n  <r-tabs type=\"card\">\n      <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n      <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n      <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n  </r-tabs>\n</div>\n\n<div class=\"demo-tabs-style2\">\n  <r-tabs type=\"card\">\n      <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n      <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n      <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n  </r-tabs>\n</div>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Tabs\n\n| 属性             | 说明                                                         | 默认值     |\n| ---------------- | ------------------------------------------------------------ | ---------- |\n| active-index | 初始化选中面板的 index                                         | 第一个面板 |\n| type             | 页签的基本样式，可选值为 `line` 和 `card`                    | line       |\n| size             | 尺寸，可选值为 `default` 和 `small`，仅在 `type=\"line\"` 时有效 | default    |\n| closable         | 是否可以关闭页签，仅在 `type=\"card\"` 时有效                  | false      |\n| animated         | 是否使用动画切换 Tabs                                        | true       |\n\n### Tabs-pane \n\n| 属性     | 说明                                                    | 默认值 |\n| -------- | ------------------------------------------------------- | ------ |\n| index      | 用于标识当前面板，对应 defaultActiveKey，默认为其索引值 | index  |\n| tab      | 选项卡头显示文字                                        | 空     |\n| icon     | 选项卡图标                                              | -      |\n| disabled | 是否禁用该选项卡                                        | false  |\n| closable | 是否可以关闭页签，仅在 `type=\"card\"` 时有效             | -      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                            | 类型   |\n| ---- | ----------------------------------------------- | ------ |\n| el   | 配置当前选定的 tabs，必须是选择器名称或者元素名 | String |\n\n该方法返回以下两个值：\n\n- `activeIndex`\n\n- `events(options)`\n\n| 返回值    | 说明                          | 类型     | 默认值 |\n| --------- | ----------------------------- | -------- | ------ |\n| activeIndex | 响应式设置当前激活面板的 index  | String   | -      |\n| events    | 非响应式API，添加选项卡事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性        | 说明             | 回调参数             |\n| :---------- | :--------------- | :------------------- |\n| onClick     | tab 被点击时触发 | (index: string) => void |\n| onTabRemove | tab 被关闭时触发 | (index: string) => void |"
  },
  {
    "path": "docs/tag.md",
    "content": "# Tag 标签\n\n进行标记和分类的小标签。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Tag()`\n\n## 何时使用\n\n- 用于标记事物的属性和维度。\n- 进行分类。\n\n## 代码示例\n\n基本用法\n\n- 简单的展示，添加属性`closable=\"true\"`可以关闭标签。\n\n- 点击关闭标签时，可以使用 `onClose` 方法添加回调事件\n\n```html\n<r-tag>标签一</r-tag>\n<r-tag>标签二</r-tag>\n<r-tag closable=\"true\" id=\"closeTag\">标签三</r-tag>\n\n<script>\n\tconst tag = new Rabbit.Tag();\n    tag.config('#closeTag').events({\n        onClose: ($this) => {\n            console.log($this);\n        }\n    })\n</script>\n```\n\n样式类型\n\n- 通过设置 `type` 属性为 `border` 或 `dot` 来选择不同的样式类型。建议有关闭的某些场景下使用 border，图例的场景下使用 dot。\n\n```html\n<r-tag type=\"border\">标签三</r-tag>\n<r-tag type=\"border\" closable=\"true\">标签四</r-tag>\n<r-tag type=\"dot\">标签一</r-tag>\n<r-tag type=\"dot\" closable=\"true\">标签二</r-tag>\n```\n\n各种颜色\n\n- 多种预设颜色，可自定义颜色。\n\n```html\n<r-tag color=\"default\">default</r-tag>\n<r-tag color=\"primary\">primary</r-tag>\n<r-tag color=\"success\">success</r-tag>\n<r-tag color=\"error\">error</r-tag>\n<r-tag color=\"warning\">warning</r-tag>\n<r-tag color=\"magenta\">magenta</r-tag>\n<r-tag color=\"red\">red</r-tag>\n<r-tag color=\"volcano\">volcano</r-tag>\n<r-tag color=\"orange\">orange</r-tag>\n<r-tag color=\"gold\">gold</r-tag>\n<r-tag color=\"yellow\">yellow</r-tag>\n<r-tag color=\"lime\">lime</r-tag>\n<r-tag color=\"green\">green</r-tag>\n<r-tag color=\"cyan\">cyan</r-tag>\n<r-tag color=\"blue\">blue</r-tag>\n<r-tag color=\"geekblue\">geekblue</r-tag>\n<r-tag color=\"purple\">purple</r-tag>\n<r-tag color=\"#FFA2D3\">Custom Color</r-tag>\n<br /><br />\n<r-tag type=\"border\" closable=\"true\" color=\"primary\">标签一</r-tag>\n<r-tag type=\"border\" closable=\"true\" color=\"success\">标签二</r-tag>\n<r-tag type=\"border\" closable=\"true\" color=\"warning\">标签三</r-tag>\n<r-tag type=\"border\" closable=\"true\" color=\"error\">标签四</r-tag>\n<br /><br />\n<r-tag type=\"dot\" closable=\"true\" color=\"primary\">标签一</r-tag>\n<r-tag type=\"dot\" closable=\"true\" color=\"success\">标签二</r-tag>\n<r-tag type=\"dot\" closable=\"true\" color=\"warning\">标签三</r-tag>\n<r-tag type=\"dot\" closable=\"true\" color=\"error\">标签四</r-tag>\n```\n\n可选择\n\n- 设置属性 `checkable=\"true\"`，可以对标签进行选择，属性 `checked` 控制当前选择状态。\n\n```html\n<r-tag checkable=\"true\" color=\"primary\" id=\"checkedTag\">标签一</r-tag>\n<r-tag checkable=\"true\" color=\"success\">标签二</r-tag>\n<r-tag checkable=\"true\" color=\"error\">标签三</r-tag>\n<r-tag checkable=\"true\" color=\"warning\">标签四</r-tag>\n\n<script>\n\tconst tag = new Rabbit.Tag();\n    tag.config('#checkedTag').events({\n        onChange: (checked) => {\n            console.log(checked);\n        }\n    })\n</script>\n```\n\n尺寸\n\n- 设置属性 `size` 可以显示不同尺寸的标签。\n\n```html\n<r-tag>默认标签</r-tag>\n<r-tag size=\"medium\">中号标签</r-tag>\n<r-tag size=\"large\">大号标签</r-tag>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Tag\n\n| 属性      | 说明                                                         | 默认值  |\n| :-------- | :----------------------------------------------------------- | :------ |\n| closable  | 标签是否可以关闭                                             | false   |\n| checkable | 标签是否可以选择                                             | false   |\n| checked   | 标签的选中状态                                               | true    |\n| type      | 标签的样式类型，可选值为 `border`、`dot`或不填               | -       |\n| color     | 标签颜色，预设颜色值为`default`、`primary`、`success`、`warning`、`error`、`blue`、`green`、`red`、`yellow`、`pink`、`magenta`、`volcano`、`orange`、`gold`、`lime`、`cyan`、`geekblue`、`purple`，也可以自定义颜色值。 | default |\n| size      | 尺寸，可选值为 large、medium                                 | -       |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                           | 类型   |\n| ---- | ---------------------------------------------- | ------ |\n| el   | 配置当前选定的 tag，必须是选择器名称或者元素名 | String |\n\n该方法返回以下值：\n\n- `events(options)`\n\n| 返回值 | 说明                        | 类型     | 默认值 |\n| ------ | --------------------------- | -------- | ------ |\n| events | 非响应式API，添加标签事件， | Function | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性     | 说明               | 回调参数                   |\n| :------- | :----------------- | :------------------------- |\n| onClose  | 关闭时触发         | ($this: element) => void   |\n| onChange | 切换选中状态时触发 | (checked: boolean) => void |"
  },
  {
    "path": "docs/time.md",
    "content": "# Time 相对时间\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Time()`\n\n常用于表示几分钟前、几小时前等相对于此时此刻的时间描述。\n\n## 代码示例\n\n基础用法\n\n- 为属性 `time` 设置一个时间戳或 Date，可自动转为相对于当前的时间。\n\n```html\n<r-time time=\"new Date().getTime() - 60 * 3 * 1000\"></r-time>\n<r-time time=\"new Date().getTime() - 86400 * 3 * 1000\"></r-time>\n```\n\n自动更新间隔\n\n- 设置自动更新间隔，默认为 60 秒。\n\n```html\n<r-time time=\"new Date()\" interval=\"1\"></r-time>\n```\n\n不同类型\n\n- 设置属性 `type` 可以根据情况，设置不同的显示类型。\n\n```html\n<r-time time=\"new Date().getTime() - 86400 * 3 * 1000\"></r-time>\n<r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" type=\"date\"></r-time>\n<r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" type=\"datetime\"></r-time>\n```\n\n锚点\n\n- 设置 `hash` 属性，相对时间可以点击并定位锚点。\n\n```html\n<r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" hash=\"#hash\"></r-time>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Time\n\n| 属性     | 说明                                         | 默认值   |\n| -------- | -------------------------------------------- | -------- |\n| time     | 需要对比的时间，可以是时间戳或 Date 类型     | -        |\n| type     | 类型，可选值为 relative、date 或 datetime    | relative |\n| interval | 自动更新的间隔，单位：秒                     | 60       |\n| hash     | 填写该值，点击会定位锚点                     | -        |\n\n## 改变语言配置 (全局)\n\n在 `NodeJs` 或者 `Webpack` 环境下，要改变全局语言配置，只需调用实例的内置函数 `locale`，并引入  Day.js 的语言文件来自由切换其他语言。\n\n```js\nimport 'dayjs/locale/de';  // ES 2015 \n// require('dayjs/locale/de'); // CommonJs\n\nconst time = new Rabbit.Time();\ntime.locale('de');\n```\n\n[支持的语言列表](https://github.com/iamkun/dayjs/tree/dev/src/locale)\n\n"
  },
  {
    "path": "docs/timeline.md",
    "content": "# Timeline 时间轴\n\n可视化地呈现时间流信息。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Timeline()`\n\n## 何时使用\n\n- 当有一系列信息需按时间排列时，可正序和倒序。\n- 需要有一条时间轴进行视觉上的串联时。\n\n## 代码示例\n\n- 基础用法\n\n最简单定义一个时间轴的用法。\n\n```html\n<style>\n    .time {\n      font-size: 14px;\n      font-weight: bold;\n      margin: 0 !important;\n    }\n\n    .content {\n      padding-left: 5px;\n      margin: 0 !important;\n    }\n</style>\n\n<r-timeline>\n  <r-timeline-item>\n      <p class=\"time\">1976s</p>\n      <p class=\"content\">第一代苹果问世</p>\n  </r-timeline-item>\n  <r-timeline-item>\n      <p class=\"time\">1984s</p>\n      <p class=\"content\">发布麦金塔电脑</p>\n  </r-timeline-item>\n  <r-timeline-item>\n      <p class=\"time\">2007s</p>\n      <p class=\"content\">发布 iPhone</p>\n  </r-timeline-item>\n  <r-timeline-item>\n      <p class=\"time\">2010s</p>\n      <p class=\"content\">发布 iPad</p>\n  </r-timeline-item>\n  <r-timeline-item color=\"gray\">\n      <p class=\"time\">2011.10.05</p>\n      <p class=\"content\">史蒂夫·乔布斯去世</p>\n  </r-timeline-item>\n</r-timeline>\n```\n\n- 圆圈颜色 \n\n圆圈颜色，绿色用于已完成、成功状态，红色表示告警或错误状态，灰色表示当前任务状态停滞或取消，蓝色可表示正在进行或其他默认状态。\n\n```html\n<r-timeline>\n  <r-timeline-item color=\"green\">发布1.0版本</r-timeline-item>\n  <r-timeline-item color=\"green\">发布2.0版本</r-timeline-item>\n  <r-timeline-item color=\"red\">重大Bug</r-timeline-item>\n  <r-timeline-item color=\"gray\">推迟发布</r-timeline-item>\n  <r-timeline-item>发布3.0版本</r-timeline-item>\n</r-timeline>\n```\n\n- 最后一个 \n\n通过添加属性`pending=\"true\"`来标记最后一个为幽灵节点，标识还未完成。\n\n```html\n<r-timeline pending=\"true\">\n  <r-timeline-item>2021-04-01 创建服务器网站</r-timeline-item>\n  <r-timeline-item>2021-04-01 解决了初始化网络问题</r-timeline-item>\n  <r-timeline-item>2021-04-01 技术人员进行测试</r-timeline-item>\n  <r-timeline-item><a href=\"#\">查看更多</a></r-timeline-item>\n</r-timeline>\n```\n\n- 自定义时间轴点\n\n可根据实际场景⾃定义节点\n\n```html\n<r-timeline>\n  <r-timeline-item\n    dot=\"<i class='rab-icon rab-icon-ios-trophy'></i>\" \n    color=\"green\">\n   发布里程碑版本\n  </r-timeline-item>\n  <r-timeline-item>发布1.0版本</r-timeline-item>\n  <r-timeline-item>发布2.0版本</r-timeline-item>\n  <r-timeline-item>发布3.0版本</r-timeline-item>\n</r-timeline>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Timeline\n\n| 属性       | 说明                           | 默认值 |\n| ---------- | ------------------------------ | ------ |\n| pending | 指定是否最后一个节点为幽灵节点 | -      |\n\n### Timeline-item \n\n| 属性     | 说明                                                         | 默认值 |\n| -------- | ------------------------------------------------------------ | ------ |\n| color | 圆圈颜色，可选值为`blue`、`red`、`green`、`gray`，或自定义色值 | blue   |\n| dot   | 自定义时间轴点                                               | -      |\n\n"
  },
  {
    "path": "docs/tooltip.md",
    "content": "# Tooltip 文字提示\n\n简单的文字提示气泡框。\n\n> 注意：使用前需要先全局实例化一次该构造函数  `new Rabbit.Tooltip()`\n\n## 何时使用\n\n- 鼠标移入则显示提示，移出消失，气泡浮层不承载复杂文本和操作。\n\n- 可用来代替系统默认的 ‘title’ 提示，提供一个’按钮/文字/操作’的文案解释。\n\n## 代码示例\n\n基础用法\n\n- 最简单的用法。\n\n```html\n<r-tooltip content=\"这里是提示文字\" id=\"test\">鼠标经过这段文字时，会显示一个气泡框</r-tooltip>\n<script>\n    const tooltip = new Rabbit.Tooltip();\n\n    tooltip.config('#test').events({\n        onVisibleChange: (visable) => {\n            console.log(visable);\n        }\n    });\n</script>\n```\n\n位置\n\n- 组件提供了12个不同的方向显示Tooltip，具体配置可查看API。\n\n```html\n<style>\n    top,\n   .bottom {\n        text-align: center;\n    }\n    \n    .center {\n        width: 300px;\n        margin: 10px auto;\n        overflow: hidden;\n    }\n    \n    .center-left {\n        float: left;\n    }\n    \n    .center-right {\n        float: right;\n    }\n</style>\n\n<div class=\"top\">\n  <r-tooltip content=\"Top Left 文字提示\" placement=\"top-start\">\n      <button class=\"rab-btn\">上左</button>\n  </r-tooltip>\n  <r-tooltip content=\"Top Center 文字提示\">\n      <button class=\"rab-btn\">上边</button>\n  </r-tooltip>\n  <r-tooltip content=\"Top Right 文字提示\" placement=\"top-end\">\n      <button class=\"rab-btn\">上右</button>\n  </r-tooltip>\n</div>\n<div class=\"center\">\n  <div class=\"center-left\">\n      <r-tooltip content=\"Left Top 文字提示\" placement=\"left-start\">\n          <button class=\"rab-btn\">左上</button> </r-tooltip><br /><br />\n      <r-tooltip content=\"Left Center 文字提示\" placement=\"left\">\n          <button class=\"rab-btn\">左边</button> </r-tooltip><br /><br />\n      <r-tooltip content=\"Left Bottom 文字提示\" placement=\"left-end\">\n          <button class=\"rab-btn\">左下</button>\n      </r-tooltip>\n  </div>\n  <div class=\"center-right\">\n      <r-tooltip content=\"Right Top 文字提示\" placement=\"right-start\">\n          <button class=\"rab-btn\">右上</button> </r-tooltip><br /><br />\n      <r-tooltip content=\"Right Center 文字提示\" placement=\"right\">\n          <button class=\"rab-btn\">右边</button> </r-tooltip><br /><br />\n      <r-tooltip content=\"Right Bottom 文字提示\" placement=\"right-end\">\n          <button class=\"rab-btn\">右下</button>\n      </r-tooltip>\n  </div>\n</div>\n<div class=\"bottom\">\n  <r-tooltip content=\"Bottom Left 文字提示\" placement=\"bottom-start\">\n      <button class=\"rab-btn\">下左</button>\n  </r-tooltip>\n  <r-tooltip content=\"Bottom Center 文字提示\" placement=\"bottom\">\n      <button class=\"rab-btn\">下边</button>\n  </r-tooltip>\n  <r-tooltip content=\"Bottom Right 文字提示\" placement=\"bottom-end\">\n      <button class=\"rab-btn\">下右</button>\n  </r-tooltip>\n</div>\n```\n\n自定义内容 \n\n- 如果需要添加带有HTML代码或其他复杂的内容，抑或是需要动态更新内容，请使用组件提供的响应式API渲染\n\n```html\n<r-tooltip content=\"content of tooltip\" placement=\"top\" id=\"test\">\n  <button class=\"rab-btn\">多行</button>\n</r-tooltip>\n\n<script>\n\tconst tooltip = new Rabbit.Tooltip();\n    const custom = '<div><p>显示多行信息</p> <p><i>可以自定义样式</i></p></div>';\n    tooltip.config('#test2').content = custom;\n</script>\n```\n\n禁用\n\n- 通过设置属性`disabled`可以禁用文字提示。\n\n```html\n<r-tooltip placement=\"top\" disabled=\"true\">\n  <button class=\"rab-btn\">禁用提示</button>\n</r-tooltip>\n```\n\n延时\n\n- 通过设置属性`delay`可以延时显示文字提示，单位毫秒。\n\n```html\n<r-tooltip content=\"Tooltip 文字提示\" delay=\"1000\">\n  <button class=\"rab-btn\">延时1秒显示</button>\n</r-tooltip>\n```\n\n主题\n\n- 设置属性 `theme` 可以显示不同的颜色。\n- 有多种预设色彩的文字提示样式，用作不同场景使用。\n\n```html\n<r-tooltip content=\"content of tooltip\">\n  <button class=\"rab-btn\">Dark(default)</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"light\">\n  <button class=\"rab-btn\">Light</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"pink\">\n  <button class=\"rab-btn\">pink</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"red\">\n  <button class=\"rab-btn\">red</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"yellow\">\n  <button class=\"rab-btn\">yellow</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"orange\">\n  <button class=\"rab-btn\">orange</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"cyan\">\n  <button class=\"rab-btn\">cyan</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"green\">\n  <button class=\"rab-btn\">green</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"blue\">\n  <button class=\"rab-btn\">blue</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"purple\">\n  <button class=\"rab-btn\">purple</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"geekblue\">\n  <button class=\"rab-btn\">geekblue</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"magenta\">\n  <button class=\"rab-btn\">magenta</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"volcano\">\n  <button class=\"rab-btn\">volcano</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"gold\">\n  <button class=\"rab-btn\">gold</button>\n</r-tooltip>\n<r-tooltip content=\"content of tooltip\" theme=\"lime\">\n  <button class=\"rab-btn\">lime</button>\n</r-tooltip>\n```\n\n自动换行\n\n- 设置属性 `max-width`，当超出最大值后，文本将自动换行，并两端对齐。\n\n```html\n<r-tooltip\n  max-width=\"200\"\n  content=\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\"\n>\n  <button class=\"rab-btn\">长文本</button>\n</r-tooltip>\n```\n\n<p style=\"font-size: 32px\">Attributes</p>\n\n### Tooltip\n\n| 属性          | 说明                                                         | 默认值 |\n| :------------ | :----------------------------------------------------------- | :----- |\n| content       | 显示的内容                                                   | 空     |\n| placement     | 提示框出现的位置，可选值为`top``top-start``top-end``bottom``bottom-start``bottom-end``left``left-start``left-end``right``right-start``right-end`，自动识别 | top    |\n| disabled      | 是否禁用提示框                                               | false  |\n| delay         | 延迟显示，单位毫秒                                           | -      |\n| always        | 是否总是可见                                                 | false  |\n| theme `1.1.0` | 背景颜色                                                     | dark   |\n| max-width     | 最大宽度，超出最大值后，文本将自动换行，并两端对齐           | -      |\n| offset        | 出现位置的偏移量                                             | 0      |\n\n### Config  方法\n\n配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的 API。（并不是每个组件都会有）\n\n| 参数 | 说明                                             | 类型   |\n| ---- | ------------------------------------------------ | ------ |\n| el   | 配置当前选定的 tooltip，必须是选择器名称或者元素名 | String |\n\n该方法返回以下四个值：\n\n- `content`\n- `disabled`\n- `always`\n- `events(options)`\n\n| 返回值           | 说明                          | 类型             | 默认值 |\n| ---------------- | ----------------------------- | ---------------- | ------ |\n| content          | 响应式设置或更新提示框的内容  | String \\| Number | -      |\n| disabled `1.1.0` | 响应式设置是否禁用提示框      | Boolean          | false  |\n| always `1.1.0`   | 响应式设置是否总是可见        | Boolean          | false  |\n| events           | 非响应式API，添加提示框的事件 | Function         | -      |\n\n- `events`的参数 options 为对象，具体说明如下：\n\n| 属性                    | 说明           | 回调参数                   |\n| :---------------------- | :------------- | :------------------------- |\n| onVisibleChange `1.1.0` | 显示隐藏的回调 | (visible: boolean) => void |\n\n"
  },
  {
    "path": "examples/README.md",
    "content": "# 运行测试\n\n1. 修改config文件夹下的webpack.dev.js里的代码， `plugins` ->  `new HtmlWebpackPlugin` -> `template`,\n修改其路径\n\n2. 把要测试的组件在main.ts 里将对应的 `xxxTest()` 取消注释\n\n3. 运行`npm run dev`\n"
  },
  {
    "path": "examples/affix/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 2000px;\n    }\n    \n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n        margin-bottom: 250px;\n    }\n    \n    .demo-affix {\n        display: inline-block;\n        color: #fff;\n        padding: 10px 30px;\n        text-align: center;\n        background: #1890ff;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-affix>\n            <span class=\"demo-affix\">固定在最顶部</span>\n        </r-affix>\n    </div>\n    <div class=\"example\">\n        <r-affix offset-top=\"50\">\n            <span class=\"demo-affix\">固定在顶部 50px 的位置</span>\n        </r-affix>\n    </div>\n    <div class=\"example\">\n        <r-affix offset-bottom=\"20\">\n            <span class=\"demo-affix\">固定在底部 20px 的位置</span>\n        </r-affix>\n    </div>\n    <div class=\"example\">\n        <r-affix offset-top=\"100\" id=\"test\">\n            <span class=\"demo-affix\">固定在顶部 100px 的位置</span>\n        </r-affix>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/affix/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function affixTest(): void {\n    const affix = new Rabbit.Affix();\n\n    affix.config('#test').events({\n        onChange: (affixed) => {\n            Rabbit.Message.info(`当前状态：${affixed}`);\n        }\n    });\n}\n"
  },
  {
    "path": "examples/alert/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-alert title=\"信息提示的文案\"></r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\"></r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\"></r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\"></r-alert>\n    </div>\n\n    <div class=\"example\">\n        <r-alert title=\"信息提示的文案\">\n            <p>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\">\n            <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\">\n            <p>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\">\n            <p>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。</p>\n        </r-alert>\n    </div>\n\n    <div class=\"example\">\n        <r-alert title=\"信息提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\" show-icon=\"true\"></r-alert>\n\n        <r-alert title=\"信息提示的文案\" show-icon=\"true\">\n            <p>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\" show-icon=\"true\">\n            <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\" show-icon=\"true\">\n            <p>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\" show-icon=\"true\">\n            <p>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。</p>\n        </r-alert>\n        <r-alert title=\"自定义图标\" show-icon=\"true\" icon=\"<i class='rab-icon rab-icon-ios-planet'>\">\n            <p>自定义图标的内容，自定义图标的内容，自定义图标的内容。</p>\n        </r-alert>\n    </div>\n\n    <div class=\"example\">\n        <r-alert title=\"信息提示的文案\" closable=\"true\" id=\"test\"></r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\" closable=\"true\">\n            <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\" closable=\"true\" close-text=\"知道了\"></r-alert>\n    </div>\n\n    <div class=\"example\">\n        <r-alert banner=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n        <r-alert banner=\"true\" closable=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n        <r-alert banner=\"true\" show-icon=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/alert/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function alertTest(): void {\n    const Alert = new Rabbit.Alert();\n    Alert.config('#test').events({\n        onClose: (event) => {\n            console.log(event);\n        }\n    });\n}\n"
  },
  {
    "path": "examples/avatar/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-avatar icon=\"md-person\" size=\"64\"></r-avatar>\n        <r-avatar icon=\"md-person\" size=\"large\"></r-avatar>\n        <r-avatar icon=\"md-person\"></r-avatar>\n        <r-avatar icon=\"md-person\" size=\"small\"></r-avatar>\n    </div>\n    <div class=\"example\">\n        <r-avatar icon=\"md-person\" shape=\"square\" size=\"64\"></r-avatar>\n        <r-avatar icon=\"md-person\" shape=\"square\" size=\"large\"></r-avatar>\n        <r-avatar icon=\"md-person\" shape=\"square\"></r-avatar>\n        <r-avatar icon=\"md-person\" shape=\"square\" size=\"small\"></r-avatar>\n    </div>\n    <div class=\"example\">\n        <r-avatar icon=\"md-person\"></r-avatar>\n        <r-avatar>U</r-avatar>\n        <r-avatar>USER</r-avatar>\n        <r-avatar style=\"color: #f56a00; background-color: #fde3cf\">U</r-avatar>\n        <r-avatar src=\"https://avatars3.githubusercontent.com/u/62378518\"></r-avatar>\n        <r-avatar style=\"background-color: #87d068\" icon=\"md-person\"></r-avatar>\n    </div>\n    <div class=\"example\">\n        <r-avatar style=\"background-color: #f56a00\">U</r-avatar>\n        <r-avatar style=\"background-color: #7265e6\">Lucy</r-avatar>\n        <r-avatar style=\"background-color: #ffbf00\">Tom</r-avatar>\n        <r-avatar style=\"background-color: #00a2ae\">Edward</r-avatar>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/avatar/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function avatarTest(): void {\n    new Rabbit.Avatar();\n}\n"
  },
  {
    "path": "examples/back-top/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 1200px;\n    }\n    \n    .top {\n        padding: 10px;\n        background: rgba(0, 153, 229, 0.7);\n        color: #fff;\n        text-align: center;\n        border-radius: 2px;\n    }\n</style>\n\n<body>\n    <r-back-top></r-back-top>\n    <r-back-top height=\"100\" bottom=\"200\">\n        <div class=\"top\">返回顶端</div>\n    </r-back-top>\n</body>\n\n</html>"
  },
  {
    "path": "examples/back-top/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function backtopTest(): void {\n    new Rabbit.BackTop();\n}\n"
  },
  {
    "path": "examples/badge/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .demo-badge {\n        width: 42px;\n        height: 42px;\n        background: #eee;\n        border-radius: 6px;\n        display: inline-block;\n    }\n    \n    .example r-badge {\n        margin-left: 15px;\n        vertical-align: top;\n    }\n    \n    .badge-status r-badge {\n        margin-left: 3px;\n    }\n    \n    .demo-badge-alone sup {\n        background: #5cb85c !important;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-badge count=\"3\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"0\" show-zero=\"true\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n    </div>\n\n    <div class=\"example\">\n        <r-badge dot=\"true\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge dot=\"true\">\n            <i class=\"rab-icon rab-icon-ios-notifications-outline\" style=\"font-size: 26px;\"></i>\n        </r-badge>\n        <r-badge dot=\"true\">\n            <a>可以是一个链接</a>\n        </r-badge>\n    </div>\n\n    <div class=\"example\">\n        <r-badge count=\"99\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"100\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"99\" max-count=\"10\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"1000\" max-count=\"999\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n    </div>\n\n    <div class=\"example\">\n        <r-badge count=\"25\"></r-badge>\n        <r-badge count=\"15\" class=\"demo-badge-alone\"></r-badge>\n    </div>\n\n    <div class=\"example\">\n        <r-badge text=\"new\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge text=\"hot\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n    </div>\n\n    <div class=\"example badge-status\">\n        <r-badge status=\"success\"></r-badge>\n        <r-badge status=\"error\"></r-badge>\n        <r-badge status=\"default\"></r-badge>\n        <r-badge status=\"processing\"></r-badge>\n        <r-badge status=\"warning\"></r-badge>\n        <r-badge status=\"error\"></r-badge>\n        <br />\n        <r-badge status=\"success\" text=\"Success\"></r-badge>\n        <br />\n        <r-badge status=\"error\" text=\"Error\"></r-badge>\n        <br />\n        <r-badge status=\"default\" text=\"Default\"></r-badge>\n        <br />\n        <r-badge status=\"processing\" text=\"Processing\"></r-badge>\n        <br />\n        <r-badge status=\"warning\" text=\"Warning\"></r-badge>\n    </div>\n\n    <div class=\"example badge-status\">\n        <strong>预设：</strong>\n        <br>\n        <r-badge color=\"blue\" text=\"blue\"></r-badge> <br />\n        <r-badge color=\"green\" text=\"green\"></r-badge> <br />\n        <r-badge color=\"red\" text=\"red\"></r-badge> <br />\n        <r-badge color=\"yellow\" text=\"yellow\"></r-badge> <br />\n        <r-badge color=\"pink\" text=\"pink\"></r-badge> <br />\n        <r-badge color=\"magenta\" text=\"magenta\"></r-badge> <br />\n        <r-badge color=\"volcano\" text=\"volcano\"></r-badge> <br />\n        <r-badge color=\"orange\" text=\"orange\"></r-badge> <br />\n        <r-badge color=\"gold\" text=\"gold\"></r-badge> <br />\n        <r-badge color=\"lime\" text=\"lime\"></r-badge> <br />\n        <r-badge color=\"cyan\" text=\"cyan\"></r-badge> <br />\n        <r-badge color=\"geekblue\" text=\"geekblue\"></r-badge> <br />\n        <r-badge color=\"purple\" text=\"purple\"></r-badge> <br />\n        <br>\n        <strong>自定义：</strong>\n        <br>\n        <r-badge color=\"#2db7f5\" text=\"#2db7f5\"></r-badge> <br />\n        <r-badge color=\"#f50\" text=\"#f50\"></r-badge> <br />\n    </div>\n\n    <div class=\"example\">\n        <r-badge count=\"6\" type=\"primary\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"success\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"normal\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"info\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"error\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"warning\">\n            <a class=\"demo-badge\"></a>\n        </r-badge>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/badge/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function badgeTest(): void {\n    new Rabbit.Badge();\n}\n"
  },
  {
    "path": "examples/breadcrumb/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .demo-breadcrumb-separator {\n        color: #ff5500;\n        padding: 0 5px;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-breadcrumb>\n            <a href=\"#\">Home</a>\n            <a href=\"#\">Components</a>\n            <span>Breadcrumb</span>\n        </r-breadcrumb>\n    </div>\n\n    <div class=\"example\">\n        <r-breadcrumb>\n            <div>\n                <i class=\"rab-icon rab-icon-ios-home-outline\"></i>\n                <a href=\"#\">Home</a>\n            </div>\n            <div>\n                <i class=\"rab-icon rab-icon-logo-buffer\"></i>\n                <a href=\"#\">Components</a>\n            </div>\n            <div>\n                <i class=\"rab-icon rab-icon-ios-cafe\"></i>\n                <span>Breadcrumb</span>\n            </div>\n        </r-breadcrumb>\n    </div>\n\n    <div class=\"example\">\n        <r-breadcrumb separator=\">\">\n            <a href=\"#\">Home</a>\n            <a href=\"#\">Components</a>\n            <span>Breadcrumb</span>\n        </r-breadcrumb>\n\n        <r-breadcrumb separator=\"<b class='demo-breadcrumb-separator'>=></b>\">\n            <a href=\"#\">Home</a>\n            <a href=\"#\">Components</a>\n            <span>Breadcrumb</span>\n        </r-breadcrumb>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/breadcrumb/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function breadcrumbTest(): void {\n    new Rabbit.Breadcrumb();\n}\n"
  },
  {
    "path": "examples/button/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 20px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <button type=\"button\" class=\"rab-btn\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-info\">信息按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-success\">成功按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-warning\">警告按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-error\">危险按钮</button>\n    </div>\n\n    <div class=\"example\" style=\"background: rgb(190, 200, 200)\">\n        <button type=\"button\" class=\"rab-btn rab-btn-ghost\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-ghost\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-ghost\">虚线按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-text rab-btn-ghost\">文本按钮</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-info rab-btn-ghost\">信息按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-success rab-btn-ghost\">成功按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-warning rab-btn-ghost\">警告按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-error rab-btn-ghost\">危险按钮</button>\n    </div>\n\n    <div class=\"example\">\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary rab-btn-circle\"></button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary\">搜索</button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary rab-btn-circle\">\n            搜索\n        </button>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-circle\">圆角按钮</button>\n        <br /><br />\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-circle\"></button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn\">搜索</button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-circle\">搜索</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-circle\">圆角按钮</button>\n    </div>\n\n    <div class=\"example\">\n        <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-lg\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-lg\">虚线按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-text rab-btn-lg\">文本按钮</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-sm\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-sm\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-sm\">虚线按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-text rab-btn-sm\">文本按钮</button>\n        <br /><br />\n        <button type=\"button\" icon=\"ios-download\" class=\"rab-btn rab-btn-primary rab-btn-circle rab-btn-lg\"></button>\n        <button type=\"button\" icon=\"ios-download\" class=\"rab-btn rab-btn-primary rab-btn-lg\">\n            <span>Download</span>\n        </button>\n        <br /><br />\n        <button type=\"button\" icon=\"ios-download\" class=\"rab-btn rab-btn-primary rab-btn-circle\"></button>\n        <button type=\"button\" icon=\"ios-download\" class=\"rab-btn rab-btn-primary\">\n            <span>Download</span>\n        </button>\n        <br /><br />\n        <button type=\"button\" icon=\"ios-download\" class=\"rab-btn rab-btn-primary rab-btn-circle rab-btn-sm\"></button>\n        <button type=\"button\" icon=\"ios-download\" class=\"rab-btn rab-btn-primary rab-btn-sm\">\n            <span>Download</span>\n        </button>\n        <br /><br />\n        <div class=\"rab-btn-group rab-btn-group-lg\">\n            <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-lg\">\n                <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n                <span>上一页</span>\n            </button>\n            <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-lg\">\n                <span>下一页</span>\n                <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n            </button>\n        </div>\n        <br /><br />\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n                <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n                <span>上一页</span>\n            </button>\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n                <span>下一页</span>\n                <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n            </button>\n        </div>\n        <br /><br />\n        <div class=\"rab-btn-group rab-btn-group-sm\">\n            <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-sm\">\n                <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n                <span>上一页</span>\n            </button>\n            <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-sm\">\n                <span>下一页</span>\n                <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n            </button>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <button type=\"button\" class=\"rab-btn rab-btn-success rab-btn-long\">提交按钮</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-error rab-btn-long\">删除按钮</button>\n    </div>\n\n    <div class=\"example\">\n        <button type=\"button\" class=\"rab-btn\">默认按钮</button>\n        <button disabled type=\"button\" class=\"rab-btn\">默认按钮(禁用)</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮</button>\n        <button disabled type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮(禁用)</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮</button>\n        <button disabled type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮(禁用)</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮</button>\n        <button disabled type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮(禁用)</button>\n    </div>\n\n    <div class=\"example\">\n        <button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-primary\">Loading...</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\" id=\"clickMe\" onclick=\"handleLoad()\">\n            Click me!\n        </button>\n        <button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-circle\"></button>\n        <button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-primary rab-btn-circle\"></button>\n    </div>\n\n    <div class=\"example\">\n        <h4>基本</h4>\n        <br /><br />\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" class=\"rab-btn\">Cancel</button>\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">Confirm</button>\n        </div>\n        <div class=\"rab-btn-group\">\n            <button disabled type=\"button\" class=\"rab-btn\">Yesterday</button>\n            <button disabled type=\"button\" class=\"rab-btn\">Today</button>\n            <button disabled type=\"button\" class=\"rab-btn\">Tomorrow</button>\n        </div>\n        <br /><br />\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">L</button>\n            <button type=\"button\" class=\"rab-btn\">M</button>\n            <button type=\"button\" class=\"rab-btn\">M</button>\n            <button type=\"button\" class=\"rab-btn rab-btn-dashed\">R</button>\n        </div>\n        <br /><br />\n        <h4>图标</h4>\n        <br /><br />\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n                <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n                <span>Backward</span>\n            </button>\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n                <span>Forward</span>\n                <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n            </button>\n        </div>\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" icon=\"ios-skip-backward\" class=\"rab-btn rab-btn-primary\"></button>\n            <button type=\"button\" icon=\"ios-skip-forward\" class=\"rab-btn rab-btn-primary\"></button>\n        </div>\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" icon=\"ios-color-wand\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"ios-sunny\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"ios-crop\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"ios-color-filter\" class=\"rab-btn\"></button>\n        </div>\n        <br /><br />\n        <h4>圆角</h4>\n        <br /><br />\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n                <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n                <span>Backward</span>\n            </button>\n            <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n                <span>Forward</span>\n                <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n            </button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n            <button type=\"button\" icon=\"ios-skip-backward\" class=\"rab-btn rab-btn-primary\"></button>\n            <button type=\"button\" icon=\"ios-skip-forward\" class=\"rab-btn rab-btn-primary\"></button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n            <button type=\"button\" icon=\"ios-color-wand\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"ios-sunny\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"ios-crop\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"ios-color-filter\" class=\"rab-btn\"></button>\n        </div>\n        <br /><br />\n        <h4>尺寸</h4>\n        <br /><br />\n        <div class=\"rab-btn-group rab-btn-group-lg\">\n            <button type=\"button\" class=\"rab-btn\">Large</button>\n            <button type=\"button\" class=\"rab-btn\">Large</button>\n        </div>\n        <div class=\"rab-btn-group\">\n            <button type=\"button\" class=\"rab-btn\">Default</button>\n            <button type=\"button\" class=\"rab-btn\">Default</button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-sm\">\n            <button type=\"button\" class=\"rab-btn\">Small</button>\n            <button type=\"button\" class=\"rab-btn\">Small</button>\n        </div>\n        <br /><br />\n        <div class=\"rab-btn-group rab-btn-group-lg rab-btn-group-circle\">\n            <button type=\"button\" class=\"rab-btn\">Large</button>\n            <button type=\"button\" class=\"rab-btn\">Large</button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n            <button type=\"button\" class=\"rab-btn\">Default</button>\n            <button type=\"button\" class=\"rab-btn\">Default</button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-sm rab-btn-group-circle\">\n            <button type=\"button\" class=\"rab-btn\">Small</button>\n            <button type=\"button\" class=\"rab-btn\">Small</button>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <div class=\"rab-btn-group rab-btn-group-vertical\">\n            <button type=\"button\" icon=\"logo-facebook\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"logo-twitter\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"logo-googleplus\" class=\"rab-btn\"></button>\n            <button type=\"button\" icon=\"logo-tumblr\" class=\"rab-btn\"></button>\n        </div>\n    </div>\n</body>\n<script></script>\n\n</html>"
  },
  {
    "path": "examples/button/index.ts",
    "content": "// @ts-nocheck\nimport Rabbit from '../../src';\n\nexport default function buttonTest(): void {\n    const btn = new Rabbit.Button();\n    window.handleLoad = () => {\n        btn.config('#clickMe').loading = true;\n        setTimeout(() => {\n            btn.config('#clickMe').loading = false;\n        }, 3000);\n    };\n}\n"
  },
  {
    "path": "examples/card/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 495px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .span11 {\n        width: 45%;\n        display: inline-block;\n    }\n    \n    .span22 {\n        width: 45%;\n        display: inline-block;\n        margin-left: 8.33333333%;\n    }\n</style>\n\n<body>\n    <div class=\"example rab-article\">\n        <r-card title=\"卡片标题\" extra=\"<a>更多</a>\" style=\"width: 350px\">\n            <div>\n                <p>卡片内容 1</p>\n                <p>卡片内容 2</p>\n                <p>卡片内容 3</p>\n            </div>\n        </r-card>\n    </div>\n\n    <div class=\"example rab-article\">\n        <div style=\"background: #eee; padding: 20px\">\n            <r-card title=\"无边框\" no-border=\"true\">\n                <p>\n                    这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片\n                </p>\n            </r-card>\n        </div>\n    </div>\n\n    <div class=\"example rab-article\">\n        <r-card class=\"span11\" title=\"卡片标题\">\n            <div>\n                <p>卡片内容 1</p>\n                <p>卡片内容 2</p>\n                <p>卡片内容 3</p>\n            </div>\n        </r-card>\n        <r-card class=\"span22\" title=\"卡片标题\" dis-hover=\"true\">\n            <div>\n                <p>卡片内容 1</p>\n                <p>卡片内容 2</p>\n                <p>卡片内容 3</p>\n            </div>\n        </r-card>\n    </div>\n\n    <div class=\"example rab-article\">\n        <div style=\"background: #eee; padding: 20px\">\n            <r-card class=\"span11\" title=\"卡片标题\" no-border=\"true\">\n                <div>\n                    <p>卡片内容 1</p>\n                    <p>卡片内容 2</p>\n                    <p>卡片内容 3</p>\n                </div>\n            </r-card>\n            <r-card class=\"span22\" title=\"卡片标题\" shadow=\"true\">\n                <div>\n                    <p>卡片内容 1</p>\n                    <p>卡片内容 2</p>\n                    <p>卡片内容 3</p>\n                </div>\n            </r-card>\n        </div>\n    </div>\n\n    <div class=\"example rab-article\">\n        <r-card style=\"width: 350px\">\n            <div style=\"text-align: center\">\n                <img src=\"../../assets/logo.png\" style=\"height: 95px\" />\n                <h3 style=\"margin: 8px 0\">一个基于TS编写的UI插件库</h3>\n            </div>\n        </r-card>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/card/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function cardTest(): void {\n    const card = new Rabbit.Card();\n}\n"
  },
  {
    "path": "examples/carousel/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 750px;\n        padding: 42px 24px 50px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n    \n    .demo-carousel {\n        height: 250px;\n        color: #fff;\n        line-height: 250px;\n        text-align: center;\n        font-size: 20px;\n        background: #364d79;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-carousel>\n            <div>\n                <div class=\"demo-carousel\">1</div>\n                <div class=\"demo-carousel\">2</div>\n                <div class=\"demo-carousel\">3</div>\n                <div class=\"demo-carousel\">4</div>\n            </div>\n        </r-carousel>\n    </div>\n\n    <div class=\"example\">\n        <r-carousel arrow=\"none\" dots=\"nerve\" autoplay=\"true\" hover-pause=\"false\">\n            <div>\n                <div class=\"demo-carousel\">1</div>\n                <div class=\"demo-carousel\">2</div>\n                <div class=\"demo-carousel\">3</div>\n                <div class=\"demo-carousel\">4</div>\n            </div>\n        </r-carousel>\n    </div>\n\n    <div class=\"example\">\n        <r-carousel autoplay=\"true\" id=\"test\">\n            <div>\n                <div class=\"demo-carousel\">1</div>\n                <div class=\"demo-carousel\">2</div>\n                <div class=\"demo-carousel\">3</div>\n                <div class=\"demo-carousel\">4</div>\n            </div>\n        </r-carousel>\n    </div>\n\n    <div class=\"example\">\n        <r-carousel effect=\"fade\" autoplay=\"true\">\n            <div>\n                <div class=\"demo-carousel\">1</div>\n                <div class=\"demo-carousel\">2</div>\n                <div class=\"demo-carousel\">3</div>\n                <div class=\"demo-carousel\">4</div>\n            </div>\n        </r-carousel>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/carousel/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function carouselTest(): void {\n    const carousel = new Rabbit.Carousel();\n    carousel.config('#test').events({\n        onChange: ([oldValue, value]) => {\n            console.log(`原幻灯片索引: ${oldValue}`, `目前激活索引: ${value}`);\n        },\n        onClick: (index) => {\n            console.log(index);\n        }\n    });\n}\n"
  },
  {
    "path": "examples/checkbox/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-checkbox>Checkbox</r-checkbox>\n    </div>\n\n    <div class=\"example\">\n        <r-checkbox-group value=\"['facebook', 'github']\">\n            <r-checkbox label=\"twitter\" icon=\"logo-twitter\">Twitter</r-checkbox>\n            <r-checkbox label=\"facebook\" icon=\"logo-facebook\">Facebook</r-checkbox>\n            <r-checkbox label=\"github\" icon=\"logo-github\">Github</r-checkbox>\n            <r-checkbox label=\"snapchat\" icon=\"logo-snapchat\">Snapchat</r-checkbox>\n        </r-checkbox-group>\n\n        <r-checkbox-group value=\"['西瓜']\">\n            <r-checkbox label=\"苹果\">苹果</r-checkbox>\n            <r-checkbox label=\"西瓜\">西瓜</r-checkbox>\n            <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n    </div>\n\n    <div class=\"example\">\n        <r-checkbox checked=\"true\" disabled>Checkbox</r-checkbox>\n\n        <r-checkbox-group value=\"['西瓜']\">\n            <r-checkbox label=\"苹果\" disabled>苹果</r-checkbox>\n            <r-checkbox label=\"西瓜\" disabled>西瓜</r-checkbox>\n            <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n    </div>\n\n    <div class=\"example\">\n        <r-checkbox-group value=\"['苹果']\">\n            <r-checkbox label=\"苹果\" type=\"border\">苹果</r-checkbox>\n            <r-checkbox label=\"西瓜\" type=\"border\">西瓜</r-checkbox>\n            <r-checkbox label=\"猕猴桃\" type=\"border\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n    </div>\n\n    <div class=\"example\">\n        <div style=\"border-bottom: 1px solid #e9e9e9;padding-bottom:6px;margin-bottom:6px;\">\n            <r-checkbox id=\"checkAll\">全选</r-checkbox>\n        </div>\n        <r-checkbox-group id=\"checkAllGroup\">\n            <r-checkbox label=\"苹果\">苹果</r-checkbox>\n            <r-checkbox label=\"西瓜\">西瓜</r-checkbox>\n            <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/checkbox/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function checkboxTest(): void {\n    const checkbox = new Rabbit.Checkbox();\n\n    const checkAll = checkbox.config('#checkAll');\n    const checkAllGroup = checkbox.config('#checkAllGroup');\n\n    checkAll.events({\n        onChange: (checked: boolean) => {\n            if (checkAll.indeterminate) {\n                checkAllGroup.value = [];\n                checkAll.checked = false;\n                checkAll.indeterminate = false;\n            } else if (checked) {\n                checkAllGroup.value = ['苹果', '西瓜', '猕猴桃'];\n            } else {\n                checkAllGroup.value = [];\n                checkAll.indeterminate = false;\n            }\n        }\n    });\n\n    checkAllGroup.events({\n        onChange: (data: string[]) => {\n            if (data.length === 0) {\n                checkAll.checked = false;\n                checkAll.indeterminate = false;\n            } else if (data.length === 3) {\n                checkAll.checked = true;\n                checkAll.indeterminate = false;\n            } else if (data.length && data.length < 3) {\n                checkAll.indeterminate = true;\n            }\n        }\n    });\n}\n"
  },
  {
    "path": "examples/circle/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .demo-circle-custom h1 {\n        display: inline-block;\n        color: #3f414d;\n        font-size: 28px;\n        font-weight: normal;\n        margin: 24px 0;\n    }\n    \n    .demo-circle-custom p {\n        color: #657180;\n        margin: 16px;\n        font-size: 14px;\n    }\n    \n    .demo-circle-custom span {\n        display: block;\n        padding-top: 15px;\n        color: #657180;\n        font-size: 14px;\n    }\n    \n    .demo-circle-custom span:before {\n        content: '';\n        display: block;\n        width: 50px;\n        height: 1px;\n        margin: 0 auto;\n        background: #e0e3e6;\n        position: relative;\n        top: -15px;\n    }\n    \n    .demo-circle-custom span i {\n        font-style: normal;\n        color: #3f414d;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-circle percent=\"80\">\n            <span style=\"font-size: 24px\">80%</span>\n        </r-circle>\n        <r-circle percent=\"100\" stroke-color=\"#5cb85c\">\n            <i class=\"rab-icon rab-icon-ios-checkmark\" style=\"font-size: 60px; color: #5cb85c\"></i>\n        </r-circle>\n        <r-circle percent=\"35\" stroke-color=\"#ff5500\">\n            <i class=\"rab-icon rab-icon-ios-close\" style=\"font-size: 50px; color: #ff5500\"></i>\n        </r-circle>\n    </div>\n\n    <div class=\"example\">\n        <r-circle percent=\"0\" id=\"test\">\n            <span id=\"percentText\" style=\"font-size: 24px\">0%</span>\n        </r-circle>\n        <div class=\"rab-btn-group rab-btn-group-lg\">\n            <button type=\"button\" class=\"rab-btn rab-btn-icon-only\" onclick=\"add()\">\n                <i class=\"rab-icon rab-icon-ios-add\"></i>\n            </button>\n            <button type=\"button\" class=\"rab-btn rab-btn-icon-only\" onclick=\"minus()\">\n                <i class=\"rab-icon rab-icon-ios-remove\"></i>\n            </button>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <r-circle size=\"250\" trail-width=\"4\" stroke-width=\"5\" percent=\"75\" stroke-linecap=\"square\" stroke-color=\"#43a3fb\">\n            <div class=\"demo-circle-custom\">\n                <h1>42,001,776</h1>\n                <p>消费人群规模</p>\n                <span>\n                    总占人数\n                    <i>75%</i>\n                </span>\n            </div>\n        </r-circle>\n    </div>\n\n    <div class=\"example\">\n        <r-circle percent=\"80\" dashboard=\"true\">\n            <span style=\"font-size: 24px\">80%</span>\n        </r-circle>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/circle/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function circleTest(): void {\n    const circle = new Rabbit.Circle();\n\n    const test = circle.config('#test');\n    const percentText = document.querySelector('#percentText')!;\n\n    let percent = 0;\n\n    // @ts-ignore\n    window.add = () => {\n        if (percent >= 100) {\n            return false;\n        }\n\n        percent += 10;\n        percent == 100 ? (test.strokeColor = '#5cb85c') : '';\n        test.percent = percent;\n        percentText.textContent = `${percent}%`;\n    };\n    // @ts-ignore\n    window.minus = () => {\n        if (percent <= 0) {\n            return false;\n        }\n\n        percent -= 10;\n        test.percent = percent;\n        test.strokeColor = '#1890ff';\n        percentText.textContent = `${percent}%`;\n    };\n}\n"
  },
  {
    "path": "examples/collapse/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 50%;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-collapse active-index=\"1\" id=\"demoCollapse\">\n            <r-collapse-panel index=\"1\" title=\"史蒂夫·乔布斯\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel index=\"2\" title=\"斯蒂夫·盖瑞·沃兹尼亚克\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel index=\"3\" title=\"乔纳森·伊夫\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n        </r-collapse>\n    </div>\n    <div class=\"example\">\n        <r-collapse active-index=\"1\" accordion=\"true\">\n            <r-collapse-panel index=\"1\" title=\"史蒂夫·乔布斯\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel index=\"2\" title=\"斯蒂夫·盖瑞·沃兹尼亚克\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel index=\"3\" title=\"乔纳森·伊夫\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n        </r-collapse>\n    </div>\n    <div class=\"example\">\n        <r-collapse simple=\"true\" active-index=\"0\">\n            <r-collapse-panel title=\"史蒂夫·乔布斯\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel title=\"斯蒂夫·盖瑞·沃兹尼亚克\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel title=\"乔纳森·伊夫\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n        </r-collapse>\n    </div>\n    <div class=\"example\">\n        <r-collapse ghost=\"true\" active-index=\"0\">\n            <r-collapse-panel title=\"史蒂夫·乔布斯\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel title=\"斯蒂夫·盖瑞·沃兹尼亚克\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel title=\"乔纳森·伊夫\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n        </r-collapse>\n    </div>\n    <div class=\"example\">\n        <r-collapse active-index=\"0\">\n            <r-collapse-panel title=\"史蒂夫·乔布斯\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n            <r-collapse-panel hide-arrow=\"true\" title=\"斯蒂夫·盖瑞·沃兹尼亚克\">\n                <p>\n                    A dog is a type of domesticated animal.Known for its loyalty and faithfulness,it can be found as a welcome guest in many households across the world.\n                </p>\n            </r-collapse-panel>\n        </r-collapse>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/collapse/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function collapseTest(): void {\n    const collapse = new Rabbit.Collapse();\n    collapse.config('#demoCollapse').events({\n        onChange: (index) => {\n            console.log(index);\n        }\n    });\n}\n"
  },
  {
    "path": "examples/count-down/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-count-down id=\"test1\"></r-count-down>\n    </div>\n    <div class=\"example\">\n        <r-count-down id=\"test2\"></r-count-down>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/count-down/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function countDownTest(): void {\n    const countDown = new Rabbit.CountDown();\n\n    const date = new Date();\n\n    const YYMMDD = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;\n    const h = date.getHours();\n    const mm = date.getMinutes();\n\n    // 'YY/MM/DD hh:mm:ss'\n    countDown.config('#test1').endTime = `${YYMMDD} ${h + 1}:00:00`;\n\n    countDown.config('#test2').endTime = `${YYMMDD} ${h}:${mm + 1}:00`;\n\n    countDown.config('#test2').events({\n        onStop: (stop) => {\n            if (stop) alert('倒计时结束!');\n        }\n    });\n}\n"
  },
  {
    "path": "examples/divider/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <div>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n            <r-divider></r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n            <r-divider>标题居中</r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n            <r-divider dashed=\"true\"></r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <div>\n            文本\n            <r-divider type=\"vertical\"></r-divider>\n            <a href=\"#\">链接</a>\n            <r-divider type=\"vertical\"></r-divider>\n            <a href=\"#\">链接</a>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <div>\n            <r-divider orientation=\"left\">左侧标题</r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n            <r-divider orientation=\"right\">右侧标题</r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <div>\n            <r-divider plain=\"true\">标题居中</r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n            <r-divider plain=\"true\" orientation=\"left\">右侧标题</r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n            <r-divider plain=\"true\" orientation=\"right\">右侧标题</r-divider>\n            <p>\n                从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n            </p>\n        </div>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/divider/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function dividerTest(): void {\n    const divider = new Rabbit.Divider();\n}\n"
  },
  {
    "path": "examples/drawer/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 480px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .example2 {\n        width: 480px;\n        height: 200px;\n        margin: 20px auto;\n        overflow: hidden;\n        position: relative;\n        border: 1px solid #ebedf0;\n        border-radius: 2px;\n        padding: 48px;\n        text-align: center;\n        background: #fafafa;\n    }\n</style>\n\n<body style=\"height: 1000px\">\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"Op1()\">Open</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"handleTop()\">Top</button>\n        <button class=\"rab-btn\" onclick=\"handleLeft()\">Left</button>\n        <button class=\"rab-btn\" onclick=\"handleBottom()\">Bottom</button>\n        <button class=\"rab-btn\" onclick=\"handleRight()\">Right</button>\n    </div>\n\n    <div class=\"example2\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handleOpenInner()\">Open Inner</button>\n        <r-drawer title=\"Basic Drawer\" id=\"test6\" inner=\"true\">\n            <p>Some contents...</p>\n        </r-drawer>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"multilayerDrawer()\">多层抽屉</button>\n    </div>\n\n    <r-drawer title=\"Basic Drawer\" id=\"test1\">\n        <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n        </div>\n    </r-drawer>\n\n    <r-drawer id=\"test2\" title=\"Basic Drawer\" placement=\"top\">\n        <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n        </div>\n    </r-drawer>\n\n    <r-drawer id=\"test3\" title=\"Basic Drawer\" placement=\"left\">\n        <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n        </div>\n    </r-drawer>\n\n    <r-drawer id=\"test4\" title=\"Basic Drawer\" placement=\"bottom\">\n        <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n        </div>\n    </r-drawer>\n\n    <r-drawer id=\"test5\" title=\"Basic Drawer\">\n        <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n        </div>\n    </r-drawer>\n\n    <r-drawer id=\"test7\" title=\"多层抽屉\" width=\"512px\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"secondDrawer()\">打开第二层抽屉</button>\n    </r-drawer>\n\n    <r-drawer id=\"test8\" title=\"第二层抽屉\">\n        <p>这是第二层抽屉。</p>\n    </r-drawer>\n\n    <!-- <r-drawer>\n        <div class=\"rab-drawer-mask\"></div>\n        <div class=\"rab-drawer-wrap\">\n            <div class=\"rab-drawer rab-drawer-right\" style=\"width: 256px\">\n                <div class=\"rab-drawer-content\">\n                    <a class=\"rab-drawer-close\"><i class=\"rab-icon rab-icon-ios-close\"></i></a>\n                    <div class=\"rab-drawer-header\">\n                        <div class=\"rab-drawer-header-inner\">Basic Drawer</div>\n                    </div>\n                    <div class=\"rab-drawer-body\">\n                        <p>Some contents...</p>\n                        <p>Some contents...</p>\n                        <p>Some contents...</p>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </r-drawer> -->\n</body>\n\n</html>"
  },
  {
    "path": "examples/drawer/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function drawerTest(): void {\n    const drawer = new Rabbit.Drawer();\n\n    let f1 = false;\n    // @ts-ignore\n    window.Op1 = () => {\n        f1 === false ? (f1 = !f1) : f1;\n        drawer.config('#test1').visable = f1;\n    };\n    drawer.config('#test1').events({\n        onClose: () => {\n            console.log('关闭抽屉');\n        }\n    });\n\n    let top = false;\n    // @ts-ignore\n    window.handleTop = () => {\n        top === false ? (top = !top) : top;\n        drawer.config('#test2').visable = top;\n    };\n\n    let left = false;\n    // @ts-ignore\n    window.handleLeft = () => {\n        left === false ? (left = !left) : left;\n        drawer.config('#test3').visable = left;\n    };\n\n    let bottom = false;\n    // @ts-ignore\n    window.handleBottom = () => {\n        bottom === false ? (bottom = !bottom) : bottom;\n        drawer.config('#test4').visable = bottom;\n    };\n\n    let right = false;\n    // @ts-ignore\n    window.handleRight = () => {\n        right === false ? (right = !right) : right;\n        drawer.config('#test5').visable = right;\n    };\n\n    let inner = false;\n    // @ts-ignore\n    window.handleOpenInner = () => {\n        inner === false ? (inner = !inner) : inner;\n        drawer.config('#test6').visable = inner;\n    };\n\n    let first = false;\n    // @ts-ignore\n    window.multilayerDrawer = () => {\n        first === false ? (first = !first) : first;\n        drawer.config('#test7').visable = first;\n    };\n\n    let second = false;\n    // @ts-ignore\n    window.secondDrawer = () => {\n        second === false ? (second = !second) : second;\n        drawer.config('#test8').visable = second;\n    };\n}\n"
  },
  {
    "path": "examples/dropdown/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 1000px;\n    }\n    \n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .example.marginRight20px r-dropdown {\n        margin-right: 20px;\n    }\n    \n    .custom r-dropdown-item:hover {\n        background-color: #fff;\n        cursor: default;\n    }\n</style>\n\n<body>\n    <div class=\"example marginRight20px\">\n        <r-dropdown id=\"test\">\n            <a>下拉菜单 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item disabled>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item divided>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown>\n            <button class=\"rab-btn rab-btn-primary\">\n                下拉菜单 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n            </button>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item disabled>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item divided>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n    </div>\n\n    <div class=\"example marginRight20px\">\n        <r-dropdown>\n            <a>hover 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown trigger=\"click\">\n            <a>click 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown trigger=\"contextMenu\">\n            <a>右键触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>返回</r-dropdown-item>\n                <r-dropdown-item danger>删除</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown trigger=\"custom\" class=\"custom\" id=\"testCustom\">\n            <a onclick=\"handleOpen()\">\n                custom 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n            </a>\n            <r-dropdown-menu>\n                <r-dropdown-item>\n                    <p>常用于各种自定义下拉内容的场景。</p>\n                    <div style=\"text-align: right;margin:10px;\">\n                        <button class=\"rab-btn rab-btn-primary\" onclick=\"handleClose()\">关闭</button>\n                    </div>\n                </r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n    </div>\n\n    <div class=\"example marginRight20px\">\n        <r-dropdown placement=\"bottom-start\">\n            <a>菜单(左) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown>\n            <a>\n                菜单(居中) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n            </a>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown placement=\"bottom-end\">\n            <a>菜单(右) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>老干妈</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item>葱油饼</r-dropdown-item>\n                <r-dropdown-item>黄金糕</r-dropdown-item>\n                <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n    </div>\n\n    <div class=\"example\">\n        <r-dropdown placement=\"bottom-start\">\n            <a>北京小吃 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n            <r-dropdown-menu>\n                <r-dropdown-item>豆汁儿</r-dropdown-item>\n                <r-dropdown-item>炸酱面</r-dropdown-item>\n                <r-dropdown-item>驴打滚</r-dropdown-item>\n                <!-- 嵌套下拉菜单 start -->\n                <r-dropdown placement=\"right-start\">\n                    <r-dropdown-item>\n                        北京烤鸭 <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n                    </r-dropdown-item>\n                    <r-dropdown-menu>\n                        <r-dropdown-item>壁炉烤鸭</r-dropdown-item>\n                        <r-dropdown-item>焖炉烤鸭</r-dropdown-item>\n                    </r-dropdown-menu>\n                </r-dropdown>\n                <!-- 嵌套下拉菜单 end -->\n                <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n            </r-dropdown-menu>\n        </r-dropdown>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/dropdown/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function dropdownTest(): void {\n    const dropdown = new Rabbit.Dropdown();\n\n    dropdown.config('#test').events({\n        onClick: (key) => {\n            console.log(key);\n        },\n        onVisibleChange: (visible) => {\n            console.log(visible);\n        }\n    });\n\n    // @ts-ignore\n    window.handleOpen = () => (dropdown.config('#testCustom').visible = true);\n    // @ts-ignore\n    window.handleClose = () => (dropdown.config('#testCustom').visible = false);\n}\n"
  },
  {
    "path": "examples/empty/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 918px;\n        padding: 42px 24px 50px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-empty></r-empty>\n    </div>\n    <div class=\"example\">\n        <r-empty desc=\"自定义的<a>描述</a>\" image=\"https://gw.alipayobjects.com/mdn/miniapp_social/afts/img/A*pevERLJC9v0AAAAAAAAAAABjAQAAAQ/original\" image-style=\"height: 60px\">\n            <button class=\"rab-btn rab-btn-primary\">立即创建</button>\n        </r-empty>\n    </div>\n    <div class=\"example\">\n        <r-empty desc=\"false\"></r-empty>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/empty/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function emptyTest(): void {\n    const empty = new Rabbit.Empty();\n}\n"
  },
  {
    "path": "examples/input-number/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-input-number value=\"1\" max=\"10\" id=\"test1\"></r-input-number>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"1\" min=\"1\" max=\"10\" step=\"1.2\"></r-input-number>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"1000\" formatter=\"`$ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\" parser=\"[/\\$\\s?|(,*)/g, '']\"></r-input-number>\n        <r-input-number value=\"100\" formatter=\"`${value}%`\"></r-input-number>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"3\" size=\"small\"></r-input-number>\n        <r-input-number value=\"3\"></r-input-number>\n        <r-input-number value=\"3\" size=\"large\"></r-input-number>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"1\" disabled=\"true\" id=\"test2\"></r-input-number>\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handleClick()\">禁用状态</button>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"1\" editable=\"false\"></r-input-number>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"1\" readonly=\"true\"></r-input-number>\n    </div>\n\n    <div class=\"example\">\n        <r-input-number value=\"1\" controls-outside=\"true\"></r-input-number>\n    </div>\n\n</body>\n\n</html>"
  },
  {
    "path": "examples/input-number/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function inputNumberTest(): void {\n    const inputNumber = new Rabbit.InputNumber();\n\n    inputNumber.config('#test1').events({\n        onChange: (value) => {\n            console.log('changed!', value);\n        }\n    });\n\n    let flag = true;\n    // @ts-ignore\n    window.handleClick = () => {\n        flag ? (flag = !flag) : (flag = true);\n        inputNumber.config('#test2').disabled = flag;\n    };\n}\n"
  },
  {
    "path": "examples/jumbotron/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 940px;\n        padding: 42px 24px 50px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-jumbotron title=\"Hello, world!\" sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\">\n            <div>\n                <hr style=\"margin-bottom: 1.5rem;\" />\n                <p>它使用实用程序类来排版和空格，以便在较大的容器中分隔内容。</p>\n                <button class=\"rab-btn rab-btn-primary rab-btn-lg\">了解更多</button>\n            </div>\n        </r-jumbotron>\n    </div>\n\n    <div class=\"example\">\n        <r-jumbotron type=\"light\" title=\"Hello, world!\" sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\">\n        </r-jumbotron>\n    </div>\n\n    <div class=\"example\">\n        <r-jumbotron type=\"dark\" title=\"Hello, world!\" sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\">\n        </r-jumbotron>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/jumbotron/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function jumbotronTest(): void {\n    const jumbotron = new Rabbit.Jumbotron();\n}\n"
  },
  {
    "path": "examples/loading-bar/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"Start()\">Start</button>\n        <button class=\"rab-btn\" onclick=\"Finish()\">Finish</button>\n        <button class=\"rab-btn\" onclick=\"_Error()\">Error</button>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/loading-bar/index.ts",
    "content": "/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport Rabbit from '../../src';\n\nexport default function loadingBarTest(): void {\n    // Rabbit.Loading.config({\n    //   height: 5,\n    //   color: '#5cb85c',\n    //   failedColor: '#f0ad4e',\n    //   duration: 1000,\n    // });\n\n    // @ts-ignore\n    window.Start = () => {\n        Rabbit.Loading.start();\n    };\n    // @ts-ignore\n    window.Finish = () => {\n        Rabbit.Loading.finish();\n    };\n    // @ts-ignore\n    window._Error = () => {\n        Rabbit.Loading.error();\n    };\n}\n"
  },
  {
    "path": "examples/main.ts",
    "content": "import affixTest from './affix';\nimport alertTest from './alert';\nimport avatarTest from './avatar';\nimport backtopTest from './back-top';\nimport badgeTest from './badge';\nimport breadcrumbTest from './breadcrumb';\nimport buttonTest from './button';\nimport cardTest from './card';\nimport carouselTest from './carousel';\nimport checkboxTest from './checkbox';\nimport circleTest from './circle';\nimport collapseTest from './collapse';\nimport countDownTest from './count-down';\nimport dividerTest from './divider';\nimport drawerTest from './drawer';\nimport dropdownTest from './dropdown';\nimport emptyTest from './empty';\nimport inputNumberTest from './input-number';\nimport jumbotronTest from './jumbotron';\nimport loadingBarTest from './loading-bar';\nimport messageTest from './message';\nimport poptipTest from './poptip';\nimport modalTest from './modal';\nimport miniModalTest from './mini-modal';\nimport noticeTest from './notice';\nimport pageHeaderTest from './page-header';\nimport progressTest from './progress';\nimport radioTest from './radio';\nimport resultTest from './result';\nimport skeletonTest from './skeleton';\nimport spinTest from './spin';\nimport stepsTest from './steps';\nimport switchTest from './switch';\nimport tabsTest from './tabs';\nimport tagTest from './tag';\nimport timeTest from './time';\nimport timelineTest from './timeline';\nimport tooltipTest from './tooltip';\n\nimport '../src/styles/index.less';\n\n// affixTest();\n// alertTest();\n// avatarTest();\n// backtopTest();\n// badgeTest();\n// breadcrumbTest();\n// buttonTest();\n// cardTest();\n// carouselTest();\n// checkboxTest();\n// circleTest();\n// collapseTest();\n// countDownTest();\n// dividerTest();\n// drawerTest();\n// dropdownTest();\n// emptyTest();\n// inputNumberTest();\n// jumbotronTest();\n// loadingBarTest();\nmessageTest();\n// modalTest();\n// miniModalTest();\n// noticeTest();\n// pageHeaderTest();\n// poptipTest();\n// progressTest();\n// radioTest();\n// resultTest();\n// skeletonTest();\n// stepsTest();\n// spinTest();\n// switchTest();\n// tabsTest();\n// tagTest();\n// timeTest();\n// timelineTest();\n// tooltipTest();\n"
  },
  {
    "path": "examples/message/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <!-- <div class=\"rab-message\" style=\"top: 24px; z-index: 1010\">\n        <div class=\"rab-message-notice rab-message-move-enter\">\n            <div class=\"rab-message-notice-content rab-message-notice-content-info\">\n                <div class=\"rab-message-notice-content-text\">\n                    <div class=\"rab-message-info\">\n                        <i class=\"rab-icon rab-icon-ios-information-circle\"></i>\n                        <span>这是一条普通的提示</span>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div> -->\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"info()\">显示消息提示</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"success()\">显示成功提示</button>\n        <button class=\"rab-btn\" onclick=\"warning()\">显示警告提示</button>\n        <button class=\"rab-btn\" onclick=\"error()\">显示错误提示</button>\n    </div>\n\n    <div class=\"example\">\n        <h3>带背景色</h3>\n        <button class=\"rab-btn\" onclick=\"background('info')\">显示消息提示</button>\n        <button class=\"rab-btn\" onclick=\"background('success')\">显示成功提示</button>\n        <button class=\"rab-btn\" onclick=\"background('warning')\">显示警告提示</button>\n        <button class=\"rab-btn\" onclick=\"background('error')\">显示错误提示</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"loading()\">显示加载中...</button>\n        <button class=\"rab-btn\" onclick=\"promise()\">Promise 接口</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"time()\">显示10秒的提示</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"closable()\">显示可关闭的提示</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"useHTML()\">使用 HTML 片段</button>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/message/index.ts",
    "content": "// @ts-nocheck\nimport Rabbit from '../../src';\n\nexport default function messaest(): void {\n    // 全局配置\n    // Rabbit.Message.config({\n    //     duration: 8,\n    //     top: 254\n    // });\n    window.info = () => {\n        Rabbit.Message.info('这是一条普通的提示');\n    };\n\n    window.success = () => {\n        Rabbit.Message.success('这是一条成功的提示');\n    };\n    window.warning = () => {\n        Rabbit.Message.warning('这是一条警告的提示');\n    };\n    window.error = () => {\n        Rabbit.Message.error('这是一条错误的提示');\n    };\n\n    window.background = (type: string) => {\n        Rabbit.Message[type]({\n            content: '这是一条带背景色的通知',\n            background: true,\n            duration: 5\n        });\n    };\n\n    window.loading = () => {\n        Rabbit.Message.loading({\n            content: '正在加载中...',\n            duration: 0,\n            key: 'msgkey'\n        });\n        setTimeout(() => Rabbit.Message.destroy('msgkey'), 5000);\n    };\n    window.promise = () => {\n        Rabbit.Message.loading('正在加载中...').then(() => {\n            Rabbit.Message.success('加载成功!').then(() => {\n                Rabbit.Message.info('加载成功后的提示');\n            });\n        });\n    };\n    window.time = () => {\n        Rabbit.Message.success({\n            content: '这是成功的提示信息，我将在10秒内消失',\n            duration: 10\n        });\n    };\n    window.closable = () => {\n        Rabbit.Message.info({\n            content: '可手动关闭的提示',\n            duration: 8,\n            closable: true\n        });\n    };\n    window.useHTML = () => {\n        Rabbit.Message.info({\n            content: '<strong>这是 <i>HTML</i> 片段</strong>',\n            dangerouslyUseHTMLString: true\n        });\n    };\n}\n"
  },
  {
    "path": "examples/mini-modal/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 1000px;\n    }\n    \n    .example {\n        width: 480px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"instance('info')\">消息</button>\n        <button class=\"rab-btn\" onclick=\"instance('success')\">成功</button>\n        <button class=\"rab-btn\" onclick=\"instance('warning')\">警告</button>\n        <button class=\"rab-btn\" onclick=\"instance('error')\">错误</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"confirm()\">标准</button>\n        <button class=\"rab-btn\" onclick=\"custom()\">自定义按钮文字</button>\n        <button class=\"rab-btn\" onclick=\"async()\">异步关闭</button>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/mini-modal/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function miniModalTest(): void {\n    const title = '对话框标题';\n    const content = '这是一段对话框的内容';\n\n    // @ts-ignore\n    window.instance = (type: string) => {\n        switch (type) {\n            case 'info':\n                Rabbit.MiniModal.info({\n                    title,\n                    content\n                });\n                break;\n            case 'success':\n                Rabbit.MiniModal.success({\n                    title,\n                    content\n                });\n                break;\n            case 'warning':\n                Rabbit.MiniModal.warning({\n                    title,\n                    content\n                });\n                break;\n            case 'error':\n                Rabbit.MiniModal.error({\n                    title,\n                    content\n                });\n                break;\n        }\n    };\n\n    // @ts-ignore\n    window.confirm = () => {\n        Rabbit.MiniModal.confirm({\n            title: '确认对话框标题',\n            content: '<p>这是一段自定义的内容...</p><p>这是一段自定义的内容...</p>',\n            dangerouslyUseHTMLString: true,\n            onOk: () => {\n                Rabbit.Message.info('点击了确定');\n            },\n            onCancel: () => {\n                Rabbit.Message.info('点击了取消');\n            }\n        });\n    };\n\n    // @ts-ignore\n    window.custom = () => {\n        Rabbit.MiniModal.confirm({\n            title: '确认对话框标题',\n            content: '<p>这是一段自定义的内容...</p><p>这是一段自定义的内容...</p>',\n            okText: 'OK',\n            cancelText: 'Cancel',\n            dangerouslyUseHTMLString: true\n        });\n    };\n\n    // @ts-ignore\n    window.async = () => {\n        Rabbit.MiniModal.confirm({\n            title: '确认对话框标题',\n            content: '<p>对话框将在 2秒 后关闭</p>',\n            loading: true,\n            dangerouslyUseHTMLString: true,\n            onOk: () => {\n                setTimeout(() => {\n                    Rabbit.MiniModal.remove();\n                    Rabbit.Message.info('异步关闭了对话框');\n                }, 2000);\n            }\n        });\n    };\n}\n"
  },
  {
    "path": "examples/modal/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 1000px;\n    }\n    \n    .example {\n        width: 480px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .vertical-center-modal {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n    \n    .vertical-center-modal .rab-modal {\n        top: 0;\n    }\n    \n    .demo-custom-modal .rab-modal {\n        top: 20px;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handleModal1()\">显示对话框</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"handleModal2()\">不带标题栏</button>\n        <button class=\"rab-btn\" onclick=\"handleModal3()\">国际化</button>\n        <button class=\"rab-btn\" onclick=\"handleModal4()\">设置宽度</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handleModal5()\">异步关闭</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"handleModal6()\">禁用右上角关闭(含Esc键)</button>\n        <button class=\"rab-btn\" onclick=\"handleModal7()\">禁用遮罩层关闭</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"handleModal8()\">垂直居中</button>\n        <button class=\"rab-btn\" onclick=\"handleModal9()\">距离顶部20px</button>\n    </div>\n\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"handleModal10()\">显示全屏对话框</button>\n    </div>\n\n    <r-modal title=\"普通的Modal对话框标题\" id=\"m1\">\n        <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n        </div>\n    </r-modal>\n\n    <r-modal id=\"m2\">\n        <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"Modal Title\" ok-text=\"ok\" cancel-text=\"cancel\" id=\"m3\">\n        <div>\n            <p>Some Content...</p>\n            <p>Some Content...</p>\n            <p>Some Content...</p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"自定义宽度\" width=\"360px\" id=\"m4\">\n        <div>\n            <p>自定义宽度，单位 px，默认 520px。</p>\n            <p>\n                对话框的宽度是响应式的，当屏幕尺寸小于 768px 时，宽度会变为自动\n                <code>auto</code>。\n            </p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"对话框标题\" loading=\"true\" id=\"m5\">\n        <p>点击确定后，对话框将在 2秒 后关闭。</p>\n    </r-modal>\n\n    <r-modal title=\"对话框标题\" closable=\"false\" id=\"m6\">\n        <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"对话框标题\" mask-closable=\"false\" id=\"m7\">\n        <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"对话框标题\" class-name=\"vertical-center-modal\" id=\"m8\">\n        <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"对话框标题\" class-name=\"demo-custom-modal\" id=\"m9\">\n        <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n        </div>\n    </r-modal>\n\n    <r-modal title=\"全屏对话框\" fullscreen=\"true\" id=\"m10\">\n        <p>这是一个全屏的对话框</p>\n    </r-modal>\n</body>\n\n</html>"
  },
  {
    "path": "examples/modal/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function modalTest(): void {\n    const modal = new Rabbit.Modal();\n\n    let timer: any;\n    // @ts-ignore\n    window.handleModal1 = () => {\n        modal.config('#m1').visible = true;\n        modal.config('#m1').events({\n            onOk: () => {\n                Rabbit.Message.info('点击了确定');\n            },\n            onCancel: () => {\n                Rabbit.Message.info('点击了取消');\n            }\n        });\n    };\n    // @ts-ignore\n    window.handleModal2 = () => {\n        modal.config('#m2').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal3 = () => {\n        modal.config('#m3').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal4 = () => {\n        modal.config('#m4').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal5 = () => {\n        modal.config('#m5').visible = true;\n        modal.config('#m5').events({\n            onOk: () => {\n                timer = setTimeout(() => {\n                    modal.config('#m5').visible = false;\n                }, 2000);\n            },\n            onCancel: () => {\n                clearTimeout(timer);\n            }\n        });\n    };\n    // @ts-ignore\n    window.handleModal6 = () => {\n        modal.config('#m6').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal7 = () => {\n        modal.config('#m7').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal8 = () => {\n        modal.config('#m8').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal9 = () => {\n        modal.config('#m9').visible = true;\n    };\n    // @ts-ignore\n    window.handleModal10 = () => {\n        modal.config('#m10').visible = true;\n    };\n}\n"
  },
  {
    "path": "examples/notice/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"normal()\">打开提醒</button>\n        <button class=\"rab-btn\" onclick=\"onlyTitle()\">打开提醒 (仅标题)</button>\n    </div>\n    <div class=\"example\">\n        <p>带描述信息</p>\n        <button class=\"rab-btn\" onclick=\"getInfo()\">消息</button>\n        <button class=\"rab-btn\" onclick=\"getSuccess()\">成功</button>\n        <button class=\"rab-btn\" onclick=\"getWarning()\">警告</button>\n        <button class=\"rab-btn\" onclick=\"getError()\">错误</button>\n        <br /><br />\n        <p>仅标题</p>\n        <button class=\"rab-btn\" onclick=\"getInfoNodesc()\">消息</button>\n        <button class=\"rab-btn\" onclick=\"getSuccessNodesc()\">成功</button>\n        <button class=\"rab-btn\" onclick=\"getWarningNodesc()\">警告</button>\n        <button class=\"rab-btn\" onclick=\"getErrorNodesc()\">错误</button>\n    </div>\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"multipleNotice()\">显示顺序通知</button>\n    </div>\n    <div class=\"example\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"customTime()\">自定义时长</button>\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"customStyle()\">自定义样式</button>\n    </div>\n    <div class=\"example\">\n        <button class=\"rab-btn\" onclick=\"useHTML()\">使用HTML片段</button>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/notice/index.ts",
    "content": "//@ts-nocheck\nimport Rabbit from '../../src';\n\nexport default function noticeTest(): void {\n    // Rabbit.Notice.config({\n    //   top: 50,\n    //   duration: 3\n    // });\n\n    window.normal = () => {\n        Rabbit.Notice.open({\n            title: '这是通知标题',\n            desc:\n                '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述,这里是通知的描述',\n            onClick: () => {\n                console.log('Notification Clicked!');\n            },\n            onClose: () => {\n                console.log('Notification Close!');\n            }\n        });\n    };\n\n    window.onlyTitle = () => {\n        Rabbit.Notice.open({\n            title: '这是通知标题',\n            closable: false\n        });\n    };\n\n    window.getInfo = () => {\n        Rabbit.Notice.info({\n            title: '这是通知标题',\n            desc:\n                '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述,这里是通知的描述'\n        });\n    };\n\n    window.getSuccess = () => {\n        Rabbit.Notice.success({\n            title: '这是通知标题',\n            desc:\n                '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述,这里是通知的描述'\n        });\n    };\n\n    window.getWarning = () => {\n        Rabbit.Notice.warning({\n            title: '这是通知标题',\n            desc:\n                '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述,这里是通知的描述'\n        });\n    };\n\n    window.getError = () => {\n        Rabbit.Notice.error({\n            title: '这是通知标题',\n            desc:\n                '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述,这里是通知的描述'\n        });\n    };\n\n    window.getInfoNodesc = () => {\n        Rabbit.Notice.info({\n            title: '这是通知标题'\n        });\n    };\n\n    window.getSuccessNodesc = () => {\n        Rabbit.Notice.success({\n            title: '这是通知标题'\n        });\n    };\n\n    window.getWarningNodesc = () => {\n        Rabbit.Notice.warning({\n            title: '这是通知标题'\n        });\n    };\n\n    window.getErrorNodesc = () => {\n        Rabbit.Notice.error({\n            title: '这是通知标题'\n        });\n    };\n\n    window.multipleNotice = () => {\n        Rabbit.Notice.open({\n            title: '行程已发布',\n            desc: '您的行程订单已发布，正在等待待车主接单...'\n        }).then(() => {\n            Rabbit.Notice.info({\n                title: '已有车主接单啦！',\n                desc: '你发布的行程订单已有车主接单了，请提前付款以免被取消订单！'\n            }).then(() => {\n                Rabbit.Notice.success({\n                    title: '费用支付成功',\n                    desc: '您的行程将在2021.9.9 12:30 开始'\n                });\n            });\n        });\n    };\n\n    window.customTime = () => {\n        Rabbit.Notice.open({\n            title: '这是通知标题',\n            desc: '这条通知不会自动关闭，需要点击关闭按钮才可以关闭。',\n            duration: 0\n        });\n    };\n\n    window.customStyle = () => {\n        Rabbit.Notice.open({\n            title: '这是通知标题',\n            desc:\n                '这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述,这里是通知的描述',\n            style: 'width: 600px; background: #ccc;'\n        });\n    };\n\n    window.useHTML = () => {\n        Rabbit.Notice.open({\n            title: 'HTML片段',\n            // eslint-disable-next-line quotes\n            desc: `<strong>这是 <i>HTML</i> 片段</strong>`,\n            dangerouslyUseHTMLString: true\n        });\n    };\n}\n"
  },
  {
    "path": "examples/page-header/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 918px;\n        padding: 0 20px;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-page-header title=\"首页\" sub-title=\"这是副标题描述\" style=\"border: 1px solid #f0f0f0\"></r-page-header>\n    </div>\n\n</body>\n\n</html>"
  },
  {
    "path": "examples/page-header/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function pageHeaderTest(): void {\n    const pageHeader = new Rabbit.PageHeader();\n    pageHeader.config('#a').events({\n        onBack: () => {\n            console.log('点击返回');\n        }\n    });\n}\n"
  },
  {
    "path": "examples/poptip/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" title=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 1300px;\n    }\n    \n    .example {\n        width: 550px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .top,\n    .bottom {\n        text-align: center;\n    }\n    \n    .center {\n        width: 300px;\n        margin: 10px auto;\n        overflow: hidden;\n    }\n    \n    .center-left {\n        float: left;\n    }\n    \n    .center-right {\n        float: right;\n    }\n    \n    .api table {\n        font-family: Consolas, Menlo, Courier, monospace;\n        font-size: 12px;\n        border-collapse: collapse;\n        border-spacing: 0;\n        empty-cells: show;\n        border: 1px solid #e9e9e9;\n        width: 100%;\n        margin-bottom: 24px;\n    }\n    \n    .api table td,\n    .api table th {\n        border: 1px solid #e9e9e9;\n        padding: 8px 16px;\n        text-align: left;\n    }\n    \n    .api table th {\n        background: #f7f7f7;\n        white-space: nowrap;\n        color: #5c6b77;\n        font-weight: 600;\n    }\n</style>\n\n<body>\n    <div class=\"example\" style=\"margin-top: 80px\">\n        <r-poptip trigger=\"hover\" title=\"标题\" content=\"提示内容\">\n            <button type=\"button\" class=\"rab-btn\">hover 激活</button>\n        </r-poptip>\n        <r-poptip title=\"标题\" content=\"提示内容\" id=\"test1\">\n            <button type=\"button\" class=\"rab-btn\">click 激活</button>\n        </r-poptip>\n        <r-poptip trigger=\"focus\" title=\"标题\" content=\"提示内容\">\n            <button type=\"button\" class=\"rab-btn\">focus 激活</button>\n        </r-poptip>\n        <r-poptip title=\"标题\" content=\"<span style='color:#ccc'>请输入内容...</span>\" id=\"testInput\">\n            <input type=\"text\" placeholder=\"配合输入框\" oninput=\"handleChange(this.value)\" />\n        </r-poptip>\n    </div>\n\n    <div class=\"example\">\n        <div class=\"top\">\n            <r-poptip title=\"标题\" content=\"提示内容\" placement=\"top-start\">\n                <button class=\"rab-btn\">上左</button>\n            </r-poptip>\n            <r-poptip title=\"标题\" content=\"提示内容\">\n                <button class=\"rab-btn\">上边</button>\n            </r-poptip>\n            <r-poptip title=\"标题\" content=\"提示内容\" placement=\"top-end\">\n                <button class=\"rab-btn\">上右</button>\n            </r-poptip>\n        </div>\n        <div class=\"center\">\n            <div class=\"center-left\">\n                <r-poptip title=\"标题\" content=\"提示内容\" placement=\"left-start\">\n                    <button class=\"rab-btn\">左上</button> </r-poptip><br /><br />\n                <r-poptip title=\"标题\" content=\"提示内容\" placement=\"left\">\n                    <button class=\"rab-btn\">左边</button> </r-poptip><br /><br />\n                <r-poptip title=\"标题\" content=\"提示内容\" placement=\"left-end\">\n                    <button class=\"rab-btn\">左下</button>\n                </r-poptip>\n            </div>\n            <div class=\"center-right\">\n                <r-poptip title=\"标题\" content=\"提示内容\" placement=\"right-start\">\n                    <button class=\"rab-btn\">右上</button> </r-poptip><br /><br />\n                <r-poptip title=\"标题\" content=\"提示内容\" placement=\"right\">\n                    <button class=\"rab-btn\">右边</button> </r-poptip><br /><br />\n                <r-poptip title=\"标题\" content=\"提示内容\" placement=\"right-end\">\n                    <button class=\"rab-btn\">右下</button>\n                </r-poptip>\n            </div>\n        </div>\n        <div class=\"bottom\">\n            <r-poptip title=\"标题\" content=\"提示内容\" placement=\"bottom-start\">\n                <button class=\"rab-btn\">下左</button>\n            </r-poptip>\n            <r-poptip title=\"标题\" content=\"提示内容\" placement=\"bottom\">\n                <button class=\"rab-btn\">下边</button>\n            </r-poptip>\n            <r-poptip title=\"标题\" content=\"提示内容\" placement=\"bottom-end\">\n                <button class=\"rab-btn\">下右</button>\n            </r-poptip>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <r-poptip id=\"test2\" title=\"标题\" content=\"<a onclick='handleClose()'>关闭提示框</a>\">\n            <a>Click 激活</a>\n        </r-poptip>\n    </div>\n\n    <div class=\"example\">\n        <r-poptip disabled=\"true\">\n            <button class=\"rab-btn\">禁用提示</button>\n        </r-poptip>\n    </div>\n\n    <div class=\"example\">\n        <r-poptip width=\"400\" placement=\"right\" id=\"test3\">\n            <button class=\"rab-btn\">复杂内容</button>\n        </r-poptip>\n    </div>\n\n    <div class=\"example\">\n        <r-poptip word-wrap=\"true\" width=\"200\" content=\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\">\n            <button class=\"rab-btn\">长文本</button>\n        </r-poptip>\n    </div>\n\n    <div class=\"example\">\n        <r-poptip confirm=\"true\" title=\"您确认删除这条内容吗？\" id=\"test4\">\n            <button class=\"rab-btn\">删除</button>\n        </r-poptip>\n        <r-poptip confirm=\"true\" title=\"Are you sure delete this task?\" ok-text=\"yes\" cancel-text=\"no\">\n            <button class=\"rab-btn\">国际化</button>\n        </r-poptip>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/poptip/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function poptipTest(): void {\n    const poptip = new Rabbit.Poptip();\n\n    poptip.config('#test1').events({\n        onPopperShow: () => {\n            console.log('poptip show');\n        },\n        onPopperHide: () => {\n            console.log('poptip hide');\n        }\n    });\n\n    // @ts-ignore\n    window.handleChange = (value: string) => {\n        poptip.config('#testInput').content = value;\n    };\n    // @ts-ignore\n    window.handleClose = () => {\n        poptip.config('#test2').visible = false;\n    };\n\n    const table = `\n        <div class=\"api\">\n            <table>\n                <thead>\n                    <tr>\n                        <th>日期</th>\n                        <th>姓名</th>\n                        <th>地址</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <tr>\n                        <td>2021-01-17</td>\n                        <td>山本先生</td>\n                        <td>日本福冈县福冈市中央区樱坂</td>\n                    </tr>\n                    <tr>\n                        <td>2021-01-17</td>\n                        <td>山本先生</td>\n                        <td>日本福冈县福冈市中央区樱坂</td>\n                    </tr>\n                    <tr>\n                        <td>2021-01-17</td>\n                        <td>山本先生</td>\n                        <td>日本福冈县福冈市中央区樱坂</td>\n                    </tr>\n                </tbody>\n            </table>\n    </div>\n    `;\n\n    poptip.config('#test3').content = table;\n\n    poptip.config('#test4').events({\n        onOk: () => {\n            Rabbit.Message.info('点击了确定');\n        },\n        onCancel: () => {\n            Rabbit.Message.info('点击了取消');\n        }\n    });\n}\n"
  },
  {
    "path": "examples/progress/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        display: block;\n        width: 35%;\n        padding: 0 20px;\n        margin: 20px auto;\n    }\n    \n    .example r-progress {\n        margin-bottom: 10px;\n    }\n</style>\n\n<body>\n    <!-- status为 success 或 wrong 时替换进度文字显示对应图标\n    <r-progress class=\"rab-progress-show-info\">\n        <div class=\"rab-progress-outer\">\n            <div class=\"rab-progress-inner\">\n                <div class=\"rab-progress-bg\" style=\"width: 25%; height: 10px\">\n                    百分比内显\n                    <span class=\"rab-progress-inner-text\">45%</span>\n                </div>\n                <div class=\"rab-progress-success-bg\" style=\"width: 0%; height: 10px\"></div>\n            </div>\n        </div>\n        百分比内显或 show-text=\"false\" 则移除下面的节点\n        <div class=\"rab-progress-text\">\n            <span class=\"rab-progress-text-inner\">\n          25%\n          <i class=\"rab-icon rab-icon-ios-checkmark-circle\"></i>\n        </span>\n        </div>\n    </r-progress> -->\n\n    <div class=\"example\">\n        <r-progress percent=\"30\"></r-progress>\n        <r-progress percent=\"50\" status=\"active\"></r-progress>\n        <r-progress percent=\"70\" status=\"wrong\"></r-progress>\n        <r-progress percent=\"100\" status=\"success\"></r-progress>\n        <r-progress percent=\"50\" status=\"warning\"></r-progress>\n        <r-progress percent=\"50\" show-text=\"false\"></r-progress>\n    </div>\n\n    <div class=\"example\">\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"30\"></r-progress>\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"70\" status=\"active\"></r-progress>\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"100\" status=\"success\"></r-progress>\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"80\" status=\"warning\"></r-progress>\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"50\" status=\"wrong\"></r-progress>\n    </div>\n\n    <div class=\"example\">\n        <r-progress percent=\"99\" stroke-color=\"['#108ee9', '#87d068']\"></r-progress>\n        <r-progress percent=\"99\" stroke-color=\"['#108ee9', '#87d068']\" status=\"active\"></r-progress>\n    </div>\n\n    <div class=\"example\">\n        <r-progress percent=\"60\" success-percent=\"30\" id=\"a\"></r-progress>\n    </div>\n</body>\n<script></script>\n\n</html>"
  },
  {
    "path": "examples/progress/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function progressTest(): void {\n    const progress = new Rabbit.Progress();\n\n    // progress.config('#a').percent = 80;\n    // progress.config('#a').successPercent = 60;\n}\n"
  },
  {
    "path": "examples/radio/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-radio checked=\"true\">Radio</r-radio>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"apple\" id=\"a\">\n            <r-radio label=\"apple\" icon=\"logo-apple\">Apple</r-radio>\n            <r-radio label=\"android\" icon=\"logo-android\">Android</r-radio>\n            <r-radio label=\"windows\" icon=\"logo-windows\">Windows</r-radio>\n        </r-radio-group>\n\n        <r-radio-group value=\"爪哇犀牛\">\n            <r-radio label=\"金斑蝶\">金斑蝶</r-radio>\n            <r-radio label=\"爪哇犀牛\">爪哇犀牛</r-radio>\n            <r-radio label=\"印度黑羚\">印度黑羚</r-radio>\n        </r-radio-group>\n    </div>\n\n    <div class=\"example\">\n        <r-radio checked=\"true\" disabled>Radio</r-radio>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"爪哇犀牛\">\n            <r-radio label=\"金斑蝶\" disabled>金斑蝶</r-radio>\n            <r-radio label=\"爪哇犀牛\">爪哇犀牛</r-radio>\n            <r-radio label=\"印度黑羚\">印度黑羚</r-radio>\n        </r-radio-group>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"apple\" direction=\"vertical\">\n            <r-radio label=\"apple\">Apple</r-radio>\n            <r-radio label=\"android\">Android</r-radio>\n            <r-radio label=\"windows\">Windows</r-radio>\n        </r-radio-group>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"北京\" type=\"button\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\">上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br> <br>\n        <r-radio-group value=\"北京\" type=\"button\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\" disabled>上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br> <br>\n        <r-radio-group value=\"北京\" type=\"button\">\n            <r-radio label=\"北京\" disabled>北京</r-radio>\n            <r-radio label=\"上海\" disabled>上海</r-radio>\n            <r-radio label=\"深圳\" disabled>深圳</r-radio>\n            <r-radio label=\"杭州\" disabled>杭州</r-radio>\n        </r-radio-group>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"北京\" type=\"button\" button-style=\"solid\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\">上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n\n        <r-radio-group value=\"深圳\" type=\"button\" button-style=\"solid\" style=\"margin-top: 16px\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\" disabled>上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"金斑蝶\">\n            <r-radio label=\"金斑蝶\" type=\"border\">金斑蝶</r-radio>\n            <r-radio label=\"爪哇犀牛\" type=\"border\">爪哇犀牛</r-radio>\n            <r-radio label=\"印度黑羚\" type=\"border\">印度黑羚</r-radio>\n        </r-radio-group>\n    </div>\n\n    <div class=\"example\">\n        <r-radio-group value=\"北京\" type=\"button\" size=\"large\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\">上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br> <br>\n        <r-radio-group value=\"北京\" type=\"button\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\">上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br> <br>\n        <r-radio-group value=\"北京\" type=\"button\" size=\"small\">\n            <r-radio label=\"北京\">北京</r-radio>\n            <r-radio label=\"上海\">上海</r-radio>\n            <r-radio label=\"深圳\">深圳</r-radio>\n            <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/radio/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function radioTest(): void {\n    const radio = new Rabbit.Radio();\n\n    // radio.config('#a').events({\n    //     onChange: (item) => {\n    //         console.log(item);\n    //     }\n    // });\n\n    // radio.config('#a').value = 'android';\n    // setTimeout(() => {\n    //     radio.config('#a').checked = false;\n    // }, 1500);\n}\n"
  },
  {
    "path": "examples/result/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 918px;\n        padding: 0 20px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n    \n    .typography {\n        overflow-wrap: break-word;\n        margin-bottom: 8px;\n    }\n    \n    .typography .rab-icon {\n        color: red;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-result status=\"success\" title=\"提交成功\" subtitle=\"已提交申请，等待部门审核。\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button> <button type='button' class='rab-btn'>打印</button>\">\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result title=\"请勿重复操作\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\">\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result status=\"warning\" title=\"操作发生了一些问题\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>重新提交</button>\">\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result status=\"error\" title=\"提交失败\" subtitle=\"请检查并修改以下信息后再重新提交\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回修改</button>\">\n            <div>\n                <h4 class=\"typography\">您提交的内容有以下错误:</h4>\n                <div class=\"typography\">\n                    <i class=\"rab-icon rab-icon-ios-close-circle-outline\"></i> 您的帐户已被冻结。\n                    <a>立即解冻></a>\n                </div>\n                <div class=\"typography\">\n                    <i class=\"rab-icon rab-icon-ios-close-circle-outline\"></i> 您的帐户还没有资格申请。\n                    <a>申请解锁></a>\n                </div>\n            </div>\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result status=\"403\" title=\"403\" subtitle=\"对不起，您没有权限访问此页。\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\">\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result status=\"404\" title=\"404\" subtitle=\"对不起，您访问的页面不存在。\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\">\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result status=\"500\" title=\"500\" subtitle=\"对不起，服务器出了点问题。\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\">\n        </r-result>\n    </div>\n\n    <div class=\"example\">\n        <r-result icon=\"ios-happy\" title=\"太棒了，我们已经完成了所有的操作！\" extra=\"<button type='button' class='rab-btn rab-btn-primary'>下一步</button>\">\n        </r-result>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/result/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function resultTest(): void {\n    const res = new Rabbit.Result();\n}\n"
  },
  {
    "path": "examples/skeleton/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 918px;\n        padding: 42px 24px 50px;\n        margin: 50px auto;\n        border: 1px solid #f0f0f0;\n    }\n    \n    .article h3 {\n        margin-bottom: 16px;\n    }\n    \n    .article button {\n        margin-top: 16px;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-skeleton></r-skeleton>\n    </div>\n\n    <div class=\"example\">\n        <r-skeleton avatar=\"true\" paragraph-rows=\"4\"></r-skeleton>\n    </div>\n\n    <div class=\"example\">\n        <r-skeleton paragraph-width=\"[60,80,100]\"></r-skeleton>\n    </div>\n\n    <div class=\"example\">\n        <r-skeleton active=\"true\"></r-skeleton>\n        <br />\n        <r-skeleton active=\"true\" avatar=\"true\"></r-skeleton>\n    </div>\n\n    <div class=\"example\">\n        <r-skeleton style=\"display: none\" id=\"demoSkeleton\"></r-skeleton>\n        <div class=\"article\">\n            <div class=\"content\">\n                <h3>Vue.js, the progressive javascript framework</h3>\n                <p>\n                    An incrementally adoptable ecosystem that scales between a library and a full-featured framework. Blazing Fast Virtual DOM Minimal Optimization Efforts\n                </p>\n            </div>\n            <button type=\"button\" class=\"rab-btn\" onclick=\"toggle(this)\">显示骨架图</button>\n        </div>\n\n        <script>\n            const skeleton = document.querySelector('#demoSkeleton');\n            const content = document.querySelector('.content');\n\n            toggle = (_this) => {\n                skeleton.style.display = '';\n                content.style.display = 'none';\n                _this.setAttribute('disabled', 'true');\n\n                setTimeout(() => {\n                    skeleton.style.display = 'none';\n                    content.style.display = '';\n                    _this.removeAttribute('disabled');\n                }, 3000);\n            };\n        </script>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/skeleton/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function skeletonTest(): void {\n    const skeleton = new Rabbit.Skeleton();\n}\n"
  },
  {
    "path": "examples/spin/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 500px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n        position: relative;\n    }\n    \n    .col-span-8 {\n        display: block;\n        width: 33.33333333%;\n        float: left;\n    }\n    \n    .demo-spin-col {\n        height: 100px;\n        position: relative;\n        border: 1px solid #eee;\n    }\n    \n    .demo-spin-article {\n        width: 400px;\n        height: 200px;\n        padding: 10px;\n        text-align: center;\n        position: relative;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-spin></r-spin>\n    </div>\n\n    <div class=\"example\">\n        <div class=\"col-span-8\">\n            <r-spin size=\"small\"></r-spin>\n        </div>\n\n        <div class=\"col-span-8\">\n            <r-spin></r-spin>\n        </div>\n\n        <div class=\"col-span-8\">\n            <r-spin size=\"large\"></r-spin>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <r-spin fix></r-spin>\n    </div>\n\n    <div class=\"example\" style=\"border: none\">\n        <div class=\"demo-spin-col col-span-8\">\n            <r-spin fix>加载中...</r-spin>\n        </div>\n\n        <div class=\"demo-spin-col col-span-8\">\n            <r-spin fix>\n                <i class=\"rab-icon rab-icon-loading1 rab-load-loop\"></i>\n                <div>Loading...</div>\n            </r-spin>\n        </div>\n    </div>\n\n    <br /><br /><br />\n\n    <div class=\"example\">\n        <div class=\"demo-spin-article\">\n            <h3>登金陵凤凰台</h3>\n            <address>李白</address>\n            <article>\n                <p>凤凰台上凤凰游，凤去台空江自流。</p>\n                <p>吴宫花草埋幽径，晋代衣冠成古丘。</p>\n                <p>三山半落青天外，二水中分白鹭洲。</p>\n                <p>总为浮云能蔽日，长安不见使人愁。</p>\n            </article>\n            <r-spin fix size=\"large\" id=\"abcd\"></r-spin>\n        </div>\n        <br /> 切换显示状态：\n        <r-switch></r-switch>\n    </div>\n\n    <div class=\"example n\">\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handle1()\">整页显示，3秒后关闭</button>\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handle2()\">自定义显示内容</button>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/spin/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function spinTest(): void {\n    const spin = new Rabbit.Spin();\n    const Switch = new Rabbit.Switch();\n\n    Switch.config('r-switch').events({\n        onChange: (checked) => {\n            // @ts-ignore\n            document.querySelector('#abcd').style.display = checked ? 'none' : '';\n        }\n    });\n\n    // @ts-ignore\n    window.handle1 = () => {\n        spin.show();\n        setTimeout(() => {\n            spin.hide();\n        }, 3000);\n    };\n    // @ts-ignore\n    window.handle2 = () => {\n        spin.show({\n            content: `<i class=\"rab-icon rab-icon-loading1 rab-load-loop\" style=\"font-size: 22px;height: 30px\"></i>\n            <div>Loading...</div>`\n        });\n        setTimeout(() => {\n            spin.hide();\n        }, 3000);\n    };\n}\n"
  },
  {
    "path": "examples/steps/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        display: block;\n        width: 65%;\n        border-bottom: 1px solid #ebedf0;\n        padding: 42px 24px 50px;\n        margin: 0 auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-steps current=\"1\">\n            <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n        </r-steps>\n    </div>\n\n    <div class=\"example\">\n        <r-steps current=\"2\" size=\"small\">\n            <r-step title=\"已完成\"></r-step>\n            <r-step title=\"已完成\"></r-step>\n            <r-step title=\"进行中\"></r-step>\n            <r-step title=\"待进行\"></r-step>\n        </r-steps>\n    </div>\n\n    <div class=\"example\">\n        <r-steps current=\"1\">\n            <r-step title=\"注册\" icon=\"ios-person\"></r-step>\n            <r-step title=\"上传头像\" icon=\"ios-camera\"></r-step>\n            <r-step title=\"验证邮箱\" icon=\"ios-mail\"></r-step>\n        </r-steps>\n    </div>\n\n    <div class=\"example\">\n        <p>当前正在进行第 <span id=\"step\"></span> 步</p>\n        <r-steps current=\"0\" id=\"test\">\n            <r-step title=\"步骤1\"></r-step>\n            <r-step title=\"步骤2\"></r-step>\n            <r-step title=\"步骤3\"></r-step>\n            <r-step title=\"步骤4\"></r-step>\n        </r-steps>\n        <br />\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handlClickNext()\">下一步</button>\n    </div>\n\n    <div class=\"example\">\n        <r-steps current=\"2\" direction=\"vertical\">\n            <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n        </r-steps>\n    </div>\n\n    <div class=\"example\">\n        <r-steps current=\"1\" status=\"error\">\n            <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n            <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n        </r-steps>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/steps/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function stepsTest(): void {\n    const steps = new Rabbit.Steps();\n\n    const targetStep = steps.config('#test');\n    const showStep = document.querySelector('#step')!;\n\n    let count = 0;\n\n    showStep.textContent = `${count + 1}`;\n    // targetStep.itemStatus = ['error', 'error', 'finish', 'process'];\n    // @ts-ignore\n    window.handlClickNext = () => {\n        if (count == 3) {\n            count = 0;\n        } else {\n            count += 1;\n        }\n\n        targetStep.current = count;\n\n        showStep.textContent = `${count + 1}`;\n    };\n}\n"
  },
  {
    "path": "examples/switch/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 20px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-switch id=\"test\"></r-switch>\n    </div>\n\n    <div class=\"example\">\n        <r-switch size=\"large\"></r-switch>\n        <r-switch></r-switch>\n        <r-switch size=\"small\"></r-switch>\n    </div>\n\n    <div class=\"example\">\n        <r-switch checked=\"true\" open=\"开\" close=\"关\"></r-switch>\n        <r-switch open=\"<i class='rab-icon rab-icon-md-checkmark'></i>\" close=\"<i class='rab-icon rab-icon-md-close'></i>\"></r-switch>\n        <br>\n        <br>\n        <r-switch size=\"large\" open=\"开启\" close=\"关闭\"></r-switch>\n        <r-switch size=\"large\" open=\"ON\" close=\"OFF\"></r-switch>\n    </div>\n\n    <div class=\"example\">\n        <r-switch disabled=\"true\" id=\"testDis\"></r-switch>\n        <button class=\"rab-btn rab-btn-primary\" onclick=\"handlClick()\">切换禁用</button>\n    </div>\n\n    <div class=\"example\">\n        <r-switch loading=\"true\" checked=\"true\"></r-switch>\n        <r-switch loading=\"true\" size=\"small\"></r-switch>\n    </div>\n\n    <div class=\"example\">\n        <r-switch true-color=\"#52c41a\" false-color=\"#ff4d4f\"></r-switch>\n    </div>\n</body>\n\n\n</html>"
  },
  {
    "path": "examples/switch/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function switchTest(): void {\n    const Switch = new Rabbit.Switch();\n\n    Switch.config('#test').events({\n        onChange: (checked) => {\n            Rabbit.Message.info(`开关状态: ${checked}`);\n        }\n    });\n\n    let flag = true;\n    // @ts-ignore\n    window.handlClick = () => {\n        flag ? (flag = !flag) : (flag = !flag);\n        Switch.config('#testDis').disabled = flag;\n    };\n}\n"
  },
  {
    "path": "examples/tabs/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 20px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n    \n    .demo-tabs-style1>.rab-tabs-card>.rab-tabs-content {\n        height: 120px;\n        margin-top: -16px;\n    }\n    \n    .demo-tabs-style1>.rab-tabs-card>.rab-tabs-content>r-tab-pane {\n        background: #fff;\n        padding: 16px;\n    }\n    \n    .demo-tabs-style1>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab {\n        border-color: transparent;\n    }\n    \n    .demo-tabs-style1>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active {\n        border-color: #fff;\n    }\n    \n    .demo-tabs-style2>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab {\n        border-radius: 0;\n        background: #fff;\n    }\n    \n    .demo-tabs-style2>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active {\n        border-top: 1px solid #3399ff;\n    }\n    \n    .demo-tabs-style2>.rab-tabs-card>.rab-tabs-bar .rab-tabs-tab-active:before {\n        content: '';\n        display: block;\n        width: 100%;\n        height: 1px;\n        background: #3399ff;\n        position: absolute;\n        top: 0;\n        left: 0;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-tabs active-index=\"1\" id=\"a\">\n            <r-tab-pane tab=\"标签一\" index=\"1\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\" index=\"2\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\" index=\"3\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs>\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\" disabled=\"true\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs>\n            <r-tab-pane tab=\"macOS\" icon=\"logo-apple\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"Windows\" icon=\"logo-windows\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"Linux\" icon=\"logo-tux\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs size=\"small\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs type=\"card\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs type=\"card\" closable=\"true\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs animated=\"false\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example\">\n        <r-tabs type=\"card\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签四\">标签四的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签五\">标签五的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签六\">标签六的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签七\">标签七的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签八\">标签八的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签九\">标签九的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签十\">标签十的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签十一\">标签十一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签十二\">标签十二的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example demo-tabs-style1\" style=\"background: #e3e8ee; padding: 16px\">\n        <r-tabs type=\"card\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n\n    <div class=\"example demo-tabs-style2\">\n        <r-tabs type=\"card\">\n            <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n            <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/tabs/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function tabsTest(): void {\n    const tabs = new Rabbit.Tabs();\n    tabs.config('#a').events({\n        onClick: (key) => {\n            console.log(key);\n        }\n    });\n    // setTimeout(() => {\n    //     tabs.config('#a').activeKey = '2';\n    // }, 1500);\n}\n"
  },
  {
    "path": "examples/tag/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 20px;\n        margin: 20px auto;\n        border: 1px solid #f0f0f0;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-tag>标签一</r-tag>\n        <r-tag>标签二</r-tag>\n        <r-tag closable=\"true\">标签三</r-tag>\n    </div>\n\n    <div class=\"example\">\n        <r-tag type=\"border\">标签三</r-tag>\n        <r-tag type=\"border\" closable=\"true\"> 标签四 </r-tag>\n        <r-tag type=\"dot\">标签一</r-tag>\n        <r-tag type=\"dot\" closable=\"true\"> 标签二 </r-tag>\n    </div>\n\n    <div class=\"example\">\n        <r-tag color=\"default\">default</r-tag>\n        <r-tag color=\"primary\">primary</r-tag>\n        <r-tag color=\"success\">success</r-tag>\n        <r-tag color=\"error\">error</r-tag>\n        <r-tag color=\"warning\">warning</r-tag>\n        <r-tag color=\"magenta\">magenta</r-tag>\n        <r-tag color=\"red\">red</r-tag>\n        <r-tag color=\"volcano\">volcano</r-tag>\n        <r-tag color=\"orange\">orange</r-tag>\n        <r-tag color=\"gold\">gold</r-tag>\n        <r-tag color=\"yellow\">yellow</r-tag>\n        <r-tag color=\"lime\">lime</r-tag>\n        <r-tag color=\"green\">green</r-tag>\n        <r-tag color=\"cyan\">cyan</r-tag>\n        <r-tag color=\"blue\">blue</r-tag>\n        <r-tag color=\"geekblue\">geekblue</r-tag>\n        <r-tag color=\"purple\">purple</r-tag>\n        <r-tag color=\"#FFA2D3\">Custom Color</r-tag>\n        <br /><br />\n        <r-tag type=\"border\" closable=\"true\" color=\"primary\">标签一</r-tag>\n        <r-tag type=\"border\" closable=\"true\" color=\"success\">标签二</r-tag>\n        <r-tag type=\"border\" closable=\"true\" color=\"warning\">标签三</r-tag>\n        <r-tag type=\"border\" closable=\"true\" color=\"error\">标签四</r-tag>\n        <br /><br />\n        <r-tag type=\"dot\" closable=\"true\" color=\"primary\">标签一</r-tag>\n        <r-tag type=\"dot\" closable=\"true\" color=\"success\">标签二</r-tag>\n        <r-tag type=\"dot\" closable=\"true\" color=\"warning\">标签三</r-tag>\n        <r-tag type=\"dot\" closable=\"true\" color=\"error\">标签四</r-tag>\n    </div>\n\n    <div class=\"example\">\n        <r-tag checkable=\"true\" color=\"primary\" id=\"demoTag\">标签一</r-tag>\n        <r-tag checkable=\"true\" color=\"success\">标签二</r-tag>\n        <r-tag checkable=\"true\" color=\"error\">标签三</r-tag>\n        <r-tag checkable=\"true\" color=\"warning\">标签四</r-tag>\n    </div>\n\n    <div class=\"example\">\n        <r-tag>默认标签</r-tag>\n        <r-tag size=\"medium\">中号标签</r-tag>\n        <r-tag size=\"large\">大号标签</r-tag>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/tag/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function tagTest(): void {\n    const tag = new Rabbit.Tag();\n    tag.config('#demoTag').events({\n        onChange(checked) {\n            console.log(checked);\n        }\n    });\n}\n"
  },
  {
    "path": "examples/time/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 550px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-time time=\"new Date().getTime() - 60 * 3 * 1000\"></r-time>\n        <br />\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\"></r-time>\n    </div>\n\n    <div class=\"example\">\n        <r-time time=\"new Date()\" interval=\"1\"></r-time>\n    </div>\n\n    <div class=\"example\">\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\"></r-time>\n        <br />\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" type=\"date\"></r-time>\n        <br />\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" type=\"datetime\"></r-time>\n    </div>\n\n    <div class=\"example\">\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" hash=\"#hash\"></r-time>\n    </div>\n</body>\n\n</html>"
  },
  {
    "path": "examples/time/index.ts",
    "content": "import Rabbit from '../../src';\n// import 'dayjs/locale/af';\n\nexport default function timeTest(): void {\n    const time = new Rabbit.Time();\n    // time.locale('af');\n}\n"
  },
  {
    "path": "examples/timeline/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    .example {\n        width: 520px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .time {\n        font-size: 14px;\n        font-weight: bold;\n    }\n    \n    .content {\n        padding-left: 5px;\n    }\n</style>\n\n<body>\n    <!-- <div class=\"example\">\n       <r-timeline>\n            <r-timeline-item>\n                <div class=\"rab-timeline-item-tail\"></div>\n                <div class=\"rab-timeline-item-head rab-timeline-item-head-blue\"></div>\n                <div class=\"rab-timeline-item-content\">2021-04-01 创建服务器网站</div>\n            </r-timeline-item>\n            <r-timeline-item>\n                <div class=\"rab-timeline-item-tail\"></div>\n                <div class=\"rab-timeline-item-head rab-timeline-item-head-blue\"></div>\n                <div class=\"rab-timeline-item-content\">\n                    2021-04-01 解决了初始化网络问题\n                </div>\n            </r-timeline-item>\n            <r-timeline-item>\n                <div class=\"rab-timeline-item-tail\"></div>\n                <div class=\"rab-timeline-item-head rab-timeline-item-head-blue\"></div>\n                <div class=\"rab-timeline-item-content\">\n                    2021-04-01 技术人员进行测试\n                </div>\n            </r-timeline-item>\n            <r-timeline-item>\n                <div class=\"rab-timeline-item-tail\"></div>\n                <div class=\"rab-timeline-item-head rab-timeline-item-head-blue\"></div>\n                <div class=\"rab-timeline-item-content\">\n                    2021-04-01 网络问题正在解决中\n                </div>\n            </r-timeline-item>\n        </r-timeline> \n    </div>-->\n\n    <div class=\"example\">\n        <r-timeline>\n            <r-timeline-item>\n                <p class=\"time\">1976s</p>\n                <p class=\"content\">第一代苹果问世</p>\n            </r-timeline-item>\n            <r-timeline-item>\n                <p class=\"time\">1984s</p>\n                <p class=\"content\">发布麦金塔电脑</p>\n            </r-timeline-item>\n            <r-timeline-item>\n                <p class=\"time\">2007s</p>\n                <p class=\"content\">发布 iPhone</p>\n            </r-timeline-item>\n            <r-timeline-item>\n                <p class=\"time\">2010s</p>\n                <p class=\"content\">发布 iPad</p>\n            </r-timeline-item>\n            <r-timeline-item color=\"gray\">\n                <p class=\"time\">2011.10.05</p>\n                <p class=\"content\">史蒂夫·乔布斯去世</p>\n            </r-timeline-item>\n        </r-timeline>\n    </div>\n\n    <div class=\"example\">\n        <r-timeline>\n            <r-timeline-item color=\"green\">发布1.0版本</r-timeline-item>\n            <r-timeline-item color=\"green\">发布2.0版本</r-timeline-item>\n            <r-timeline-item color=\"red\">重大Bug</r-timeline-item>\n            <r-timeline-item color=\"gray\">推迟发布</r-timeline-item>\n            <r-timeline-item>发布3.0版本</r-timeline-item>\n        </r-timeline>\n    </div>\n\n    <div class=\"example\">\n        <r-timeline pending=\"true\">\n            <r-timeline-item>2021-04-01 创建服务器网站</r-timeline-item>\n            <r-timeline-item>2021-04-01 解决了初始化网络问题</r-timeline-item>\n            <r-timeline-item>2021-04-01 技术人员进行测试</r-timeline-item>\n            <r-timeline-item><a href=\"#\">查看更多</a></r-timeline-item>\n        </r-timeline>\n    </div>\n\n    <div class=\"example\">\n        <r-timeline>\n            <r-timeline-item dot=\"<i class='rab-icon rab-icon-ios-trophy'></i>\" color=\"green\">发布里程碑版本</r-timeline-item>\n            <r-timeline-item>发布1.0版本</r-timeline-item>\n            <r-timeline-item>发布2.0版本</r-timeline-item>\n            <r-timeline-item>发布3.0版本</r-timeline-item>\n        </r-timeline>\n    </div>\n</body>\n\n<script></script>\n\n</html>"
  },
  {
    "path": "examples/timeline/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function timelineTest(): void {\n    new Rabbit.Timeline();\n}\n"
  },
  {
    "path": "examples/tooltip/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Document</title>\n</head>\n<style>\n    body {\n        height: 1400px;\n    }\n    \n    .example {\n        width: 550px;\n        padding: 42px 24px 50px;\n        border: 1px solid #f0f0f0;\n        margin: 20px auto;\n    }\n    \n    .top,\n    .bottom {\n        text-align: center;\n    }\n    \n    .center {\n        width: 300px;\n        margin: 10px auto;\n        overflow: hidden;\n    }\n    \n    .center-left {\n        float: left;\n    }\n    \n    .center-right {\n        float: right;\n    }\n    \n    .demo-color .rab-btn {\n        margin-right: 8px;\n        margin-bottom: 8px;\n    }\n</style>\n\n<body>\n    <div class=\"example\">\n        <r-tooltip content=\"这里是提示文字\" id=\"test\">\n            鼠标经过这段文字时，会显示一个气泡框\n        </r-tooltip>\n    </div>\n\n    <div class=\"example\">\n        <div class=\"top\">\n            <r-tooltip content=\"Top Left 文字提示\" placement=\"top-start\">\n                <button class=\"rab-btn\">上左</button>\n            </r-tooltip>\n            <r-tooltip content=\"Top Center 文字提示\" placement=\"top\">\n                <button class=\"rab-btn\">上边</button>\n            </r-tooltip>\n            <r-tooltip content=\"Top Right 文字提示\" placement=\"top-end\">\n                <button class=\"rab-btn\">上右</button>\n            </r-tooltip>\n        </div>\n        <div class=\"center\">\n            <div class=\"center-left\">\n                <r-tooltip content=\"Left Top 文字提示\" placement=\"left-start\">\n                    <button class=\"rab-btn\">左上</button> </r-tooltip><br /><br />\n                <r-tooltip content=\"Left Center 文字提示\" placement=\"left\">\n                    <button class=\"rab-btn\">左边</button> </r-tooltip><br /><br />\n                <r-tooltip content=\"Left Bottom 文字提示\" placement=\"left-end\">\n                    <button class=\"rab-btn\">左下</button>\n                </r-tooltip>\n            </div>\n            <div class=\"center-right\">\n                <r-tooltip content=\"Right Top 文字提示\" placement=\"right-start\">\n                    <button class=\"rab-btn\">右上</button> </r-tooltip><br /><br />\n                <r-tooltip content=\"Right Center 文字提示\" placement=\"right\">\n                    <button class=\"rab-btn\">右边</button> </r-tooltip><br /><br />\n                <r-tooltip content=\"Right Bottom 文字提示\" placement=\"right-end\">\n                    <button class=\"rab-btn\">右下</button>\n                </r-tooltip>\n            </div>\n        </div>\n        <div class=\"bottom\">\n            <r-tooltip content=\"Bottom Left 文字提示\" placement=\"bottom-start\">\n                <button class=\"rab-btn\">下左</button>\n            </r-tooltip>\n            <r-tooltip content=\"Bottom Center 文字提示\" placement=\"bottom\">\n                <button class=\"rab-btn\">下边</button>\n            </r-tooltip>\n            <r-tooltip content=\"Bottom Right 文字提示\" placement=\"bottom-end\">\n                <button class=\"rab-btn\">下右</button>\n            </r-tooltip>\n        </div>\n    </div>\n\n    <div class=\"example\">\n        <r-tooltip placement=\"top\" id=\"test2\">\n            <button class=\"rab-btn\">多行</button>\n        </r-tooltip>\n    </div>\n\n    <div class=\"example\">\n        <r-tooltip placement=\"top\" disabled=\"true\">\n            <button class=\"rab-btn\">禁用提示</button>\n        </r-tooltip>\n    </div>\n\n    <div class=\"example\">\n        <r-tooltip content=\"Tooltip 文字提示\" placement=\"top\" delay=\"1000\">\n            <button class=\"rab-btn\">延时1秒显示</button>\n        </r-tooltip>\n    </div>\n\n    <div class=\"example demo-color\">\n        <r-tooltip content=\"content of tooltip\" placement=\"top\">\n            <button class=\"rab-btn\">Dark(default)</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"light\">\n            <button class=\"rab-btn\">Light</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"pink\">\n            <button class=\"rab-btn\">pink</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"red\">\n            <button class=\"rab-btn\">red</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"yellow\">\n            <button class=\"rab-btn\">yellow</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"orange\">\n            <button class=\"rab-btn\">orange</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"cyan\">\n            <button class=\"rab-btn\">cyan</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"green\">\n            <button class=\"rab-btn\">green</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"blue\">\n            <button class=\"rab-btn\">blue</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"purple\">\n            <button class=\"rab-btn\">purple</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"geekblue\">\n            <button class=\"rab-btn\">geekblue</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"magenta\">\n            <button class=\"rab-btn\">magenta</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"volcano\">\n            <button class=\"rab-btn\">volcano</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"gold\">\n            <button class=\"rab-btn\">gold</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" theme=\"lime\">\n            <button class=\"rab-btn\">lime</button>\n        </r-tooltip>\n    </div>\n\n    <div class=\"example\">\n        <r-tooltip max-width=\"200\" content=\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\">\n            <button class=\"rab-btn\">长文本</button>\n        </r-tooltip>\n    </div>\n\n    <!-- <div class=\"example\">\n        <r-tooltip>\n            <div class=\"rab-tooltip-rel\">当鼠标经过这段文字时，会显示一个气泡框</div>\n            <div class=\"rab-tooltip-popper rab-tooltip-dark\" x-placement=\"bottom\">\n                <div class=\"rab-tooltip-content\">\n                    <div class=\"rab-tooltip-arrow\"></div>\n                    <div class=\"rab-tooltip-inner\">这里是提示文字</div>\n                </div>\n            </div>\n        </r-tooltip>\n    </div> -->\n</body>\n\n</html>"
  },
  {
    "path": "examples/tooltip/index.ts",
    "content": "import Rabbit from '../../src';\n\nexport default function tooltipTest(): void {\n    const tooltip = new Rabbit.Tooltip();\n\n    tooltip.config('#test').events({\n        onVisibleChange: (visable) => {\n            console.log(visable);\n        }\n    });\n\n    tooltip.config('#test2').content = '<p>显示多行信息</p><p><i>可以自定义样式</i></p>';\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n    \"name\": \"rabbit-simple-ui\",\n    \"version\": \"1.8.0\",\n    \"title\": \"RabbitUI\",\n    \"description\": \"A simple UI component library based on JavaScript\",\n    \"homepage\": \"www.rabbitui.cn\",\n    \"keywords\": [\n        \"ui\",\n        \"jsui\",\n        \"rabbitui\",\n        \"RabbitUI\",\n        \"rabbit-simple-ui\",\n        \"library\",\n        \"ui-library\",\n        \"component\",\n        \"framework\",\n        \"javascript\",\n        \"typescript\"\n    ],\n    \"main\": \"src/index.ts\",\n    \"files\": [\n        \"dist\",\n        \"src\"\n    ],\n    \"scripts\": {\n        \"dev\": \"webpack-dev-server  --history-api-fallback --config config/webpack.dev.js\",\n        \"build:dev\": \"webpack --config config/webpack.dist.dev.js --progress\",\n        \"build:prod\": \"webpack --config config/webpack.dist.prod.js --progress\",\n        \"build\": \"npm run build:dev && npm run build:prod\",\n        \"eslint\": \"eslint src --ext .ts\"\n    },\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/niu-grandpa/rabbit-ui\"\n    },\n    \"author\": \"Ryan John\",\n    \"license\": \"MIT\",\n    \"bugs\": {\n        \"url\": \"https://github.com/niu-grandpa/rabbit-ui/issues\"\n    },\n    \"devDependencies\": {\n        \"@typescript-eslint/eslint-plugin\": \"^4.12.0\",\n        \"@typescript-eslint/parser\": \"^4.12.0\",\n        \"autoprefixer\": \"^8.0.0\",\n        \"babel-loader\": \"^8.2.2\",\n        \"clean-webpack-plugin\": \"^3.0.0\",\n        \"compression-webpack-plugin\": \"^7.0.0\",\n        \"css-loader\": \"^5.0.1\",\n        \"eslint\": \"^7.17.0\",\n        \"eslint-config-alloy\": \"^3.10.0\",\n        \"file-loader\": \"^6.2.0\",\n        \"friendly-errors-webpack-plugin\": \"^1.7.0\",\n        \"html-loader\": \"^1.3.2\",\n        \"html-webpack-plugin\": \"^5.0.0-beta.1\",\n        \"less\": \"^4.0.0\",\n        \"less-loader\": \"^7.1.0\",\n        \"mini-css-extract-plugin\": \"^1.3.3\",\n        \"optimize-css-assets-webpack-plugin\": \"^5.0.4\",\n        \"postcss-loader\": \"^4.1.0\",\n        \"prettier\": \"^2.2.1\",\n        \"style-loader\": \"^2.0.0\",\n        \"ts-loader\": \"^8.0.12\",\n        \"typescript\": \"^4.1.3\",\n        \"uglifyjs-webpack-plugin\": \"^2.2.0\",\n        \"url-loader\": \"^4.1.1\",\n        \"webpack\": \"^5.11.0\",\n        \"webpack-cli\": \"^3.3.12\",\n        \"webpack-dev-server\": \"^3.11.0\",\n        \"webpack-merge\": \"^5.7.2\"\n    },\n    \"dependencies\": {\n        \"@popperjs/core\": \"^2.6.0\",\n        \"dayjs\": \"^1.10.4\",\n        \"vue-router\": \"^4.0.6\"\n    },\n    \"engines\": {\n        \"node\": \">=6.5\",\n        \"npm\": \">=5.5.1\",\n        \"yarn\": \">=1.3.2\"\n    },\n    \"browserslist\": [\n        \"last 3 Chrome versions\",\n        \"last 3 Firefox versions\",\n        \"Safari >= 10\",\n        \"Explorer >= 10\",\n        \"Edge >= 12\",\n        \"iOS >= 10\",\n        \"Android >= 6\"\n    ]\n}"
  },
  {
    "path": "postcss.config.js",
    "content": "module.exports = {\n    plugins: [require('autoprefixer')]\n};"
  },
  {
    "path": "prettier.config.js",
    "content": "// prettier.config.js or .prettierrc.js\nmodule.exports = {\n    // 一行最多 100 字符\n    printWidth: 100,\n    // 使用 4 个空格缩进\n    tabWidth: 4,\n    // 不使用缩进符，而使用空格\n    useTabs: false,\n    // 行尾需要有分号\n    semi: true,\n    // 使用单引号\n    singleQuote: true,\n    // 对象的 key 仅在必要时用引号\n    quoteProps: 'as-needed',\n    // 末尾不需要逗号\n    trailingComma: 'none',\n    // 大括号内的首尾需要空格\n    bracketSpacing: true,\n    // 每个文件格式化的范围是文件的全部内容\n    rangeStart: 0,\n    rangeEnd: Infinity,\n    // 不需要写文件开头的 @prettier\n    requirePragma: false,\n    // 不需要自动在文件开头插入 @prettier\n    insertPragma: false,\n    // 使用默认的折行标准\n    proseWrap: 'preserve',\n    // 根据显示样式决定 html 要不要折行\n    htmlWhitespaceSensitivity: 'css',\n    // 换行符使用 lf\n    endOfLine: 'lf'\n};"
  },
  {
    "path": "site/.babelrc",
    "content": "{\n  \"plugins\": [\n    [\"import\", { \"libraryName\": \"ant-design-vue\", \"libraryDirectory\": \"es\", \"style\": true }] // `style: true` 会加载 less 文件\n  ]\n}\n"
  },
  {
    "path": "site/.eslintrc.js",
    "content": "module.exports = {\n    parser: 'vue-eslint-parser',\n    parserOptions: {\n        parser: '@typescript-eslint/parser',\n        ecmaVersion: 2020,\n        sourceType: 'module',\n        ecmaFeatures: {\n            jsx: true,\n        },\n    },\n    extends: [\n        'plugin:vue/vue3-recommended',\n        'plugin:@typescript-eslint/recommended',\n        'prettier/@typescript-eslint',\n        'plugin:prettier/recommended',\n    ],\n    rules: {\n        '@typescript-eslint/ban-ts-ignore': 'off',\n        '@typescript-eslint/explicit-function-return-type': 'off',\n        '@typescript-eslint/no-explicit-any': 'off',\n        '@typescript-eslint/no-var-requires': 'off',\n        '@typescript-eslint/no-empty-function': 'off',\n        'vue/custom-event-name-casing': 'off',\n        'no-use-before-define': 'off', // 'no-use-before-define': [ //   'error', //   { //     functions: false, //     classes: true, //   }, // ],\n        '@typescript-eslint/no-use-before-define': 'off', // '@typescript-eslint/no-use-before-define': [ //   'error', //   { //     functions: false, //     classes: true, //   }, // ],\n        '@typescript-eslint/ban-ts-comment': 'off',\n        '@typescript-eslint/ban-types': 'off',\n        '@typescript-eslint/no-non-null-assertion': 'off',\n        '@typescript-eslint/explicit-module-boundary-types': 'off',\n        '@typescript-eslint/no-unused-vars': [\n            'error',\n            {\n                argsIgnorePattern: '^h$',\n                varsIgnorePattern: '^h$',\n            },\n        ],\n        'no-unused-vars': [\n            'error',\n            {\n                argsIgnorePattern: '^h$',\n                varsIgnorePattern: '^h$',\n            },\n        ],\n        'space-before-function-paren': 'off',\n        quotes: ['error', 'single'],\n        'comma-dangle': ['error', 'never'],\n    },\n};"
  },
  {
    "path": "site/.gitignore",
    "content": "node_modules\n.DS_Store\ndist\ndist-ssr\n*.local\n"
  },
  {
    "path": "site/README.md",
    "content": "# Vue 3 + Typescript + Vite\n\nThis template should help get you started developing with Vue 3 and Typescript in Vite.\n\n## Recommended IDE Setup\n\n[VSCode](https://code.visualstudio.com/) + [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur). Make sure to enable `vetur.experimental.templateInterpolationService` in settings!\n\n### If Using `<script setup>`\n\n[`<script setup>`](https://github.com/vuejs/rfcs/pull/227) is a feature that is currently in RFC stage. To get proper IDE support for the syntax, use [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) instead of Vetur (and disable Vetur).\n\n## Type Support For `.vue` Imports in TS\n\nSince TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can use the following:\n\n### If Using Volar\n\nRun `Volar: Switch TS Plugin on/off` from VSCode command palette.\n\n### If Using Vetur\n\n1. Install and add `@vuedx/typescript-plugin-vue` to the [plugins section](https://www.typescriptlang.org/tsconfig#plugins) in `tsconfig.json`\n2. Delete `src/shims-vue.d.ts` as it is no longer needed to provide module info to Typescript\n3. Open `src/main.ts` in VSCode\n4. Open the VSCode command palette\n5. Search and run \"Select TypeScript version\" -> \"Use workspace version\"\n"
  },
  {
    "path": "site/index.html",
    "content": "<!DOCTYPE html>\n\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <meta name=\"description\" content=\"A simple UI component library based on JavaScript\" />\n    <meta\n      name=\"keywords\"\n      content=\"rabbitui,rabbit-ui,rabbit-simple-ui,rabbit-ui官网，rabbit ui文档\"\n    />\n    <link rel=\"shortcut icon\" href=\"/favicon.ico\" type=\"image/x-icon\" />\n    <title>Rabbit UI - 一个基于 JavaScript 的简洁 UI 组件库</title>\n  </head>\n\n  <body>\n    <main id=\"app\"></main>\n  </body>\n\n  <script type=\"module\" src=\"/src/main.ts\"></script>\n</html>\n"
  },
  {
    "path": "site/package.json",
    "content": "{\n    \"name\": \"rabbitui-website\",\n    \"version\": \"1.0.0\",\n    \"scripts\": {\n        \"dev\": \"vite\",\n        \"build\": \"vue-tsc --noEmit --skipLibCheck && vite build\",\n        \"serve\": \"vite preview  --port 8080\"\n    },\n    \"dependencies\": {\n        \"@ant-design/icons-vue\": \"^6.0.1\",\n        \"@typescript-eslint/eslint-plugin\": \"^4.23.0\",\n        \"@typescript-eslint/parser\": \"^4.23.0\",\n        \"ant-design-vue\": \"^2.1.2\",\n        \"eslint\": \"^7.26.0\",\n        \"eslint-config-prettier\": \"^8.3.0\",\n        \"eslint-plugin-prettier\": \"^3.4.0\",\n        \"eslint-plugin-vue\": \"^7.9.0\",\n        \"less\": \"^4.1.1\",\n        \"prettier\": \"^2.3.0\",\n        \"vue\": \"^3.0.5\",\n        \"vue-router\": \"^4.0.6\"\n    },\n    \"devDependencies\": {\n        \"@types/node\": \"^15.0.2\",\n        \"@vitejs/plugin-vue\": \"^1.2.2\",\n        \"@vue/compiler-sfc\": \"^3.0.5\",\n        \"typescript\": \"^4.1.3\",\n        \"vite\": \"^2.2.4\",\n        \"vite-plugin-compression\": \"^0.5.1\",\n        \"vue-tsc\": \"^0.0.24\"\n    }\n}"
  },
  {
    "path": "site/prettier.config.js",
    "content": "module.exports = {\n    printWidth: 100,\n    tabWidth: 2,\n    useTabs: false,\n    semi: false, // 未尾逗号\n    vueIndentScriptAndStyle: true,\n    singleQuote: true, // 单引号\n    quoteProps: 'as-needed',\n    bracketSpacing: true,\n    trailingComma: 'none', // 未尾分号\n    jsxBracketSameLine: false,\n    jsxSingleQuote: false,\n    arrowParens: 'always',\n    insertPragma: false,\n    requirePragma: false,\n    proseWrap: 'never',\n    htmlWhitespaceSensitivity: 'strict',\n    endOfLine: 'lf'\n}"
  },
  {
    "path": "site/src/App.vue",
    "content": "<template>\n  <HomePage v-if=\"show\" />\n  <AppPage v-else />\n  <r-back-top />\n</template>\n\n<script lang=\"ts\" setup>\n  import { onMounted, ref, watchEffect } from 'vue'\n  import { useRoute } from 'vue-router'\n  import BackTop from '../../src/components/back-top'\n  import { AppPage, HomePage } from './pages'\n\n  const route = useRoute()\n  const show = ref<boolean>(true)\n\n  const changePage = () => {\n    const { path } = route\n    // 显示文档的详情页面，隐藏首页\n    if (path.includes('/docs/') || path.includes('/components/')) {\n      show.value = false\n    } else {\n      show.value = true\n    }\n  }\n\n  onMounted(() => new BackTop())\n  watchEffect(changePage)\n</script>\n\n<style lang=\"less\">\n  @import './markdown.css';\n  @import 'ant-design-vue/dist/antd.css';\n  @import '../../dist/styles/rabbit.css';\n\n  ::-webkit-scrollbar {\n    /*滚动条整体样式*/\n    width: 8px; /*高宽分别对应横竖滚动条的尺寸*/\n    height: 1px;\n  }\n\n  ::-webkit-scrollbar-thumb {\n    /*滚动条里面小方块*/\n    border-radius: 100px;\n    background: #dcdee2;\n  }\n\n  ::-webkit-scrollbar-track {\n    /*滚动条里面轨道*/\n    border-radius: 100px;\n    background: transparent;\n  }\n\n  .rab-btn {\n    margin-right: 6px;\n  }\n</style>\n"
  },
  {
    "path": "site/src/components/Anchor.vue",
    "content": "<template>\n  <a-anchor wrapperClass=\"toc-affix\" showInkInFixed :affix=\"false\">\n    <a-anchor-link v-for=\"link in linkList\" :href=\"'#' + link\" :title=\"link\" :key=\"link\" />\n  </a-anchor>\n</template>\n\n<script lang=\"ts\" setup>\nimport { defineProps } from 'vue'\n\nconst props = defineProps({\n  linkList: {\n    type: Array,\n    require: true\n  }\n})\n</script>\n\n<style lang=\"less\" scope>\n.toc-affix {\n  @media (max-width: 420px) {\n    display: none;\n  }\n\n  position: fixed;\n  z-index: 10;\n  top: 100px;\n  right: -90px;\n  width: 213px;\n  display: inherit;\n\n  .ant-anchor {\n    font-size: 12px;\n    max-width: 110px;\n\n    &-link {\n      padding-right: 16px;\n      &-title {\n        color: #55585e;\n      }\n    }\n  }\n}\n</style>"
  },
  {
    "path": "site/src/components/CodeBox.vue",
    "content": "<template>\n  <a-row class=\"code-box\">\n    <a-col class=\"code-box-demo\" :span=\"24\">\n      <section class=\"code-box-case\">\n        <slot name=\"case\" />\n      </section>\n      <header class=\"code-box-header\">\n        <span><slot name=\"header\" /></span>\n      </header>\n      <section class=\"code-box-desc\">\n        <slot name=\"desc\" />\n      </section>\n    </a-col>\n    <div class=\"code-box-split\"></div>\n    <a-col class=\"code-box-code\" :span=\"24\">\n      <section v-show=\"!show\">\n        <slot name=\"code\" />\n      </section>\n      <section class=\"code-box-more\" @click=\"handleShow\">\n        <DownOutlined v-show=\"show\" />\n        <UpOutlined v-show=\"!show\" />\n        <button type=\"button\" class=\"rab-btn rab-btn-text\" v-show=\"show\">\n          <span>显示代码</span>\n        </button>\n      </section>\n    </a-col>\n  </a-row>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { DownOutlined, UpOutlined } from '@ant-design/icons-vue'\n\nconst show = ref<boolean>(true)\nconst handleShow = () => {\n  show.value ? (show.value = false) : (show.value = true)\n}\n</script>\n\n\n<style lang=\"less\">\n.code-box {\n  border: 1px solid #f0f0f0;\n  border-radius: 6px;\n  margin-bottom: 20px;\n  position: relative;\n  transition: all 0.2s;\n\n  &:hover {\n    box-shadow: 0 2px 7px rgb(0 0 0 / 15%);\n    border-color: transparent;\n    position: relative;\n  }\n\n  &-demo {\n    padding: 20px 0;\n    position: relative;\n  }\n\n  &-case {\n    padding: 0 20px;\n  }\n\n  &-header {\n    font-weight: 500;\n    margin: 30px 0 10px;\n    position: relative;\n\n    &:before {\n      content: '';\n      display: block;\n      width: 100%;\n      height: 1px;\n      background: #eee;\n      position: absolute;\n      top: 12px;\n      left: 0;\n    }\n\n    span {\n      display: inline-block;\n      background: #fff;\n      position: relative;\n      margin-left: 14px;\n      font-size: 14px;\n\n      a {\n        color: inherit;\n      }\n    }\n  }\n\n  &-desc {\n    padding: 0 20px;\n\n    p {\n      text-align: justify;\n      line-height: 1.7em;\n    }\n\n    code {\n      font-size: 85%;\n    }\n  }\n\n  &-split {\n    width: 100%;\n    position: relative;\n    display: block;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    border: 1px dashed #f0f0f0;\n    float: left;\n  }\n\n  &-code {\n    padding: 0 10px;\n    position: relative;\n    overflow: hidden;\n    transition: height 0.2s ease-in-out;\n\n    pre.md-fences {\n      font-size: 14px;\n      background-color: #fff;\n      border-color: transparent;\n    }\n  }\n\n  &-more {\n    position: relative;\n    text-align: center;\n    cursor: pointer;\n    padding: 5px 0;\n\n    &:after {\n      content: '';\n      width: 100%;\n      height: 100%;\n      position: absolute;\n      bottom: 0;\n      left: 0;\n      z-index: 1;\n      box-shadow: inset 0 -15px 30px #fff;\n    }\n\n    .anticon {\n      position: relative;\n      top: 2px;\n      z-index: 2;\n      font-size: 12px;\n    }\n\n    .rab-btn {\n      padding: 0 4px 4px;\n      position: relative;\n      top: 2px;\n      z-index: 2;\n    }\n  }\n}\n</style>"
  },
  {
    "path": "site/src/components/ColorCard.vue",
    "content": "<template>\n  <a-row style=\"margin-left: -8px; margin-right: -8px\">\n    <a-col\n      :span=\"props.span\"\n      v-for=\"item in colors\"\n      :key=\"item.name\"\n      style=\"padding-left: 8px; padding-right: 8px\"\n    >\n      <a-card :style=\"'background:' + item.desc\" size=\"small\">\n        <div :class=\"['demo-color-name', item.dark ? 'dark' : '']\">{{ item.name }}</div>\n        <div :class=\"['demo-color-desc', item.dark ? 'dark' : '']\">{{ item.desc }}</div>\n      </a-card>\n    </a-col>\n  </a-row>\n</template>\n\n<script lang=\"ts\" setup>\nimport { defineProps } from \"vue\";\n\ninterface Props {\n  span: number;\n  colors: {\n    name: string;\n    desc: string;\n  }[];\n}\n\nconst props: Readonly<Props> = defineProps({\n  span: Number,\n  colors: Object,\n});\n</script>\n\n<style lang=\"less\" scoped>\n.ant-card {\n  margin-bottom: 12px;\n  &:hover {\n    box-shadow: 0 1px 6px rgb(0 0 0 / 20%);\n    border-color: #eee;\n  }\n}\n\n.demo-color {\n  &-name {\n    color: #fff;\n    font-size: 16px;\n    &.dark {\n      color: #657180;\n    }\n  }\n  &-desc {\n    color: #fff;\n    opacity: 0.7;\n    &.dark {\n      color: #657180;\n    }\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/components/ExampleHeaderArea.vue",
    "content": "<template>\n  <h1>{{ props.name }} {{ props.title }}</h1>\n  <p>{{ desc }}</p>\n  <blockquote v-if=\"props.showTip\">\n    特别提醒：使用前需要先初始化组件 <code>new Rabbit.{{ props.name }}()</code>，如果为\n    NPM 环境则无需添加 <code>Rabbit</code> 前缀\n  </blockquote>\n  <blockquote v-else>特别提醒：NPM 环境下无需添加 <code>Rabbit</code> 前缀</blockquote>\n  <template v-if=\"props.showWhenToUse\">\n    <h2>何时使用</h2>\n    <ul>\n      <slot />\n    </ul>\n  </template>\n  <h2>代码示例</h2>\n</template>\n\n<script lang=\"ts\" setup>\nimport { defineProps } from \"vue\";\n\ninterface Props {\n  name: string;\n  title: string;\n  desc: string;\n  showTip: boolean;\n  showWhenToUse: boolean;\n}\n\nconst props: Readonly<Props> = defineProps({\n  name: {\n    type: String,\n    require: true,\n  },\n  title: {\n    type: String,\n    require: true,\n  },\n  desc: {\n    type: String,\n    require: true,\n  },\n  showWhenToUse: {\n    type: Boolean,\n    default: true,\n  },\n  showTip: {\n    type: Boolean,\n    default: true,\n  },\n});\n</script>\n"
  },
  {
    "path": "site/src/components/NavLogo.vue",
    "content": "<template>\n  <h1 class=\"header-nav-logo\">\n    <router-link to=\"/\" class=\"header-nav-logo-link\">\n      <img :src=\"Logo\" width=\"32\" height=\"32\" alt=\"logo\" />\n      Rabbit UI\n    </router-link>\n  </h1>\n</template>\n\n<script setup>\nimport Logo from '@/assets/logo.svg'\n</script>\n\n<style lang=\"less\">\n.header-nav-logo {\n  margin-bottom: 0;\n  text-align: center;\n\n  &-link {\n    height: 64px;\n    overflow: hidden;\n    color: inherit;\n    font-size: 18px;\n    line-height: 64px;\n    white-space: nowrap;\n\n    &:hover {\n      color: inherit;\n    }\n\n    img {\n      position: relative;\n      top: -1.5px;\n      margin-right: 16px;\n    }\n  }\n}\n</style>"
  },
  {
    "path": "site/src/components/RowCol.vue",
    "content": "<template>\n  <a-row>\n    <a-col :xs=\"24\" :sm=\"24\" :md=\"6\" :lg=\"6\" :xl=\"4\" :xxl=\"4\">\n      <slot />\n    </a-col>\n  </a-row>\n</template>"
  },
  {
    "path": "site/src/components/SearchInput.vue",
    "content": "<template>\n  <a-select\n    v-model=\"value\"\n    show-search\n    placeholder=\"搜索组件...\"\n    not-found-content=\"没有找到相关组件\"\n    style=\"width: 200px\"\n    allowClear\n    :bordered=\"false\"\n    :showArrow=\"false\"\n    :filter-option=\"filterOption\"\n  >\n    <template #suffixIcon><SearchOutlined /></template>\n    <a-select-option v-for=\"item in COMPONENTSLIST\" :key=\"item.text\">\n      <router-link :to=\"item.path\">{{ item.text }}</router-link>\n    </a-select-option>\n  </a-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { COMPONENTSLIST } from '../router-link-list'\nimport { SearchOutlined } from '@ant-design/icons-vue'\n\nconst value = ref<string | undefined>(undefined)\nconst filterOption = (input: string, option: any) => {\n  return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0\n}\n</script>\n\n<style lang=\"less\" scope>\n.ant-select-item {\n  a {\n    width: 100%;\n    color: inherit;\n    display: inline-block;\n\n    &:hover {\n      color: inherit;\n    }\n  }\n}\n</style>"
  },
  {
    "path": "site/src/components/index.ts",
    "content": "import NavLogo from './NavLogo.vue'\nimport Anchor from './Anchor.vue'\nimport CodeBox from './CodeBox.vue'\nimport ColorCard from './ColorCard.vue'\nimport SearchInput from './SearchInput.vue'\nimport ExampleHeaderArea from './ExampleHeaderArea.vue'\n\nexport { NavLogo, Anchor, CodeBox, ColorCard, SearchInput, ExampleHeaderArea }\n"
  },
  {
    "path": "site/src/examples-code/components/affix/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"affix\" class=\"md-header-anchor\"></a><span>Affix</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>offset-top</span></td>\n            <td><span>距离窗口顶部达到指定偏移量后触发</span></td>\n            <td><span>0</span></td>\n          </tr>\n          <tr>\n            <td><span>offset-bottom</span></td>\n            <td><span>距离窗口底部达到指定偏移量后触发</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>use-capture</span></td>\n            <td><span>addEventListener 原生的 useCapture 选项</span></td>\n            <td><span>false</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 alert，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下值：</span></p>\n    <ul>\n      <li><code>events(options)</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>events</span></td>\n            <td><span>非响应式API，添加提示框的事件，</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <ul>\n      <li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>回调参数</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>onChange</span></td>\n            <td style=\"text-align: left\"><span>固定状态改变时触发的回调函数</span></td>\n            <td style=\"text-align: left\"><span>(affixed: boolean) =&gt; void</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/affix/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-affix</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">inline-block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">10px</span> <span class=\"cm-number\">30px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#1890ff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-affix</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-affix\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>固定在最顶部<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-affix</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 291px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 291px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/affix/FixedBottom.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-affix</span> <span class=\"cm-attribute\">offset-bottom</span>=<span class=\"cm-string\">\"20\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-affix\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>固定在底部 20px 的位置<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-affix</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/affix/Offset.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-affix</span> <span class=\"cm-attribute\">offset-top</span>=<span class=\"cm-string\">\"50\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-affix\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>固定在顶部 50px 的位置<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-affix</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/affix/StatusChange.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-affix</span> <span class=\"cm-attribute\">offset-top</span>=<span class=\"cm-string\">\"100\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-affix\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>固定在顶部 100px 的位置<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-affix</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">affix</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Affix</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">affix</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">affixed</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string-2\">`当前状态：${</span><span class=\"cm-variable-2\">affixed</span><span class=\"cm-string-2\">}`</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 291px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 291px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/affix/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Offset from './Offset.vue'\nimport FixedBottom from './FixedBottom.vue'\nimport StatusChange from './StatusChange.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Offset, FixedBottom, StatusChange, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/alert/APITable.vue",
    "content": "<template>\n  <div\n    ><h4><a name=\"alert\" class=\"md-header-anchor\"></a><span>Alert</span></h4\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>type</span></td\n            ><td\n              ><span>警告提示样式，可选值为</span><code>info</code><span>、</span\n              ><code>success</code><span>、</span><code>warning</code><span>、</span\n              ><code>error</code></td\n            ><td><span>info</span></td></tr\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>提示标题</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>show-icon</span></td\n            ><td><span>是否显示图标</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>closable</span></td\n            ><td><span>是否可关闭</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>close-text</span></td\n            ><td><span>关闭按钮自定义文本</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>banner</span></td\n            ><td><span>应用顶部公告的样式</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>icon</span></td\n            ><td><span>自定义图标内容</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 alert，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>title</code></li\n      ><li><code>icon</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>响应式设置或更新警告提示内容</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>icon</span></td\n            ><td><span>响应式设置或更新图标内容</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加提示框的事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onClose</span></td\n            ><td style=\"text-align: left\"><span>关闭时触发的回调函数</span></td\n            ><td style=\"text-align: left\"><span>(event: MouseEvent) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/alert/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 464.475px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>​</span>x</span></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"信息提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"success\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"成功提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"警告提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"error\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"错误提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/alert/WithBanner.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 762.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">banner</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"注意:通知内容……\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">banner</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"注意:通知内容……\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">banner</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"注意:通知内容……\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/alert/WithClose.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 60px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"信息提示的文案\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"success\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"成功提示的文案\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"警告提示的文案\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">close-text</span>=<span class=\"cm-string\">\"知道了\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">alert</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Alert</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">alert</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClose</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'关闭了警告提示!'</span>)</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 314px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 314px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/alert/WithDesc.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 246.4px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"信息提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"success\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"成功提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"警告提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"error\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"错误提示的文案\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/alert/WithIcon.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 611.963px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"信息提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"success\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"成功提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"警告提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"error\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"错误提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"信息提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"success\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"成功提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"警告提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"error\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"错误提示的文案\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-alert</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"自定义图标\"</span> <span class=\"cm-attribute\">show-icon</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"&lt;i class='rab-icon rab-icon-ios-planet'&gt;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>自定义图标的内容，自定义图标的内容，自定义图标的内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-alert</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 426px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 426px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/alert/index.ts",
    "content": "import Basic from './Basic.vue'\nimport WithDesc from './WithDesc.vue'\nimport WithIcon from './WithIcon.vue'\nimport WithClose from './WithClose.vue'\nimport WithBanner from './WithBanner.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, WithDesc, WithIcon, WithClose, WithBanner, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/avatar/APITable.vue",
    "content": "<template>\n  <div\n    ><h3><a name=\"avatar\" class=\"md-header-anchor\"></a><span>Avatar</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>shape</span></td\n            ><td\n              ><span>指定头像的形状，可选值为 </span><code>circle</code><span>、</span\n              ><code>square</code></td\n            ><td><span>circle</span></td></tr\n          ><tr\n            ><td><span>size</span></td\n            ><td\n              ><span>设置头像的大小，可选值为 </span><code>large</code><span>、</span\n              ><code>small</code><span>，支持设置具体数值</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>src</span></td\n            ><td><span>图片类头像的资源地址</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>icon</span></td\n            ><td><span>设置头像的图标类型，参考 </span><code>icon</code></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 avatar，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加提示框的事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onError</span></td\n            ><td style=\"text-align: left\"><span>在设置 src 且图片加载不成功时触发</span></td\n            ><td style=\"text-align: left\"><span>(event:Event) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/avatar/AutoFontSize.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 537.237px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background-color: #f56a00\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>U<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background-color: #7265e6\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Lucy<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background-color: #ffbf00\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Tom<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background-color: #00a2ae\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Edward<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/avatar/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 450.463px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"64\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">shape</span>=<span class=\"cm-string\">\"square\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"64\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">shape</span>=<span class=\"cm-string\">\"square\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">shape</span>=<span class=\"cm-string\">\"square\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span> <span class=\"cm-attribute\">shape</span>=<span class=\"cm-string\">\"square\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/avatar/Type.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 632.675px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span>U<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span>USER<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"color: #f56a00; background-color: #fde3cf\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>U<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">src</span>=<span class=\"cm-string\">\"https://avatars3.githubusercontent.com/u/62378518\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-avatar</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background-color: #87d068\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"md-person\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-avatar</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/avatar/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Type from './Type.vue'\nimport AutoFontSize from './AutoFontSize.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Type, AutoFontSize, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/back-top/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"backtop\" class=\"md-header-anchor\"></a><span>BackTop</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>height</span></td\n            ><td><span>页面滚动高度达到该值时才显示</span><code>BackTop</code><span>组件</span></td\n            ><td><span>400</span></td></tr\n          ><tr\n            ><td><span>bottom</span></td\n            ><td><span>组件距离底部的距离</span></td\n            ><td><span>30</span></td></tr\n          ><tr\n            ><td><span>right</span></td\n            ><td><span>组件距离右部的距离</span></td\n            ><td><span>30</span></td></tr\n          ><tr\n            ><td><span>duration</span></td\n            ><td><span>滚动动画持续时间，单位 毫秒</span></td\n            ><td><span>500</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/back-top/Basic.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 224.9px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>​</span>x</span></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-back-top</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-back-top</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/back-top/CustomStyle.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.top</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">10px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">rgba</span>(<span class=\"cm-number\">0</span>, <span class=\"cm-number\">153</span>, <span class=\"cm-number\">229</span>, <span class=\"cm-number\">0.7</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border-radius</span>: <span class=\"cm-number\">2px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-back-top</span> <span class=\"cm-attribute\">height</span>=<span class=\"cm-string\">\"100\"</span> <span class=\"cm-attribute\">bottom</span>=<span class=\"cm-string\">\"200\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"top\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>返回顶端<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-back-top</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 291px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 291px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/back-top/index.ts",
    "content": "import Basic from './Basic.vue'\nimport CustomStyle from './CustomStyle.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, CustomStyle, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/badge/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"badge\" class=\"md-header-anchor\"></a><span>Badge</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>count</span></td\n            ><td\n              ><span>显示的数字，大于</span><code>maxCount</code><span>时，显示</span\n              ><code>${maxCount}+</code><span>，为 0 时隐藏</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>max-count</span></td\n            ><td><span>展示封顶的数字值</span></td\n            ><td><span>99</span></td></tr\n          ><tr\n            ><td><span>dot</span></td\n            ><td><span>不展示数字，只有一个小红点，如需隐藏 dot，详见下方 config 方法</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>type</span></td\n            ><td\n              ><span\n                >使用预设的颜色，可选值为 success、primary、normal、error、warning、info</span\n              ></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>show-zero</span></td\n            ><td><span>当数值为 0 时，是否展示 Badge</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>status</span></td\n            ><td\n              ><span\n                >设置 Badge 为状态点，可选值为 success、processing、default、error、warning</span\n              ></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>text</span></td\n            ><td><span>自定义内容，如果设置了 status，则为状态点的文本</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>offset</span></td\n            ><td><span>设置状态点的位置偏移，格式为 [x, y]</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>color</span></td\n            ><td><span>设置更多状态点的颜色或自定义颜色</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 badge，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>count</code></li\n      ><li><code>text</code></li\n      ><li><code>dot</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>count</span></td\n            ><td><span>响应式设置或更新警告徽标显示的数字</span></td\n            ><td><span>Number</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>text</span></td\n            ><td><span>响应式设置或更新徽标自定义内容</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>dot</span></td\n            ><td><span>响应式设置或更新是否为为点状</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/Alone.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-badge-alone</span> <span class=\"cm-tag\">sup</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#5cb85c</span> <span class=\"cm-keyword\">!important</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"25\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"15\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge-alone\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/Basic.vue",
    "content": "<template>\n  <div>\n    <pre\n      lang=\"html\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n      spellcheck=\"false\"\n      style=\"break-inside: unset\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 336px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-badge</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-property\">width</span>: <span class=\"cm-number\">42px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-property\">height</span>: <span class=\"cm-number\">42px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#eee</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-property\">border-radius</span>: <span class=\"cm-number\">6px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-property\">display</span>: <span class=\"cm-atom\">inline-block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"0\"</span> <span class=\"cm-attribute\">show-zero</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 358px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 358px;\"></div></div></div></pre\n    ><p>&nbsp;</p></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/Colors.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 403.2px; left: 502.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">strong</span><span class=\"cm-tag cm-bracket\">&gt;</span>预设：<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">strong</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"blue\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"blue\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"green\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"green\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"red\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"red\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"yellow\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"yellow\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"pink\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"pink\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"magenta\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"magenta\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"volcano\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"volcano\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"orange\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"orange\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"gold\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"gold\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"lime\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"lime\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"cyan\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"cyan\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"geekblue\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"geekblue\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"purple\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"purple\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">strong</span><span class=\"cm-tag cm-bracket\">&gt;</span>自定义：<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">strong</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"#2db7f5\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"#2db7f5\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 426px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 426px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/CustomContent.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"new\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"hot\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/CustomPosition.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">offset</span>=<span class=\"cm-string\">\"[5,10]\"</span><span class=\"cm-tag cm-bracket\">&gt;</span> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/MaxCount.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 246.4px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"99\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"100\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"99\"</span> <span class=\"cm-attribute\">max-count</span>=<span class=\"cm-string\">\"10\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"1000\"</span> <span class=\"cm-attribute\">max-count</span>=<span class=\"cm-string\">\"999\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/PresetColor.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 380.8px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"6\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"6\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"6\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"normal\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"6\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"info\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"6\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">count</span>=<span class=\"cm-string\">\"6\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 403px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 403px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/RedDot.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">dot</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-badge\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">dot</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-notifications-outline\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"font-size: 26px\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">dot</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>可以是一个链接<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/StatusDot.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 336px; left: 450.45px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"default\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"processing\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"success\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"Success\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"error\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"Error\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"default\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"Default\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"processing\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"Processing\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-badge</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"warning\"</span> <span class=\"cm-attribute\">text</span>=<span class=\"cm-string\">\"Warning\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-badge</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 358px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 358px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/badge/index.ts",
    "content": "import Basic from './Basic.vue'\nimport RedDot from './RedDot.vue'\nimport MaxCount from './MaxCount.vue'\nimport Alone from './Alone.vue'\nimport CustomContent from './CustomContent.vue'\nimport CustomPosition from './CustomPosition.vue'\nimport StatusDot from './StatusDot.vue'\nimport Colors from './Colors.vue'\nimport PresetColor from './PresetColor.vue'\nimport APITable from './APITable.vue'\n\nexport {\n  Basic,\n  RedDot,\n  MaxCount,\n  Alone,\n  CustomContent,\n  CustomPosition,\n  StatusDot,\n  Colors,\n  PresetColor,\n  APITable\n}\n"
  },
  {
    "path": "site/src/examples-code/components/breadcrumb/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"breadcrumb\" class=\"md-header-anchor\"></a><span>Breadcrumb</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>separator</span></td\n            ><td><span>自定义分隔符</span></td\n            ><td><span>/</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/breadcrumb/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 138.138px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-breadcrumb</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Home<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Components<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Breadcrumb<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-breadcrumb</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/breadcrumb/Separator.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-breadcrumb-separator</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#ff5500</span>;</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">0</span> <span class=\"cm-number\">5px</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-breadcrumb</span> <span class=\"cm-attribute\">separator</span>=<span class=\"cm-string\">\"&gt;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Home<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Components<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Breadcrumb<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-breadcrumb</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-breadcrumb</span> <span class=\"cm-attribute\">separator</span>=<span class=\"cm-string\">\"&lt;b class='demo-breadcrumb-separator'&gt;=&gt;&lt;/b&gt;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Home<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Components<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Breadcrumb<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-breadcrumb</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 403px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 403px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/breadcrumb/WithIcon.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 291.2px; left: 138.138px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-breadcrumb</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-home-outline\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Home<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-logo-buffer\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Components<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-cafe\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Breadcrumb<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-breadcrumb</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 314px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 314px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/breadcrumb/index.ts",
    "content": "import Basic from './Basic.vue'\nimport WithIcon from './WithIcon.vue'\nimport Separator from './Separator.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, WithIcon, Separator, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/button/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"button\" class=\"md-header-anchor\"></a><span>Button</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>loading</span></td>\n            <td><span>设置按钮为加载中状态</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>disabled</span></td>\n            <td><span>设置按钮为禁用状态</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>icon</span></td>\n            <td><span>设置按钮的图标类型</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 button，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下值：</span></p>\n    <ul>\n      <li><code>loading</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>loading</span></td>\n            <td><span>响应式设置设置按钮为加载中状态</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 710.375px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>默认按钮(禁用)<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>主要按钮(禁用)<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-dashed\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>虚线按钮(禁用)<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-text\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>文本按钮(禁用)<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Ghost.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background: rgb(190, 200, 200); padding: 20px;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>默认按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>主要按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-dashed rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>虚线按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-text rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>文本按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-info rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>信息按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-success rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-warning rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-error rab-btn-ghost\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>危险按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Group.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 2240px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span>基本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Cancel<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Confirm<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Yesterday<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Today<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">disabled</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Tomorrow<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>L<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>M<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>M<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-dashed\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>R<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span>图标<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-back\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Backward<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Forward<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-forward\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-skip-backward\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-skip-forward\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-color-wand\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-sunny\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-crop\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-color-filter\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span>圆角<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-back\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Backward<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span>Forward<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-forward\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-skip-backward\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-skip-forward\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-color-wand\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-sunny\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-crop\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-color-filter\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span>尺寸<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-lg\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Large<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Large<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Default<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Default<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-sm\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Small<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Small<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-lg rab-btn-group-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Large<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Large<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Default<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Default<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-sm rab-btn-group-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Small<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Small<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 2262px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 2262px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/IconWithCircle.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 603.5px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-search\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-search\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>搜索<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-search\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  搜索</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>圆角按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-search\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-search\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>搜索<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-search\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>搜索<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>圆角按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Loading.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 380.8px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">loading</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Loading...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"testBtn1\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"testBtn2\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-circle\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-power\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">loading</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">loading</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-circle\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">button</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Button</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">btn1</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">document</span>.<span class=\"cm-property\">querySelector</span>(<span class=\"cm-string\">'#testBtn1'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">btn2</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">document</span>.<span class=\"cm-property\">querySelector</span>(<span class=\"cm-string\">'#testBtn2'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">btn1</span>.<span class=\"cm-property\">onclick</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">button</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#testBtn1'</span>).<span class=\"cm-property\">loading</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">btn2</span>.<span class=\"cm-property\">onclick</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">button</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#testBtn1'</span>).<span class=\"cm-property\">loading</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 403px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 403px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Long.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 22.4px; left: 707.613px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-success rab-btn-long\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>提交按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-error rab-btn-long\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>删除按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 45px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 45px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Placement.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-vertical\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-facebook\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-twitter\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-googleplus\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-tumblr\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Size.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 698.938px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-lg\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>主要按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>默认按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-dashed rab-btn-sm\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>虚线按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/Type.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 594.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>默认按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>主要按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-dashed\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>虚线按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-text\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>文本按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-info\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>信息按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>危险按钮<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/button/index.ts",
    "content": "import Type from './Type.vue'\nimport Ghost from './Ghost.vue'\nimport IconWithCircle from './IconWithCircle.vue'\nimport Size from './Size.vue'\nimport Long from './Long.vue'\nimport Disabled from './Disabled.vue'\nimport Loading from './Loading.vue'\nimport Group from './Group.vue'\nimport Placement from './Placement.vue'\nimport APITable from './APITable.vue'\n\nexport { Type, Ghost, IconWithCircle, Size, Long, Disabled, Loading, Group, Placement, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/card/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"card\" class=\"md-header-anchor\"></a><span>Card</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>no-bodred</span></td\n            ><td><span>不显示边框，建议在灰色背景下使用</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>dis-hover</span></td\n            ><td><span>禁用鼠标悬停显示阴影</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>shadow</span></td\n            ><td><span>卡片阴影，建议在灰色背景下使用</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>卡片标题</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>extra</span></td\n            ><td><span>卡片额外操作的内容</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 steps，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下2个 String 类型的属性：</span></p\n    ><ul\n      ><li><code>title</code></li\n      ><li><code>extra</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>响应式设置卡片标题</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>extra</span></td\n            ><td><span>响应式设置卡片额外操作的内容</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/card/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>​</span>x</span></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"卡片标题\"</span> <span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;a&gt;更多&lt;/a&gt;\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"width: 340px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/card/DisHover.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 291.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"卡片标题\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"卡片标题\"</span> <span class=\"cm-attribute\">dis-hover</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 314px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 314px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/card/NoBorder.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background: #eee; padding: 20px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"无边框\"</span> <span class=\"cm-attribute\">no-border</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; 这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/card/Shadow.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 336px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background: #eee; padding: 20px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"卡片标题\"</span> <span class=\"cm-attribute\">no-border</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"卡片标题\"</span> <span class=\"cm-attribute\">shadow</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>卡片内容 3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 358px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 358px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/card/Simple.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-card</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"width: 340px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"text-align: center\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">img</span> <span class=\"cm-attribute\">src</span>=<span class=\"cm-string\">\"../../assets/logo.png\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"height: 95px\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h3</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"margin: 8px 0\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>一套基于TS构建的UI组件库<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h3</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-card</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/card/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Simple from './Simple.vue'\nimport DisHover from './DisHover.vue'\nimport Shadow from './Shadow.vue'\nimport NoBorder from './NoBorder.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Simple, DisHover, Shadow, NoBorder, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/carousel/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"carousel\" class=\"md-header-anchor\"></a><span>Carousel</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>autoplay</span></td\n            ><td style=\"text-align: left\"><span>是否自动切换</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>autoplay-speed</span></td\n            ><td style=\"text-align: left\"><span>自动切换的时间间隔，单位为毫秒</span></td\n            ><td style=\"text-align: left\"><span>2000</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>dots</span></td\n            ><td style=\"text-align: left\"\n              ><span\n                >指示器的位置，可选值为 inside （内部），outside（外部），none（不显示）</span\n              ></td\n            ><td style=\"text-align: left\"><span>inside</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>radius-dot</span></td\n            ><td style=\"text-align: left\"><span>是否显示圆形指示器</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>trigger</span></td\n            ><td style=\"text-align: left\"\n              ><span>指示器的触发方式，可选值为 click（点击），hover（悬停）</span></td\n            ><td style=\"text-align: left\"><span>click</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>arrow</span></td\n            ><td style=\"text-align: left\"\n              ><span\n                >切换箭头的显示时机，可选值为\n                hover（悬停），always（一直显示），never（不显示）</span\n              ></td\n            ><td style=\"text-align: left\"><span>hover</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>easing</span></td\n            ><td style=\"text-align: left\"><span>动画效果</span></td\n            ><td style=\"text-align: left\"><span>ease</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>effect</span></td\n            ><td style=\"text-align: left\"\n              ><span>动画效果函数，可切换为渐显 </span><code>fade</code></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 carousel，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加提示框的事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onClick</span></td\n            ><td style=\"text-align: left\"><span>点击幻灯片时触发，返回索引值</span></td\n            ><td style=\"text-align: left\"><span>(index: number) =&gt; void</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>onChange</span></td\n            ><td style=\"text-align: left\"\n              ><span>幻灯片切换时触发，目前激活的幻灯片的索引，原幻灯片的索引</span></td\n            ><td style=\"text-align: left\"\n              ><span>([ oldValue, value ]: [number,number]) =&gt; void</span></td\n            ></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/carousel/AutoPlay.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-carousel</span> <span class=\"cm-attribute\">autoplay</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>4<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-carousel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">carousel</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Carousel</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">carousel</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: ([<span class=\"cm-def\">oldValue</span>, <span class=\"cm-def\">value</span>]) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string-2\">`原幻灯片索引: ${</span><span class=\"cm-variable-2\">oldValue</span><span class=\"cm-string-2\">}`</span>, <span class=\"cm-string-2\">`目前激活索引: ${</span><span class=\"cm-variable-2\">value</span><span class=\"cm-string-2\">}`</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClick</span>: (<span class=\"cm-def\">index</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">index</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/carousel/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 403.2px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-carousel</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">250px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">line-height</span>: <span class=\"cm-number\">250px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-size</span>: <span class=\"cm-number\">20px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#364d79</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-carousel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>4<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-carousel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 426px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 426px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/carousel/Fade.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-carousel</span> <span class=\"cm-attribute\">effect</span>=<span class=\"cm-string\">\"fade\"</span> <span class=\"cm-attribute\">autoplay</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>1<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>2<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>3<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-carousel\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>4<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-carousel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/carousel/index.ts",
    "content": "import Basic from './Basic.vue'\nimport AutoPlay from './AutoPlay.vue'\nimport Fade from './Fade.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, AutoPlay, Fade, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/checkbox/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"checkbox\" class=\"md-header-anchor\"></a><span>Checkbox</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>checked</span></td\n            ><td style=\"text-align: left\"><span>单个是否选中</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>label</span></td\n            ><td style=\"text-align: left\"\n              ><span\n                >只在组合使用时有效。指定当前选项的 value 值，组合会自动判断当前选择的项目</span\n              ></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>disabled</span></td\n            ><td style=\"text-align: left\"><span>是否禁用当前项</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>size</span></td\n            ><td style=\"text-align: left\"\n              ><span>单选框的尺寸，可选值为 </span><code>large</code><span>，</span\n              ><code>small</code><span> 或者不设置</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>border</span></td\n            ><td style=\"text-align: left\"><span>是否显示边框</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>icon</span></td\n            ><td style=\"text-align: left\"><span>设置前缀图标</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>indeterminate</span></td\n            ><td style=\"text-align: left\"><span>设置 indeterminate 状态，只负责样式控制</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"radiogroup\" class=\"md-header-anchor\"></a><span>RadioGroup</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>value</span></td\n            ><td style=\"text-align: left\"><span>指定选中项目的集合</span></td\n            ><td style=\"text-align: left\"><span>[ ]</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>size</span></td\n            ><td style=\"text-align: left\"\n              ><span>多选框组的尺寸，可选值为 </span><code>large</code><span>、</span\n              ><code>small</code><span> 或者不设置</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 checkbox，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下三个值：</span></p\n    ><ul\n      ><li><code>checked</code></li\n      ><li><code>disabled</code></li\n      ><li><code>value</code></li\n      ><li><code>indeterminate</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>checked</span></td\n            ><td><span>响应式设置单个是否选中</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>disabled</span></td\n            ><td><span>响应式设置是否禁用当前项</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>value</span></td\n            ><td><span>响应式设置 checkbox-group 当前选中的项目数据</span></td\n            ><td><span>Array</span><string></string></td><td><span>-</span></td></tr\n          ><tr\n            ><td><span>indeterminate</span></td\n            ><td><span>响应式设置 indeterminate 状态</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加 Checkbox 的事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onChange</span></td\n            ><td style=\"text-align: left\"\n              ><span\n                >在选项状态发生改变时触发。当选中的配置目标是 checkbox-group\n                时，返回已选中的数组。如果是单个 checkbox 则返回当前选中状态</span\n              ></td\n            ><td style=\"text-align: left\"\n              ><span>(checked: boolean </span><span>|</span\n              ><span> data: string[]) =&gt; void</span></td\n            ></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/checkbox/Basic.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 294.313px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span>Checkbox<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/checkbox/Border.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 172.85px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"['苹果']\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"苹果\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>苹果<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"西瓜\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>西瓜<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"猕猴桃\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>猕猴桃<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/checkbox/Disabled.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 172.85px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">checked</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>Checkbox<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"['西瓜']\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"苹果\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>苹果<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"西瓜\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>西瓜<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"猕猴桃\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>猕猴桃<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/checkbox/Group.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 112px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"['facebook', 'github']\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"twitter\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-twitter\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Twitter<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"facebook\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-facebook\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Facebook<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"github\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-github\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Github<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"snapchat\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-snapchat\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Snapchat<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"['西瓜']\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"苹果\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>苹果<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"西瓜\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>西瓜<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"猕猴桃\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>猕猴桃<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/checkbox/Indeterminate.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 940.8px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"border-bottom: 1px solid #e9e9e9;padding-bottom:6px;margin-bottom:6px;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"checkAll\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>全选<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox-group</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"checkAllGroup\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"苹果\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>苹果<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"西瓜\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>西瓜<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-checkbox</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"猕猴桃\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>猕猴桃<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-checkbox-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">checkbox</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Checkbox</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">checkAll</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">checkbox</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#checkAll'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">checkAllGroup</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">checkbox</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#checkAllGroup'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">checked</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">indeterminate</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAllGroup</span>.<span class=\"cm-property\">value</span> <span class=\"cm-operator\">=</span> [];</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">checked</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">indeterminate</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  } <span class=\"cm-keyword\">else</span> <span class=\"cm-keyword\">if</span> (<span class=\"cm-variable-2\">checked</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAllGroup</span>.<span class=\"cm-property\">value</span> <span class=\"cm-operator\">=</span> [<span class=\"cm-string\">'苹果'</span>, <span class=\"cm-string\">'西瓜'</span>, <span class=\"cm-string\">'猕猴桃'</span>];</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  } <span class=\"cm-keyword\">else</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAllGroup</span>.<span class=\"cm-property\">value</span> <span class=\"cm-operator\">=</span> [];</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">indeterminate</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">checkAllGroup</span>.<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">data</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable-2\">data</span>.<span class=\"cm-property\">length</span> <span class=\"cm-operator\">===</span> <span class=\"cm-number\">0</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">checked</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">indeterminate</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  } <span class=\"cm-keyword\">else</span> <span class=\"cm-keyword\">if</span> (<span class=\"cm-variable-2\">data</span>.<span class=\"cm-property\">length</span> <span class=\"cm-operator\">===</span> <span class=\"cm-number\">3</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">checked</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">indeterminate</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  } <span class=\"cm-keyword\">else</span> <span class=\"cm-keyword\">if</span> (<span class=\"cm-variable-2\">data</span>.<span class=\"cm-property\">length</span> <span class=\"cm-operator\">&amp;&amp;</span> <span class=\"cm-variable-2\">data</span>.<span class=\"cm-property\">length</span> <span class=\"cm-operator\">&lt;</span> <span class=\"cm-number\">3</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">checkAll</span>.<span class=\"cm-property\">indeterminate</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 963px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 963px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/checkbox/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Group from './Group.vue'\nimport Border from './Border.vue'\nimport Disabled from './Disabled.vue'\nimport Indeterminate from './Indeterminate.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Group, Border, Disabled, Indeterminate, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/circle/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <p style=\"font-size: 32px\">API</p>\n    <h3><a name=\"circle\" class=\"md-header-anchor\"></a><span>Circle</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>percent</span></td>\n            <td><span>百分比</span></td>\n            <td><span>0</span></td>\n          </tr>\n          <tr>\n            <td><span>size</span></td>\n            <td><span>图表的宽度和高度，单位 px</span></td>\n            <td><span>120</span></td>\n          </tr>\n          <tr>\n            <td><span>stroke-linecap</span></td>\n            <td>\n              <span>进度环顶端的形状，可选值为</span><code>square</code\n              ><span>（方）和</span><code>round</code><span>（圆）</span>\n            </td>\n            <td><span>round</span></td>\n          </tr>\n          <tr>\n            <td><span>stroke-width</span></td>\n            <td><span>进度环的线宽，单位 px</span></td>\n            <td><span>6</span></td>\n          </tr>\n          <tr>\n            <td><span>stroke-color</span></td>\n            <td>\n              <span\n                >进度环的颜色，支持传入数组显示为渐变色，标签属性上设置数组的格式的值为</span\n              ><code>'[\"xxxx\",\"xxx\"]'</code>\n            </td>\n            <td><span>#</span><span>1890ff</span></td>\n          </tr>\n          <tr>\n            <td><span>trail-width</span></td>\n            <td><span>进度环背景的线宽，单位 px</span></td>\n            <td><span>5</span></td>\n          </tr>\n          <tr>\n            <td><span>trail-color</span></td>\n            <td><span>进度环背景的颜色</span></td>\n            <td><span>#</span><span>eaeef2</span></td>\n          </tr>\n          <tr>\n            <td><span>dashboard</span></td>\n            <td><span>是否显示为仪表盘</span></td>\n            <td><span>false</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 circle，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下两个值：</span></p>\n    <ul>\n      <li><code>percent</code></li>\n      <li><code>strokeColor</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>percent</span></td>\n            <td><span>响应式设置百分比</span></td>\n            <td><span>Number</span></td>\n            <td><span>0</span></td>\n          </tr>\n          <tr>\n            <td><span>strokeColor</span></td>\n            <td><span>响应式设置进度环的颜色</span></td>\n            <td><span>String </span><span>|</span><span> String[ ]</span></td>\n            <td><span>#1890ff</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/circle/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>​</span>x</span></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-circle</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"80\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"font-size: 24px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>80%<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-circle</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-circle</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"100\"</span> <span class=\"cm-attribute\">stroke-color</span>=<span class=\"cm-string\">\"#5cb85c\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-checkmark\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"font-size: 60px; color: #5cb85c\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-circle</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-circle</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"35\"</span> <span class=\"cm-attribute\">stroke-color</span>=<span class=\"cm-string\">\"#ff5500\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-close\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"font-size: 50px; color: #ff5500\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-circle</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/circle/CustomStyle.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 1232px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-qualifier\">.demo-circle-custom</span> <span class=\"cm-tag\">h1</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">inline-block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#3f414d</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-size</span>: <span class=\"cm-number\">28px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-weight</span>: <span class=\"cm-atom\">normal</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">24px</span> <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-circle-custom</span> <span class=\"cm-tag\">p</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#657180</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">16px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-size</span>: <span class=\"cm-number\">14px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-circle-custom</span> <span class=\"cm-tag\">span</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding-top</span>: <span class=\"cm-number\">15px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#657180</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-size</span>: <span class=\"cm-number\">14px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-circle-custom</span> <span class=\"cm-tag\">span</span>:<span class=\"cm-variable-3\">before</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">''</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">50px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">1px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">0</span> <span class=\"cm-atom\">auto</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#e0e3e6</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">position</span>: <span class=\"cm-atom\">relative</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">top</span>: <span class=\"cm-number\">-15px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-circle-custom</span> <span class=\"cm-tag\">span</span> <span class=\"cm-tag\">i</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-style</span>: <span class=\"cm-atom\">normal</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-atom\">#3f414d</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-circle</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"250\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">trail-width</span>=<span class=\"cm-string\">\"4\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-width</span>=<span class=\"cm-string\">\"5\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"75\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-linecap</span>=<span class=\"cm-string\">\"square\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-color</span>=<span class=\"cm-string\">\"#43a3fb\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-circle-custom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h1</span><span class=\"cm-tag cm-bracket\">&gt;</span>42,001,776<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h1</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>消费人群规模<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  总占人数</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span>75%<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-circle</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1254px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1254px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/circle/Dashboard.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-circle</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"80\"</span> <span class=\"cm-attribute\">dashboard</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"font-size: 24px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>80%<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-circle</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/circle/UseWithOther.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 851.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-circle</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"0\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">span</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"percentText\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"font-size: 24px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>0%<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">span</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-circle</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn-group rab-btn-group-lg\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-icon-only\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"add()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-add\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-icon-only\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"minus()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-remove\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">circle</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Circle</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">test</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">circle</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">percentText</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">document</span>.<span class=\"cm-property\">querySelector</span>(<span class=\"cm-string\">'#percentText'</span>)<span class=\"cm-operator\">!</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">percent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">add</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">percent</span> <span class=\"cm-operator\">&gt;=</span> <span class=\"cm-number\">100</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">return</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">percent</span> <span class=\"cm-operator\">+=</span> <span class=\"cm-number\">10</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">percent</span> <span class=\"cm-operator\">==</span> <span class=\"cm-number\">100</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">test</span>.<span class=\"cm-property\">strokeColor</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'#5cb85c'</span>) : <span class=\"cm-string\">''</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">test</span>.<span class=\"cm-property\">percent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">percent</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">percentText</span>.<span class=\"cm-property\">textContent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`${</span><span class=\"cm-variable\">percent</span><span class=\"cm-string-2\">}%`</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">minus</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">percent</span> <span class=\"cm-operator\">&lt;=</span> <span class=\"cm-number\">0</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">return</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">percent</span> <span class=\"cm-operator\">-=</span> <span class=\"cm-number\">10</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">test</span>.<span class=\"cm-property\">percent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">percent</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">test</span>.<span class=\"cm-property\">strokeColor</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'#1890ff'</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">percentText</span>.<span class=\"cm-property\">textContent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`${</span><span class=\"cm-variable\">percent</span><span class=\"cm-string-2\">}%`</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 874px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 874px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/circle/index.ts",
    "content": "import Basic from './Basic.vue'\nimport UseWithOther from './UseWithOther.vue'\nimport CustomStyle from './CustomStyle.vue'\nimport Dashboard from './Dashboard.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, UseWithOther, CustomStyle, Dashboard, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/collapse/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"collapse\" class=\"md-header-anchor\"></a><span>Collapse</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>active-index</span></td\n            ><td\n              ><span>初始化选中面板的 key，格式可以为 </span><code>string</code><span>、</span\n              ><code>number</code><span>、 </span><code>\"[string]\"</code><span> 或 </span\n              ><code>\"[number]\"</code></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>accordion</span></td\n            ><td><span>是否开启手风琴模式，开启后每次至多展开一个面板</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>simple</span></td\n            ><td><span>简洁边框风格的折叠面板</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>ghost</span></td\n            ><td><span>使折叠面板透明且无边框</span></td\n            ><td><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"collapse-panel\" class=\"md-header-anchor\"></a><span>Collapse-panel</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>index</span></td\n            ><td\n              ><span>当前面板的 key，与 r-collapse 的</span><code>active-index</code\n              ><span>对应，不填为索引值</span></td\n            ><td><span>index</span></td></tr\n          ><tr\n            ><td><span>hide-arrow</span></td\n            ><td><span>隐藏当前面板上的箭头</span></td\n            ><td><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 collapse，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下两个值：</span></p\n    ><ul\n      ><li><code>activeIndex</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>activeIndex</span></td\n            ><td><span>响应式设置当前激活面板的 index</span></td\n            ><td\n              ><span>String </span><span>|</span><span> String[ ] </span><span>|</span\n              ><span> Number </span><span>|</span><span> Number[ ]</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加折叠面板事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onChange</span></td\n            ><td style=\"text-align: left\"\n              ><span>切换面板时触发，返回当前已展开的面板的 key，格式为数组</span></td\n            ><td style=\"text-align: left\"><span>(index: string[]) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/collapse/According.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 224px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse</span> <span class=\"cm-attribute\">active-index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">accordion</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 246px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 246px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/collapse/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>​</span>x</span></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse</span> <span class=\"cm-attribute\">active-index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"demoCollapse\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">collapse</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Collapse</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">collapse</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#demoCollapse'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">key</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">key</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/collapse/Ghost.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 224px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse</span> <span class=\"cm-attribute\">active-index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">ghost</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 246px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 246px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/collapse/HiddenArrow.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse</span> <span class=\"cm-attribute\">active-index</span>=<span class=\"cm-string\">\"1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题2\"</span> <span class=\"cm-attribute\">hide-arrow</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/collapse/Simple.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 224px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse</span> <span class=\"cm-attribute\">active-index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">simple</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-collapse-panel</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"面板标题3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse-panel</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-collapse</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 246px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 246px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/collapse/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Simple from './Simple.vue'\nimport Ghost from './Ghost.vue'\nimport According from './According.vue'\nimport HiddenArrow from './HiddenArrow.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Simple, Ghost, According, HiddenArrow, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/count-down/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"countdown\" class=\"md-header-anchor\"></a><span>CountDown</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>end-time</span></td\n            ><td><span>设置倒计时结束的目标时间</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 count-down，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>endTime</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>endTime</span></td\n            ><td><span>响应式设置倒计时结束的目标时间</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加倒计时的事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onStop</span></td\n            ><td style=\"text-align: left\"><span>倒计时结束后触发的事件</span></td\n            ><td style=\"text-align: left\"><span>(stop: boolean) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/count-down/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-count-down</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test1\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-count-down</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-count-down</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test2\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-count-down</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">countDown</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">CountDown</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">date</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Date</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">YYMMDD</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`${</span><span class=\"cm-variable\">date</span>.<span class=\"cm-property\">getFullYear</span>()<span class=\"cm-string-2\">}/${</span><span class=\"cm-variable\">date</span>.<span class=\"cm-property\">getMonth</span>() <span class=\"cm-operator\">+</span> <span class=\"cm-number\">1</span><span class=\"cm-string-2\">}/${</span><span class=\"cm-variable\">date</span>.<span class=\"cm-property\">getDate</span>()<span class=\"cm-string-2\">}`</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">h</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">date</span>.<span class=\"cm-property\">getHours</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">mm</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">date</span>.<span class=\"cm-property\">getMinutes</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-comment\">// 'YYYY/MM/DD HH:mm:ss'</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">countDown</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test1'</span>).<span class=\"cm-property\">endTime</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`${</span><span class=\"cm-variable\">YYMMDD</span><span class=\"cm-string-2\">}</span> <span class=\"cm-string-2\">${</span><span class=\"cm-variable\">h</span> <span class=\"cm-operator\">+</span> <span class=\"cm-number\">1</span><span class=\"cm-string-2\">}:00:00`</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">countDown</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test2'</span>).<span class=\"cm-property\">endTime</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`${</span><span class=\"cm-variable\">YYMMDD</span><span class=\"cm-string-2\">}</span> <span class=\"cm-string-2\">${</span><span class=\"cm-variable\">h</span><span class=\"cm-string-2\">}:${</span><span class=\"cm-variable\">mm</span> <span class=\"cm-operator\">+</span> <span class=\"cm-number\">1</span><span class=\"cm-string-2\">}:00`</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">countDown</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test2'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onStop</span>: (<span class=\"cm-def\">stop</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable-2\">stop</span>) <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'倒计时结束！'</span>)</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/count-down/index.ts",
    "content": "import Basic from './Basic.vue'\nimport APITable from './APITable.vue'\nexport { Basic, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/divider/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"divider\" class=\"md-header-anchor\"></a><span>Divider</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>type</span></td\n            ><td><span>水平还是垂直类型，可选值为 horizontal 或 vertical</span></td\n            ><td><span>horizontal</span></td></tr\n          ><tr\n            ><td><span>orientation</span></td\n            ><td><span>分割线标题的位置，可选值为 left、right 或 center</span></td\n            ><td><span>center</span></td></tr\n          ><tr\n            ><td><span>dashed</span></td\n            ><td><span>是否虚线</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>size</span></td\n            ><td><span>标题文字尺寸，可选值为 small 或 不填</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>plain</span></td\n            ><td><span>文字是否显示为普通正文样式</span></td\n            ><td><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/divider/HeaderPosition.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 42.7px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">orientation</span>=<span class=\"cm-string\">\"left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左侧标题<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">orientation</span>=<span class=\"cm-string\">\"right\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右侧标题<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/divider/Horizontal.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 313.6px; left: 42.7px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span>标题居中<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">dashed</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 336px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 336px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/divider/TextStyle.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 246.4px; left: 42.7px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">plain</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标题居中<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">plain</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">orientation</span>=<span class=\"cm-string\">\"left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右侧标题<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">plain</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">orientation</span>=<span class=\"cm-string\">\"right\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右侧标题<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/divider/Vertical.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 175.6px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">文本</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"vertical\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>链接<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-divider</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"vertical\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-divider</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>链接<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/divider/index.ts",
    "content": "import Vertical from './Vertical.vue'\nimport Horizontal from './Horizontal.vue'\nimport TextStyle from './TextStyle.vue'\nimport HeaderPosition from './HeaderPosition.vue'\nimport APITable from './APITable.vue'\n\nexport { Vertical, Horizontal, TextStyle, HeaderPosition, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/drawer/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"drawer\" class=\"md-header-anchor\"></a><span>Drawer</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>visible</span></td\n            ><td style=\"text-align: left\"><span>初始 Drawer 是否可见</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>title</span></td\n            ><td style=\"text-align: left\"><span>抽屉标题</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>width</span></td\n            ><td style=\"text-align: left\"><span>抽屉宽度。需要带像素单位</span></td\n            ><td style=\"text-align: left\"><span>256px</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>closable</span></td\n            ><td style=\"text-align: left\"><span>是否显示右上角的关闭按钮</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>mask-closable</span></td\n            ><td style=\"text-align: left\"><span>是否允许点击遮罩层关闭</span></td\n            ><td style=\"text-align: left\"><span>true</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>mask</span></td\n            ><td style=\"text-align: left\"><span>是否显示遮罩层</span></td\n            ><td style=\"text-align: left\"><span>true</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>scrollable</span></td\n            ><td style=\"text-align: left\"><span>页面是否可以滚动</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>placement</span></td\n            ><td style=\"text-align: left\"\n              ><span>抽屉的方向，可选值为 top、 right、 bottom 、 left</span></td\n            ><td style=\"text-align: left\"><span>right</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>inner</span></td\n            ><td style=\"text-align: left\"\n              ><span>是否设置抽屉在某个元素内打开，该元素需要有相对定位</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>lock-scroll</span></td\n            ><td style=\"text-align: left\"><span>是否禁止对页面滚动条的修改</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 drawer，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下两个值：</span></p\n    ><ul\n      ><li><code>title</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>响应式设置抽屉的标题</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加抽屉事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onClose</span></td\n            ><td style=\"text-align: left\"><span>关闭抽屉时触发</span></td\n            ><td style=\"text-align: left\"><span>无</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/drawer/Basic.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 537.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleClick()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Open<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Basic Drawer\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">drawer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Drawer</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleClick</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">visible</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">visible</span>) : <span class=\"cm-variable\">visible</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test1'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">visible</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test1'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClose</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'关闭抽屉'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 560px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 560px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/drawer/Custom.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 1433.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"Top()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Top<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"Left()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Left<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"Bottom()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Bottom<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"Right()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Right<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Basic Drawer\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test3\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Basic Drawer\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test4\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Basic Drawer\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test5\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Basic Drawer\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">drawer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Drawer</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">top</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">left</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">bottom</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">right</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Top</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">top</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">top</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">top</span>) : <span class=\"cm-variable\">top</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test2'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">top</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Left</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">left</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">left</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">left</span>) : <span class=\"cm-variable\">left</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test3'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">left</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Bottom</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">bottom</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">bottom</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">bottom</span>) : <span class=\"cm-variable\">bottom</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test4'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">bottom</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Right</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">right</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">right</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">right</span>) : <span class=\"cm-variable\">right</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test5'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">right</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1456px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1456px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/drawer/Inner.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 672px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.container</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">480px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">200px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">20px</span> <span class=\"cm-atom\">auto</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">overflow</span>: <span class=\"cm-atom\">hidden</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">position</span>: <span class=\"cm-atom\">relative</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border</span>: <span class=\"cm-number\">1px</span> <span class=\"cm-atom\">solid</span> <span class=\"cm-atom\">#ebedf0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border-radius</span>: <span class=\"cm-number\">2px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">48px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#fafafa</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"container\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"openInner()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Open Inner<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Basic Drawer\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test6\"</span> <span class=\"cm-attribute\">inner</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some contents...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">drawer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Drawer</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">inner</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">openInner</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">inner</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">inner</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">inner</span>) : <span class=\"cm-variable\">inner</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test6'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">inner</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 694px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 694px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/drawer/Multilayer.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 560px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleClick1()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>多层抽屉<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test7\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"多层抽屉\"</span> <span class=\"cm-attribute\">width</span>=<span class=\"cm-string\">\"512px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleClick2()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>打开第二层抽屉<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-drawer</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test8\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"第二层抽屉\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>这是第二层抽屉。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-drawer</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">drawer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Drawer</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">let</span> <span class=\"cm-def\">first</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">second</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleClick1</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">first</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">first</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">first</span>) : <span class=\"cm-variable\">first</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test7'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">first</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleClick2</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">second</span> <span class=\"cm-operator\">===</span> <span class=\"cm-atom\">false</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">second</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">second</span>) : <span class=\"cm-variable\">second</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">drawer</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test8'</span>).<span class=\"cm-property\">visable</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">second</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 582px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 582px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/drawer/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Inner from './Inner.vue'\nimport Custom from './Custom.vue'\nimport Multilayer from './Multilayer.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Inner, Custom, Multilayer, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/dropdown/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"dropdown\" class=\"md-header-anchor\"></a><span>Dropdown</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>trigger</span></td\n            ><td style=\"text-align: left\"\n              ><span>触发方式，可选值为 </span><code>hover</code><span>（悬停）</span\n              ><code>click</code><span>（点击）</span><code>contextMenu</code><span>（右键）</span\n              ><code>custom</code><span> (自定义)</span></td\n            ><td style=\"text-align: left\"><span>hover</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>placement</span></td\n            ><td style=\"text-align: left\"\n              ><span>下拉菜单出现的位置，可选值为</span\n              ><code\n                >top``top-start``top-end``bottom``bottom-start``bottom-end``left``left-start``left-end``right``right-start``right-end</code\n              ><span>, 支持自动识别</span></td\n            ><td style=\"text-align: left\"><span>bottom</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>visible </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"\n              ><span>手动控制下拉框的显示，在 trigger = 'custom' 时使用</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>stop-propagation </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"\n              ><span\n                >是否开启 stop-propagation，在trigger = 'custom' 时，如果将事件绑定到 r-dropdown\n                上时最好使用</span\n              ></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"dropdownitem\" class=\"md-header-anchor\"></a><span>DropdownItem</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>key </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"><span>用来标识这一项</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>disabled</span></td\n            ><td style=\"text-align: left\"><span>禁用该项</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>divided</span></td\n            ><td style=\"text-align: left\"><span>显示分割线</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>selected</span></td\n            ><td style=\"text-align: left\"><span>标记该项为选中状态</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>danger </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"><span>标记为危险项，用于删除项操作</span></td\n            ><td style=\"text-align: left\">&nbsp;</td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 drawer，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>visible</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>visible </span><code>1.3.0</code></td\n            ><td><span>响应式设置或更新下拉框的显示</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加下拉菜单事件</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onClick </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"\n              ><span>点击菜单项时触发，返回 r-dropdown-item 的 key 值</span></td\n            ><td style=\"text-align: left\"><span>(key: string) =&gt; void</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>onVisibleChange </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"><span>菜单显示状态改变时调用</span></td\n            ><td style=\"text-align: left\"><span>(visible: boolean) =&gt; void</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>onClickOutside </span><code>1.3.0</code></td\n            ><td style=\"text-align: left\"><span>点击外部关闭下拉菜单时触发</span></td\n            ><td style=\"text-align: left\"><span>(event: Event) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/dropdown/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 761.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>下拉菜单 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span> <span class=\"cm-attribute\">divided</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  下拉菜单 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span> <span class=\"cm-attribute\">divided</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">dropdown</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Dropdown</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">dropdown</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClick</span>: (<span class=\"cm-def\">key</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">key</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onVisibleChange</span>: (<span class=\"cm-def\">visible</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">visible</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 784px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 784px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/dropdown/Nested.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京小吃 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>豆汁儿<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>驴打滚<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">&lt;!-- 嵌套下拉菜单 start --&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  北京烤鸭 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-forward\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>壁炉烤鸭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>焖炉烤鸭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">&lt;!-- 嵌套下拉菜单 end --&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/dropdown/Placement.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 739.2px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>菜单(左) <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  菜单(居中) <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>菜单(右) <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 762px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 762px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/dropdown/Trigger.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 784px; left: 77.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>hover 触发 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">trigger</span>=<span class=\"cm-string\">\"click\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>click 触发 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>老干妈<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>炸酱面<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>葱油饼<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>黄金糕<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>冰糖葫芦<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">trigger</span>=<span class=\"cm-string\">\"contextMenu\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>右键触发 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>返回<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span> <span class=\"cm-attribute\">danger</span><span class=\"cm-tag cm-bracket\">&gt;</span>删除<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.custom</span> <span class=\"cm-tag\">r-dropdown-item</span>:<span class=\"cm-variable-3\">hover</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background-color</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">cursor</span>: <span class=\"cm-atom\">default</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown</span> <span class=\"cm-attribute\">trigger</span>=<span class=\"cm-string\">\"custom\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"custom\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"testCustom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleOpen()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  custom 触发 <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-arrow-down\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>常用于各种自定义下拉内容的场景。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"text-align: right;margin:10px;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleClose()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>关闭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown-menu</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-dropdown</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">dropdown</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Dropdown</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-comment\">// 下拉菜单自定义触发</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleOpen</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> (<span class=\"cm-variable\">dropdown</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#testCustom'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleClose</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> (<span class=\"cm-variable\">dropdown</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#testCustom'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1277px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1277px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/dropdown/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Nested from './Nested.vue'\nimport Trigger from './Trigger.vue'\nimport Placement from './Placement.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Nested, Trigger, Placement, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/empty/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"empty\" class=\"md-header-anchor\"></a><span>Empty</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>desc</span></td\n            ><td style=\"text-align: left\"><span>自定义描述内容</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>image-style</span></td\n            ><td style=\"text-align: left\"><span>图片样式</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>image</span></td\n            ><td style=\"text-align: left\"><span>自定义图片地址</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/empty/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 172.825px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-empty</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-empty</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/empty/Custom.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-empty</span> <span class=\"cm-attribute\">desc</span>=<span class=\"cm-string\">\"自定义的&lt;a&gt;描述&lt;/a&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">image</span>=<span class=\"cm-string\">\"https://gw.alipayobjects.com/mdn/miniapp_social/afts/img/A*pevERLJC9v0AAAAAAAAAAABjAQAAAQ/original\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">image-style</span>=<span class=\"cm-string\">\"height: 60px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>立即创建<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-empty</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/empty/NoDesc.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 285.6px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-empty</span> <span class=\"cm-attribute\">desc</span>=<span class=\"cm-string\">\"false\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-empty</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/empty/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Custom from './Custom.vue'\nimport NoDesc from './NoDesc.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Custom, NoDesc, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/input-number/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"inputnumber\" class=\"md-header-anchor\"></a><span>InputNumber</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>max</span></td\n            ><td style=\"text-align: left\"><span>最大值</span></td\n            ><td style=\"text-align: left\"><span>Infinity</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>min</span></td\n            ><td style=\"text-align: left\"><span>最小值</span></td\n            ><td style=\"text-align: left\"><span>-Infinity</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>value</span></td\n            ><td style=\"text-align: left\"><span>输入框当前值</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>controls-outside</span></td\n            ><td style=\"text-align: left\"><span>按钮位置是否置于两侧</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>step</span></td\n            ><td style=\"text-align: left\"><span>每次改变的步伐，可以是小数</span></td\n            ><td style=\"text-align: left\"><span>1</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>size</span></td\n            ><td style=\"text-align: left\"\n              ><span>输入框尺寸，可选值为</span><code>large</code><span>、</span><code>small</code\n              ><span>或者不填</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>disabled</span></td\n            ><td style=\"text-align: left\"><span>设置禁用状态</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>placeholder</span></td\n            ><td style=\"text-align: left\"><span>占位文本</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>formatter</span></td\n            ><td style=\"text-align: left\"><span>指定输入框展示值的格式</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>parser</span></td\n            ><td style=\"text-align: left\"\n              ><span>指定从 formatter 里转换回数字的方式，和 formatter 搭配使用</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>readonly</span></td\n            ><td style=\"text-align: left\"><span>是否设置为只读</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>editable</span></td\n            ><td style=\"text-align: left\"><span>是否可编辑</span></td\n            ><td style=\"text-align: left\"><span>true</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>precision</span></td\n            ><td style=\"text-align: left\"><span>数值精度</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>input-id</span></td\n            ><td style=\"text-align: left\"\n              ><span>给内部实际的输入框元素设置 </span><code>id</code></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 input-number，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul>\n      <li><code>endTime</code></li>\n      <li><code>step</code></li>\n      <li><code>disabled</code></li>\n      <li><code>readOnly</code></li>\n      <li><code>editable</code></li>\n      <li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>value</span></td\n            ><td><span>响应式设置输入框当前值</span></td\n            ><td><span>Boolean</span></td></tr\n          ><tr\n            ><td><span>step</span></td\n            ><td><span>响应式设置每次改变的步伐</span></td\n            ><td><span>Number</span></td></tr\n          ><tr\n            ><td><span>disabled</span></td\n            ><td><span>响应式设置禁用状态</span></td\n            ><td><span>Boolean</span></td></tr\n          ><tr\n            ><td><span>readOnly</span></td\n            ><td><span>响应式设置是否设置为只读</span></td\n            ><td><span>Boolean</span></td></tr\n          ><tr\n            ><td><span>editable</span></td\n            ><td><span>响应式设置是否可编辑</span></td\n            ><td><span>Boolean</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加 InputNumber 的事件，</span></td\n            ><td><span>Functioin</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onChange</span></td\n            ><td style=\"text-align: left\"><span>数值改变时的回调，返回当前值</span></td\n            ><td style=\"text-align: left\"><span>(value: number) =&gt; void</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>onFocus</span></td\n            ><td style=\"text-align: left\"><span>聚焦时触发</span></td\n            ><td style=\"text-align: left\"><span>(event: InputEvent) =&gt; void</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>onBlur</span></td\n            ><td style=\"text-align: left\"><span>失焦时触发</span></td\n            ><td style=\"text-align: left\"><span>无</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/Basic.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">min</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">max</span>=<span class=\"cm-string\">\"10\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test1\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">inputNumber</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">InputNumber</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">inputNumber</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test1'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">value</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'changed!'</span>, <span class=\"cm-variable-2\">value</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }); &nbsp; &nbsp;</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/ControlsOutside.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 589.275px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">controls-outside</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 224px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">disabled</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test2\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleClick()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>禁用状态<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">inputNumber</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">InputNumber</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">let</span> <span class=\"cm-def\">flag</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleClick</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">flag</span> <span class=\"cm-operator\">?</span> (<span class=\"cm-variable\">flag</span> <span class=\"cm-operator\">=</span> <span class=\"cm-operator\">!</span><span class=\"cm-variable\">flag</span>) : (<span class=\"cm-variable\">flag</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">inputNumber</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test2'</span>).<span class=\"cm-property\">disabled</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">flag</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 246px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 246px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/Editable.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 528.538px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">editable</span>=<span class=\"cm-string\">\"false\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/Formatter.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 606.625px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1000\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">formatter</span>=<span class=\"cm-string\">\"`$ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">parser</span>=<span class=\"cm-string\">\"[/\\$\\s?|(,*)/g, '']\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"100\"</span> <span class=\"cm-attribute\">formatter</span>=<span class=\"cm-string\">\"`${value}%`\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/ReadOnly.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 519.862px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">readonly</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/Size.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 493.825px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"3\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"3\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/Step.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 623.95px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-input-number</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">min</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">max</span>=<span class=\"cm-string\">\"10\"</span> <span class=\"cm-attribute\">step</span>=<span class=\"cm-string\">\"1.2\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-input-number</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/input-number/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Size from './Size.vue'\nimport Editable from './Editable.vue'\nimport Formatter from './Formatter.vue'\nimport Step from './Step.vue'\nimport ReadOnly from './ReadOnly.vue'\nimport Disabled from './Disabled.vue'\nimport ControlsOutside from './ControlsOutside.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Size, Editable, Formatter, Step, ReadOnly, Disabled, ControlsOutside, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/jumbotron/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"jumbotron\" class=\"md-header-anchor\"></a><span>Jumbotron</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>type</span></td\n            ><td style=\"text-align: left\"\n              ><span>更改外观颜色，可选值为 </span><code>light</code><span> 和 </span\n              ><code>dark</code></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>title</span></td\n            ><td style=\"text-align: left\"><span>设置大标题</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>sub-title</span></td\n            ><td style=\"text-align: left\"><span>设置描述标题</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/jumbotron/Appearance.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 224px; left: 129.463px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-jumbotron</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"light\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Hello, world!\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">sub-title</span>=<span class=\"cm-string\">\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-jumbotron</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-jumbotron</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dark\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Hello, world!\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">sub-title</span>=<span class=\"cm-string\">\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-jumbotron</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 246px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 246px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/jumbotron/Basic.vue",
    "content": "<template>\n  <div class=\"\">\n    <pre\n      lang=\"html\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n      spellcheck=\"false\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 129.463px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-jumbotron</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Hello, world!\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">sub-title</span>=<span class=\"cm-string\">\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">hr</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"margin-bottom: 1.5rem;\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>它使用实用程序类来排版和空格，以便在较大的容器中分隔内容。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary rab-btn-lg\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>了解更多<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-jumbotron</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre\n    ><p>&nbsp;</p></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/jumbotron/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Appearance from './Appearance.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Appearance, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/loading-bar/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><p><span>LoadingBar instance</span></p\n    ><p><span>通过直接调用以下方法来使用组件：</span></p\n    ><ul\n      ><li><code>Rabbit.Loading.start()</code></li\n      ><li><code>Rabbit.Loading.finish()</code></li\n      ><li><code>Rabbit.Loading.error()</code></li\n      ><li><code>Rabbit.Loading.update(percent)</code></li></ul\n    ><p><span>函数及参数说明如下：</span></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>函数名</span></th\n            ><th><span>说明</span></th\n            ><th><span>参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>start</span></td\n            ><td><span>开始从 0 显示进度条，并自动加载进度</span></td\n            ><td><span>无</span></td></tr\n          ><tr\n            ><td><span>finish</span></td\n            ><td><span>结束进度条，自动补全剩余进度</span></td\n            ><td><span>无</span></td></tr\n          ><tr\n            ><td><span>error</span></td\n            ><td><span>以错误的类型结束进度条，自动补全剩余进度</span></td\n            ><td><span>无</span></td></tr\n          ><tr\n            ><td><span>update</span></td\n            ><td><span>精确加载到指定的进度</span></td\n            ><td><span>percent，指定的进度百分比</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>另外提供了全局配置和全局销毁的方法：</span></p\n    ><ul\n      ><li><code>Rabbit.Loading.config(options)</code></li\n      ><li><code>Rabbit.Loading.destroy()</code></li></ul\n    >\n    <pre\n      spellcheck=\"false\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n      lang=\"js\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"js\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">config</span>({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-string\">'#5cb85c'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">failedColor</span>: <span class=\"cm-string\">'#f0ad4e'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">5</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">});</span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>类型</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>color</span></td\n            ><td style=\"text-align: left\"><span>进度条的颜色，默认为 Rabbit 主色</span></td\n            ><td style=\"text-align: left\"><span>String</span></td\n            ><td style=\"text-align: left\"><span>primary</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>failedColor</span></td\n            ><td style=\"text-align: left\"><span>失败时的进度条颜色，默认为 Rabbit 主色</span></td\n            ><td style=\"text-align: left\"><span>String</span></td\n            ><td style=\"text-align: left\"><span>error</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>height</span></td\n            ><td style=\"text-align: left\"><span>进度条高度，单位 px</span></td\n            ><td style=\"text-align: left\"><span>Number</span></td\n            ><td style=\"text-align: left\"><span>2</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>duration</span></td\n            ><td style=\"text-align: left\"><span>隐藏时的持续时间，单位 ms</span></td\n            ><td style=\"text-align: left\"><span>Number</span></td\n            ><td style=\"text-align: left\"><span>800</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/loading-bar/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"start()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>开始<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"finish()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>完成<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"error()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>错误<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">start</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">start</span>();</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">finish</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">finish</span>();</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">error</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">error</span>();</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }; &nbsp; &nbsp;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 336px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 336px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/loading-bar/UseInAsync.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 224.8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">// 以 jQuery 的 Ajax 为例，部分代码省略</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">// 假设示例以 script 标签引入的方式，所以需要使用全局变量 Rabbit</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">function</span> <span class=\"cm-def\">getData</span> () {</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">start</span>();</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">$</span>.<span class=\"cm-property\">ajax</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">url</span>: <span class=\"cm-string\">'/api/someurl'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">type</span>: <span class=\"cm-string\">'get'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">success</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">finish</span>();</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  },</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">error</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Loading</span>.<span class=\"cm-property\">error</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 381px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 381px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/loading-bar/UsedInRoute.vue",
    "content": "<template>\n  <pre\n    lang=\"js\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"js\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 34.025px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">// 以 Vue 的路由为例，部分代码省略</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">import</span> <span class=\"cm-def\">Loading</span> <span class=\"cm-keyword\">from</span> <span class=\"cm-string\">'rabbit-simple-ui/src/components/loading-bar'</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">router</span>.<span class=\"cm-property\">beforeEach</span>((<span class=\"cm-def\">to</span>, <span class=\"cm-def\">from</span>, <span class=\"cm-def\">next</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Loading</span>.<span class=\"cm-property\">start</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable-2\">next</span>();</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">});</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">router</span>.<span class=\"cm-property\">afterEach</span>(<span class=\"cm-def\">route</span> <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Loading</span>.<span class=\"cm-property\">finish</span>();</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">});</span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/loading-bar/index.ts",
    "content": "import Basic from './Basic.vue'\nimport UsedInRoute from './UsedInRoute.vue'\nimport UseInAsync from './UseInAsync.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, UsedInRoute, UseInAsync, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/message/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h4><a name=\"message-实例\" class=\"md-header-anchor\"></a><span>Message 实例</span></h4>\n    <p><span>通过直接调用以下方法来使用组件：</span></p>\n    <ul>\n      <li><code>Rabbit.Message.info(config)</code></li>\n      <li><code>Rabbit.Message.success(config)</code></li>\n      <li><code>Rabbit.Message.warning(config)</code></li>\n      <li><code>Rabbit.Message.error(config)</code></li>\n      <li><code>Rabbit.Message.loading(config)</code></li>\n    </ul>\n    <p><span>组件同时提供 promise 接口。</span></p>\n    <ul>\n      <li><code>Rabbit.Message[level](config).then(afterClose)</code></li>\n    </ul>\n    <p>\n      <span>其中 </span><code>Rabbit.Message[level]</code\n      ><span> 是组件已经提供的静态方法。</span><code>then</code\n      ><span> 接口返回值是 Promise。</span>\n    </p>\n    <p>\n      <span\n        >参数 config\n        可以是字符串或对象，当为字符串时，直接显示内容，当为对象时，具体说明如下：</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>content</span></td>\n            <td><span>提示内容</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>duration</span></td>\n            <td><span>自动关闭的延时，单位秒，不关闭可以写 0</span></td>\n            <td><span>Number</span></td>\n            <td><span>3</span></td>\n          </tr>\n          <tr>\n            <td><span>onClose</span></td>\n            <td><span>点击消息关闭按钮时的回调</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>closable</span></td>\n            <td><span>是否显示关闭按钮</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>background</span></td>\n            <td><span>是否显示背景色</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>key</span></td>\n            <td><span>当前提示的唯一标志</span></td>\n            <td><span>String </span><span>|</span><span> Number</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>dangerouslyUseHTMLString</span></td>\n            <td><span>是否将 content 属性作为 HTML 片段处理</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h4><a name=\"全局方法\" class=\"md-header-anchor\"></a><span>全局方法</span></h4>\n    <p><span>还提供了全局配置和全局销毁方法：</span></p>\n    <ul>\n      <li><code>Rabbit.Message.config(options)</code></li>\n      <li><code>Rabbit.Message.destroy()</code></li>\n    </ul>\n    <p>\n      <span>也可通过 </span><code>Rabbit.Message.destroy(key)</code\n      ><span> 来关闭一条消息。</span>\n    </p>\n    <pre\n      spellcheck=\"false\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n      lang=\"js\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"js\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">loading</span>({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">key</span>: <span class=\"cm-string\">'exampleKey'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'正在加载中...'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">0</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">});</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">destroy</span>(<span class=\"cm-string\">'exampleKey'</span>), <span class=\"cm-number\">3000</span>);</span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n    <pre\n      spellcheck=\"false\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n      lang=\"js\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"js\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">config</span>({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">top</span>: <span class=\"cm-number\">100</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">2</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">});</span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>top</span></td>\n            <td><span>提示组件距离顶端的距离，单位像素</span></td>\n            <td><span>Number</span></td>\n            <td><span>24</span></td>\n          </tr>\n          <tr>\n            <td><span>duration</span></td>\n            <td><span>默认自动关闭的延时，单位秒</span></td>\n            <td><span>Number</span></td>\n            <td><span>3</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Background.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 224px; left: 86.0875px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"background('info')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"background('success')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个成功的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"background('warning')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个警告的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"background('error')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个错误的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">background</span> <span class=\"cm-operator\">=</span> (<span class=\"cm-def\">type</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>[<span class=\"cm-variable-2\">type</span>]({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'这是一条带背景色的通知'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">true</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">5</span>,</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  });</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 291px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 291px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span><span class=\"\"> </span><span class=\"cm-attribute\">type</span><span class=\"\">=</span><span class=\"cm-string\">\"button\"</span><span class=\"\"> </span><span class=\"cm-attribute\">class</span><span class=\"\">=</span><span class=\"cm-string\">\"rab-brn rab-btn-primary\"</span><span class=\"\"> </span><span class=\"cm-attribute\">onclick</span><span class=\"\">=</span><span class=\"cm-string\">\"info()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span><span class=\"\">显示一个普通的提示</span><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"\"> &nbsp;</span><span class=\"cm-variable\">info</span><span class=\"\"> </span><span class=\"cm-operator\">=</span><span class=\"\"> () </span><span class=\"cm-operator\">=&gt;</span><span class=\"\"> {</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"\"> &nbsp; &nbsp; &nbsp;</span><span class=\"cm-variable\">Rabbit</span><span class=\"\">.</span><span class=\"cm-property\">Message</span><span class=\"\">.</span><span class=\"cm-property\">info</span><span class=\"\">(</span><span class=\"cm-string\">'这是一条普通的提示'</span><span class=\"\">);</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"\">  }</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Closable.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 224.8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"closable()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示加载中的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">closable</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>({</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'可手动关闭的提示'</span>,</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">8</span>,</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">closable</span>: <span class=\"cm-atom\">true</span>,</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  });</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Loading.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 42.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"loading()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示加载中的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">loading</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">loading</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'正在加载中...'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">0</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">key</span>: <span class=\"cm-string\">'loading'</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; });</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">destroy</span>(<span class=\"cm-string\">'loading'</span>), <span class=\"cm-number\">3000</span>);</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 246px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 246px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Promise.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 60px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"promise()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示加载中的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">promise</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">loading</span>(<span class=\"cm-string\">'正在加载中...'</span>).<span class=\"cm-property\">then</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">success</span>(<span class=\"cm-string\">'加载成功!'</span>).<span class=\"cm-property\">then</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'加载成功后的提示'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  });</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Time.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 60px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"time()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示加载中的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">time</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">success</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'这是成功的提示信息，我将在10秒内消失'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">10</span>,</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  });</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/Type.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 580px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"success()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个成功的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"warning()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个警告的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"error()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示一个错误的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">success</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">success</span>(<span class=\"cm-string\">'这是一条成功的提示'</span>);</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">warning</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">warning</span>(<span class=\"cm-string\">'这是一条警告的提示'</span>);</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  } &nbsp;</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">error</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">error</span>(<span class=\"cm-string\">'这是一条错误的提示'</span>);</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  } &nbsp;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 314px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 314px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/UseHTML.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 42.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-brn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"useHtml()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示加载中的提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-variable\">useHtml</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string-2\">`&lt;strong&gt;这是 &lt;i&gt;HTML&lt;/i&gt; 片段&lt;/strong&gt;`</span>,</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span> &nbsp;<span class=\"cm-property\">dangerouslyUseHTMLString</span>: <span class=\"cm-atom\">true</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  });</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/message/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Time from './Time.vue'\nimport Type from './Type.vue'\nimport Promise from './Promise.vue'\nimport Loading from './Loading.vue'\nimport UseHTML from './UseHTML.vue'\nimport Closable from './Closable.vue'\nimport Background from './Background.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Time, Type, Promise, Loading, UseHTML, Closable, Background, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/mini-modal/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h2><a name=\"api\" class=\"md-header-anchor\"></a><span>API</span></h2\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>标题</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>content</span></td\n            ><td><span>内容</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>width</span></td\n            ><td><span>宽度，单位 px</span></td\n            ><td><span>Number </span><span>|</span><span> String</span></td\n            ><td><span>416</span></td></tr\n          ><tr\n            ><td><span>okText</span></td\n            ><td><span>确定按钮的文字</span></td\n            ><td><span>String</span></td\n            ><td><span>确定</span></td></tr\n          ><tr\n            ><td><span>cancelText</span></td\n            ><td\n              ><span>取消按钮的文字，只在</span><code>Modal.confirm()</code><span>下有效</span></td\n            ><td><span>String</span></td\n            ><td><span>取消</span></td></tr\n          ><tr\n            ><td><span>loading</span></td\n            ><td\n              ><span>点击确定按钮时是否显示 loading 状态，开启则需手动调用</span\n              ><code>Modal.remove()</code><span>来关闭对话框</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>scrollable</span></td\n            ><td><span>页面是否可以滚动</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>keyboard</span></td\n            ><td><span>是否可以按 Esc 键关闭</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>onOk</span></td\n            ><td><span>点击确定的回调</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>onCancel</span></td\n            ><td\n              ><span>点击取消的回调，只在</span><code>Modal.confirm()</code><span>下有效</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>lockScroll</span></td\n            ><td><span>是否禁止对页面滚动条的修改</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>true</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>另外提供了全局关闭对话框的方法：</span></p\n    ><ul\n      ><li><code>Rabbit.MiniModal.remove()</code></li></ul\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/mini-modal/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 828.8px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><span><span>​</span>x</span></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"instance('info')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>消息<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"instance('success')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"instance('warning')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"instance('error')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>错误<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">title</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'对话框标题'</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">content</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'这是一段对话框的内容'</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">instance</span> <span class=\"cm-operator\">=</span> (<span class=\"cm-def\">type</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">switch</span> (<span class=\"cm-variable-2\">type</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">case</span> <span class=\"cm-string\">'info'</span>:</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">info</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">break</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">case</span> <span class=\"cm-string\">'success'</span>:</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">success</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">break</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">case</span> <span class=\"cm-string\">'warning'</span>:</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">warning</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">break</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">case</span> <span class=\"cm-string\">'error'</span>:</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">error</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">break</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 851px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 851px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/mini-modal/Confirm.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 963.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"confirm()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标准<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"custom()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>自定义按钮文字<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"async()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>异步关闭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">confirm</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">confirm</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'确认对话框标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'&lt;p&gt;这是一段自定义的内容...&lt;/p&gt;&lt;p&gt;这是一段自定义的内容...&lt;/p&gt;'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">dangerouslyUseHTMLString</span>: <span class=\"cm-atom\">true</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onOk</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了确定'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onCancel</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了取消'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">custom</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">confirm</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'确认对话框标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'&lt;p&gt;这是一段自定义的内容...&lt;/p&gt;&lt;p&gt;这是一段自定义的内容...&lt;/p&gt;'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">okText</span>: <span class=\"cm-string\">'OK'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">cancelText</span>: <span class=\"cm-string\">'Cancel'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">dangerouslyUseHTMLString</span>: <span class=\"cm-atom\">true</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">async</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">MiniModal</span>.<span class=\"cm-property\">confirm</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'确认对话框标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">'&lt;p&gt;对话框将在 2秒 后关闭&lt;/p&gt;'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">loading</span>: <span class=\"cm-atom\">true</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">dangerouslyUseHTMLString</span>: <span class=\"cm-atom\">true</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onOk</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">$Modal</span>.<span class=\"cm-property\">remove</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'异步关闭了对话框'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }, <span class=\"cm-number\">2000</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 986px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 986px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/mini-modal/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Confirm from './Confirm.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Confirm, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/modal/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"modal\" class=\"md-header-anchor\"></a><span>Modal</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>visible</span></td>\n            <td><span>对话框默认是否显示</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>title</span></td>\n            <td><span>对话框标题</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>closable</span></td>\n            <td><span>是否显示右上角的关闭按钮，关闭后 Esc 按键也将关闭</span></td>\n            <td><span>true</span></td>\n          </tr>\n          <tr>\n            <td><span>mask-closable</span></td>\n            <td><span>是否允许点击遮罩层关闭</span></td>\n            <td><span>true</span></td>\n          </tr>\n          <tr>\n            <td><span>loading</span></td>\n            <td>\n              <span\n                >点击确定按钮时，确定按钮是否显示 loading\n                状态，开启则需手动关闭对话框</span\n              >\n            </td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>scrollable</span></td>\n            <td><span>页面是否可以滚动</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>fullscreen</span></td>\n            <td><span>是否全屏显示</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>mask</span></td>\n            <td><span>是否显示遮罩层</span></td>\n            <td><span>true</span></td>\n          </tr>\n          <tr>\n            <td><span>ok-text</span></td>\n            <td><span>确定按钮文字</span></td>\n            <td><span>确定</span></td>\n          </tr>\n          <tr>\n            <td><span>cancel-text</span></td>\n            <td><span>取消按钮文字</span></td>\n            <td><span>取消</span></td>\n          </tr>\n          <tr>\n            <td><span>width</span></td>\n            <td>\n              <span\n                >对话框宽度，对话框的宽度是响应式的，当屏幕尺寸小于 768px\n                时，宽度会变为自动</span\n              ><code>auto</code><span>。</span>\n            </td>\n            <td><span>520px</span></td>\n          </tr>\n          <tr>\n            <td><span>footer-hide</span></td>\n            <td><span>不显示底部</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>class-name</span></td>\n            <td>\n              <span>设置对话框容器</span><code>.rab-modal-wrap</code\n              ><span>的类名，可辅助实现垂直居中等自定义效果</span>\n            </td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>z-index</span></td>\n            <td><span>层级</span></td>\n            <td><span>1000</span></td>\n          </tr>\n          <tr>\n            <td><span>lock-scroll</span></td>\n            <td><span>是否禁止对页面滚动条的修改</span></td>\n            <td><span>false</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 modal，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下值：</span></p>\n    <ul>\n      <li><code>visible</code></li>\n      <li><code>title</code></li>\n      <li><code>events(options)</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>visible</span></td>\n            <td><span>响应式设置或更新对话框的显示</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>title</span></td>\n            <td><span>响应式设置或更新对话框标题</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>events</span></td>\n            <td><span>非响应式API，添加对话框事件</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <ul>\n      <li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>回调参数</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>onOk</span></td>\n            <td style=\"text-align: left\"><span>点击确定的回调</span></td>\n            <td style=\"text-align: left\"><span>无</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>onCancel</span></td>\n            <td style=\"text-align: left\"><span>点击取消的回调</span></td>\n            <td style=\"text-align: left\"><span>无</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/Aysnc.vue",
    "content": "<template>\n  <div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\">\n    <div\n      style=\"\n        overflow: hidden;\n        position: relative;\n        width: 3px;\n        height: 0px;\n        top: 537.6px;\n        left: 86.075px;\n      \"\n    >\n      <textarea\n        autocorrect=\"off\"\n        autocapitalize=\"off\"\n        spellcheck=\"false\"\n        tabindex=\"0\"\n        style=\"\n          position: absolute;\n          bottom: -1em;\n          padding: 0px;\n          width: 1000px;\n          height: 1em;\n          outline: none;\n        \"\n      ></textarea>\n    </div>\n    <div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-scroll\" tabindex=\"-1\">\n      <div\n        class=\"CodeMirror-sizer\"\n        style=\"\n          margin-left: 0px;\n          margin-bottom: 0px;\n          border-right-width: 0px;\n          padding-right: 0px;\n          padding-bottom: 0px;\n        \"\n      >\n        <div style=\"position: relative; top: 0px\">\n          <div class=\"CodeMirror-lines\" role=\"presentation\">\n            <div role=\"presentation\" style=\"position: relative; outline: none\">\n              <div class=\"CodeMirror-measure\"><pre>x</pre></div>\n              <div class=\"CodeMirror-measure\"></div>\n              <div style=\"position: relative; z-index: 1\"></div>\n              <div class=\"CodeMirror-code\" role=\"presentation\" style=\"\">\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal5()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>异步关闭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"对话框标题\"</span> <span class=\"cm-attribute\">loading</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m5\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>点击确定后，对话框将在 2秒 后关闭。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">timer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">null</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">handleModal5</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m5'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m5'</span>).<span class=\"cm-property\">events</span>({</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onOk</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">timer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m5'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  }, <span class=\"cm-number\">2000</span>);</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  },</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onCancel</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">clearTimeout</span>(<span class=\"cm-variable\">timer</span>);</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;  }</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre>\n                <div class=\"CodeMirror-activeline\" style=\"position: relative\">\n                  <div\n                    class=\"CodeMirror-activeline-background CodeMirror-linebackground\"\n                  ></div>\n                  <div\n                    class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\"\n                    style=\"left: 0px; width: 0px\"\n                  ></div>\n                  <pre\n                    class=\"CodeMirror-line\"\n                    role=\"presentation\"\n                  ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div\n        style=\"\n          position: absolute;\n          height: 0px;\n          width: 1px;\n          border-bottom: 0px solid transparent;\n          top: 560px;\n        \"\n      ></div>\n      <div class=\"CodeMirror-gutters\" style=\"display: none; height: 560px\"></div>\n    </div>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 22.4px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal1()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示对话框<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"普通的Modal对话框标题\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal1</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m1'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m1'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-property\">onOk</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了确定'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-property\">onCancel</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了取消'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\"> </span>  };</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 538px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 538px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/Custom.vue",
    "content": "<template>\n  <div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\">\n    <div\n      style=\"\n        overflow: hidden;\n        position: relative;\n        width: 3px;\n        height: 0px;\n        top: 873.6px;\n        left: 86.075px;\n      \"\n    >\n      <textarea\n        autocorrect=\"off\"\n        autocapitalize=\"off\"\n        spellcheck=\"false\"\n        tabindex=\"0\"\n        style=\"\n          position: absolute;\n          bottom: -1em;\n          padding: 0px;\n          width: 1000px;\n          height: 1em;\n          outline: none;\n        \"\n      ></textarea>\n    </div>\n    <div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-scroll\" tabindex=\"-1\">\n      <div\n        class=\"CodeMirror-sizer\"\n        style=\"\n          margin-left: 0px;\n          margin-bottom: 0px;\n          border-right-width: 0px;\n          padding-right: 0px;\n          padding-bottom: 0px;\n        \"\n      >\n        <div style=\"position: relative; top: 0px\">\n          <div class=\"CodeMirror-lines\" role=\"presentation\">\n            <div role=\"presentation\" style=\"position: relative; outline: none\">\n              <div class=\"CodeMirror-measure\"><pre>x</pre></div>\n              <div class=\"CodeMirror-measure\"></div>\n              <div style=\"position: relative; z-index: 1\"></div>\n              <div class=\"CodeMirror-code\" role=\"presentation\" style=\"\">\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal2()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>不带标题栏<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal3()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>国际化<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal4()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>设置宽度<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Modal Title\"</span> <span class=\"cm-attribute\">ok-text</span>=<span class=\"cm-string\">\"ok\"</span> <span class=\"cm-attribute\">cancel-text</span>=<span class=\"cm-string\">\"cancel\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some Content...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some Content...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>Some Content...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"自定义宽度\"</span> <span class=\"cm-attribute\">width</span>=<span class=\"cm-string\">\"360px\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m4\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>自定义宽度，单位 px，默认 520px。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  对话框的宽度是响应式的，当屏幕尺寸小于 768px 时，宽度会变为自动</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">code</span><span class=\"cm-tag cm-bracket\">&gt;</span>auto<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">code</span><span class=\"cm-tag cm-bracket\">&gt;</span>。</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal2</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m2'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal3</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m3'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal4</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m4'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <div class=\"CodeMirror-activeline\" style=\"position: relative\">\n                  <div\n                    class=\"CodeMirror-activeline-background CodeMirror-linebackground\"\n                  ></div>\n                  <div\n                    class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\"\n                    style=\"left: 0px; width: 0px\"\n                  ></div>\n                  <pre\n                    class=\"CodeMirror-line\"\n                    role=\"presentation\"\n                  ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div\n        style=\"\n          position: absolute;\n          height: 0px;\n          width: 1px;\n          border-bottom: 0px solid transparent;\n          top: 896px;\n        \"\n      ></div>\n      <div class=\"CodeMirror-gutters\" style=\"display: none; height: 896px\"></div>\n    </div>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/DisabledClose.vue",
    "content": "<template>\n  <div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\">\n    <div\n      style=\"\n        overflow: hidden;\n        position: relative;\n        width: 3px;\n        height: 0px;\n        top: 604.8px;\n        left: 86.075px;\n      \"\n    >\n      <textarea\n        autocorrect=\"off\"\n        autocapitalize=\"off\"\n        spellcheck=\"false\"\n        tabindex=\"0\"\n        style=\"\n          position: absolute;\n          bottom: -1em;\n          padding: 0px;\n          width: 1000px;\n          height: 1em;\n          outline: none;\n        \"\n      ></textarea>\n    </div>\n    <div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-scroll\" tabindex=\"-1\">\n      <div\n        class=\"CodeMirror-sizer\"\n        style=\"\n          margin-left: 0px;\n          margin-bottom: 0px;\n          border-right-width: 0px;\n          padding-right: 0px;\n          padding-bottom: 0px;\n        \"\n      >\n        <div style=\"position: relative; top: 0px\">\n          <div class=\"CodeMirror-lines\" role=\"presentation\">\n            <div role=\"presentation\" style=\"position: relative; outline: none\">\n              <div class=\"CodeMirror-measure\"><pre>x</pre></div>\n              <div class=\"CodeMirror-measure\"></div>\n              <div style=\"position: relative; z-index: 1\"></div>\n              <div class=\"CodeMirror-code\" role=\"presentation\" style=\"\">\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal6()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>禁用右上角关闭(含Esc键)<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal7()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>禁用遮罩层关闭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"对话框标题\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"false\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m6\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"对话框标题\"</span> <span class=\"cm-attribute\">mask-closable</span>=<span class=\"cm-string\">\"false\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m7\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal6</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m6'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal7</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m7'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <div class=\"CodeMirror-activeline\" style=\"position: relative\">\n                  <div\n                    class=\"CodeMirror-activeline-background CodeMirror-linebackground\"\n                  ></div>\n                  <div\n                    class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\"\n                    style=\"left: 0px; width: 0px\"\n                  ></div>\n                  <pre\n                    class=\"CodeMirror-line\"\n                    role=\"presentation\"\n                  ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div\n        style=\"\n          position: absolute;\n          height: 0px;\n          width: 1px;\n          border-bottom: 0px solid transparent;\n          top: 627px;\n        \"\n      ></div>\n      <div class=\"CodeMirror-gutters\" style=\"display: none; height: 627px\"></div>\n    </div>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/FullScreen.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 246.4px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal10()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示全屏对话框<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"全屏对话框\"</span> <span class=\"cm-attribute\">fullscreen</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m10\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>这是一个全屏的对话框<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal10</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m10'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/Position.vue",
    "content": "<template>\n  <div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\">\n    <div\n      style=\"\n        overflow: hidden;\n        position: relative;\n        width: 3px;\n        height: 0px;\n        top: 963.2px;\n        left: 86.075px;\n      \"\n    >\n      <textarea\n        autocorrect=\"off\"\n        autocapitalize=\"off\"\n        spellcheck=\"false\"\n        tabindex=\"0\"\n        style=\"\n          position: absolute;\n          bottom: -1em;\n          padding: 0px;\n          width: 1000px;\n          height: 1em;\n          outline: none;\n        \"\n      ></textarea>\n    </div>\n    <div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div>\n    <div class=\"CodeMirror-scroll\" tabindex=\"-1\">\n      <div\n        class=\"CodeMirror-sizer\"\n        style=\"\n          margin-left: 0px;\n          margin-bottom: 0px;\n          border-right-width: 0px;\n          padding-right: 0px;\n          padding-bottom: 0px;\n        \"\n      >\n        <div style=\"position: relative; top: 0px\">\n          <div class=\"CodeMirror-lines\" role=\"presentation\">\n            <div role=\"presentation\" style=\"position: relative; outline: none\">\n              <div class=\"CodeMirror-measure\"><pre>x</pre></div>\n              <div class=\"CodeMirror-measure\"></div>\n              <div style=\"position: relative; z-index: 1\"></div>\n              <div class=\"CodeMirror-code\" role=\"presentation\" style=\"\">\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.vertical-center-modal</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">flex</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">align-items</span>: <span class=\"cm-atom\">center</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">justify-content</span>: <span class=\"cm-atom\">center</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.vertical-center-modal</span> <span class=\"cm-qualifier\">.rab-modal</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">top</span>: <span class=\"cm-number\">0</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-custom-modal</span> <span class=\"cm-qualifier\">.rab-modal</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">top</span>: <span class=\"cm-number\">20px</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal8()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>垂直居中<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleModal9()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>距离顶部20px<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"对话框标题\"</span> <span class=\"cm-attribute\">class-name</span>=<span class=\"cm-string\">\"vertical-center-modal\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m8\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"对话框标题\"</span> <span class=\"cm-attribute\">class-name</span>=<span class=\"cm-string\">\"demo-custom-modal\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"m9\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>对话框内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal8</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m8'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleModal9</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#m9'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre>\n                <pre\n                  class=\"CodeMirror-line\"\n                  role=\"presentation\"\n                ><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre>\n                <div class=\"CodeMirror-activeline\" style=\"position: relative\">\n                  <div\n                    class=\"CodeMirror-activeline-background CodeMirror-linebackground\"\n                  ></div>\n                  <div\n                    class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\"\n                    style=\"left: 0px; width: 0px\"\n                  ></div>\n                  <pre\n                    class=\"CodeMirror-line\"\n                    role=\"presentation\"\n                  ><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div\n        style=\"\n          position: absolute;\n          height: 0px;\n          width: 1px;\n          border-bottom: 0px solid transparent;\n          top: 986px;\n        \"\n      ></div>\n      <div class=\"CodeMirror-gutters\" style=\"display: none; height: 986px\"></div>\n    </div>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/modal/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Aysnc from './Aysnc.vue'\nimport Custom from './Custom.vue'\nimport Position from './Position.vue'\nimport DisabledClose from './DisabledClose.vue'\nimport FullScreen from './FullScreen.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Aysnc, Custom, Position, DisabledClose, FullScreen, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/notice/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"notice-实例\" class=\"md-header-anchor\"></a><span>Notice 实例</span></h3>\n    <p><span>通过直接调用以下方法来使用组件：</span></p>\n    <ul>\n      <li><code>Rabbit.Notice.open(config)</code></li>\n      <li><code>Rabbit.Notice.info(config)</code></li>\n      <li><code>Rabbit.Notice.success(config)</code></li>\n      <li><code>Rabbit.Notice.warning(config)</code></li>\n      <li><code>Rabbit.Notice.error(config)</code></li>\n    </ul>\n    <p><span>组件同时提供 promise 接口。</span></p>\n    <ul>\n      <li><code>Rabbit.Notice[level](config).then(afterClose)</code></li>\n    </ul>\n    <p>\n      <span>其中 </span><code>Rabbit.Notice[level]</code\n      ><span> 是组件已经提供的静态方法。</span><code>then</code\n      ><span> 接口返回值是 Promise。</span>\n    </p>\n    <p><span>参数 config 为对象，具体说明如下：</span></p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>title</span></td>\n            <td><span>通知提醒的标题</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>desc</span></td>\n            <td><span>通知提醒的内容，为空或不填时，自动应用仅标题模式下的样式</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>duration</span></td>\n            <td><span>自动关闭的延时，单位秒，不关闭可以写 0</span></td>\n            <td><span>Number</span></td>\n            <td><span>4.5</span></td>\n          </tr>\n          <tr>\n            <td><span>key</span></td>\n            <td><span>当前通知的唯一标识</span></td>\n            <td><span>String </span><span>|</span><span> Number</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>closable</span></td>\n            <td><span>是否显示关闭按钮</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>true</span></td>\n          </tr>\n          <tr>\n            <td><span>style</span></td>\n            <td><span>自定义内联样式</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>className</span></td>\n            <td><span>自定义 CSS class</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>dangerouslyUseHTMLString</span></td>\n            <td><span>是否将 title 或 desc 属性作为 HTML 片段处理</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>icon</span></td>\n            <td><span>自定义图标</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>onClose</span></td>\n            <td><span>点击默认关闭按钮时触发的回调函数</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>onClick</span></td>\n            <td><span>点击通知时触发的回调函数</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h4><a name=\"全局方法\" class=\"md-header-anchor\"></a><span>全局方法</span></h4>\n    <p><span>还提供了全局配置、全局关闭某个通知和全局销毁的方法：</span></p>\n    <ul>\n      <li><code>Rabbit.Notice.config(options)</code></li>\n      <li><code>Rabbit.Notice.close(key)</code></li>\n      <li><code>Rabbit.Notice.destroy()</code></li>\n    </ul>\n    <pre\n      spellcheck=\"false\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n      lang=\"js\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"js\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Notice</span>.<span class=\"cm-property\">config</span>({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">top</span>: <span class=\"cm-number\">50</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">3</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">});</span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>top</span></td>\n            <td><span>通知组件距离顶端的距离，单位像素</span></td>\n            <td><span>Number</span></td>\n            <td><span>24</span></td>\n          </tr>\n          <tr>\n            <td><span>duration</span></td>\n            <td><span>默认自动关闭的延时，单位秒</span></td>\n            <td><span>Number</span></td>\n            <td><span>4.5</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 313.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"open()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>打开提醒<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">open</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Notice</span>.<span class=\"cm-property\">open</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'这是通知标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-string\">'这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClick</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'Notification Clicked!'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClose</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'Notification Close!'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 336px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 336px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/Closable.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"open()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>打开提醒<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">open</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Notice</span>.<span class=\"cm-property\">open</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'这是通知标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">closable</span>: <span class=\"cm-atom\">false</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/Promise.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 448px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"promise()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>打开提醒<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">promise</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">Rabbti</span>.<span class=\"cm-property\">Notice</span>.<span class=\"cm-property\">open</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'行程已发布'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-string\">'您的行程订单已发布，正在等待待车主接单...'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  })</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  .<span class=\"cm-property\">then</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbti</span>.<span class=\"cm-property\">Notice</span>.<span class=\"cm-property\">info</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'已有车主接单啦！'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-string\">'你发布的行程订单已有车主接单了，请提前付款以免被取消订单！'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  })</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  .<span class=\"cm-property\">then</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbti</span>.<span class=\"cm-property\">Notice</span>.<span class=\"cm-property\">success</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'费用支付成功'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-string\">'您的行程将在2021.9.9 12:30 开始'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 470px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 470px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/Time.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"time()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>打开提醒<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">time</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">Notice</span>.<span class=\"cm-property\">open</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'这是通知标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-string\">'这条通知不会自动关闭，需要点击关闭按钮才可以关闭。'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">duration</span>: <span class=\"cm-number\">0</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/Type.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 448px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>带描述信息<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('info')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>消息<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('success')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('warning')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('error')\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>错误<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>仅标题<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('info',true)\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>消息<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('success',true)\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>成功<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('warning',true)\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>警告<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"notice('error',true)\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>错误<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">notice</span> <span class=\"cm-operator\">=</span> (<span class=\"cm-def\">type</span>, <span class=\"cm-def\">nodesc</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Notice</span>[<span class=\"cm-variable-2\">type</span>]({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'这是通知标题'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-variable-2\">nodesc</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-operator\">?</span> <span class=\"cm-string\">''</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  : <span class=\"cm-string\">'这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述'</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  })</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 470px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 470px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/UseHTML.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"html()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>打开提醒<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">html</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Notice</span>.<span class=\"cm-property\">open</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">title</span>: <span class=\"cm-string\">'HTML片段'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">desc</span>: <span class=\"cm-string-2\">`&lt;strong&gt;这是 &lt;i&gt;HTML&lt;/i&gt; 片段&lt;/strong&gt;`</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">dangerouslyUseHTMLString</span>: <span class=\"cm-atom\">true</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/notice/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Type from './Type.vue'\nimport Time from './Time.vue'\nimport Promise from './Promise.vue'\nimport UseHTML from './UseHTML.vue'\nimport Closable from './Closable.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Type, Time, Promise, UseHTML, Closable, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/page-header/APITable.vue",
    "content": "  <template>\n  <div class=\"\"\n    ><h3><a name=\"pageheader\" class=\"md-header-anchor\"></a><span>PageHeader</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>自定义标题文字</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>sub-title</span></td\n            ><td><span>自定义的二级标题文字</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 page-header，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加提示框的事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onBack</span></td\n            ><td style=\"text-align: left\"><span>返回按钮的点击事件</span></td\n            ><td style=\"text-align: left\"><span>无</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/page-header/Basic.vue",
    "content": "  <template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 77.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-page-header</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"首页\"</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-attribute\">sub-title</span>=<span class=\"cm-string\">\"这是副标题描述\"</span> </span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"border: 1px solid #f0f0f0\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-page-header</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">ph</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">PageHeader</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">ph</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onBack</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'点击了返回!'</span>);</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 336px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 336px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/page-header/index.ts",
    "content": "import Basic from './Basic.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"poptip\" class=\"md-header-anchor\"></a><span>Poptip</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>trigger</span></td>\n            <td style=\"text-align: left\">\n              <span>触发方式，可选值为</span><code>hover</code><span>（悬停）</span\n              ><code>click</code><span>（点击）</span><code>focus</code\n              ><span>（聚焦）,在 confirm 模式下，只有 click 有效</span>\n            </td>\n            <td style=\"text-align: left\"><span>click</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>title</span></td>\n            <td style=\"text-align: left\"><span>显示的标题</span></td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>content</span></td>\n            <td style=\"text-align: left\">\n              <span>显示的正文内容，只在非 confirm 模式下有效-</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>placement</span></td>\n            <td style=\"text-align: left\">\n              <span>提示框出现的位置，可选值为</span\n              ><code\n                >top 、top-start 、top-end 、bottom 、bottom-start 、bottom-end 、left\n                、left-start、 left-end 、right、 right-start、 right-end</code\n              ><span>，支持自动识别 auto</span>\n            </td>\n            <td style=\"text-align: left\"><span>top</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>width</span></td>\n            <td style=\"text-align: left\">\n              <span>宽度，最小宽度为 150px，在 confirm 模式下，默认最大宽度为 300px</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>confirm</span></td>\n            <td style=\"text-align: left\"><span>是否开启对话框模式</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>disabled</span></td>\n            <td style=\"text-align: left\"><span>是否禁用</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>ok-text</span></td>\n            <td style=\"text-align: left\">\n              <span>确定按钮的文字，只在 confirm 模式下有效</span>\n            </td>\n            <td style=\"text-align: left\"><span>确定</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>cancel-text</span></td>\n            <td style=\"text-align: left\">\n              <span>取消按钮的文字，只在 confirm 模式下有效</span>\n            </td>\n            <td style=\"text-align: left\"><span>取消</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>padding</span></td>\n            <td style=\"text-align: left\"><span>自定义间距值</span></td>\n            <td style=\"text-align: left\"><span>8px 16px</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>offset</span></td>\n            <td style=\"text-align: left\"><span>出现位置的偏移量</span></td>\n            <td style=\"text-align: left\"><span>0</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>visible </span><code>1.4.0</code></td>\n            <td style=\"text-align: left\"><span>提示框是否显示或隐藏</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 poptip，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下三个值：</span></p>\n    <ul>\n      <li><code>title</code></li>\n      <li><code>content</code></li>\n      <li><code>disabled</code></li>\n      <li><code>visible</code></li>\n      <li><code>events(options)</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>title</span></td>\n            <td><span>响应式设置提示框标题</span></td>\n            <td><span>String </span><span>|</span><span> Number</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>content</span></td>\n            <td><span>响应式设置提示框的内容</span></td>\n            <td><span>String </span><span>|</span><span> Number</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>disabled </span><code>1.4.0</code></td>\n            <td><span>响应式设置提示框是否禁用</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>visible </span><code>1.4.0</code></td>\n            <td><span>响应式设置提示框是否显示和隐藏</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>events</span></td>\n            <td><span>非响应式API，添加提示框的事件</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <ul>\n      <li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>回调参数</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>onPopperShow </span><code>1.4.0</code></td>\n            <td style=\"text-align: left\"><span>在提示框显示时触发</span></td>\n            <td style=\"text-align: left\"><span>无</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>onPopperHide </span><code>1.4.0</code></td>\n            <td style=\"text-align: left\"><span>在提示框消失时触发</span></td>\n            <td style=\"text-align: left\"><span>无</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>onOK</span></td>\n            <td style=\"text-align: left\">\n              <span>点击确定的回调，只在 confirm 模式下有效</span>\n            </td>\n            <td style=\"text-align: left\"><span>无</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>onCancel</span></td>\n            <td style=\"text-align: left\">\n              <span>点击取消的回调，只在 confirm 模式下有效</span>\n            </td>\n            <td style=\"text-align: left\"><span>无</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/AutoNewLine.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">word-wrap</span>=<span class=\"cm-string\">\"true\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">width</span>=<span class=\"cm-string\">\"200\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>长文本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">trigger</span>=<span class=\"cm-string\">\"hover\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>hover 激活<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>click 激活<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">trigger</span>=<span class=\"cm-string\">\"focus\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>focus 激活<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">poptip</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Poptip</span>();</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">poptip</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test1'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onPopperShow</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'poptip show'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onPopperHide</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'poptip hide'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 493px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 493px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/Complex.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 761.6px; left: 129.45px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">width</span>=<span class=\"cm-string\">\"400\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>复杂内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">poptip</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Poptip</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">table</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;div class=\"api\"&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;table&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;thead&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;th&gt;日期&lt;/th&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;th&gt;姓名&lt;/th&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;th&gt;地址&lt;/th&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/thead&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;tbody&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;2021-01-17&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;山本先生&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;日本福冈县福冈市中央区樱坂&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;2021-01-17&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;山本先生&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;日本福冈县福冈市中央区樱坂&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;2021-01-17&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;山本先生&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;td&gt;日本福冈县福冈市中央区樱坂&lt;/td&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/tr&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/tbody&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/table&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;/div&gt;`</span>;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">poptip</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test3'</span>).<span class=\"cm-property\">content</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">table</span>;</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 829px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 829px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/Confirm.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 380.8px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">confirm</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"您确认删除这条内容吗？\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test4\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>删除<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">confirm</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Are you sure delete this task?\"</span> <span class=\"cm-attribute\">ok-text</span>=<span class=\"cm-string\">\"yes\"</span> <span class=\"cm-attribute\">cancel-text</span>=<span class=\"cm-string\">\"no\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>国际化<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">poptip</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Poptip</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">poptip</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test4'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onOk</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了确定'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  },</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onCancel</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了取消'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 403px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 403px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">disabled</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>禁用提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/InsideClosed.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test2\"</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"&lt;a onclick='handleClose()'&gt;关闭提示框&lt;/a&gt;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>Click 激活<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">handleClose</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">poptip</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test2'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">false</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/Placement.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 1388.8px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.top</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.bottom</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.center</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">300px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">10px</span> <span class=\"cm-atom\">auto</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">overflow</span>: <span class=\"cm-atom\">hidden</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.center-left</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">float</span>: <span class=\"cm-atom\">left</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.center-right</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">float</span>: <span class=\"cm-atom\">right</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"top\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上左<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上右<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"center\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"center-left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左上<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左下<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"center-right\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右上<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右下<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"bottom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下左<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-poptip</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提示标题\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"提示内容\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下右<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-poptip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1411px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1411px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/poptip/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Placement from './Placement.vue'\nimport InsideClosed from './InsideClosed.vue'\nimport Disabled from './Disabled.vue'\nimport Complex from './Complex.vue'\nimport AutoNewLine from './AutoNewLine.vue'\nimport Confirm from './Confirm.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Placement, InsideClosed, Disabled, Complex, AutoNewLine, Confirm, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/progress/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"progress\" class=\"md-header-anchor\"></a><span>Progress</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>percent</span></td\n            ><td><span>百分比</span></td\n            ><td><span>0</span></td></tr\n          ><tr\n            ><td><span>status</span></td\n            ><td\n              ><span>状态，可选值为</span><code>normal</code><span>、</span><code>active</code\n              ><span>、</span><code>wrong</code><span>、</span><code>success</code><span>、</span\n              ><code>warning</code></td\n            ><td><span>normal</span></td></tr\n          ><tr\n            ><td><span>stroke-width</span></td\n            ><td><span>进度条的线宽，单位 px</span></td\n            ><td><span>10</span></td></tr\n          ><tr\n            ><td><span>stroke-color</span></td\n            ><td><span>进度条的颜色，传入格式为数组，显示为渐变色</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>show-text</span></td\n            ><td><span>隐藏数值或状态图标</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>success-percent</span></td\n            ><td><span>已完成的分段百分比</span></td\n            ><td><span>0</span></td></tr\n          ><tr\n            ><td><span>text-inside</span></td\n            ><td><span>百分比是否置于进度条内</span></td\n            ><td><span>false</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 progress，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>percent</code></li\n      ><li><code>successPercent</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>percent</span></td\n            ><td><span>响应式设置或更新进度条百分比</span></td\n            ><td><span>Number</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>successPercent</span></td\n            ><td><span>响应式设置或更新已完成的分段百分比</span></td\n            ><td><span>Number</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"使用示例\" class=\"md-header-anchor\"></a><span>使用示例</span></h3\n    ><ul\n      ><li><span>动态设置进度</span></li></ul\n    ><p\n      ><span>进度条的进度不可能是固定不变的，这就需要在异步场景下使用组件内置的方法 </span\n      ><code>config(el).percent</code><span> 进行设置，以 jQuery 的 ajax 为例：</span></p\n    >\n    <pre\n      lang=\"html\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n      spellcheck=\"false\"\n      style=\"break-inside: unset\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"0\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"upload\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">progress</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Progress</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">num</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-comment\">// 假设场景是在下载数据 &nbsp; &nbsp;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-variable\">$</span>.<span class=\"cm-property\">ajax</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">url</span>: <span class=\"cm-string\">'/api/someurl'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">type</span>: <span class=\"cm-string\">'get'</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">// ....相关代码省略</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">success</span>() {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-comment\">// ...相关代码省略</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">num</span><span class=\"cm-operator\">++</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">progress</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#upload'</span>).<span class=\"cm-property\">percent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">num</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-keyword\">if</span>(<span class=\"cm-variable\">num</span> <span class=\"cm-operator\">&gt;=</span> <span class=\"cm-number\">100</span>) <span class=\"cm-variable\">$</span>(<span class=\"cm-string\">'#upload'</span>).<span class=\"cm-property\">attr</span>(<span class=\"cm-string\">'status'</span>,<span class=\"cm-string\">'success'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">error</span>() {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\"> </span> &nbsp; <span class=\"cm-comment\">// 设置进度的状态为wrong</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">$</span>(<span class=\"cm-string\">'#upload'</span>).<span class=\"cm-property\">attr</span>(<span class=\"cm-string\">'status'</span>,<span class=\"cm-string\">'wrong'</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  } &nbsp; &nbsp; &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 470px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 470px;\"></div></div></div></pre\n    ><p>&nbsp;</p></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/progress/Basic.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 493.838px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"30\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"50\"</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"active\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"70\"</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"wrong\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"100\"</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"50\"</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"50\"</span> <span class=\"cm-attribute\">show-text</span>=<span class=\"cm-string\">\"false\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/progress/FDJDT.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 519.862px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"60\"</span> <span class=\"cm-attribute\">success-percent</span>=<span class=\"cm-string\">\"30\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/progress/Percent.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">text-inside</span>=<span class=\"cm-string\">\"true\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-width</span>=<span class=\"cm-string\">\"20\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"30\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">text-inside</span>=<span class=\"cm-string\">\"true\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-width</span>=<span class=\"cm-string\">\"20\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"70\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"active\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">text-inside</span>=<span class=\"cm-string\">\"true\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-width</span>=<span class=\"cm-string\">\"20\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"100\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">text-inside</span>=<span class=\"cm-string\">\"true\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-width</span>=<span class=\"cm-string\">\"20\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"80\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">text-inside</span>=<span class=\"cm-string\">\"true\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">stroke-width</span>=<span class=\"cm-string\">\"20\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"50\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"wrong\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 739px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 739px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/progress/StrokeColor.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"99\"</span> <span class=\"cm-attribute\">stroke-color</span>=<span class=\"cm-string\">\"['#108ee9', '#87d068']\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"99\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> <span class=\"cm-attribute\">stroke-color</span>=<span class=\"cm-string\">\"['#108ee9', '#87d068']\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"active\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/progress/index.ts",
    "content": "import Basic from './Basic.vue'\nimport FDJDT from './FDJDT.vue'\nimport Percent from './Percent.vue'\nimport StrokeColor from './StrokeColor.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, FDJDT, Percent, StrokeColor, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/radio/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"radio\" class=\"md-header-anchor\"></a><span>Radio</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>checked</span></td>\n            <td style=\"text-align: left\"><span>单个是否选中</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>label</span></td>\n            <td style=\"text-align: left\">\n              <span\n                >只在组合使用时有效。指定当前选项的 value\n                值，组合会自动判断当前选择的项目</span\n              >\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>disabled</span></td>\n            <td style=\"text-align: left\"><span>是否禁用当前项</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>size</span></td>\n            <td style=\"text-align: left\">\n              <span>单选框的尺寸，可选值为 </span><code>large</code><span>，</span\n              ><code>small</code><span> 或者不设置</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>border</span></td>\n            <td style=\"text-align: left\"><span>是否显示边框</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>icon</span></td>\n            <td style=\"text-align: left\"><span>设置前缀图标</span></td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"radiogroup\" class=\"md-header-anchor\"></a><span>RadioGroup</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>value</span></td>\n            <td style=\"text-align: left\"><span>指定当前选中的项目数据</span></td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>type</span></td>\n            <td style=\"text-align: left\">\n              <span>可选值为 button 或不填，为 button 时使用按钮样式</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>button-style</span></td>\n            <td style=\"text-align: left\"><span>按钮样式，可选值为 solid</span></td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>size</span></td>\n            <td style=\"text-align: left\">\n              <span>单选框的尺寸，可选值为 </span><code>large</code><span>，</span\n              ><code>small</code><span> 或者不设置</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>direction</span></td>\n            <td style=\"text-align: left\">\n              <span>是否垂直排列，按钮样式下无效，可选值为 </span><code>vertical</code>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 radio，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下三个值：</span></p>\n    <ul>\n      <li><code>checked</code></li>\n      <li><code>value</code></li>\n      <li><code>events(options)</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>checked</span></td>\n            <td><span>响应式设置单个是否选中</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>value</span></td>\n            <td><span>响应式设置 radio-group 当前选中的项目数据</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>events</span></td>\n            <td><span>非响应式API，添加 Radio 的事件，</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <ul>\n      <li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>回调参数</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>onChange</span></td>\n            <td style=\"text-align: left\">\n              <span\n                >在选项状态发生改变时触发，当选中的配置目标是 radio-group\n                时，则返回一个对象，为当前选中的项，如果是单个 radio\n                则返回当前选中状态</span\n              >\n            </td>\n            <td style=\"text-align: left\">\n              <span>(state: boolean </span><span>|</span\n              ><span> item:object) =&gt; void</span>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">checked</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"demoRadio\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Radio<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">radio</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Radio</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">radio</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#demoRadio'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">state</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string-2\">`当前状态：${</span><span class=\"cm-variable-2\">state</span><span class=\"cm-string-2\">}`</span>)</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Border.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 146.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"金斑蝶\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"金斑蝶\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>金斑蝶<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"爪哇犀牛\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>爪哇犀牛<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"印度黑羚\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>印度黑羚<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Button.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 146.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/ButtonStyle.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 146.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">button-style</span>=<span class=\"cm-string\">\"solid\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"深圳\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">button-style</span>=<span class=\"cm-string\">\"solid\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"margin-top: 16px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 291px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 291px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 146.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">checked</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>Radio<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"爪哇犀牛\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"金斑蝶\"</span> <span class=\"cm-attribute\">disabled</span><span class=\"cm-tag cm-bracket\">&gt;</span>金斑蝶<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"爪哇犀牛\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>爪哇犀牛<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"印度黑羚\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>印度黑羚<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Group.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"apple\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"apple\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-apple\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Apple<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"android\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-android\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Android<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"windows\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-windows\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Windows<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"爪哇犀牛\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"demoRadioGroup\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"金斑蝶\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>金斑蝶<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"爪哇犀牛\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>爪哇犀牛<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"印度黑羚\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>印度黑羚<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">radio</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Radio</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">radio</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#demoRadioGroup'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">item</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">item</span>)</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Size.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 425.6px; left: 146.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"北京\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"北京\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>北京<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"上海\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上海<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"深圳\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>深圳<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"杭州\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>杭州<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 448px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 448px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/Vertical.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 146.813px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio-group</span> <span class=\"cm-attribute\">value</span>=<span class=\"cm-string\">\"apple\"</span> <span class=\"cm-attribute\">direction</span>=<span class=\"cm-string\">\"vertical\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"apple\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Apple<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"android\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Android<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-radio</span> <span class=\"cm-attribute\">label</span>=<span class=\"cm-string\">\"windows\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Windows<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-radio-group</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/radio/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Size from './Size.vue'\nimport Disabled from './Disabled.vue'\nimport Border from './Border.vue'\nimport Button from './Button.vue'\nimport ButtonStyle from './ButtonStyle.vue'\nimport Vertical from './Vertical.vue'\nimport Group from './Group.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Size, Disabled, Border, Button, ButtonStyle, Vertical, Group, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/result/403.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"403\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"403\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">subtitle</span>=<span class=\"cm-string\">\"对不起，您没有权限访问此页。\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;返回首页&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/404.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"404\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"404\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">subtitle</span>=<span class=\"cm-string\">\"对不起，您访问的页面不存在。\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;返回首页&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/500.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"500\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"500\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">subtitle</span>=<span class=\"cm-string\">\"对不起，服务器出了点问题。\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;返回首页&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"result\" class=\"md-header-anchor\"></a><span>Result</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>status</span></td>\n            <td>\n              <span>结果的状态，决定图标和颜色。可选值为 </span><code>success</code\n              ><span>、</span><code>error</code><span>、</span><code>info</code\n              ><span> 、 </span><code>warning</code><span> 、 </span><code>404</code\n              ><span>、</span><code>403</code><span>、 </span><code>500</code>\n            </td>\n            <td><span>info</span></td>\n          </tr>\n          <tr>\n            <td><span>title</span></td>\n            <td><span>标题文字</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>subtitle</span></td>\n            <td><span>结果描述</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>extra</span></td>\n            <td><span>操作区，建议放置按钮组</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>icon</span></td>\n            <td><span>自定义图标</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/CustomIcon.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-happy\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"太棒了，我们已经完成了所有的操作！\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;下一步&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/Error.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 627.2px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.typography</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">overflow-wrap</span>: <span class=\"cm-atom\">break-word</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">margin-bottom</span>: <span class=\"cm-number\">8px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.typography</span> <span class=\"cm-qualifier\">.rab-icon</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">color</span>: <span class=\"cm-keyword\">red</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"error\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提交失败\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">subtitle</span>=<span class=\"cm-string\">\"请检查并修改以下信息后再重新提交\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;返回修改&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h4</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"typography\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>您提交的内容有以下错误:<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h4</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"typography\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-close-circle-outline\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span> 您的帐户已被冻结。</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>立即解冻&gt;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"typography\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-ios-close-circle-outline\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span> 您的帐户还没有资格申请。</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span>申请解锁&gt;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 650px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 650px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/Info.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"请勿重复操作\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;返回首页&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/Success.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"success\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"提交成功\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">subtitle</span>=<span class=\"cm-string\">\"已提交申请，等待部门审核。\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;返回首页&lt;/button&gt; </span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"cm-string\">&lt;button type='button' class='rab-btn'&gt;打印&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/Warning.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 103.438px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-result</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"warning\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"操作发生了一些问题\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">extra</span>=<span class=\"cm-string\">\"&lt;button type='button' class='rab-btn rab-btn-primary'&gt;重新提交&lt;/button&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-result</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/result/index.ts",
    "content": "import Info from './Info.vue'\nimport Success from './Success.vue'\nimport Warning from './Warning.vue'\nimport Error from './Error.vue'\nimport F03 from './403.vue'\nimport F04 from './404.vue'\nimport FV500 from './500.vue'\nimport CustomIcon from './CustomIcon.vue'\nimport APITable from './APITable.vue'\n\nexport { Info, Success, Warning, Error, F03, F04, FV500, CustomIcon, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/skeleton/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"skeleton\" class=\"md-header-anchor\"></a><span>Skeleton</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>active</span></td\n            ><td><span>是否展示动画效果</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>avatar</span></td\n            ><td><span>是否显示头像占位图</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>paragraph</span></td\n            ><td><span>是否显示段落占位图</span></td\n            ><td><span>true</span></td></tr\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>是否显示标题占位图</span></td\n            ><td><span>true</span></td></tr\n          ><tr\n            ><td><span>title-width</span></td\n            ><td><span>设置标题占位图的宽度</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>paragraph-rows</span></td\n            ><td><span>设置段落占位图的行数</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>paragraph-width</span></td\n            ><td\n              ><span\n                >设置段落占位图的宽度，若为数组时则为对应的每行宽度，反之则是首行的宽度</span\n              ></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>avatar-size</span></td\n            ><td\n              ><span>设置头像占位图的大小，可选值为 </span><code>small</code><span>、</span\n              ><code>large</code></td\n            ><td><span>large</span></td></tr\n          ><tr\n            ><td><span>avatar-shape</span></td\n            ><td\n              ><span>指定头像的形状，可选值为 </span><code>circle</code><span>、</span\n              ><code>square</code></td\n            ><td><span>circle</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/skeleton/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 224.9px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/skeleton/Complex.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 511.188px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-skeleton</span> <span class=\"cm-attribute\">avatar</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">paragraph-rows</span>=<span class=\"cm-string\">\"4\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/skeleton/Custom.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 485.175px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-skeleton</span> <span class=\"cm-attribute\">paragraph-width</span>=<span class=\"cm-string\">\"[60,80,100]\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/skeleton/Loading.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 1030.4px; left: 86.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.example</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">918px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">42px</span> <span class=\"cm-number\">24px</span> <span class=\"cm-number\">50px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">50px</span> <span class=\"cm-atom\">auto</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">border</span>: <span class=\"cm-number\">1px</span> <span class=\"cm-atom\">solid</span> <span class=\"cm-atom\">#f0f0f0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.example-article</span> <span class=\"cm-tag\">h3</span> {</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">margin-bottom</span>: <span class=\"cm-number\">16px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.example-article</span> <span class=\"cm-tag\">button</span> {</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-property\">margin-top</span>: <span class=\"cm-number\">16px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"example\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-skeleton</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"display: none\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"demoSkeleton\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"example-article\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"content\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h3</span><span class=\"cm-tag cm-bracket\">&gt;</span>Vue.js, the progressive javascript framework<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h3</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  An incrementally adoptable ecosystem that scales between a library and a full-featured</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  framework. Blazing Fast Virtual DOM Minimal Optimization Efforts</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"toggle(this)\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>显示骨架图<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Skeleton</span>();</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-keyword\">const</span> <span class=\"cm-def\">skeleton</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">document</span>.<span class=\"cm-property\">querySelector</span>(<span class=\"cm-string\">'#demoSkeleton'</span>);</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-keyword\">const</span> <span class=\"cm-def\">content</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">document</span>.<span class=\"cm-property\">querySelector</span>(<span class=\"cm-string\">'.content'</span>);</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-variable\">toggle</span> <span class=\"cm-operator\">=</span> (<span class=\"cm-def\">$this</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-variable\">skeleton</span>.<span class=\"cm-property\">style</span>.<span class=\"cm-property\">display</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">''</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-variable\">content</span>.<span class=\"cm-property\">style</span>.<span class=\"cm-property\">display</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'none'</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-variable-2\">$this</span>.<span class=\"cm-property\">setAttribute</span>(<span class=\"cm-string\">'disabled'</span>, <span class=\"cm-string\">'true'</span>);</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">skeleton</span>.<span class=\"cm-property\">style</span>.<span class=\"cm-property\">display</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'none'</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable\">content</span>.<span class=\"cm-property\">style</span>.<span class=\"cm-property\">display</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">''</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-variable-2\">$this</span>.<span class=\"cm-property\">removeAttribute</span>(<span class=\"cm-string\">'disabled'</span>);</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; }, <span class=\"cm-number\">2000</span>);</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; };</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1098px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1098px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/skeleton/WithAnimation.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 22.4px; left: 467.8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-skeleton</span> <span class=\"cm-attribute\">active</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-skeleton</span> <span class=\"cm-attribute\">active</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">avatar</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-skeleton</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 45px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 45px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/skeleton/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Custom from './Custom.vue'\nimport Complex from './Complex.vue'\nimport Loading from './Loading.vue'\nimport WithAnimation from './WithAnimation.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Custom, Complex, Loading, WithAnimation, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/spin/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"spin\" class=\"md-header-anchor\"></a><span>Spin</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>size</span></td>\n            <td style=\"text-align: left\">\n              <span>Spin尺寸，可选值为</span><code>large</code><span>和</span\n              ><code>small</code><span>或者不设置</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>fix</span></td>\n            <td style=\"text-align: left\">\n              <span>是否固定，需要父级有</span><code>relative</code><span>或</span\n              ><code>absolute</code>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 155.475px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/ChangeState.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 515.2px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-spin-article</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">400px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">240px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">10px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">position</span>: <span class=\"cm-atom\">relative</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-spin-article\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">h3</span><span class=\"cm-tag cm-bracket\">&gt;</span>登金陵凤凰台<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">h3</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">address</span><span class=\"cm-tag cm-bracket\">&gt;</span>李白<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">address</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">article</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>凤凰台上凤凰游，凤去台空江自流。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>吴宫花草埋幽径，晋代衣冠成古丘。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>三山半落青天外，二水中分白鹭洲。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span>总为浮云能蔽日，长安不见使人愁。<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">article</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span> <span class=\"cm-attribute\">fix</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"demo_spin\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span> 切换显示状态：</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">spin</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Spin</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">Switch</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Switch</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">Switch</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'r-switch'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">checked</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">document</span>.<span class=\"cm-property\">querySelector</span>(<span class=\"cm-string\">'#demo_spin'</span>).<span class=\"cm-property\">style</span>.<span class=\"cm-property\">display</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable-2\">checked</span> <span class=\"cm-operator\">?</span> <span class=\"cm-string\">'none'</span> : <span class=\"cm-string\">''</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 762px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 762px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/CustomContent.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 515.2px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.col-span-8</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">33.33333333%</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">float</span>: <span class=\"cm-atom\">left</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-spin-col</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">100px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">position</span>: <span class=\"cm-atom\">relative</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border</span>: <span class=\"cm-number\">1px</span> <span class=\"cm-atom\">solid</span> <span class=\"cm-atom\">#eee</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-spin-col col-span-8\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span> <span class=\"cm-attribute\">fix</span><span class=\"cm-tag cm-bracket\">&gt;</span>加载中...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-spin-col col-span-8\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span> <span class=\"cm-attribute\">fix</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">i</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-icon rab-icon-loading1 rab-load-loop\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">i</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span>Loading...<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 538px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 538px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/FixCenter.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 246.4px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.demo-spin-container</span>{</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  <span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-property\">display</span>: <span class=\"cm-atom\">inline-block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">200px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">100px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">position</span>: <span class=\"cm-atom\">relative</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border</span>: <span class=\"cm-number\">1px</span> <span class=\"cm-atom\">solid</span> <span class=\"cm-atom\">#eee</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-spin-container\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span> <span class=\"cm-attribute\">fix</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/FullScreen.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 291.2px; left: 25.35px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleShow()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>整页显示，3秒后关闭<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleHide()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>自定义显示内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleShow</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">spin</span>.<span class=\"cm-property\">show</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">spin</span>.<span class=\"cm-property\">hide</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }, <span class=\"cm-number\">3000</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">content</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string-2\">`</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-string-2\">&lt;i class=\"rab-icon rab-icon-loading1 rab-load-loop\" style=\"font-size: 22px;height: 30px\"&gt;&lt;/i&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-string-2\">&lt;div&gt;Loading...&lt;/div&gt;</span></span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-string-2\">`</span>;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleHide</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">spin</span>.<span class=\"cm-property\">show</span>({ <span class=\"cm-property\">content</span> });</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">setTimeout</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">spin</span>.<span class=\"cm-property\">hide</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }, <span class=\"cm-number\">3000</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 493px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 493px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/Size.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 358.4px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.col-span-8</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">33.33333333%</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">float</span>: <span class=\"cm-atom\">left</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"col-span-8\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"col-span-8\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"col-span-8\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-spin</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-spin</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 381px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 381px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/spin/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Size from './Size.vue'\nimport FixCenter from './FixCenter.vue'\nimport CustomContent from './CustomContent.vue'\nimport ChangeState from './ChangeState.vue'\nimport FullScreen from './FullScreen.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Size, FixCenter, CustomContent, ChangeState, FullScreen, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/steps/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"steps\" class=\"md-header-anchor\"></a><span>Steps</span></h3\n    ><p><span>整体步骤条</span></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>current</span></td\n            ><td style=\"text-align: left\"><span>当前步骤，从 0 开始计数</span></td\n            ><td style=\"text-align: left\"><span>0</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>status</span></td\n            ><td style=\"text-align: left\"\n              ><span>当前步骤的状态，可选值为</span><code>wait</code><span>、</span\n              ><code>process</code><span>、</span><code>finish</code><span>、</span\n              ><code>error</code></td\n            ><td style=\"text-align: left\"><span>process</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>size</span></td\n            ><td style=\"text-align: left\"\n              ><span>步骤条的尺寸，可选值为</span><code>small</code><span>或者不写</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>direction</span></td\n            ><td style=\"text-align: left\"\n              ><span>步骤条的方向，可选值为</span><code>horizontal</code><span>（水平）或</span\n              ><code>vertical</code><span>（垂直）</span></td\n            ><td style=\"text-align: left\"><span>horizontal</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"step\" class=\"md-header-anchor\"></a><span>Step</span></h3\n    ><p><span>子项步骤</span></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>status</span></td\n            ><td style=\"text-align: left\"\n              ><span>步骤的状态，可选值为</span><code>wait</code><span>、</span><code>process</code\n              ><span>、</span><code>finish</code><span>、</span><code>error</code\n              ><span>，不设置时自动判断</span></td\n            ><td style=\"text-align: left\"><span>process</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>title</span></td\n            ><td style=\"text-align: left\"><span>标题</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>content</span></td\n            ><td style=\"text-align: left\"><span>步骤的详细描述，可选</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>icon</span></td\n            ><td style=\"text-align: left\"><span>步骤的图标，可选</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 steps，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>current</code></li\n      ><li><code>status</code></li\n      ><li><code>title</code></li\n      ><li><code>content</code></li\n      ><li><code>itemStatus</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>current</span></td\n            ><td><span>响应式设置或更新当前步骤</span></td\n            ><td><span>Number</span></td\n            ><td><span>0</span></td></tr\n          ><tr\n            ><td><span>status</span></td\n            ><td\n              ><span>响应式设置或更新当前步骤的状态，可选值为</span><code>wait</code><span>、</span\n              ><code>process</code><span>、</span><code>finish</code><span>、</span\n              ><code>error</code></td\n            ><td><span>String</span></td\n            ><td><span>process</span></td></tr\n          ><tr\n            ><td><span>title</span></td\n            ><td><span>响应式设置或更新 title</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>content</span></td\n            ><td><span>响应式设置或更新 content</span></td\n            ><td><span>String</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>itemStatus</span></td\n            ><td><span>响应式设置或更新每一个子项步骤的状态</span></td\n            ><td><span>Array</span><string></string></td><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-steps</span> <span class=\"cm-attribute\">current</span>=<span class=\"cm-string\">\"1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"已完成\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"进行中\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"待进行\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"待进行\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-steps</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/ChangeStep.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 470.4px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-steps</span> <span class=\"cm-attribute\">current</span>=<span class=\"cm-string\">\"0\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"步骤1\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"步骤2\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"步骤3\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"步骤4\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-steps</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handlClickNext()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下一步<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">Steps</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Steps</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">n</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handlClickNext</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">==</span> <span class=\"cm-number\">3</span>) {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  } <span class=\"cm-keyword\">else</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">+=</span> <span class=\"cm-number\">1</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Steps</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">current</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">n</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 493px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 493px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/Error.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-steps</span> <span class=\"cm-attribute\">current</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">status</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"已完成\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"进行中\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"待进行\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"待进行\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-steps</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/Mini.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-steps</span> <span class=\"cm-attribute\">current</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"已完成\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"已完成\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"进行中\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"待进行\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-steps</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/Vertical.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-steps</span> <span class=\"cm-attribute\">current</span>=<span class=\"cm-string\">\"2\"</span> <span class=\"cm-attribute\">direction</span>=<span class=\"cm-string\">\"vertical\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"已完成\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"已完成\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"进行中\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"待进行\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是该步骤的描述信息\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-steps</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/WithIcon.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 94.75px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-steps</span> <span class=\"cm-attribute\">current</span>=<span class=\"cm-string\">\"1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"注册\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-person\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"上传头像\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-camera\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-step</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"验证邮箱\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"ios-mail\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-step</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-steps</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/steps/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Error from './Error.vue'\nimport Mini from './Mini.vue'\nimport Vertical from './Vertical.vue'\nimport WithIcon from './WithIcon.vue'\nimport ChangeStep from './ChangeStep.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Error, Mini, Vertical, WithIcon, ChangeStep, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/switch/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"switch\" class=\"md-header-anchor\"></a><span>Switch</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>checked</span></td\n            ><td><span>指定当前是否选中</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>size</span></td\n            ><td\n              ><span>开关的尺寸，可选值为</span><code>large</code><span>、</span><code>small</code\n              ><span>、</span><code>default</code\n              ><span>或者不写。建议开关如果使用了2个汉字的文字，使用 large。</span></td\n            ><td><span>default</span></td></tr\n          ><tr\n            ><td><span>disabled</span></td\n            ><td><span>禁用开关</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>true-color</span></td\n            ><td><span>自定义打开时的背景色</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>false-color</span></td\n            ><td><span>自定义关闭时的背景色</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>loading</span></td\n            ><td><span>加载中的开关</span></td\n            ><td><span>false</span></td></tr\n          ><tr\n            ><td><span>open</span></td\n            ><td><span>自定义显示打开时的内容</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>close</span></td\n            ><td><span>自定义显示关闭时的内容</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 switch，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>checked</code></li\n      ><li><code>disabled</code></li\n      ><li><code>loading</code></li\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>checked</span></td\n            ><td><span>响应式设置或更新当前是否选中状态</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>disabled</span></td\n            ><td><span>响应式设置或更新禁用开关状态</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>loading</span></td\n            ><td><span>响应式设置或更新加载中的开关状态</span></td\n            ><td><span>Boolean</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加开关事件</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onChange</span></td\n            ><td style=\"text-align: left\"><span>开关变化时触发，返回当前的状态</span></td\n            ><td style=\"text-align: left\"><span>(checked: boolean) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">Switch</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Switch</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; <span class=\"cm-variable\">Switch</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">checked</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string-2\">`开关状态: ${</span><span class=\"cm-variable-2\">checked</span><span class=\"cm-string-2\">}`</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/CustomColor.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 563.275px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">true-color</span>=<span class=\"cm-string\">\"#52c41a\"</span> <span class=\"cm-attribute\">false-color</span>=<span class=\"cm-string\">\"#ff4d4f\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 329.013px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">disabled</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/Loading.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 22.4px; left: 433.1px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">loading</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">checked</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">loading</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 45px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 45px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/Size.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 302.975px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/TextAndIcon.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 156.8px; left: 493.825px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">open</span>=<span class=\"cm-string\">\"开\"</span> <span class=\"cm-attribute\">close</span>=<span class=\"cm-string\">\"关\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">open</span>=<span class=\"cm-string\">\"&lt;i class='rab-icon rab-icon-md-checkmark'&gt;&lt;/i&gt;\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">close</span>=<span class=\"cm-string\">\"&lt;i class='rab-icon rab-icon-md-close'&gt;&lt;/i&gt;\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span> <span class=\"cm-attribute\">open</span>=<span class=\"cm-string\">\"开启\"</span> <span class=\"cm-attribute\">close</span>=<span class=\"cm-string\">\"关闭\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-switch</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span> <span class=\"cm-attribute\">open</span>=<span class=\"cm-string\">\"ON\"</span> <span class=\"cm-attribute\">close</span>=<span class=\"cm-string\">\"OFF\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-switch</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 179px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 179px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/switch/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Size from './Size.vue'\nimport Loading from './Loading.vue'\nimport Disabled from './Disabled.vue'\nimport CustomColor from './CustomColor.vue'\nimport TextAndIcon from './TextAndIcon.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Size, Loading, Disabled, CustomColor, TextAndIcon, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"tabs\" class=\"md-header-anchor\"></a><span>Tabs</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>active-index</span></td>\n            <td><span>初始化选中面板的 index</span></td>\n            <td><span>第一个面板</span></td>\n          </tr>\n          <tr>\n            <td><span>type</span></td>\n            <td>\n              <span>页签的基本样式，可选值为 </span><code>line</code><span> 和 </span\n              ><code>card</code>\n            </td>\n            <td><span>line</span></td>\n          </tr>\n          <tr>\n            <td><span>size</span></td>\n            <td>\n              <span>尺寸，可选值为 </span><code>default</code><span> 和 </span\n              ><code>small</code><span>，仅在 </span><code>type=\"line\"</code\n              ><span> 时有效</span>\n            </td>\n            <td><span>default</span></td>\n          </tr>\n          <tr>\n            <td><span>closable</span></td>\n            <td>\n              <span>是否可以关闭页签，仅在 </span><code>type=\"card\"</code\n              ><span> 时有效</span>\n            </td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>animated</span></td>\n            <td><span>是否使用动画切换 Tabs</span></td>\n            <td><span>true</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"tabs-pane\" class=\"md-header-anchor\"></a><span>Tabs-pane </span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>属性</span></th>\n            <th><span>说明</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>index</span></td>\n            <td><span>用于标识当前面板，对应 defaultActiveKey，默认为其索引值</span></td>\n            <td><span>index</span></td>\n          </tr>\n          <tr>\n            <td><span>tab</span></td>\n            <td><span>选项卡头显示文字</span></td>\n            <td><span>空</span></td>\n          </tr>\n          <tr>\n            <td><span>icon</span></td>\n            <td><span>选项卡图标</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>disabled</span></td>\n            <td><span>是否禁用该选项卡</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>closable</span></td>\n            <td>\n              <span>是否可以关闭页签，仅在 </span><code>type=\"card\"</code\n              ><span> 时有效</span>\n            </td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 tabs，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下两个值：</span></p>\n    <ul>\n      <li><code>activeIndex</code></li>\n      <li><code>events(options)</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>activeIndex</span></td>\n            <td><span>响应式设置当前激活面板的 index</span></td>\n            <td><span>String</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>events</span></td>\n            <td><span>非响应式API，添加选项卡事件，</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <ul>\n      <li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>回调参数</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>onClick</span></td>\n            <td style=\"text-align: left\"><span>tab 被点击时触发</span></td>\n            <td style=\"text-align: left\"><span>(index: string) =&gt; void</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>onTabRemove</span></td>\n            <td style=\"text-align: left\"><span>tab 被关闭时触发</span></td>\n            <td style=\"text-align: left\"><span>(index: string) =&gt; void</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/Animated.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">animated</span>=<span class=\"cm-string\">\"false\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 291.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">active-index</span>=<span class=\"cm-string\">\"1\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"1\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span> <span class=\"cm-attribute\">index</span>=<span class=\"cm-string\">\"3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">tabs</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Tabs</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">tabs</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClick</span>: (<span class=\"cm-def\">index</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-string\">'当前点击的tab'</span>,<span class=\"cm-variable-2\">index</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 314px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 314px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/CardType.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"card\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/Closable.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"card\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/CustomStyle.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 1209.6px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style1</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-content</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">120px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin-top</span>: <span class=\"cm-number\">-16px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style1</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-content</span>&gt;<span class=\"cm-tag\">r-tab-pane</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding</span>: <span class=\"cm-number\">16px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style1</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-bar</span> <span class=\"cm-qualifier\">.rab-tabs-tab</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border-color</span>: <span class=\"cm-atom\">transparent</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style1</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-bar</span> <span class=\"cm-qualifier\">.rab-tabs-tab-active</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border-color</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style2</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-bar</span> <span class=\"cm-qualifier\">.rab-tabs-tab</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border-radius</span>: <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#fff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style2</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-bar</span> <span class=\"cm-qualifier\">.rab-tabs-tab-active</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">border-top</span>: <span class=\"cm-number\">1px</span> <span class=\"cm-atom\">solid</span> <span class=\"cm-atom\">#3399ff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-qualifier\">.demo-tabs-style2</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-card</span>&gt;<span class=\"cm-qualifier\">.rab-tabs-bar</span> <span class=\"cm-qualifier\">.rab-tabs-tab-active</span>:<span class=\"cm-variable-3\">before</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">content</span>: <span class=\"cm-string\">''</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">display</span>: <span class=\"cm-atom\">block</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">100%</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">height</span>: <span class=\"cm-number\">1px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">background</span>: <span class=\"cm-atom\">#3399ff</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">position</span>: <span class=\"cm-atom\">absolute</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">top</span>: <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">left</span>: <span class=\"cm-number\">0</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-tabs-style1\"</span> <span class=\"cm-attribute\">style</span>=<span class=\"cm-string\">\"background: #e3e8ee; padding: 16px\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"card\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"demo-tabs-style2\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"card\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1232px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1232px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span> <span class=\"cm-attribute\">disabled</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/Small.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"small\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签一\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签二\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"标签三\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/WithIcon.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 89.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"macOS\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-apple\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"Windows\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-windows\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tab-pane</span> <span class=\"cm-attribute\">tab</span>=<span class=\"cm-string\">\"Linux\"</span> <span class=\"cm-attribute\">icon</span>=<span class=\"cm-string\">\"logo-tux\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三的内容<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tab-pane</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tabs</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tabs/index.ts",
    "content": "import Basic from './Basic.vue'\nimport WithIcon from './WithIcon.vue'\nimport Small from './Small.vue'\nimport Disabled from './Disabled.vue'\nimport CardType from './CardType.vue'\nimport Closable from './Closable.vue'\nimport Animated from './Animated.vue'\nimport CustomStyle from './CustomStyle.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, WithIcon, Small, Disabled, CardType, Closable, Animated, CustomStyle, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/tag/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"tag\" class=\"md-header-anchor\"></a><span>Tag</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>closable</span></td\n            ><td style=\"text-align: left\"><span>标签是否可以关闭</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>checkable</span></td\n            ><td style=\"text-align: left\"><span>标签是否可以选择</span></td\n            ><td style=\"text-align: left\"><span>false</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>checked</span></td\n            ><td style=\"text-align: left\"><span>标签的选中状态</span></td\n            ><td style=\"text-align: left\"><span>true</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>type</span></td\n            ><td style=\"text-align: left\"\n              ><span>标签的样式类型，可选值为 </span><code>border</code><span>、</span\n              ><code>dot</code><span>或不填</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>color</span></td\n            ><td style=\"text-align: left\"\n              ><span>标签颜色，预设颜色值为</span><code>default</code><span>、</span\n              ><code>primary</code><span>、</span><code>success</code><span>、</span\n              ><code>warning</code><span>、</span><code>error</code><span>、</span><code>blue</code\n              ><span>、</span><code>green</code><span>、</span><code>red</code><span>、</span\n              ><code>yellow</code><span>、</span><code>pink</code><span>、</span><code>magenta</code\n              ><span>、</span><code>volcano</code><span>、</span><code>orange</code><span>、</span\n              ><code>gold</code><span>、</span><code>lime</code><span>、</span><code>cyan</code\n              ><span>、</span><code>geekblue</code><span>、</span><code>purple</code\n              ><span>，也可以自定义颜色值。</span></td\n            ><td style=\"text-align: left\"><span>default</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>size</span></td\n            ><td style=\"text-align: left\"><span>尺寸，可选值为 large、medium</span></td\n            ><td style=\"text-align: left\"><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3\n    ><p\n      ><span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      ></p\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>参数</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>el</span></td\n            ><td><span>配置当前选定的 tag，必须是选择器名称或者元素名</span></td\n            ><td><span>String</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p><span>该方法返回以下值：</span></p\n    ><ul\n      ><li><code>events(options)</code></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>返回值</span></th\n            ><th><span>说明</span></th\n            ><th><span>类型</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>events</span></td\n            ><td><span>非响应式API，添加标签事件，</span></td\n            ><td><span>Function</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><ul\n      ><li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li></ul\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th style=\"text-align: left\"><span>属性</span></th\n            ><th style=\"text-align: left\"><span>说明</span></th\n            ><th style=\"text-align: left\"><span>回调参数</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td style=\"text-align: left\"><span>onClose</span></td\n            ><td style=\"text-align: left\"><span>关闭时触发</span></td\n            ><td style=\"text-align: left\"><span>($this: element) =&gt; void</span></td></tr\n          ><tr\n            ><td style=\"text-align: left\"><span>onChange</span></td\n            ><td style=\"text-align: left\"><span>切换选中状态时触发</span></td\n            ><td style=\"text-align: left\"><span>(checked: boolean) =&gt; void</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/tag/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 246.4px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"closeTag\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">tag</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Tag</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">tag</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#closeTag'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onClose</span>: (<span class=\"cm-def\">$this</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">$this</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 269px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 269px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/tag/CanSelect.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 268.8px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">checkable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"primary\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"checkedTag\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">checkable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">checkable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">checkable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签四<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">tag</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Tag</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">tag</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#checkedTag'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onChange</span>: (<span class=\"cm-def\">checked</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">checked</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 291px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 291px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/tag/Colors.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 604.8px; left: 537.013px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"default\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>default<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>primary<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>success<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>error<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>warning<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"magenta\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>magenta<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"red\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>red<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"volcano\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>volcano<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"orange\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>orange<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"gold\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>gold<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"yellow\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>yellow<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"lime\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>lime<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"green\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>green<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"cyan\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>cyan<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"blue\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>blue<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"geekblue\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>geekblue<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"purple\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>purple<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"#FFA2D3\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Custom Color<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签四<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dot\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"primary\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dot\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"success\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dot\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"warning\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dot\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"error\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签四<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 627px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 627px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/tag/Size.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 308.5px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span>默认标签<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"medium\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>中号标签<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">size</span>=<span class=\"cm-string\">\"large\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>大号标签<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/tag/StyleTypes.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 415.563px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签三<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"border\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签四<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dot\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签一<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tag</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"dot\"</span> <span class=\"cm-attribute\">closable</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>标签二<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tag</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/tag/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Size from './Size.vue'\nimport StyleTypes from './StyleTypes.vue'\nimport Colors from './Colors.vue'\nimport CanSelect from './CanSelect.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Size, StyleTypes, Colors, CanSelect, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/time/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"time\" class=\"md-header-anchor\"></a><span>Time</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>time</span></td\n            ><td><span>需要对比的时间，可以是时间戳或 Date 类型</span></td\n            ><td><span>-</span></td></tr\n          ><tr\n            ><td><span>type</span></td\n            ><td><span>类型，可选值为 relative、date 或 datetime</span></td\n            ><td><span>relative</span></td></tr\n          ><tr\n            ><td><span>interval</span></td\n            ><td><span>自动更新的间隔，单位：秒</span></td\n            ><td><span>60</span></td></tr\n          ><tr\n            ><td><span>hash</span></td\n            ><td><span>填写该值，点击会定位锚点</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h2\n      ><a name=\"改变语言配置-全局\" class=\"md-header-anchor\"></a><span>改变语言配置 (全局)</span></h2\n    ><p\n      ><span>在 </span><code>NodeJs</code><span> 或者 </span><code>Webpack</code\n      ><span> 环境下，要改变全局语言配置，只需调用实例的内置函数 </span><code>locale</code\n      ><span>，并引入 Day.js 的语言文件来自由切换其他语言。</span></p\n    >\n    <pre\n      spellcheck=\"false\"\n      class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n      lang=\"js\"\n    ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"js\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">import</span> <span class=\"cm-string\">'dayjs/locale/de'</span>; &nbsp;<span class=\"cm-comment\">// ES 2015 </span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">// require('dayjs/locale/de'); // CommonJs</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">time</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Time</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">time</span>.<span class=\"cm-property\">locale</span>(<span class=\"cm-string\">'de'</span>);</span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 112px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 112px;\"></div></div></div></pre\n    ><p\n      ><a href=\"https://github.com/iamkun/dayjs/tree/dev/src/locale\"\n        ><span>支持的语言列表</span></a\n      ></p\n    ></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/time/AutoUpdate.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 424.425px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date()\"</span> <span class=\"cm-attribute\">interval</span>=<span class=\"cm-string\">\"1\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/time/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 22.4px; left: 563.263px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date().getTime() - 60 * 3 * 1000\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date().getTime() - 86400 * 3 * 1000\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 45px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 45px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/time/Types.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 702.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date().getTime() - 86400 * 3 * 1000\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date().getTime() - 86400 * 3 * 1000\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"date\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date().getTime() - 86400 * 3 * 1000\"</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"datetime\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/time/WithAnchor.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 676.037px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-time</span> <span class=\"cm-attribute\">time</span>=<span class=\"cm-string\">\"new Date().getTime() - 86400 * 3 * 1000\"</span> <span class=\"cm-attribute\">hash</span>=<span class=\"cm-string\">\"#hash\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-time</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/time/index.ts",
    "content": "import Basic from './Basic.vue'\nimport AutoUpdate from './AutoUpdate.vue'\nimport Types from './Types.vue'\nimport WithAnchor from './WithAnchor.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, AutoUpdate, Types, WithAnchor, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/timeline/APITable.vue",
    "content": "<template>\n  <div class=\"\"\n    ><h3><a name=\"timeline\" class=\"md-header-anchor\"></a><span>Timeline</span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>pending</span></td\n            ><td><span>指定是否最后一个节点为幽灵节点</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><h3><a name=\"timeline-item\" class=\"md-header-anchor\"></a><span>Timeline-item </span></h3\n    ><figure\n      ><table\n        ><thead\n          ><tr\n            ><th><span>属性</span></th\n            ><th><span>说明</span></th\n            ><th><span>默认值</span></th></tr\n          ></thead\n        ><tbody\n          ><tr\n            ><td><span>color</span></td\n            ><td\n              ><span>圆圈颜色，可选值为</span><code>blue</code><span>、</span><code>red</code\n              ><span>、</span><code>green</code><span>、</span><code>gray</code\n              ><span>，或自定义色值</span></td\n            ><td><span>blue</span></td></tr\n          ><tr\n            ><td><span>dot</span></td\n            ><td><span>自定义时间轴点</span></td\n            ><td><span>-</span></td></tr\n          ></tbody\n        ></table\n      ></figure\n    ><p>&nbsp;</p><p>&nbsp;</p></div\n  >\n</template>"
  },
  {
    "path": "site/src/examples-code/components/timeline/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 51.2px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.time</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-size</span>: <span class=\"cm-number\">14px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">font-weight</span>: <span class=\"cm-atom\">bold</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.content</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">padding-left</span>: <span class=\"cm-number\">5px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"time\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>1976s<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"content\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>第一代苹果问世<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"time\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>1984s<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"content\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布麦金塔电脑<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"time\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>2007s<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"content\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布 iPhone<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"time\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>2010s<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"content\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布 iPad<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"gray\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"time\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>2011.10.05<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">p</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"content\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>史蒂夫·乔布斯去世<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">p</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 784px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 784px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/timeline/Colors.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"green\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布1.0版本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"green\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布2.0版本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"red\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>重大Bug<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span> <span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"gray\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>推迟发布<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布3.0版本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/timeline/Custom.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">dot</span>=<span class=\"cm-string\">\"&lt;i class='rab-icon rab-icon-ios-trophy'&gt;&lt;/i&gt;\"</span> </span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-attribute\">color</span>=<span class=\"cm-string\">\"green\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; 发布里程碑版本</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布1.0版本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布2.0版本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>发布3.0版本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/timeline/Pending.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 112px; left: 120.788px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline</span> <span class=\"cm-attribute\">pending</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>2021-04-01 创建服务器网站<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>2021-04-01 解决了初始化网络问题<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span>2021-04-01 技术人员进行测试<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">a</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"#\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>查看更多<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">a</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-timeline-item</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-timeline</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/components/timeline/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Colors from './Colors.vue'\nimport Custom from './Custom.vue'\nimport Pending from './Pending.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Colors, Custom, Pending, APITable }\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/APITable.vue",
    "content": "<template>\n  <div class=\"\">\n    <h3><a name=\"tooltip\" class=\"md-header-anchor\"></a><span>Tooltip</span></h3>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\"><span>content</span></td>\n            <td style=\"text-align: left\"><span>显示的内容</span></td>\n            <td style=\"text-align: left\"><span>空</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>placement</span></td>\n            <td style=\"text-align: left\">\n              <span>提示框出现的位置，可选值为</span\n              ><code\n                >top``top-start``top-end``bottom``bottom-start``bottom-end``left``left-start``left-end``right``right-start``right-end</code\n              ><span>，自动识别</span>\n            </td>\n            <td style=\"text-align: left\"><span>top</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>disabled</span></td>\n            <td style=\"text-align: left\"><span>是否禁用提示框</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>delay</span></td>\n            <td style=\"text-align: left\"><span>延迟显示，单位毫秒</span></td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>always</span></td>\n            <td style=\"text-align: left\"><span>是否总是可见</span></td>\n            <td style=\"text-align: left\"><span>false</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>theme </span><code>1.1.0</code></td>\n            <td style=\"text-align: left\"><span>背景颜色</span></td>\n            <td style=\"text-align: left\"><span>dark</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>max-width</span></td>\n            <td style=\"text-align: left\">\n              <span>最大宽度，超出最大值后，文本将自动换行，并两端对齐</span>\n            </td>\n            <td style=\"text-align: left\"><span>-</span></td>\n          </tr>\n          <tr>\n            <td style=\"text-align: left\"><span>offset</span></td>\n            <td style=\"text-align: left\"><span>出现位置的偏移量</span></td>\n            <td style=\"text-align: left\"><span>0</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <h3><a name=\"config--方法\" class=\"md-header-anchor\"></a><span>Config 方法</span></h3>\n    <p>\n      <span\n        >配置指定的组件，并提供一些必要的响应式更新DOM内容或其他操作的\n        API。（并不是每个组件都会有）</span\n      >\n    </p>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>参数</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>el</span></td>\n            <td><span>配置当前选定的 tooltip，必须是选择器名称或者元素名</span></td>\n            <td><span>String</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <p><span>该方法返回以下四个值：</span></p>\n    <ul>\n      <li><code>content</code></li>\n      <li><code>disabled</code></li>\n      <li><code>always</code></li>\n      <li><code>events(options)</code></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th><span>返回值</span></th>\n            <th><span>说明</span></th>\n            <th><span>类型</span></th>\n            <th><span>默认值</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td><span>content</span></td>\n            <td><span>响应式设置或更新提示框的内容</span></td>\n            <td><span>String </span><span>|</span><span> Number</span></td>\n            <td><span>-</span></td>\n          </tr>\n          <tr>\n            <td><span>disabled </span><code>1.1.0</code></td>\n            <td><span>响应式设置是否禁用提示框</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>always </span><code>1.1.0</code></td>\n            <td><span>响应式设置是否总是可见</span></td>\n            <td><span>Boolean</span></td>\n            <td><span>false</span></td>\n          </tr>\n          <tr>\n            <td><span>events</span></td>\n            <td><span>非响应式API，添加提示框的事件</span></td>\n            <td><span>Function</span></td>\n            <td><span>-</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n    <ul>\n      <li><code>events</code><span>的参数 options 为对象，具体说明如下：</span></li>\n    </ul>\n    <figure>\n      <table>\n        <thead>\n          <tr>\n            <th style=\"text-align: left\"><span>属性</span></th>\n            <th style=\"text-align: left\"><span>说明</span></th>\n            <th style=\"text-align: left\"><span>回调参数</span></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"text-align: left\">\n              <span>onVisibleChange </span><code>1.1.0</code>\n            </td>\n            <td style=\"text-align: left\"><span>显示隐藏的回调</span></td>\n            <td style=\"text-align: left\"><span>(visible: boolean) =&gt; void</span></td>\n          </tr>\n        </tbody>\n      </table>\n    </figure>\n  </div>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/AutoNewLine.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 134.4px; left: 112.112px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">max-width</span>=<span class=\"cm-string\">\"200\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>长文本<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 157px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 157px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/Basic.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 201.6px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"这里是提示文字\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>鼠标经过这段文字时，会显示一个气泡框<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">tooltip</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Tooltip</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">tooltip</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test'</span>).<span class=\"cm-property\">events</span>({</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onVisibleChange</span>: (<span class=\"cm-def\">visable</span>) <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">console</span>.<span class=\"cm-property\">log</span>(<span class=\"cm-variable-2\">visable</span>);</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  });</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 224px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 224px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/CustomContent.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 179.2px; left: 86.075px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"test\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>多行<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">tooltip</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Tooltip</span>();</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">custom</span> <span class=\"cm-operator\">=</span> <span class=\"cm-string\">'&lt;div&gt;&lt;p&gt;显示多行信息&lt;/p&gt; &lt;p&gt;&lt;i&gt;可以自定义样式&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;'</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">tooltip</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#test2'</span>).<span class=\"cm-property\">content</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">custom</span>;</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/Delay.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 112.112px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Tooltip 文字提示\"</span> <span class=\"cm-attribute\">delay</span>=<span class=\"cm-string\">\"1000\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>延时1秒显示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/Disabled.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 44.8px; left: 112.112px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top\"</span> <span class=\"cm-attribute\">disabled</span>=<span class=\"cm-string\">\"true\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>禁用提示<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 67px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 67px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/Placement.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 1388.8px; left: 60.05px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag\">top</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; <span class=\"cm-qualifier\">.bottom</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">text-align</span>: <span class=\"cm-atom\">center</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.center</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">width</span>: <span class=\"cm-number\">300px</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">margin</span>: <span class=\"cm-number\">10px</span> <span class=\"cm-atom\">auto</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">overflow</span>: <span class=\"cm-atom\">hidden</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.center-left</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">float</span>: <span class=\"cm-atom\">left</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-qualifier\">.center-right</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">float</span>: <span class=\"cm-atom\">right</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">style</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"top\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Top Left 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上左<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Top Center 文字提示\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Top Right 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"top-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>上右<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"center\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"center-left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Left Top 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左上<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Left Center 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Left Bottom 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"left-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>左下<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"center-right\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Right Top 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右上<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Right Center 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span> <span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;&lt;</span><span class=\"cm-tag\">br</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Right Bottom 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"right-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>右下<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"bottom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Bottom Left 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-start\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下左<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Bottom Center 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下边<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"Bottom Right 文字提示\"</span> <span class=\"cm-attribute\">placement</span>=<span class=\"cm-string\">\"bottom-end\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>下右<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1411px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1411px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/Theme.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 985.6px; left: 112.112px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Dark(default)<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"light\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Light<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"pink\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>pink<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"red\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>red<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"yellow\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>yellow<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"orange\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>orange<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"cyan\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>cyan<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"green\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>green<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"blue\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>blue<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"purple\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>purple<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"geekblue\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>geekblue<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"magenta\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>magenta<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"volcano\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>volcano<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"gold\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>gold<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-tooltip</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"content of tooltip\"</span> <span class=\"cm-attribute\">theme</span>=<span class=\"cm-string\">\"lime\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>lime<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-tooltip</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1008px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 1008px;\"></div></div></div></pre>\n</template>\n"
  },
  {
    "path": "site/src/examples-code/components/tooltip/index.ts",
    "content": "import Basic from './Basic.vue'\nimport Delay from './Delay.vue'\nimport Theme from './Theme.vue'\nimport Disabled from './Disabled.vue'\nimport Placement from './Placement.vue'\nimport AutoNewLine from './AutoNewLine.vue'\nimport CustomContent from './CustomContent.vue'\nimport APITable from './APITable.vue'\n\nexport { Basic, Delay, Theme, Disabled, Placement, AutoNewLine, CustomContent, APITable }\n"
  },
  {
    "path": "site/src/examples-code/docs/install/CDNAZ.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 143.688px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">&lt;!-- 引入样式 --&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">link</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"text/css\"</span> <span class=\"cm-attribute\">rel</span>=<span class=\"cm-string\">\"stylesheet\"</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/styles/rabbit.css\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">&lt;!-- 引入脚本 --&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"text/javascript\"</span> <span class=\"cm-attribute\">src</span>=<span class=\"cm-string\">\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/rabbit.min.js\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/install/SL.vue",
    "content": "<template>\n  <pre\n    lang=\"html\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    spellcheck=\"false\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 336px; left: 68.725px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-meta\">&lt;!DOCTYPE html&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">html</span> <span class=\"cm-attribute\">lang</span>=<span class=\"cm-string\">\"en\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">head</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">meta</span> <span class=\"cm-attribute\">charset</span>=<span class=\"cm-string\">\"UTF-8\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">meta</span> <span class=\"cm-attribute\">name</span>=<span class=\"cm-string\">\"viewport\"</span> <span class=\"cm-attribute\">content</span>=<span class=\"cm-string\">\"width=device-width, initial-scale=1.0\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">title</span><span class=\"cm-tag cm-bracket\">&gt;</span>RabbitUI example<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">title</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">link</span> <span class=\"cm-attribute\">rel</span>=<span class=\"cm-string\">\"stylesheet\"</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/styles/rabbit.css\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">head</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">body</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"show()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>Click me!<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-modal</span> <span class=\"cm-attribute\">title</span>=<span class=\"cm-string\">\"Welcome\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"demoModal\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; <span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span>Welcome to RabbitUI<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">div</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">r-modal</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">body</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span> <span class=\"cm-attribute\">src</span>=<span class=\"cm-string\">\"https://cdn.jsdelivr.net/npm/rabbit-simple-ui/dist/rabbit.min.js\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-comment\">// 初始化</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">const</span> <span class=\"cm-def\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Modal</span>();</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">show</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-comment\">// 控制 Modal 显示</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#demoModal'</span>).<span class=\"cm-property\">visible</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">true</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  }</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-comment\">// 添加 Modal 点击确定和取消的事件</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">modal</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#demoModal'</span>).<span class=\"cm-property\">events</span>({</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onOk</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了确定'</span>);</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  },</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-property\">onCancel</span>: () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Message</span>.<span class=\"cm-property\">info</span>(<span class=\"cm-string\">'点击了取消'</span>);</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  })</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">html</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 851px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 851px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/install/index.ts",
    "content": "import CDNAZ from './CDNAZ.vue'\nimport SL from './SL.vue'\n\nexport { CDNAZ, SL }\n"
  },
  {
    "path": "site/src/examples-code/docs/introduce/AZ.vue",
    "content": "<template>\n  <pre\n    lang=\"bash\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n    spellcheck=\"false\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-def\">$ npm</span> install rabbit-simple-ui <span class=\"cm-attribute\">--save</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"bash\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"bash\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 242.25px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-def\">$ yarn</span> add rabbit-simple-ui</span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/introduce/AZ2.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">link</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"text/css\"</span> <span class=\"cm-attribute\">rel</span>=<span class=\"cm-string\">\"stylesheet\"</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"styles/rabbit.css\"</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 528.538px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre><span>xxxxxxxxxx</span></pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"text/javascript\"</span> <span class=\"cm-attribute\">src</span>=<span class=\"cm-string\">\"rabbit.min.js\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 22px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 22px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/introduce/SL.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"html\"\n    style=\"break-inside: unset\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"html\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 470.4px; left: 42.4px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code CodeMirror-crosshair\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">link</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"text/css\"</span> <span class=\"cm-attribute\">rel</span>=<span class=\"cm-string\">\"stylesheet\"</span> <span class=\"cm-attribute\">href</span>=<span class=\"cm-string\">\"styles/rabbit.css\"</span> <span class=\"cm-tag cm-bracket\">/&gt;</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">body</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">r-progress</span> <span class=\"cm-attribute\">percent</span>=<span class=\"cm-string\">\"10\"</span> <span class=\"cm-attribute\">id</span>=<span class=\"cm-string\">\"example\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">r-progress</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn rab-btn-primary\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleStar()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>模拟进度条<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">button</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"button\"</span> <span class=\"cm-attribute\">class</span>=<span class=\"cm-string\">\"rab-btn\"</span> <span class=\"cm-attribute\">onclick</span>=<span class=\"cm-string\">\"handleRest()\"</span><span class=\"cm-tag cm-bracket\">&gt;</span>重置<span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">button</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">body</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span> <span class=\"cm-attribute\">type</span>=<span class=\"cm-string\">\"text/javascript\"</span> <span class=\"cm-attribute\">src</span>=<span class=\"cm-string\">\"rabbit.min.js\"</span><span class=\"cm-tag cm-bracket\">&gt;&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-comment\">// 需初始化才能使用</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">progress</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Rabbit</span>.<span class=\"cm-property\">Progress</span>();</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-keyword\">let</span> <span class=\"cm-def\">timer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-atom\">null</span>, <span class=\"cm-def\">n</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">10</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleStar</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">timer</span>) <span class=\"cm-keyword\">clearInterval(timer)</span></span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">timer</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">setInterval</span>(() <span class=\"cm-operator\">=&gt;</span> {</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span><span class=\"cm-tab\" role=\"presentation\" cm-text=\"\t\">    </span> &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">&gt;=</span> <span class=\"cm-number\">100</span>) <span class=\"cm-variable\">clearInterval</span>(<span class=\"cm-variable\">timer</span>)</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">n</span> <span class=\"cm-operator\">+</span> <span class=\"cm-variable\">Math</span>.<span class=\"cm-property\">random</span>() <span class=\"cm-operator\">*</span> <span class=\"cm-number\">10</span> <span class=\"cm-operator\">&gt;=</span> <span class=\"cm-number\">100</span> <span class=\"cm-operator\">?</span> <span class=\"cm-number\">100</span> : (<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">+</span> <span class=\"cm-variable\">Math</span>.<span class=\"cm-property\">random</span>() <span class=\"cm-operator\">*</span> <span class=\"cm-number\">10</span>) </span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">progress</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#example'</span>).<span class=\"cm-property\">percent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-variable\">n</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp;  }, <span class=\"cm-number\">300</span> <span class=\"cm-operator\">+</span> <span class=\"cm-variable\">Math</span>.<span class=\"cm-property\">random</span>() <span class=\"cm-operator\">*</span> <span class=\"cm-number\">1000</span>);</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre></div><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-variable\">handleRest</span> <span class=\"cm-operator\">=</span> () <span class=\"cm-operator\">=&gt;</span> {</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-keyword\">if</span> (<span class=\"cm-variable\">timer</span>) <span class=\"cm-variable\">clearInterval</span>(<span class=\"cm-variable\">timer</span>)</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">n</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">0</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"cm-variable\">progress</span>.<span class=\"cm-property\">config</span>(<span class=\"cm-string\">'#example'</span>).<span class=\"cm-property\">percent</span> <span class=\"cm-operator\">=</span> <span class=\"cm-number\">0</span>;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;  };</span></pre><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-tag cm-bracket\">&lt;/</span><span class=\"cm-tag\">script</span><span class=\"cm-tag cm-bracket\">&gt;</span></span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 627px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 627px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/introduce/index.ts",
    "content": "import AZCode from './AZ.vue'\nimport AZCode2 from './AZ2.vue'\nimport SLCode from './SL.vue'\n\nexport { AZCode, AZCode2, SLCode }\n"
  },
  {
    "path": "site/src/examples-code/docs/start/Code1.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block md-focus ty-contain-cm modeLoaded\"\n    lang=\"ts\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"ts\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 610.025px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">import</span> <span class=\"cm-def\">Alert</span> <span class=\"cm-keyword\">from</span> <span class=\"cm-string\">'rabbit-simple-ui/src/components/alert'</span>;</span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">import</span> <span class=\"cm-def\">Collapse</span> <span class=\"cm-keyword\">from</span> <span class=\"cm-string\">'rabbit-simple-ui/src/components/collapse'</span>;</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">// 用于初始化组件，如果未调用组件要求的构造函数，则相应的节点内容是不会被渲染出来的</span></span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">alert</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Alert</span>();</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">const</span> <span class=\"cm-def\">collapse</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Collapse</span>();</span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 134px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 134px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/start/Code2.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded\"\n    lang=\"json\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap\" lang=\"json\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-variable\">npm</span> <span class=\"cm-variable\">install</span> <span class=\"cm-variable\">babel</span><span class=\"cm-operator\">-</span><span class=\"cm-variable\">plugin</span><span class=\"cm-operator\">-</span><span class=\"cm-keyword\">import</span> <span class=\"cm-operator\">--</span><span class=\"cm-variable\">save</span><span class=\"cm-operator\">-</span><span class=\"cm-variable\">dev</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-comment\">// .babelrc</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">{</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp;<span class=\"cm-string cm-property\">\"plugins\"</span>: [[<span class=\"cm-string\">\"import\"</span>, {</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-string cm-property\">\"libraryName\"</span>: <span class=\"cm-string\">\"rabbit-simple-ui\"</span>,</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"> &nbsp; &nbsp;<span class=\"cm-string cm-property\">\"libraryDirectory\"</span>: <span class=\"cm-string\">\"src/components\"</span></span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">  }]]</span></pre><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\">}</span></pre></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 202px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 202px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/start/Code3.vue",
    "content": "<template>\n  <pre\n    spellcheck=\"false\"\n    class=\"md-fences md-end-block ty-contain-cm modeLoaded md-focus\"\n    lang=\"json\"\n  ><div class=\"CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused\" lang=\"json\"><div style=\"overflow: hidden; position: relative; width: 3px; height: 0px; top: 67.2px; left: 233.55px;\"><textarea autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" tabindex=\"0\" style=\"position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;\"></textarea></div><div class=\"CodeMirror-scrollbar-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-gutter-filler\" cm-not-content=\"true\"></div><div class=\"CodeMirror-scroll\" tabindex=\"-1\"><div class=\"CodeMirror-sizer\" style=\"margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;\"><div style=\"position: relative; top: 0px;\"><div class=\"CodeMirror-lines\" role=\"presentation\"><div role=\"presentation\" style=\"position: relative; outline: none;\"><div class=\"CodeMirror-measure\"><pre>x</pre></div><div class=\"CodeMirror-measure\"></div><div style=\"position: relative; z-index: 1;\"></div><div class=\"CodeMirror-code\" role=\"presentation\" style=\"\"><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">import</span> { <span class=\"cm-property\">Spin</span>, <span class=\"cm-property\">Modal</span> } <span class=\"cm-variable\">from</span> <span class=\"cm-string\">'rabbit-simple-ui'</span>;</span></pre></div><div class=\"\" style=\"position: relative;\"><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span cm-text=\"\">​</span></span></pre></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">const</span> <span class=\"cm-variable\">spin</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Spin</span>();</span></pre><div class=\"CodeMirror-activeline\" style=\"position: relative;\"><div class=\"CodeMirror-activeline-background CodeMirror-linebackground\"></div><div class=\"CodeMirror-gutter-background CodeMirror-activeline-gutter\" style=\"left: 0px; width: 0px;\"></div><pre class=\" CodeMirror-line \" role=\"presentation\"><span role=\"presentation\" style=\"padding-right: 0.1px;\"><span class=\"cm-keyword\">const</span> <span class=\"cm-variable\">modal</span> <span class=\"cm-operator\">=</span> <span class=\"cm-keyword\">new</span> <span class=\"cm-variable\">Modal</span>();</span></pre></div></div></div></div></div></div><div style=\"position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 90px;\"></div><div class=\"CodeMirror-gutters\" style=\"display: none; height: 90px;\"></div></div></div></pre>\n</template>"
  },
  {
    "path": "site/src/examples-code/docs/start/index.ts",
    "content": "import Code1 from './Code1.vue'\nimport Code2 from './Code2.vue'\nimport Code3 from './Code3.vue'\n\nexport { Code1, Code2, Code3 }\n"
  },
  {
    "path": "site/src/main.ts",
    "content": "import { createApp } from 'vue'\nimport Routers from './routers'\nimport Antd from './plugins/antd'\nimport App from '@/App.vue'\n\nconst app = createApp(App)\nconst usePlugins = (plugins: [...any]) => plugins.forEach((plugin) => app.use(plugin))\n\napp.use(Routers)\nusePlugins(Antd)\napp.mount('#app')\n"
  },
  {
    "path": "site/src/markdown.css",
    "content": ":root {\n    --bg-color: #ffffff;\n    --text-color: #333333;\n    --select-text-bg-color: #b5d6fc;\n    --select-text-font-color: auto;\n    --monospace: Consolas, Menlo, Courier, monospace;\n    --title-bar-height: 20px;\n}\n\n#write {\n    margin: 0px auto;\n    height: auto;\n    width: inherit;\n    word-break: normal;\n    overflow-wrap: break-word;\n    position: relative;\n    white-space: normal;\n    overflow-x: visible;\n    padding-top: 36px;\n}\n\n#write.first-line-indent p {\n    text-indent: 2em;\n}\n\n#write.first-line-indent li p,\n#write.first-line-indent p * {\n    text-indent: 0px;\n}\n\n#write.first-line-indent li {\n    margin-left: 2em;\n}\n\n.for-image #write {\n    padding-left: 8px;\n    padding-right: 8px;\n}\n\n@media screen and (max-width: 500px) {\n    #write {\n        padding-left: 20px;\n        padding-right: 20px;\n    }\n    .CodeMirror-sizer {\n        margin-left: 0px !important;\n    }\n    .CodeMirror-gutters {\n        display: none !important;\n    }\n}\n\n#write li>figure:last-child {\n    margin-bottom: 0.5rem;\n}\n\n#write ol,\n#write ul {\n    position: relative;\n}\n\n#write h1,\n#write h2,\n#write h3,\n#write h4,\n#write h5,\n#write h6,\n#write p,\n#write pre {\n    width: inherit;\n}\n\n#write h1,\n#write h2,\n#write h3,\n#write h4,\n#write h5,\n#write h6,\n#write p {\n    position: relative;\n}\n\n.md-math-block,\n.md-rawblock,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np {\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n}\n\n.hidden {\n    display: none;\n}\n\n.md-blockmeta {\n    color: rgb(204, 204, 204);\n    font-weight: 700;\n    font-style: italic;\n}\n\nsup.md-footnote {\n    padding: 2px 4px;\n    background-color: rgba(238, 238, 238, 0.7);\n    color: rgb(85, 85, 85);\n    border-radius: 4px;\n    cursor: pointer;\n}\n\nsup.md-footnote a,\nsup.md-footnote a:hover {\n    color: inherit;\n    text-transform: inherit;\n    text-decoration: inherit;\n}\n\n#write input[type='checkbox'] {\n    cursor: pointer;\n    width: inherit;\n    height: inherit;\n}\n\ntable.md-table td {\n    min-width: 32px;\n}\n\n.CodeMirror-gutters {\n    border-right: 0px;\n    background-color: inherit;\n}\n\n.CodeMirror-linenumber {\n    user-select: none;\n}\n\n.CodeMirror {\n    text-align: left;\n}\n\n.CodeMirror-placeholder {\n    opacity: 0.3;\n}\n\n.CodeMirror pre {\n    padding: 0px 4px;\n}\n\n.CodeMirror-lines {\n    padding: 0px;\n}\n\ndiv.hr:focus {\n    cursor: none;\n}\n\n#write pre {\n    white-space: pre-wrap;\n}\n\n#write.fences-no-line-wrapping pre {\n    white-space: pre;\n}\n\n#write pre.ty-contain-cm {\n    white-space: normal;\n}\n\n.CodeMirror-gutters {\n    margin-right: 4px;\n}\n\n.md-fences {\n    font-size: 0.9rem;\n    display: block;\n    break-inside: avoid;\n    text-align: left;\n    overflow: visible;\n    white-space: pre;\n    background: inherit;\n    position: relative !important;\n}\n\n.md-diagram-panel {\n    width: 100%;\n    margin-top: 10px;\n    text-align: center;\n    padding-top: 0px;\n    padding-bottom: 8px;\n    overflow-x: auto;\n}\n\n#write .md-fences.mock-cm {\n    white-space: pre-wrap;\n}\n\n.md-fences.md-fences-with-lineno {\n    padding-left: 0px;\n}\n\n#write.fences-no-line-wrapping .md-fences.mock-cm {\n    white-space: pre;\n    overflow-x: auto;\n}\n\n.md-fences.mock-cm.md-fences-with-lineno {\n    padding-left: 8px;\n}\n\n.CodeMirror-line,\ntwitterwidget {\n    break-inside: avoid;\n}\n\n.footnotes {\n    opacity: 0.8;\n    font-size: 0.9rem;\n    margin-top: 1em;\n    margin-bottom: 1em;\n}\n\n.footnotes+.footnotes {\n    margin-top: 0px;\n}\n\n.md-reset {\n    margin: 0px;\n    padding: 0px;\n    border: 0px;\n    outline: 0px;\n    vertical-align: top;\n    background: 0px 0px;\n    text-decoration: none;\n    text-shadow: none;\n    float: none;\n    position: static;\n    width: auto;\n    height: auto;\n    white-space: nowrap;\n    cursor: inherit;\n    -webkit-tap-highlight-color: transparent;\n    line-height: normal;\n    font-weight: 400;\n    text-align: left;\n    box-sizing: content-box;\n    direction: ltr;\n}\n\nblockquote {\n    margin: 1rem 0px;\n}\n\nli .mathjax-block,\nblockquote> :last-child {\n    margin-bottom: 0px;\n}\n\n.footnotes-area {\n    color: rgb(136, 136, 136);\n    margin-top: 0.714rem;\n    padding-bottom: 0.143rem;\n    white-space: normal;\n}\n\n#write .footnote-line {\n    white-space: pre-wrap;\n}\n\n.footnote-line {\n    margin-top: 0.714em;\n    font-size: 0.7em;\n}\n\npre.md-meta-block {\n    font-size: 0.8rem;\n    min-height: 0.8rem;\n    white-space: pre-wrap;\n    background: rgb(204, 204, 204);\n    display: block;\n    overflow-x: hidden;\n}\n\np>.md-image:only-child:not(.md-img-error) img,\np>img:only-child {\n    display: block;\n    margin: auto;\n}\n\n#write.first-line-indent p>.md-image:only-child:not(.md-img-error) img {\n    left: -2em;\n    position: relative;\n}\n\np>.md-image:only-child {\n    display: inline-block;\n    width: 100%;\n}\n\n#write .MathJax_Display {\n    margin: 0.8em 0px 0px;\n}\n\n.md-math-block {\n    width: 100%;\n}\n\n.md-math-block:not(:empty)::after {\n    display: none;\n}\n\n.MathJax_ref {\n    fill: currentcolor;\n}\n\n[contenteditable='true']:active,\n[contenteditable='true']:focus,\n[contenteditable='false']:active,\n[contenteditable='false']:focus {\n    outline: 0px;\n    box-shadow: none;\n}\n\n.md-task-list-item {\n    position: relative;\n    list-style-type: none;\n}\n\n.task-list-item.md-task-list-item {\n    padding-left: 0px;\n}\n\n.md-task-list-item>input {\n    position: absolute;\n    top: 0px;\n    left: 0px;\n    margin-left: -1.2em;\n    margin-top: calc(1em - 10px);\n    border: none;\n}\n\n.math {\n    font-size: 1rem;\n}\n\n.md-toc {\n    min-height: 3.58rem;\n    position: relative;\n    font-size: 0.9rem;\n    border-radius: 10px;\n}\n\n.md-toc-content {\n    position: relative;\n    margin-left: 0px;\n}\n\n.md-toc-content::after,\n.md-toc::after {\n    display: none;\n}\n\n.md-toc-item {\n    display: block;\n    color: rgb(65, 131, 196);\n}\n\n.md-toc-item a {\n    text-decoration: none;\n}\n\n.md-toc-inner:hover {\n    text-decoration: underline;\n}\n\n.md-toc-inner {\n    display: inline-block;\n    cursor: pointer;\n}\n\n.md-toc-h1 .md-toc-inner {\n    margin-left: 0px;\n    font-weight: 700;\n}\n\n.md-toc-h2 .md-toc-inner {\n    margin-left: 2em;\n}\n\n.md-toc-h3 .md-toc-inner {\n    margin-left: 4em;\n}\n\n.md-toc-h4 .md-toc-inner {\n    margin-left: 6em;\n}\n\n.md-toc-h5 .md-toc-inner {\n    margin-left: 8em;\n}\n\n.md-toc-h6 .md-toc-inner {\n    margin-left: 10em;\n}\n\n@media screen and (max-width: 48em) {\n    .md-toc-h3 .md-toc-inner {\n        margin-left: 3.5em;\n    }\n    .md-toc-h4 .md-toc-inner {\n        margin-left: 5em;\n    }\n    .md-toc-h5 .md-toc-inner {\n        margin-left: 6.5em;\n    }\n    .md-toc-h6 .md-toc-inner {\n        margin-left: 8em;\n    }\n}\n\na.md-toc-inner {\n    font-size: inherit;\n    font-style: inherit;\n    font-weight: inherit;\n    line-height: inherit;\n}\n\n.footnote-line a:not(.reversefootnote) {\n    color: inherit;\n}\n\n.md-attr {\n    display: none;\n}\n\n.md-fn-count::after {\n    content: '.';\n}\n\ncode,\npre,\nsamp,\ntt {\n    font-family: var(--monospace);\n}\n\nkbd {\n    margin: 0px 0.1em;\n    padding: 0.1em 0.6em;\n    font-size: 0.8em;\n    color: rgb(36, 39, 41);\n    background: rgb(255, 255, 255);\n    border: 1px solid rgb(173, 179, 185);\n    border-radius: 3px;\n    box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset;\n    white-space: nowrap;\n    vertical-align: middle;\n}\n\n.md-comment {\n    color: rgb(162, 127, 3);\n    opacity: 0.8;\n    font-family: var(--monospace);\n}\n\ncode {\n    text-align: left;\n    vertical-align: initial;\n}\n\na.md-print-anchor {\n    white-space: pre !important;\n    border-width: initial !important;\n    border-style: none !important;\n    border-color: initial !important;\n    display: inline-block !important;\n    position: absolute !important;\n    width: 1px !important;\n    right: 0px !important;\n    outline: 0px !important;\n    background: 0px 0px !important;\n    text-decoration: initial !important;\n    text-shadow: initial !important;\n}\n\n.md-inline-math .MathJax_SVG .noError {\n    display: none !important;\n}\n\n.html-for-mac .inline-math-svg .MathJax_SVG {\n    vertical-align: 0.2px;\n}\n\n.md-math-block .MathJax_SVG_Display {\n    text-align: center;\n    margin: 0px;\n    position: relative;\n    text-indent: 0px;\n    max-width: none;\n    max-height: none;\n    min-height: 0px;\n    min-width: 100%;\n    width: auto;\n    overflow-y: hidden;\n    display: block !important;\n}\n\n.MathJax_SVG_Display,\n.md-inline-math .MathJax_SVG_Display {\n    width: auto;\n    margin: inherit;\n    display: inline-block !important;\n}\n\n.MathJax_SVG .MJX-monospace {\n    font-family: var(--monospace);\n}\n\n.MathJax_SVG .MJX-sans-serif {\n    font-family: sans-serif;\n}\n\n.MathJax_SVG {\n    display: inline;\n    font-style: normal;\n    font-weight: 400;\n    line-height: normal;\n    zoom: 90%;\n    text-indent: 0px;\n    text-align: left;\n    text-transform: none;\n    letter-spacing: normal;\n    word-spacing: normal;\n    overflow-wrap: normal;\n    white-space: nowrap;\n    float: none;\n    direction: ltr;\n    max-width: none;\n    max-height: none;\n    min-width: 0px;\n    min-height: 0px;\n    border: 0px;\n    padding: 0px;\n    margin: 0px;\n}\n\n.MathJax_SVG * {\n    transition: none 0s ease 0s;\n}\n\n.MathJax_SVG_Display svg {\n    vertical-align: middle !important;\n    margin-bottom: 0px !important;\n    margin-top: 0px !important;\n}\n\n.md-diagram-panel>svg {\n    max-width: 100%;\n}\n\n[lang='flow'] svg,\n[lang='mermaid'] svg {\n    max-width: 100%;\n    height: auto;\n}\n\n[lang='mermaid'] .node text {\n    font-size: 1rem;\n}\n\n.highlight td,\n.highlight tr {\n    border: 0px;\n}\n\nmark {\n    background: rgb(255, 255, 0);\n    color: #525252;\n}\n\n.md-html-inline .md-plain,\n.md-html-inline strong,\nmark .md-inline-math,\nmark strong {\n    color: inherit;\n}\n\nmark .md-meta {\n    color: #525252;\n    opacity: 0.3 !important;\n}\n\n.md-diagram-panel .messageText {\n    stroke: none !important;\n}\n\n.md-diagram-panel .start-state {\n    fill: var(--node-fill);\n}\n\n.md-diagram-panel .edgeLabel rect {\n    opacity: 1 !important;\n}\n\n.md-require-zoom-fix foreignobject {\n    font-size: var(--mermaid-font-zoom);\n}\n\n.CodeMirror {\n    height: auto;\n}\n\n.CodeMirror.cm-s-inner {\n    background: inherit;\n}\n\n.CodeMirror-scroll {\n    overflow: auto hidden;\n    z-index: 3;\n}\n\n.CodeMirror-gutter-filler,\n.CodeMirror-scrollbar-filler {\n    background-color: rgb(255, 255, 255);\n}\n\n.CodeMirror-gutters {\n    border-right: 1px solid rgb(221, 221, 221);\n    background: inherit;\n    white-space: nowrap;\n}\n\n.CodeMirror-linenumber {\n    padding: 0px 3px 0px 5px;\n    text-align: right;\n    color: rgb(153, 153, 153);\n}\n\n.cm-s-inner .cm-keyword {\n    color: #708;\n}\n\n.cm-s-inner .cm-atom,\n.cm-s-inner.cm-atom {\n    color: #fc1e70;\n}\n\n.cm-s-inner .cm-number {\n    color: #fc1e70;\n}\n\n.cm-s-inner .cm-def {\n    color: rgb(0, 0, 255);\n}\n\n.cm-s-inner .cm-variable {\n    color: #e96900;\n}\n\n.cm-s-inner .cm-variable-2 {\n    color: rgb(0, 85, 170);\n}\n\n.cm-s-inner .cm-variable-3 {\n    color: rgb(0, 136, 85);\n}\n\n.cm-s-inner .cm-string {\n    color: #42b983;\n}\n\n.cm-s-inner .cm-property {\n    color: #9b1dea;\n}\n\n.cm-s-inner .cm-operator {\n    color: #55585e;\n}\n\n.cm-s-inner .cm-comment,\n.cm-s-inner.cm-comment {\n    color: #b3b3b3;\n}\n\n.cm-s-inner .cm-string-2 {\n    color: rgb(255, 85, 0);\n}\n\n.cm-s-inner .cm-meta {\n    color: rgb(85, 85, 85);\n}\n\n.cm-s-inner .cm-qualifier {\n    color: rgb(85, 85, 85);\n}\n\n.cm-s-inner .cm-builtin {\n    color: rgb(51, 0, 170);\n}\n\n.cm-s-inner .cm-bracket {\n    color: rgb(153, 153, 119);\n}\n\n.cm-s-inner .cm-tag {\n    color: #3e76f6;\n}\n\n.cm-s-inner .cm-attribute {\n    color: #e96900;\n}\n\n.cm-s-inner .cm-header,\n.cm-s-inner.cm-header {\n    color: rgb(0, 0, 255);\n}\n\n.cm-s-inner .cm-quote,\n.cm-s-inner.cm-quote {\n    color: rgb(0, 153, 0);\n}\n\n.cm-s-inner .cm-hr,\n.cm-s-inner.cm-hr {\n    color: rgb(153, 153, 153);\n}\n\n.cm-s-inner .cm-link,\n.cm-s-inner.cm-link {\n    color: rgb(0, 0, 204);\n}\n\n.cm-negative {\n    color: rgb(221, 68, 68);\n}\n\n.cm-positive {\n    color: rgb(34, 153, 34);\n}\n\n.cm-header,\n.cm-strong {\n    font-weight: 700;\n}\n\n.cm-del {\n    text-decoration: line-through;\n}\n\n.cm-em {\n    font-style: italic;\n}\n\n.cm-link {\n    text-decoration: underline;\n}\n\n.cm-error {\n    color: red;\n}\n\n.cm-invalidchar {\n    color: red;\n}\n\n.cm-constant {\n    color: rgb(38, 139, 210);\n}\n\n.cm-defined {\n    color: rgb(181, 137, 0);\n}\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {\n    color: rgb(0, 255, 0);\n}\n\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {\n    color: rgb(255, 34, 34);\n}\n\n.cm-s-inner .CodeMirror-activeline-background {\n    background: inherit;\n}\n\n.CodeMirror {\n    position: relative;\n    overflow: hidden;\n}\n\n.CodeMirror-scroll {\n    height: 100%;\n    outline: 0px;\n    position: relative;\n    box-sizing: content-box;\n    background: inherit;\n}\n\n.CodeMirror-sizer {\n    position: relative;\n}\n\n.CodeMirror-gutter-filler,\n.CodeMirror-hscrollbar,\n.CodeMirror-scrollbar-filler,\n.CodeMirror-vscrollbar {\n    position: absolute;\n    z-index: 6;\n    display: none;\n}\n\n.CodeMirror-vscrollbar {\n    right: 0px;\n    top: 0px;\n    overflow: hidden;\n}\n\n.CodeMirror-hscrollbar {\n    bottom: 0px;\n    left: 0px;\n    overflow: hidden;\n}\n\n.CodeMirror-scrollbar-filler {\n    right: 0px;\n    bottom: 0px;\n}\n\n.CodeMirror-gutter-filler {\n    left: 0px;\n    bottom: 0px;\n}\n\n.CodeMirror-gutters {\n    position: absolute;\n    left: 0px;\n    top: 0px;\n    padding-bottom: 30px;\n    z-index: 3;\n}\n\n.CodeMirror-gutter {\n    white-space: normal;\n    height: 100%;\n    box-sizing: content-box;\n    padding-bottom: 30px;\n    margin-bottom: -32px;\n    display: inline-block;\n}\n\n.CodeMirror-gutter-wrapper {\n    position: absolute;\n    z-index: 4;\n    background: 0px 0px !important;\n    border: none !important;\n}\n\n.CodeMirror-gutter-background {\n    position: absolute;\n    top: 0px;\n    bottom: 0px;\n    z-index: 4;\n}\n\n.CodeMirror-gutter-elt {\n    position: absolute;\n    cursor: default;\n    z-index: 4;\n}\n\n.CodeMirror-lines {\n    cursor: text;\n}\n\n.CodeMirror pre {\n    border-radius: 0px;\n    border-width: 0px;\n    background: 0px 0px;\n    font-family: inherit;\n    font-size: inherit;\n    margin: 0px;\n    white-space: pre;\n    overflow-wrap: normal;\n    color: inherit;\n    z-index: 2;\n    position: relative;\n    overflow: visible;\n}\n\n.CodeMirror-wrap pre {\n    overflow-wrap: break-word;\n    white-space: pre-wrap;\n    word-break: normal;\n}\n\n.CodeMirror-code pre {\n    border-right: 30px solid transparent;\n    width: fit-content;\n}\n\n.CodeMirror-wrap .CodeMirror-code pre {\n    border-right: none;\n    width: auto;\n}\n\n.CodeMirror-linebackground {\n    position: absolute;\n    left: 0px;\n    right: 0px;\n    top: 0px;\n    bottom: 0px;\n    z-index: 0;\n}\n\n.CodeMirror-linewidget {\n    position: relative;\n    z-index: 2;\n    overflow: auto;\n}\n\n.CodeMirror-wrap .CodeMirror-scroll {\n    overflow-x: hidden;\n}\n\n.CodeMirror-measure {\n    position: absolute;\n    width: 100%;\n    height: 0px;\n    overflow: hidden;\n    visibility: hidden;\n}\n\n.CodeMirror-measure pre {\n    position: static;\n}\n\n.CodeMirror div.CodeMirror-cursor {\n    position: absolute;\n    visibility: hidden;\n    border-right: none;\n    width: 0px;\n}\n\n.CodeMirror div.CodeMirror-cursor {\n    visibility: hidden;\n}\n\n.CodeMirror-focused div.CodeMirror-cursor {\n    visibility: inherit;\n}\n\n.cm-searching {\n    background: rgba(255, 255, 0, 0.4);\n}\n\n@media print {\n    .CodeMirror div.CodeMirror-cursor {\n        visibility: hidden;\n    }\n}\n\n:root {\n    --side-bar-bg-color: #fafafa;\n    --control-text-color: #777;\n}\n\n@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);\n\n/* open-sans-regular - latin-ext_latin */\n\n\n/* open-sans-italic - latin-ext_latin */\n\n\n/* open-sans-700 - latin-ext_latin */\n\n\n/* open-sans-700italic - latin-ext_latin */\n\n#write {\n    max-width: 860px;\n    margin: 0 auto;\n    padding: 30px;\n    padding-bottom: 100px;\n}\n\n@media only screen and (min-width: 1400px) {\n    #write {\n        max-width: 1024px;\n    }\n}\n\n@media only screen and (min-width: 1800px) {\n    #write {\n        max-width: 1200px;\n    }\n}\n\n#write>ul:first-child,\n#write>ol:first-child {\n    margin-top: 30px;\n}\n\nblockquote {\n    border-left: 4px solid #dfe2e5;\n    padding: 0 15px;\n    color: #777777;\n}\n\nblockquote blockquote {\n    padding-right: 0;\n}\n\n.CodeMirror-lines {\n    padding-left: 4px;\n}\n\n.code-tooltip {\n    box-shadow: 0 1px 1px 0 rgba(0, 28, 36, 0.3);\n    border-top: 1px solid #eef2f2;\n}\n\n.md-fences,\ncode,\ntt {\n    background-color: #f5f5f5;\n    padding: 0;\n    padding: 2px 4px 0px 4px;\n    font-size: 0.95em;\n}\n\ncode {\n    background-color: #f3f4f4;\n    padding: 0 2px 0 2px;\n}\n\n.md-fences {\n    font-size: 14px;\n    overflow: auto;\n    margin: 16px 0;\n    padding: 12px;\n}\n\n.md-task-list-item>input {\n    margin-left: -1.3em;\n}\n\nh4 {\n    font-size: 1.25em;\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n    font-weight: bold;\n    line-height: 1.4;\n}\n\nfigure {\n    overflow-x: auto;\n    margin: 1.2em 0px;\n    max-width: calc(100% + 16px);\n    padding: 0px;\n}\n\nfigure>table {\n    margin: 0px;\n}\n\ntr {\n    break-inside: avoid;\n    break-after: auto;\n}\n\nthead {\n    display: table-header-group;\n}\n\ntable {\n    border-collapse: collapse;\n    border-spacing: 0px;\n    width: 100%;\n    overflow: auto;\n    break-inside: auto;\n    text-align: left;\n}\n\ntable.md-table td {\n    min-width: 32px;\n}\n\ntable tr th {\n    border-bottom: 0px;\n}\n\ntable {\n    margin: 0.8em 0;\n    padding: 0;\n    word-break: initial;\n}\n\ntable tr {\n    border-top: 1px solid #dfe2e5;\n    margin: 0;\n    padding: 0;\n}\n\ntable tr:nth-child(2n),\nthead {\n    background-color: #f8f8f8;\n}\n\ntable th {\n    font-weight: bold;\n    border: 1px solid #dfe2e5;\n    border-bottom: 0;\n    margin: 0;\n    padding: 6px 13px;\n}\n\ntable td {\n    border: 1px solid #dfe2e5;\n    margin: 0;\n    padding: 6px 13px;\n}\n\ntable th:first-child,\ntable td:first-child {\n    margin-top: 0;\n}\n\ntable th:last-child,\ntable td:last-child {\n    margin-bottom: 0;\n}\n\n@media print {\n    pre {\n        word-wrap: break-word;\n    }\n}\n\n.md-fences {\n    background-color: #f8f8f8;\n}\n\n#write pre.md-meta-block {\n    padding: 1rem;\n    font-size: 85%;\n    line-height: 1.45;\n    background-color: #f7f7f7;\n    border: 0;\n    border-radius: 3px;\n    color: #777777;\n    margin-top: 0 !important;\n}\n\n.mathjax-block>.code-tooltip {\n    bottom: 0.375rem;\n}\n\n.md-mathjax-midline {\n    background: #fafafa;\n}\n\n#write>h3.md-focus:before {\n    left: -1.5625rem;\n    top: 0.375rem;\n}\n\n#write>h4.md-focus:before {\n    left: -1.5625rem;\n    top: 0.285714286rem;\n}\n\n#write>h5.md-focus:before {\n    left: -1.5625rem;\n    top: 0.285714286rem;\n}\n\n#write>h6.md-focus:before {\n    left: -1.5625rem;\n    top: 0.285714286rem;\n}\n\n.md-image>.md-meta {\n    /*border: 1px solid #ddd;*/\n    border-radius: 3px;\n    padding: 2px 0px 0px 4px;\n    font-size: 0.9em;\n    color: inherit;\n}\n\n.md-tag {\n    color: #a7a7a7;\n    opacity: 1;\n}\n\n.md-toc {\n    margin-top: 20px;\n    padding-bottom: 20px;\n}\n\n.sidebar-tabs {\n    border-bottom: none;\n}\n\n#typora-quick-open {\n    border: 1px solid #ddd;\n    background-color: #f8f8f8;\n}\n\n#typora-quick-open-item {\n    background-color: #fafafa;\n    border-color: #fefefe #e5e5e5 #e5e5e5 #eee;\n    border-style: solid;\n    border-width: 1px;\n}\n\n\n/** focus mode */\n\n.on-focus-mode blockquote {\n    border-left-color: rgba(85, 85, 85, 0.12);\n}\n\n.context-menu,\n.megamenu-content {\n    font-family: 'Segoe UI', 'Arial', sans-serif;\n}\n\n.file-node-content:hover .file-node-icon,\n.file-node-content:hover .file-node-open-state {\n    visibility: visible;\n}\n\n.mac-seamless-mode #typora-sidebar {\n    background-color: #fafafa;\n    background-color: var(--side-bar-bg-color);\n}\n\n.md-lang {\n    color: #b4654d;\n}\n\n.html-for-mac .context-menu {\n    --item-hover-bg-color: #e6f0fe;\n}\n\n#md-notification .btn {\n    border: 0;\n}\n\n.dropdown-menu .divider {\n    border-color: #e5e5e5;\n}\n\n.ty-preferences .window-content {\n    background-color: #fafafa;\n}\n\n.ty-preferences .nav-group-item.active {\n    color: white;\n    background: #999;\n}\n\n:root {\n    --mermaid-font-zoom: 1.25em;\n}"
  },
  {
    "path": "site/src/pages/app/Index/Index.vue",
    "content": "<template>\n  <div class=\"app-container\">\n    <AppHeader />\n    <a-row class=\"app-main-wrapper\">\n      <AppSider />\n      <AppContent />\n    </a-row>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport AppHeader from './header/Header.vue'\nimport AppSider from './sider/Sider.vue'\nimport AppContent from './content/Content.vue'\n</script>\n\n<style lang=\"less\" scope>\n.app-main-wrapper {\n  position: relative;\n  top: 75px;\n  background: #fff;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/Index/content/Content.vue",
    "content": "<template>\n  <a-col :xs=\"24\" :sm=\"24\" :md=\"18\" :lg=\"18\" :xl=\"19\" :xxl=\"20\" id=\"app-content\">\n    <section class=\"main-container\">\n      <router-view />\n    </section>\n  </a-col>\n</template>\n\n<style lang=\"less\" scope>\n#app-content {\n  .main-container {\n    position: relative;\n    min-height: 500px;\n    padding: 20px 170px 32px 64px;\n    background: #fff;\n\n    @media only screen and (max-width: 992px) {\n      margin-right: 0;\n      margin-left: 0;\n      padding-right: 16px;\n      padding-left: 16px;\n    }\n\n    .markdown {\n      color: #55585e;\n      font-size: 14px;\n      line-height: 2;\n\n      h1:not(.rab-jumbotron-title) {\n        margin-top: 8px;\n        margin-bottom: 20px;\n        font-weight: 500;\n        font-size: 30px;\n        line-height: 38px;\n        color: #2c3e50;\n      }\n\n      h2,\n      h3,\n      h4,\n      h5,\n      h6 {\n        color: #2c3e50;\n        clear: both;\n        margin: 1.6em 0 0.6em;\n        font-weight: 500;\n      }\n\n      h2 {\n        font-size: 24px;\n        line-height: 32px;\n      }\n\n      h3 {\n        font-size: 18px;\n      }\n\n      p {\n        margin: 1em 0;\n      }\n\n      ul > li {\n        margin-left: 20px;\n        padding-left: 4px;\n        list-style-type: circle;\n      }\n\n      code {\n        margin: 0 1px;\n        padding: 0.2em 0.4em;\n        font-size: 0.9em;\n        background-color: #fff5f5;\n        color: #fa795e;\n        border: 1px solid #fff5f5;\n        border-radius: 3px;\n      }\n\n      blockquote {\n        margin: 1em 0;\n        padding-left: 0.8em;\n        font-size: 100%;\n      }\n    }\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/Index/header/Header.vue",
    "content": "<template>\n  <header class=\"app-header\">\n    <NavBarDropdown />\n    <a-row>\n      <a-col :xs=\"24\" :sm=\"24\" :md=\"6\" :lg=\"6\" :xl=\"4\" :xxl=\"4\">\n        <NavLogo />\n      </a-col>\n      <a-col :xs=\"0\" :sm=\"0\" :md=\"18\" :lg=\"18\" :xl=\"20\" :xxl=\"20\" class=\"menu-row\">\n        <div id=\"search-box\">\n          <SearchOutlined />\n          <span class=\"algolia-autocomplete\">\n            <SearchInput />\n          </span>\n        </div>\n        <NavBar />\n      </a-col>\n    </a-row>\n  </header>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watchEffect } from 'vue'\nimport { BarsOutlined, SearchOutlined } from '@ant-design/icons-vue'\nimport { NavLogo, SearchInput } from '../../../../components'\nimport NavBar from './NavBar.vue'\nimport NavBarDropdown from './NavBarDropdown.vue'\n</script>\n\n<style lang=\"less\" scope>\n.app {\n  &-header {\n    position: fixed;\n    width: 100%;\n    top: 0;\n    right: 0;\n    z-index: 1000;\n    box-shadow: 0 2px 8px #f0f1f2;\n    background-color: #fff;\n\n    .ant-row {\n      flex-flow: nowrap;\n    }\n\n    .menu-row {\n      display: flex;\n      align-items: center;\n      margin: 0;\n\n      > * {\n        flex: none;\n        margin: 0 16px 0 0;\n      }\n    }\n\n    #search-box {\n      position: relative;\n      display: flex;\n      flex: auto !important;\n      align-items: center;\n      height: 22px;\n      margin: 0 auto 0 0 !important;\n      padding-left: 16px;\n      line-height: 22px;\n      white-space: nowrap;\n      border-left: 1px solid #f0f0f0;\n      transition: width 0.5s;\n\n      > * {\n        flex: auto;\n      }\n\n      .anticon {\n        position: absolute;\n        top: 50%;\n        z-index: 1;\n        flex: none;\n        color: #ced4d9;\n        transform: translateY(-50%);\n        pointer-events: none;\n      }\n\n      .algolia-autocomplete {\n        width: 100%;\n        max-width: 200px;\n        padding-left: 10px;\n      }\n    }\n\n    .more-btn:hover {\n      color: inherit;\n      border-color: #d9d9d9;\n    }\n\n    .github-link {\n      margin-right: 40px;\n\n      &:hover {\n        color: inherit;\n      }\n\n      a {\n        color: inherit;\n        &:hover {\n          color: inherit;\n        }\n      }\n\n      .gh-btn {\n        height: auto;\n        padding: 1px 4px;\n        background: 0 0;\n        border: 0;\n        vertical-align: bottom;\n\n        svg {\n          width: 18px;\n          height: 18px;\n          margin: 0;\n        }\n      }\n    }\n  }\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/Index/header/NavBar.vue",
    "content": "<template>\n  <!-- 文档 & 组件 -->\n  <NavRouterLink />\n  <!-- 更多 -->\n  <a-dropdown>\n    <template #overlay>\n      <NavMore />\n    </template>\n    <a-button size=\"small\" class=\"more-btn\">\n      更多\n      <DownOutlined />\n    </a-button>\n  </a-dropdown>\n  <!-- GitHub 按钮 -->\n  <span class=\"github-link\">\n    <a href=\"https://github.com/niu-grandpa/rabbit-ui\" target=\"_blank\" rel=\"noopener noreferrer\">\n      <GithubOutlined class=\"gh-btn\" /> GitHub\n    </a>\n  </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { DownOutlined, GithubOutlined } from '@ant-design/icons-vue'\nimport NavRouterLink from './NavRouterLink.vue'\nimport NavMore from './NavMore.vue'\n</script>\n\n\n"
  },
  {
    "path": "site/src/pages/app/Index/header/NavBarDropdown.vue",
    "content": "<template>\n  <a-popover overlayClassName=\"popover-menu\" placement=\"bottomRight\">\n    <template #content>\n      <NavRouterLink direction=\"inline\" />\n      <a-menu>\n        <a-menu-item style=\"padding-left: 24px\">\n          <a href=\"https://github.com/niu-grandpa/rabbit-ui\" target=\"_blank\">GitHub</a>\n        </a-menu-item>\n      </a-menu>\n      <NavMore placement=\"left\" />\n    </template>\n    <BarsOutlined id=\"nav-phone-icon\" />\n  </a-popover>\n</template>\n\n<script lang=\"ts\" setup>\nimport { BarsOutlined } from '@ant-design/icons-vue'\nimport NavRouterLink from './NavRouterLink.vue'\nimport NavMore from './NavMore.vue'\n</script>\n\n<style lang=\"less\">\n.popover-menu {\n  width: 300px;\n\n  .ant-popover-inner-content {\n    padding: 0;\n\n    #nav {\n      .ant-menu-item,\n      .ant-menu-submenu {\n        text-align: left;\n      }\n    }\n  }\n}\n\n#nav-phone-icon {\n  position: absolute;\n  top: 25px;\n  right: 30px;\n  z-index: 1;\n  display: none;\n  width: 16px;\n  height: 22px;\n  cursor: pointer;\n\n  @media only screen and (max-width: 767.99px) {\n    display: block;\n  }\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/Index/header/NavMore.vue",
    "content": "<template>\n  <a-menu>\n    <a-menu-item-group title=\"赞助\">\n      <a-menu-item key=\"sponsor-wechat\">\n        <a-popover placement=\"left\">\n          <template #content>\n            <img width=\"160\" height=\"160\" src=\"/wechat-money.png\" alt=\"wechat-money\" />\n          </template>\n          <a>微信</a>\n        </a-popover>\n      </a-menu-item>\n      <a-menu-item key=\"sponsor-zfb\">\n        <a-popover placement=\"left\">\n          <template #content>\n            <img width=\"160\" height=\"160\" src=\"/zfb-money.jpg\" alt=\"zfb-money\" />\n          </template>\n          <a>支付宝</a>\n        </a-popover>\n      </a-menu-item>\n    </a-menu-item-group>\n    <a-menu-item-group title=\"交流\">\n      <a-menu-item key=\"qq\">\n        <a-popover placement=\"left\">\n          <template #content>\n            <img width=\"160\" height=\"160\" src=\"/src/assets/qq.png\" alt=\"qq\" />\n          </template>\n          <a>QQ (724617944)</a>\n        </a-popover>\n      </a-menu-item>\n    </a-menu-item-group>\n  </a-menu>\n</template>\n"
  },
  {
    "path": "site/src/pages/app/Index/header/NavRouterLink.vue",
    "content": "<template>\n  <a-menu :selectedKeys=\"current\" :mode=\"props.direction\" id=\"nav\">\n    <a-menu-item key=\"docs\">\n      <router-link to=\"/docs/introduce\">文档</router-link>\n    </a-menu-item>\n    <a-menu-item key=\"components\">\n      <router-link to=\"/components/alert\">组件</router-link>\n    </a-menu-item>\n  </a-menu>\n</template>\n\n<script lang=\"ts\" setup>\nimport { defineProps, ref, watchEffect } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { DownOutlined, GithubOutlined } from '@ant-design/icons-vue'\n\nconst route = useRoute()\nconst props = defineProps({\n  direction: {\n    type: String,\n    default: 'horizontal'\n  }\n})\nconst current = ref<string[]>([route.path])\n\nwatchEffect(() => {\n  if (route.path.includes('/docs')) {\n    current.value!.splice(0, 1, 'docs')\n  } else if (route.path.includes('/components')) {\n    current.value!.splice(0, 1, 'components')\n  }\n})\n</script>\n\n<style lang=\"less\">\n#nav {\n  height: 100%;\n  font-size: 14px;\n  border: 0;\n\n  &.ant-menu-horizontal {\n    border-bottom: none;\n\n    > .ant-menu {\n      &-item {\n        min-width: 40px;\n        height: 64px;\n        margin-right: 12px;\n        margin-left: 12px;\n        line-height: 60px;\n        border-top: 2px solid transparent;\n        padding: 0;\n\n        &:hover {\n          border-top: 2px solid #1890ff;\n          border-bottom: 2px solid transparent;\n        }\n      }\n\n      &-item {\n        &-selected {\n          border-top: 2px solid #1890ff;\n          border-bottom: 2px solid transparent;\n        }\n      }\n    }\n  }\n\n  > .ant-menu {\n    &-item,\n    &-submenu {\n      text-align: center;\n    }\n  }\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/Index/sider/Sider.vue",
    "content": "<template>\n  <a-col :xs=\"24\" :sm=\"24\" :md=\"6\" :lg=\"6\" :xl=\"5\" :xxl=\"4\">\n    <div id=\"app-sider\">\n      <section class=\"app-sider-menu-inner\">\n        <SiderMenu />\n        <a-drawer class=\"drawer-left\" placement=\"left\" :closable=\"false\" :visible=\"visible\">\n          <SiderMenu />\n          <template #handle>\n            <div class=\"drawer-handle\" @click=\"handleVisible\">\n              <MenuOutlined v-if=\"!visible\" />\n              <CloseOutlined v-else />\n            </div>\n          </template>\n        </a-drawer>\n      </section>\n    </div>\n  </a-col>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { MenuOutlined, CloseOutlined } from '@ant-design/icons-vue'\nimport SiderMenu from './SiderMenu.vue'\n\nconst visible = ref<boolean>(false)\nconst handleVisible = () => (visible.value ? (visible.value = false) : (visible.value = true))\n</script>\n\n<style lang=\"less\" scope>\n#app-sider {\n  width: 20.8%;\n  position: fixed;\n  top: 75px;\n  bottom: 0;\n  left: 0;\n  border-right: 1px solid #e8eaec;\n  overflow-y: auto;\n\n  .app-sider-menu-inner {\n    height: 100%;\n    max-height: 100vh;\n\n    .ant-menu-inline {\n      @media only screen and (max-width: 767.99px) {\n        display: none;\n      }\n\n      border-right-color: transparent;\n      height: 100%;\n\n      > .ant-menu-item {\n        padding-left: 60px !important;\n\n        a {\n          color: #333;\n\n          &:hover {\n            color: #1890ff;\n          }\n        }\n\n        &-selected {\n          a {\n            color: #1890ff;\n          }\n        }\n      }\n    }\n  }\n}\n\n.drawer-left {\n  display: none;\n\n  @media only screen and (max-width: 767.99px) {\n    display: inherit;\n\n    .ant-menu-inline {\n      .ant-menu-item::after {\n        right: auto;\n        left: 0;\n      }\n    }\n  }\n\n  .ant-drawer-body {\n    padding: 0;\n  }\n\n  .drawer-handle {\n    right: -40px;\n    border-radius: 0 4px 4px 0;\n    box-shadow: 2px 0 8px rgb(0 0 0 / 15%);\n  }\n}\n\n.drawer-handle {\n  position: absolute;\n  top: 72px;\n  width: 41px;\n  height: 40px;\n  cursor: pointer;\n  z-index: 0;\n  text-align: center;\n  line-height: 40px;\n  font-size: 16px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  background: #fff;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/Index/sider/SiderMenu.vue",
    "content": "<template>\n  <a-menu :selectedKeys=\"current\" mode=\"inline\">\n    <!-- 文档选项列表 -->\n    <template v-if=\"show\">\n      <a-menu-item v-show=\"show\" v-for=\"item in DOCSLIST\" :key=\"item.path\">\n        <router-link :to=\"item.path\">{{ item.text }}</router-link>\n      </a-menu-item>\n    </template>\n    <!-- 组件选项列表 -->\n    <template v-else>\n      <a-menu-item v-show=\"!show\" v-for=\"item in COMPONENTSLIST\" :key=\"item.path\">\n        <router-link :to=\"item.path\">{{ item.text }}</router-link>\n      </a-menu-item>\n    </template>\n  </a-menu>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watchEffect } from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport { DOCSLIST, COMPONENTSLIST } from \"../../../../router-link-list\";\n\nconst route = useRoute();\nconst show = ref<boolean>(false);\nconst current = ref<string[]>([route.path]);\n\nconst changeOptionList = () => {\n  const { path } = route;\n  if (path.includes(\"/docs/\")) {\n    show.value = true;\n  } else if (path.includes(\"/components/\")) {\n    show.value = false;\n  }\n};\n\nconst changeActiveLink = () => {\n  const curArr = current.value!;\n  curArr.splice(0, 1, route.path);\n};\n\nwatchEffect(() => {\n  changeActiveLink();\n  changeOptionList();\n});\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/Affix.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Affix\" title=\"固钉\" desc=\"将页面元素钉在可视范围。\">\n      <li>\n        当内容区域比较长，需要滚动页面时，这部分内容对应的操作或者导航需要在滚动范围内始终展现。常用于侧边菜单和按钮组合。\n      </li>\n      <li>页面可视范围过小时，慎用此功能以免遮挡页面内容。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-affix>\n          <span class=\"demo-affix\">固定在最顶部</span>\n        </r-affix>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>简单使用，当元素不可见时，直接固定在最顶端。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-affix offset-top=\"50\">\n          <span class=\"demo-affix\">固定在顶部 50px 的位置</span>\n        </r-affix>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>当滚动到一定距离时再固定。</template>\n      <template #code><Offset /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-affix offset-bottom=\"20\">\n          <span class=\"demo-affix\">固定在底部 20px 的位置</span>\n        </r-affix>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>在屏幕下方固定，可以通过缩小浏览器窗口高度来查看效果。</p>\n        <p>\n          注意，<code>offset-top</code>和<code>offset-bottom</code>只可以设置一个，如果都设置，会使用<code>offset-top</code>。\n        </p>\n      </template>\n      <template #code><FixedBottom /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-affix offset-top=\"100\" id=\"test\">\n          <span class=\"demo-affix\">固定在顶部 100px 的位置</span>\n        </r-affix>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>当固定状态发生改变时，会触发事件。</template>\n      <template #code><StatusChange /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Affix from \"../../../../../src/components/affix\";\nimport Message from \"../../../../../src/components/message\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Offset,\n  FixedBottom,\n  StatusChange,\n  APITable,\n} from \"../../../examples-code/components/affix\";\n\nonMounted(() => {\n  const affix = new Affix();\n\n  affix.config(\"#test\").events({\n    onChange: (affixed) => {\n      Message.info(`当前状态：${affixed}`);\n    },\n  });\n});\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"偏移\",\n  \"固定在底部\",\n  \"固定状态改变时的回调\",\n  \"API\",\n];\n</script>\n\n<style scope>\n.demo-affix {\n  display: inline-block;\n  color: #fff;\n  padding: 10px 30px;\n  text-align: center;\n  background: #1890ff;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Alert.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Alert\" title=\"警告提示\" desc=\"警告提示，展现需要关注的信息。\">\n      <li>当某个页面需要向用户显示警告的信息时。</li>\n      <li>非浮层的静态展现形式，始终展现，不会自动消失，用户可以点击关闭。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-alert title=\"信息提示的文案\" />\n        <r-alert type=\"success\" title=\"成功提示的文案\" />\n        <r-alert type=\"warning\" title=\"警告提示的文案\" />\n        <r-alert type=\"error\" title=\"错误提示的文案\" />\n      </template>\n      <template #header>\n        <span id=\"基础用法\">基础用法</span>\n      </template>\n      <template #desc>\n        <p>\n          基本使用方法，有四种样式可以选择<code>info</code>、<code>success</code>、<code>warning</code>、<code>error</code>。\n        </p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-alert title=\"信息提示的文案\">\n          <p>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\">\n          <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\">\n          <p>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\">\n          <p>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。</p>\n        </r-alert>\n      </template>\n      <template #header>\n        <span id=\"含描述信息\">含描述信息</span>\n      </template>\n      <template #desc>\n        <p>含有辅助性文字介绍的警告提示</p>\n      </template>\n      <template #code><WithDesc /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-alert title=\"信息提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\" show-icon=\"true\"></r-alert>\n        <r-alert title=\"信息提示的文案\" show-icon=\"true\">\n          <p>信息提示的内容,信息提示的内容，信息提示的,信息提示的内容,信息提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\" show-icon=\"true\">\n          <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"warning\" title=\"警告提示的文案\" show-icon=\"true\">\n          <p>警告提示的内容,警告提示的内容，警告提示的,警告提示的内容,警告提示的内容。</p>\n        </r-alert>\n        <r-alert type=\"error\" title=\"错误提示的文案\" show-icon=\"true\">\n          <p>错误提示的内容,错误提示的内容，错误提示的,错误提示的内容,错误提示的内容。</p>\n        </r-alert>\n        <r-alert\n          title=\"自定义图标\"\n          show-icon=\"true\"\n          icon=\"<i class='rab-icon rab-icon-ios-planet'>\"\n        >\n          <p>自定义图标的内容，自定义图标的内容，自定义图标的内容。</p>\n        </r-alert>\n      </template>\n      <template #header>\n        <span id=\"图标\">图标</span>\n      </template>\n      <template #desc>\n        <p>\n          设置 <code>show-icon=\"true\"</code> 并会根据 type 属性自动添加不同图标，或者设置属性\n          <code>icon</code> 自定义图标。\n        </p>\n      </template>\n      <template #code><WithIcon /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-alert title=\"信息提示的文案\" closable=\"true\" id=\"test\"></r-alert>\n        <r-alert type=\"success\" title=\"成功提示的文案\" closable=\"true\">\n          <p>成功提示的内容,成功提示的内容，成功提示的,成功提示的内容,成功提示的内容。</p>\n        </r-alert>\n        <r-alert\n          type=\"warning\"\n          title=\"警告提示的文案\"\n          closable=\"true\"\n          close-text=\"知道了\"\n        ></r-alert>\n      </template>\n      <template #header>\n        <span id=\"可关闭\">可关闭</span>\n      </template>\n      <template #desc>\n        <p>显示关闭按钮，点击可关闭提示，也可以自定义关闭内容</p>\n      </template>\n      <template #code><WithClose /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-alert banner=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n        <r-alert banner=\"true\" closable=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n        <r-alert banner=\"true\" show-icon=\"true\" type=\"warning\" title=\"注意:通知内容……\"></r-alert>\n      </template>\n      <template #header>\n        <span id=\"顶部公告\">顶部公告</span>\n      </template>\n      <template #desc>\n        <p>设置属性 <code>banner=\"true\"</code> 可以应用顶部公告的样式。</p>\n      </template>\n      <template #code><WithBanner /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Alert from '../../../../../src/components/alert'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  WithDesc,\n  WithIcon,\n  WithClose,\n  WithBanner,\n  APITable\n} from '../../../examples-code/components/alert'\n\nonMounted(() => {\n  const alert = new Alert()\n  alert.config('#test').events({\n    onClose: () => {\n      console.log('关闭了警告提示!')\n    }\n  })\n})\n\nconst anchors: string[] = ['基础用法', '含描述信息', '图标', '可关闭', '顶部公告', 'API']\n</script>\n\n<style lang=\"less\" scope>\n.rab-alert-desc {\n  p {\n    margin: 0 !important;\n  }\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Avatar.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Avatar\"\n      title=\"头像\"\n      desc=\"用来代表用户或事物，支持图片、图标或字符展示。\"\n      :showWhenToUse=\"false\"\n    />\n    <CodeBox>\n      <template #case>\n        <r-avatar icon=\"md-person\" size=\"64\" />\n        <r-avatar icon=\"md-person\" size=\"large\" />\n        <r-avatar icon=\"md-person\" />\n        <r-avatar icon=\"md-person\" size=\"small\" />\n        <br />\n        <r-avatar icon=\"md-person\" shape=\"square\" size=\"64\" />\n        <r-avatar icon=\"md-person\" shape=\"square\" size=\"large\" />\n        <r-avatar icon=\"md-person\" shape=\"square\" />\n        <r-avatar icon=\"md-person\" shape=\"square\" size=\"small\" />\n      </template>\n      <template #header>\n        <span id=\"基础用法\">基础用法</span>\n      </template>\n      <template #desc>\n        <p>头像有三种尺寸，两种形状可选。</p>\n        <p>属性 <code>size</code> 可以设置为数值，但不能带任何单位只能是数字</p>\n      </template>\n      <template #code>\n        <Basic />\n      </template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-avatar icon=\"md-person\"></r-avatar>\n        <r-avatar>U</r-avatar>\n        <r-avatar>USER</r-avatar>\n        <r-avatar style=\"color: #f56a00; background-color: #fde3cf\">U</r-avatar>\n        <r-avatar src=\"https://avatars3.githubusercontent.com/u/62378518\" />\n        <r-avatar style=\"background-color: #87d068\" icon=\"md-person\" />\n      </template>\n      <template #header>\n        <span id=\"类型\">类型</span>\n      </template>\n      <template #desc>\n        <p>支持三种类型：图片、icon 以及字符，其中 icon 和字符型可以自定义图标颜色及背景色。</p>\n      </template>\n      <template #code>\n        <Type />\n      </template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-avatar style=\"background-color: #f56a00\">U</r-avatar>\n        <r-avatar style=\"background-color: #7265e6\">Lucy</r-avatar>\n        <r-avatar style=\"background-color: #ffbf00\">Tom</r-avatar>\n        <r-avatar style=\"background-color: #00a2ae\">Edward</r-avatar>\n      </template>\n      <template #header>\n        <span id=\"自动调整字符大小\">自动调整字符大小</span>\n      </template>\n      <template #desc>\n        <p>对于字符型的头像，当字符串较长时，字体大小可以根据头像宽度自动调整。</p>\n      </template>\n      <template #code>\n        <AutoFontSize />\n      </template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Avatar from '../../../../../src/components/avatar'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, Type, AutoFontSize, APITable } from '../../../examples-code/components/avatar'\n\nonMounted(() => new Avatar())\n\nconst anchors: string[] = ['基础用法', '类型', '自动调整字符大小', 'API']\n</script>\n\n<style lang=\"less\" scoped>\nr-avatar {\n  margin-top: 16px;\n  margin-right: 16px;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/BackTop.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"BackTop\" title=\"返回顶部\" desc=\"返回页面顶部的操作按钮。\">\n      <li>当页面内容区域比较长时；</li>\n      <li>当用户需要频繁返回顶部查看相关内容时。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>向下滚动页面，灰色的按钮为默认效果。</template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>默认位置距离页面右部和底部 30px，滚动至距顶端 400px 时显示。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case> 向下滚动页面，蓝色的按钮为自定义效果。 </template>\n      <template #header><span id=\"自定义样式\">自定义样式</span></template>\n      <template #desc>自定义了位置在页面底部 200px,滚动至距顶端 200px 时显示。</template>\n      <template #code>\n        <CustomStyle />\n      </template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n    <r-back-top height=\"100\" bottom=\"200\">\n      <div class=\"top\">返回顶端</div>\n    </r-back-top>\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport BackTop from '../../../../../src/components/back-top'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, CustomStyle, APITable } from '../../../examples-code/components/back-top'\n\nonMounted(() => new BackTop())\n\nconst anchors: string[] = ['基础用法', '自定义样式', 'API']\n</script>\n\n<style lang=\"less\" scoped>\n.top {\n  padding: 8px;\n  background: rgba(0, 153, 229, 0.7);\n  color: #fff;\n  text-align: center;\n  border-radius: 2px;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Badge.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Badge\" title=\"徽标数\" desc=\"图标右上角的圆形徽标数字。\">\n      <li>\n        一般出现在通知图标或头像的右上角，用于显示需要处理的消息条数，通过醒目视觉形式吸引用户处理。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-badge count=\"3\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"0\" show-zero=\"true\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>最简单的使用方法。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge dot=\"true\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge dot=\"true\">\n          <i class=\"rab-icon rab-icon-ios-notifications-outline\" style=\"font-size: 26px\"></i>\n        </r-badge>\n        <r-badge dot=\"true\">\n          <a>可以是一个链接</a>\n        </r-badge>\n      </template>\n      <template #header><span id=\"小红点\">小红点</span></template>\n      <template #desc>强迫症患者慎用！</template>\n      <template #code><RedDot /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge count=\"99\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"100\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"99\" max-count=\"10\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"1000\" max-count=\"999\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n      </template>\n      <template #header></template>\n      <template #desc>\n        通过设置<code>overflow-count</code>属性设置一个封顶值，当超过时，会显示\n        <code>${overflowCount}+</code>\n      </template>\n      <template #code><MaxCount /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge count=\"25\" />\n        <r-badge count=\"15\" class=\"demo-badge-alone\" />\n      </template>\n      <template #header><span id=\"封顶数字\">封顶数字</span></template>\n      <template #desc>\n        不包裹任何元素即是独立使用，可自定样式展现。在右上角的 badge 则限定为红色。\n      </template>\n      <template #code><Alone /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge text=\"new\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge text=\"hot\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n      </template>\n      <template #header><span id=\"独立使用及自定义样式\">独立使用及自定义样式</span></template>\n      <template #desc> 设置<code>text</code>属性，可以自定义显示内容。 </template>\n      <template #code><CustomContent /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge count=\"3\" offset=\"[5,10]\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n      </template>\n      <template #header><span id=\"自定义内容\">自定义内容</span></template>\n      <template #desc> 设置<code>offset</code>属性，可以自定义徽标的位置 </template>\n      <template #code><CustomPosition /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge status=\"success\" />\n        <r-badge status=\"error\" />\n        <r-badge status=\"default\" />\n        <r-badge status=\"processing\" />\n        <r-badge status=\"warning\" />\n        <r-badge status=\"error\" />\n        <br />\n        <r-badge status=\"success\" text=\"Success\" />\n        <br />\n        <r-badge status=\"error\" text=\"Error\" />\n        <br />\n        <r-badge status=\"default\" text=\"Default\" />\n        <br />\n        <r-badge status=\"processing\" text=\"Processing\" />\n        <br />\n        <r-badge status=\"warning\" text=\"Warning\" />\n      </template>\n      <template #header><span id=\"自定义位置\">自定义位置</span></template>\n      <template #desc>用于表示状态的小圆点。</template>\n      <template #code><StatusDot /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <strong>预设：</strong>\n        <br />\n        <r-badge color=\"blue\" text=\"blue\" /> <br />\n        <r-badge color=\"green\" text=\"green\" /> <br />\n        <r-badge color=\"red\" text=\"red\" /> <br />\n        <r-badge color=\"yellow\" text=\"yellow\" /> <br />\n        <r-badge color=\"pink\" text=\"pink\" /> <br />\n        <r-badge color=\"magenta\" text=\"magenta\" /> <br />\n        <r-badge color=\"volcano\" text=\"volcano\" /> <br />\n        <r-badge color=\"orange\" text=\"orange\" /> <br />\n        <r-badge color=\"gold\" text=\"gold\" /> <br />\n        <r-badge color=\"lime\" text=\"lime\" /> <br />\n        <r-badge color=\"cyan\" text=\"cyan\" /> <br />\n        <r-badge color=\"geekblue\" text=\"geekblue\" /> <br />\n        <r-badge color=\"purple\" text=\"purple\" /> <br />\n        <br />\n        <strong>自定义：</strong>\n        <br />\n        <r-badge color=\"#2db7f5\" text=\"#2db7f5\" /> <br />\n      </template>\n      <template #header><span id=\"状态点\">状态点</span></template>\n      <template #desc\n        >属性<code>color</code>可以设置更多预设的状态点颜色，或者自定义颜色。</template\n      >\n      <template #code><Colors /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-badge count=\"6\" type=\"primary\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"success\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"normal\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"info\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"error\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n        <r-badge count=\"6\" type=\"warning\">\n          <a class=\"demo-badge\"></a>\n        </r-badge>\n      </template>\n      <template #header><span id=\"多彩徽标\">多彩徽标</span></template>\n      <template #desc>使用<code>type</code>属性，可以设置不同的颜色。</template>\n      <template #code><PresetColor /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Badge from '../../../../../src/components/badge'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  RedDot,\n  MaxCount,\n  Alone,\n  CustomContent,\n  CustomPosition,\n  StatusDot,\n  Colors,\n  PresetColor,\n  APITable\n} from '../../../examples-code/components/badge'\n\nonMounted(() => new Badge())\n\nconst anchors: string[] = [\n  '基础用法',\n  '小红点',\n  '封顶数字',\n  '独立使用及自定义样式',\n  '自定义内容',\n  '自定义位置',\n  '状态点',\n  '多彩徽标',\n  '预设颜色',\n  'API'\n]\n</script>\n\n<style lang=\"less\" scope>\nr-badge {\n  margin-right: 24px;\n}\n\n.demo-badge {\n  width: 42px;\n  height: 42px;\n  background: #eee;\n  border-radius: 6px;\n  display: inline-block;\n\n  &-alone sup {\n    background: #5cb85c !important;\n  }\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Breadcrumb.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Breadcrumb\"\n      title=\"面包屑\"\n      desc=\"显示当前页面在系统层级结构中的位置，并能向上返回。\"\n    >\n      <li>当系统拥有超过两级以上的层级结构时；</li>\n      <li>当需要告知用户『你在哪里』时；</li>\n      <li>当需要向上导航的功能时。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-breadcrumb>\n          <a href=\"#\">Home</a>\n          <a href=\"#\">Components</a>\n          <span>Breadcrumb</span>\n        </r-breadcrumb>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>最简单的用法。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-breadcrumb>\n          <div>\n            <i class=\"rab-icon rab-icon-ios-home-outline\"></i>\n            <a href=\"#\">Home</a>\n          </div>\n          <div>\n            <i class=\"rab-icon rab-icon-logo-buffer\"></i>\n            <a href=\"#\">Components</a>\n          </div>\n          <div>\n            <i class=\"rab-icon rab-icon-ios-cafe\"></i>\n            <span>Breadcrumb</span>\n          </div>\n        </r-breadcrumb>\n      </template>\n      <template #header><span id=\"带图标\">带图标</span></template>\n      <template #desc>可自定义每项的内容，比如带有一个图标。</template>\n      <template #code><WithIcon /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-breadcrumb separator=\">\">\n          <a href=\"#\">Home</a>\n          <a href=\"#\">Components</a>\n          <span>Breadcrumb</span>\n        </r-breadcrumb>\n\n        <r-breadcrumb separator=\"<b class='demo-breadcrumb-separator'>=></b>\">\n          <a href=\"#\">Home</a>\n          <a href=\"#\">Components</a>\n          <span>Breadcrumb</span>\n        </r-breadcrumb>\n      </template>\n      <template #header><span id=\"分隔符\">分隔符</span></template>\n      <template #desc>\n        通过设置<code>separator</code>属性来自定义分隔符，比如<code>&gt;</code>，也可以接受自定义的HTML字符串。\n      </template>\n      <template #code><Separator /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Breadcrumb from '../../../../../src/components/breadcrumb'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, WithIcon, Separator, APITable } from '../../../examples-code/components/breadcrumb'\n\nonMounted(() => new Breadcrumb())\n\nconst anchors: string[] = ['基础用法', '带图标', '分隔符', 'API']\n</script>\n\n<style lang=\"less\">\n.demo-breadcrumb-separator {\n  color: #ff5500;\n  padding: 0 5px;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Button.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Button\" title=\"按钮\" desc=\"按钮用于开始一个即时操作。\">\n      <li>标记了一个（或封装一组）操作命令，响应用户点击行为，触发相应的业务逻辑。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed\">虚线按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-text\">文本按钮</button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-info\">信息按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-success\">成功按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-warning\">警告按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-error\">危险按钮</button>\n      </template>\n      <template #header><span id=\"按钮类型\">按钮类型</span></template>\n      <template #desc>\n        <p>按钮类型有：默认按钮、主按钮、虚线按钮、文字按钮以及四种颜色按钮。</p>\n        <p>通过添加不同的类名创建不同样式的按钮</p>\n      </template>\n      <template #code><Type /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div style=\"background: rgb(190, 200, 200); padding: 20px\">\n          <button type=\"button\" class=\"rab-btn rab-btn-ghost\">默认按钮</button>\n          <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-ghost\">\n            主要按钮\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-ghost\">\n            虚线按钮\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-text rab-btn-ghost\">\n            文本按钮\n          </button>\n          <br /><br />\n          <button type=\"button\" class=\"rab-btn rab-btn-info rab-btn-ghost\">\n            信息按钮\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-success rab-btn-ghost\">\n            成功按钮\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-warning rab-btn-ghost\">\n            警告按钮\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-error rab-btn-ghost\">\n            危险按钮\n          </button>\n        </div>\n      </template>\n      <template #header><span id=\"幽灵按钮\">幽灵按钮</span></template>\n      <template #desc>\n        幽灵按钮将其他按钮的内容反色，背景变为透明，常用在有色背景上。\n      </template>\n      <template #code><Ghost /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button\n          type=\"button\"\n          icon=\"ios-search\"\n          class=\"rab-btn rab-btn-primary rab-btn-circle\"\n        ></button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-primary\">\n          搜索\n        </button>\n        <button\n          type=\"button\"\n          icon=\"ios-search\"\n          class=\"rab-btn rab-btn-primary rab-btn-circle\"\n        >\n          搜索\n        </button>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-circle\">\n          圆角按钮\n        </button>\n        <br /><br />\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-circle\"></button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn\">搜索</button>\n        <button type=\"button\" icon=\"ios-search\" class=\"rab-btn rab-btn-circle\">\n          搜索\n        </button>\n        <button type=\"button\" class=\"rab-btn rab-btn-circle\">圆角按钮</button>\n      </template>\n      <template #header><span id=\"图标按钮及按钮形状\">图标按钮及按钮形状</span></template>\n      <template #desc>\n        <p>\n          通过设置<code>icon</code>属性在<code>button</code>内嵌入一个<code>icon</code>，或者直接在<code>button</code>内添加<code>i</code>标签。\n        </p>\n        <p>\n          使用<code>button</code>的<code>icon</code>属性，图标位置将添加在最左边，如果需要自定义位置，则直接在<code>button</code>内添加\n          <code>i</code>标签。\n        </p>\n        <p>通过添加类名<code>rab-btn-circle</code>，可将按钮置为圆的形状。</p>\n      </template>\n      <template #code><IconWithCircle /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary rab-btn-lg\">主要按钮</button>\n        <button type=\"button\" class=\"rab-btn\">默认按钮</button>\n        <button type=\"button\" class=\"rab-btn rab-btn-dashed rab-btn-sm\">虚线按钮</button>\n      </template>\n      <template #header><span id=\"按钮尺寸\">按钮尺寸</span></template>\n      <template #desc>\n        <p>按钮有三种尺寸：大、默认（中）、小</p>\n        <p>\n          通过添加类名<code>rab-btn-lg</code>和<code>rab-btn-sm</code>将按钮设置为大和小尺寸，不设置为默认（中）尺寸。\n        </p>\n      </template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn rab-btn-success rab-btn-long\">\n          提交按钮\n        </button>\n        <br /><br />\n        <button type=\"button\" class=\"rab-btn rab-btn-error rab-btn-long\">删除按钮</button>\n      </template>\n      <template #header><span id=\"长按钮\">长按钮</span></template>\n      <template #desc>\n        通过添加类名<code>rab-btn-long</code>可将按钮宽度设置为 100%\n        使按钮适合其父宽度,常用于弹窗内操作按钮。\n      </template>\n      <template #code><Long /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button disabled type=\"button\" class=\"rab-btn\">默认按钮(禁用)</button>\n        <button disabled type=\"button\" class=\"rab-btn rab-btn-primary\">\n          主要按钮(禁用)\n        </button>\n        <button disabled type=\"button\" class=\"rab-btn rab-btn-dashed\">\n          虚线按钮(禁用)\n        </button>\n        <button disabled type=\"button\" class=\"rab-btn rab-btn-text\">\n          文本按钮(禁用)\n        </button>\n      </template>\n      <template #header><span id=\"不可用状态\">不可用状态</span></template>\n      <template #desc>\n        通过添加<code>disabled</code>属性可将按钮设置为不可用状态。\n      </template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-primary\">\n          Loading...\n        </button>\n        <button\n          type=\"button\"\n          id=\"testBtn1\"\n          class=\"rab-btn rab-btn-primary\"\n          @click=\"handleClick1\"\n        >\n          Click me!\n        </button>\n        <button\n          type=\"button\"\n          id=\"testBtn2\"\n          class=\"rab-btn rab-btn-primary\"\n          icon=\"ios-power\"\n          @click=\"handleClick2\"\n        >\n          Click me!\n        </button>\n        <button type=\"button\" loading=\"true\" class=\"rab-btn rab-btn-circle\" />\n        <button\n          type=\"button\"\n          loading=\"true\"\n          class=\"rab-btn rab-btn-primary rab-btn-circle\"\n        />\n      </template>\n      <template #header><span id=\"加载中状态\">加载中状态</span></template>\n      <template #desc>\n        通过添加<code>loading=\"true\"</code>属性可以让按钮处于加载中状态\n      </template>\n      <template #code><Loading /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <h4>基本</h4>\n        <div class=\"rab-btn-group\">\n          <button type=\"button\" class=\"rab-btn\">Cancel</button>\n          <button type=\"button\" class=\"rab-btn rab-btn-primary\">Confirm</button>\n        </div>\n        <div class=\"rab-btn-group\">\n          <button disabled type=\"button\" class=\"rab-btn\">Yesterday</button>\n          <button disabled type=\"button\" class=\"rab-btn\">Today</button>\n          <button disabled type=\"button\" class=\"rab-btn\">Tomorrow</button>\n        </div>\n        <div class=\"rab-btn-group\">\n          <button type=\"button\" class=\"rab-btn rab-btn-primary\">L</button>\n          <button type=\"button\" class=\"rab-btn\">M</button>\n          <button type=\"button\" class=\"rab-btn\">M</button>\n          <button type=\"button\" class=\"rab-btn rab-btn-dashed\">R</button>\n        </div>\n        <h4>图标</h4>\n        <div class=\"rab-btn-group\">\n          <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n            <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n            <span>Backward</span>\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n            <span>Forward</span>\n            <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n          </button>\n        </div>\n        <div class=\"rab-btn-group\">\n          <button\n            type=\"button\"\n            icon=\"ios-skip-backward\"\n            class=\"rab-btn rab-btn-primary\"\n          ></button>\n          <button\n            type=\"button\"\n            icon=\"ios-skip-forward\"\n            class=\"rab-btn rab-btn-primary\"\n          ></button>\n        </div>\n        <div class=\"rab-btn-group\">\n          <button type=\"button\" icon=\"ios-color-wand\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"ios-sunny\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"ios-crop\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"ios-color-filter\" class=\"rab-btn\"></button>\n        </div>\n        <h4>圆角</h4>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n          <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n            <i class=\"rab-icon rab-icon-ios-arrow-back\"></i>\n            <span>Backward</span>\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-primary\">\n            <span>Forward</span>\n            <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n          </button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n          <button\n            type=\"button\"\n            icon=\"ios-skip-backward\"\n            class=\"rab-btn rab-btn-primary\"\n          ></button>\n          <button\n            type=\"button\"\n            icon=\"ios-skip-forward\"\n            class=\"rab-btn rab-btn-primary\"\n          ></button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n          <button type=\"button\" icon=\"ios-color-wand\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"ios-sunny\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"ios-crop\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"ios-color-filter\" class=\"rab-btn\"></button>\n        </div>\n        <h4>尺寸</h4>\n        <div class=\"rab-btn-group rab-btn-group-lg\">\n          <button type=\"button\" class=\"rab-btn\">Large</button>\n          <button type=\"button\" class=\"rab-btn\">Large</button>\n        </div>\n        <div class=\"rab-btn-group\">\n          <button type=\"button\" class=\"rab-btn\">Default</button>\n          <button type=\"button\" class=\"rab-btn\">Default</button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-sm\">\n          <button type=\"button\" class=\"rab-btn\">Small</button>\n          <button type=\"button\" class=\"rab-btn\">Small</button>\n        </div>\n        <br /><br />\n        <div class=\"rab-btn-group rab-btn-group-lg rab-btn-group-circle\">\n          <button type=\"button\" class=\"rab-btn\">Large</button>\n          <button type=\"button\" class=\"rab-btn\">Large</button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-circle\">\n          <button type=\"button\" class=\"rab-btn\">Default</button>\n          <button type=\"button\" class=\"rab-btn\">Default</button>\n        </div>\n        <div class=\"rab-btn-group rab-btn-group-sm rab-btn-group-circle\">\n          <button type=\"button\" class=\"rab-btn\">Small</button>\n          <button type=\"button\" class=\"rab-btn\">Small</button>\n        </div>\n      </template>\n      <template #header><span id=\"按钮组合\">按钮组合</span></template>\n      <template #desc>实现按钮组合的效果</template>\n      <template #code><Group /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"rab-btn-group rab-btn-group-vertical\">\n          <button type=\"button\" icon=\"logo-facebook\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"logo-twitter\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"logo-googleplus\" class=\"rab-btn\"></button>\n          <button type=\"button\" icon=\"logo-tumblr\" class=\"rab-btn\"></button>\n        </div>\n      </template>\n      <template #header><span id=\"按钮组纵向排列\">按钮组纵向排列</span></template>\n      <template #desc>按钮组纵向排列</template>\n      <template #code><Placement /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Button from \"../../../../../src/components/button\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Type,\n  Ghost,\n  IconWithCircle,\n  Size,\n  Long,\n  Disabled,\n  Loading,\n  Group,\n  Placement,\n  APITable,\n} from \"../../../examples-code/components/button\";\n\nlet button: Button;\n\nonMounted(() => {\n  button = new Button();\n});\n\nconst handleClick1 = () => {\n  button.config(\"#testBtn1\").loading = true;\n};\nconst handleClick2 = () => {\n  button.config(\"#testBtn2\").loading = true;\n  setTimeout(() => {\n    button.config(\"#testBtn2\").loading = false;\n  }, 2000);\n};\n\nconst anchors: string[] = [\n  \"按钮类型\",\n  \"幽灵按钮\",\n  \"图标按钮及按钮形状\",\n  \"按钮尺寸\",\n  \"长按钮\",\n  \"不可用状态\",\n  \"加载中状态\",\n  \"按钮组合\",\n  \"按钮组纵向排列\",\n  \"API\",\n];\n</script>\n\n<style lang=\"less\" scope>\n.rab-btn-group {\n  margin-right: 8px;\n  .rab-btn {\n    margin-right: 0;\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Card.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Card\" title=\"卡片\" desc=\"通用卡片容器。\">\n      <li>最基础的卡片容器，可承载文字、列表、图片、段落，常用于后台概览页面。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-card title=\"卡片标题\" extra=\"<a>更多</a>\" style=\"width: 340px\">\n          <div>\n            <p>卡片内容 1</p>\n            <p>卡片内容 2</p>\n            <p>卡片内容 3</p>\n          </div>\n        </r-card>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>包含标题、内容、操作区域。</p>\n        <p>注意：标签容器内必须具有一个父元素</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div style=\"background: #eee; padding: 20px\">\n          <r-card title=\"无边框\" no-border=\"true\">\n            <p>\n              这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片这是没有边框类型的卡片\n            </p>\n          </r-card>\n        </div>\n      </template>\n      <template #header><span id=\"无边框\">无边框</span></template>\n      <template #desc>\n        通过设置属性<code>no-border=\"true\"</code> ，可以不添加边框，建议在灰色背景下使用。\n      </template>\n      <template #code><NoBorder /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <a-row>\n          <a-col :span=\"10\" style=\"margin-right: 24px\">\n            <r-card title=\"卡片标题\">\n              <div>\n                <p>卡片内容 1</p>\n                <p>卡片内容 2</p>\n                <p>卡片内容 3</p>\n              </div>\n            </r-card>\n          </a-col>\n          <a-col :span=\"10\">\n            <r-card title=\"卡片标题\" dis-hover=\"true\">\n              <div>\n                <p>卡片内容 1</p>\n                <p>卡片内容 2</p>\n                <p>卡片内容 3</p>\n              </div>\n            </r-card>\n          </a-col>\n        </a-row>\n      </template>\n      <template #header><span id=\"禁用悬停阴影\">禁用悬停阴影</span></template>\n      <template #desc>\n        通过设置属性<code>dis-hover=\"true\"</code>来禁用鼠标悬停显示阴影的效果。\n      </template>\n      <template #code><DisHover /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div style=\"background: #eee; padding: 20px\">\n          <a-row>\n            <a-col :span=\"10\" style=\"margin-right: 24px\">\n              <r-card title=\"卡片标题\" no-border=\"true\">\n                <div>\n                  <p>卡片内容 1</p>\n                  <p>卡片内容 2</p>\n                  <p>卡片内容 3</p>\n                </div>\n              </r-card>\n            </a-col>\n            <a-col :span=\"10\">\n              <r-card title=\"卡片标题\" shadow=\"true\">\n                <div>\n                  <p>卡片内容 1</p>\n                  <p>卡片内容 2</p>\n                  <p>卡片内容 3</p>\n                </div>\n              </r-card>\n            </a-col>\n          </a-row>\n        </div>\n      </template>\n      <template #header><span id=\"卡片阴影\">卡片阴影</span></template>\n      <template #desc>\n        通过设置属性<code>shadow=\"true\"</code>来显示卡片阴影，使用该属性后，<code>no-border</code>和<code>dis-hover</code>将无效，建议在灰色背景下使用。\n      </template>\n      <template #code><Shadow /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-card style=\"width: 340px\">\n          <div style=\"text-align: center\">\n            <img src=\"/src/assets/logo.svg\" style=\"height: 95px\" />\n            <h3 style=\"margin: 8px 0\">一套基于TS构建的UI组件库</h3>\n          </div>\n        </r-card>\n      </template>\n      <template #header><span id=\"简洁卡片\">简洁卡片</span></template>\n      <template #desc>只包含内容区域，没有标题。</template>\n      <template #code><Simple /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Card from '../../../../../src/components/card'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Simple,\n  DisHover,\n  Shadow,\n  NoBorder,\n  APITable\n} from '../../../examples-code/components/card'\n\nonMounted(() => new Card())\n\nconst anchors: string[] = ['基础用法', '无边框', '禁用悬停阴影', '卡片阴影', '简洁卡片', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Carousel.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Carousel\" title=\"走马灯\" desc=\"旋转木马，一组轮播的区域。\">\n      <li>当有一组平级的内容。</li>\n      <li>当内容空间不足时，可以用走马灯的形式进行收纳，进行轮播展现。</li>\n      <li>常用于一组图片或卡片轮播。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-carousel>\n          <div>\n            <div class=\"demo-carousel\">1</div>\n            <div class=\"demo-carousel\">2</div>\n            <div class=\"demo-carousel\">3</div>\n            <div class=\"demo-carousel\">4</div>\n          </div>\n        </r-carousel>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>最基本的用法。</p>\n        <p>标签容器下必须具有一个父元素</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-carousel autoplay=\"true\" id=\"test\">\n          <div>\n            <div class=\"demo-carousel\">1</div>\n            <div class=\"demo-carousel\">2</div>\n            <div class=\"demo-carousel\">3</div>\n            <div class=\"demo-carousel\">4</div>\n          </div>\n        </r-carousel>\n      </template>\n      <template #header><span id=\"自动切换\">自动切换</span></template>\n      <template #desc>\n        <p>\n          设置属性<code>autoplay=\"true\"</code>可以自动轮播，同时可以设置属性<code>autoplay-speed</code>改变自动播放的速度。\n        </p>\n      </template>\n      <template #code><AutoPlay /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-carousel effect=\"fade\" autoplay=\"true\">\n          <div>\n            <div class=\"demo-carousel\">1</div>\n            <div class=\"demo-carousel\">2</div>\n            <div class=\"demo-carousel\">3</div>\n            <div class=\"demo-carousel\">4</div>\n          </div>\n        </r-carousel>\n      </template>\n      <template #header><span id=\"渐显\">渐显</span></template>\n      <template #desc>\n        <p>设置属性<code>effect=\"fade\"</code>切换效果为渐显。</p>\n      </template>\n      <template #code><Fade /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Carousel from '../../../../../src/components/carousel'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, AutoPlay, Fade, APITable } from '../../../examples-code/components/carousel'\n\nlet carousel: Carousel\n\nonMounted(() => {\n  carousel = new Carousel()\n  carousel.config('#test').events({\n    onChange: ([oldValue, value]) => {\n      console.log(`原幻灯片索引: ${oldValue}`, `目前激活索引: ${value}`)\n    },\n    onClick: (index) => {\n      console.log(index)\n    }\n  })\n})\n\nconst anchors: string[] = ['基础用法 ', '自动切换', '渐显', 'API']\n</script>\n\n<style scope>\nr-carousel li {\n  margin-left: 2px !important;\n  margin-right: 2px !important;\n  padding-left: 0 !important;\n}\n\n.demo-carousel {\n  height: 250px;\n  color: #fff;\n  line-height: 250px;\n  text-align: center;\n  font-size: 20px;\n  background: #364d79;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Checkbox.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Checkbox\" title=\"多选框\" desc=\"多选框。\">\n      <li>在一组可选项中进行多项选择时；</li>\n      <li>\n        单独使用可以表示两种状态之间的切换，和<code>switch</code>类似。区别在于切换\n        <code>switch</code>\n        会直接触发状态改变，而<code>checkbox</code>一般用于状态标记，需要和提交操作配合。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-checkbox>Checkbox</r-checkbox>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>简单的 checkbox</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-checkbox-group value=\"['facebook', 'github']\">\n          <r-checkbox label=\"twitter\" icon=\"logo-twitter\">Twitter</r-checkbox>\n          <r-checkbox label=\"facebook\" icon=\"logo-facebook\">Facebook</r-checkbox>\n          <r-checkbox label=\"github\" icon=\"logo-github\">Github</r-checkbox>\n          <r-checkbox label=\"snapchat\" icon=\"logo-snapchat\">Snapchat</r-checkbox>\n        </r-checkbox-group>\n        <r-checkbox-group value=\"['西瓜']\">\n          <r-checkbox label=\"苹果\">苹果</r-checkbox>\n          <r-checkbox label=\"西瓜\">西瓜</r-checkbox>\n          <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n      </template>\n      <template #header><span id=\"组合使用\">组合使用</span></template>\n      <template #desc>\n        <p>\n          使用<code>r-checkbox-group</code>配合数组来生成组合。在组合使用时，<code>r-checkbox</code>使用<code>label</code>来自动判断选中状态。\n        </p>\n      </template>\n      <template #code><Group /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-checkbox checked=\"true\" disabled>Checkbox</r-checkbox>\n        <r-checkbox-group value=\"['西瓜']\">\n          <r-checkbox label=\"苹果\" disabled>苹果</r-checkbox>\n          <r-checkbox label=\"西瓜\" disabled>西瓜</r-checkbox>\n          <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n      </template>\n      <template #header><span id=\"不可用\">不可用</span></template>\n      <template #desc>通过设置<code>disabled</code>属性来禁用多选框。</template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-checkbox-group value=\"['苹果']\">\n          <r-checkbox label=\"苹果\" type=\"border\">苹果</r-checkbox>\n          <r-checkbox label=\"西瓜\" type=\"border\">西瓜</r-checkbox>\n          <r-checkbox label=\"猕猴桃\" type=\"border\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n      </template>\n      <template #header><span id=\"显示边框\">显示边框</span></template>\n      <template #desc>设置属性<code>type=\"border\"</code>可以显示边框。</template>\n      <template #code><Border /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div style=\"border-bottom: 1px solid #e9e9e9; padding-bottom: 6px; margin-bottom: 6px\">\n          <r-checkbox id=\"checkAll\">全选</r-checkbox>\n        </div>\n        <r-checkbox-group id=\"checkAllGroup\">\n          <r-checkbox label=\"苹果\">苹果</r-checkbox>\n          <r-checkbox label=\"西瓜\">西瓜</r-checkbox>\n          <r-checkbox label=\"猕猴桃\">猕猴桃</r-checkbox>\n        </r-checkbox-group>\n      </template>\n      <template #header><span id=\"全选\">全选</span></template>\n      <template #desc>\n        在实现全选效果时，你可能会用到<code>indeterminate</code>属性。示例代码只是一种写法。\n      </template>\n      <template #code><Indeterminate /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Checkbox from '../../../../../src/components/checkbox'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Group,\n  Border,\n  Disabled,\n  Indeterminate,\n  APITable\n} from '../../../examples-code/components/checkbox'\n\nonMounted(() => {\n  const checkbox = new Checkbox()\n  const checkAll = checkbox.config('#checkAll')\n  const checkAllGroup = checkbox.config('#checkAllGroup')\n\n  checkAll.events({\n    onChange: (checked) => {\n      if (checkAll.indeterminate) {\n        checkAllGroup.value = []\n        checkAll.checked = false\n        checkAll.indeterminate = false\n      } else if (checked) {\n        checkAllGroup.value = ['苹果', '西瓜', '猕猴桃']\n      } else {\n        checkAllGroup.value = []\n        checkAll.indeterminate = false\n      }\n    }\n  })\n\n  checkAllGroup.events({\n    onChange: (data) => {\n      if (data.length === 0) {\n        checkAll.checked = false\n        checkAll.indeterminate = false\n      } else if (data.length === 3) {\n        checkAll.checked = true\n        checkAll.indeterminate = false\n      } else if (data.length && data.length < 3) {\n        checkAll.indeterminate = true\n      }\n    }\n  })\n})\n\nconst anchors: string[] = ['基础用法', '组合使用', '不可用', '显示边框', '全选', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Circle.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Circle\" title=\"进度环\" desc=\"通过图表展示操作的当前进度。\">\n      <li>显示某项任务进度的百分比；</li>\n      <li>统计某些指标的占比。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <a-row>\n          <a-col :span=\"8\">\n            <r-circle percent=\"80\">\n              <span style=\"font-size: 24px\">80%</span>\n            </r-circle>\n          </a-col>\n          <a-col :span=\"8\">\n            <r-circle percent=\"100\" stroke-color=\"#5cb85c\">\n              <i\n                class=\"rab-icon rab-icon-ios-checkmark\"\n                style=\"font-size: 60px; color: #5cb85c\"\n              ></i>\n            </r-circle>\n          </a-col>\n          <a-col :span=\"8\">\n            <r-circle percent=\"35\" stroke-color=\"#ff5500\">\n              <i\n                class=\"rab-icon rab-icon-ios-close\"\n                style=\"font-size: 50px; color: #ff5500\"\n              ></i>\n            </r-circle>\n          </a-col>\n        </a-row>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span>n</template>\n      <template #desc>\n        圆形进度环有一系列的参数可配置，具体可以查看下面的API文档。\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-circle percent=\"0\" id=\"test\">\n          <span style=\"font-size: 24px\">{{ percentText }}%</span>\n        </r-circle>\n        <div class=\"rab-btn-group rab-btn-group-lg\">\n          <button type=\"button\" class=\"rab-btn rab-btn-icon-only\" @click=\"add\">\n            <i class=\"rab-icon rab-icon-ios-add\"></i>\n          </button>\n          <button type=\"button\" class=\"rab-btn rab-btn-icon-only\" @click=\"minus\">\n            <i class=\"rab-icon rab-icon-ios-remove\"></i>\n          </button>\n        </div>\n      </template>\n      <template #header><span id=\"配合外部组件使用\">配合外部组件使用</span>n</template>\n      <template #desc>通过数据的联动和逻辑控制，实现交互效果。</template>\n      <template #code><UseWithOther /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-circle\n          size=\"250\"\n          trail-width=\"4\"\n          stroke-width=\"5\"\n          percent=\"75\"\n          stroke-linecap=\"square\"\n          stroke-color=\"#43a3fb\"\n        >\n          <div class=\"demo-circle-custom\">\n            <h1>42,001,776</h1>\n            <p>消费人群规模</p>\n            <span>\n              总占人数\n              <i>75%</i>\n            </span>\n          </div>\n        </r-circle>\n      </template>\n      <template #header><span id=\"自定义更多样式\">自定义更多样式</span></template>\n      <template #desc>\n        <p>通过自定义内容和丰富的配置，可以组合出很多统计效果。</p>\n        <p>注意！标签容器下必须具有一个父元素。</p>\n      </template>\n      <template #code><CustomStyle /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-circle percent=\"80\" dashboard=\"true\">\n          <span style=\"font-size: 24px\">80%</span>\n        </r-circle>\n      </template>\n      <template #header><span id=\"仪表盘\">仪表盘</span></template>\n      <template #desc>\n        通过设置属性<code>dashboard=\"true\"</code>，可以很方便地实现仪表盘样式的进度环。\n      </template>\n      <template #code><Dashboard /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted, ref } from \"vue\";\nimport Circle from \"../../../../../src/components/circle\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  UseWithOther,\n  CustomStyle,\n  Dashboard,\n  APITable,\n} from \"../../../examples-code/components/circle\";\n\ninterface CircleAPI {\n  percent: number;\n  strokeColor: string | string[];\n}\n\nlet circle: Circle,\n  test: CircleAPI,\n  percent = 0;\n\nconst percentText = ref<number>(percent);\n\nonMounted(() => {\n  circle = new Circle();\n  test = circle.config(\"#test\");\n});\n\nconst add = () => {\n  if (percent >= 100) {\n    return false;\n  }\n  percent += 10;\n  percent == 100 ? (test.strokeColor = \"#5cb85c\") : \"\";\n  test.percent = percent;\n  percentText.value = percent;\n};\n\nconst minus = () => {\n  if (percent <= 0) {\n    return false;\n  }\n  percent -= 10;\n  test.percent = percent;\n  test.strokeColor = \"#1890ff\";\n  percentText.value = percent;\n};\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"配合外部组件使用\",\n  \"自定义更多样式\",\n  \"仪表盘\",\n  \"API\",\n];\n</script>\n\n<style lang=\"less\">\n.demo-Circle-custom {\n  & h1 {\n    display: inline-block;\n    color: #3f414d;\n    font-size: 28px;\n    font-weight: normal;\n    margin: 24px 0;\n  }\n  & p {\n    color: #657180;\n    margin: 16px;\n    font-size: 14px;\n  }\n  & span {\n    display: block;\n    padding-top: 15px;\n    color: #657180;\n    font-size: 14px;\n    &:before {\n      content: \"\";\n      display: block;\n      width: 50px;\n      height: 1px;\n      margin: 0 auto;\n      background: #e0e3e6;\n      position: relative;\n      top: -15px;\n    }\n  }\n  & span i {\n    font-style: normal;\n    color: #3f414d;\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Collapse.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Collapse\" title=\"折叠面板\" desc=\"可以折叠/展开的内容区域。\">\n      <li>对复杂区域进行分组和隐藏，保持页面的整洁。</li>\n      <li><code>手风琴</code>是一种特殊的折叠面板，只允许单个内容区域展开。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-collapse active-index=\"1\" id=\"demoCollapse\">\n          <r-collapse-panel index=\"1\" title=\"面板标题1\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"2\" title=\"面板标题2\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"3\" title=\"面板标题3\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n        </r-collapse>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>通过设置属性<code>active-index</code>可以同时展开多个面板，这个例子默认展开了第一个。</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-collapse active-index=\"1\" accordion=\"true\">\n          <r-collapse-panel index=\"1\" title=\"面板标题1\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"2\" title=\"面板标题2\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"3\" title=\"面板标题3\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n        </r-collapse>\n      </template>\n      <template #header><span id=\"手风琴\">手风琴</span></template>\n      <template #desc>\n        <p>通过设置属性<code>accordion=\"true\"</code>开启手风琴模式，每次只能打开一个面板。</p>\n      </template>\n      <template #code><According /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-collapse active-index=\"1\" simple=\"true\">\n          <r-collapse-panel index=\"1\" title=\"面板标题1\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"2\" title=\"面板标题2\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"3\" title=\"面板标题3\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n        </r-collapse>\n      </template>\n      <template #header><span id=\"简洁风格\">简洁风格</span></template>\n      <template #desc>\n        <p>设置属性<code>simple=\"true\"</code>可以显示为一套没有边框的简洁样式。</p>\n      </template>\n      <template #code><Simple /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-collapse active-index=\"1\">\n          <r-collapse-panel index=\"1\" title=\"面板标题1\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"2\" title=\"面板标题2\" hide-arrow=\"true\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n        </r-collapse>\n      </template>\n      <template #header><span id=\"隐藏箭头\">隐藏箭头</span></template>\n      <template #desc>\n        <p>\n          通过给<code>r-collapse-panel</code>设置属性<code>hide-arrow=\"true\"</code>可以隐藏面板的箭头图标\n        </p>\n      </template>\n      <template #code><HiddenArrow /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-collapse active-index=\"1\" ghost=\"true\">\n          <r-collapse-panel index=\"1\" title=\"面板标题1\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"2\" title=\"面板标题2\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n          <r-collapse-panel index=\"3\" title=\"面板标题3\">\n            <p>\n              狗是一种家养动物。它以忠诚和忠诚而闻名，在世界各地的许多家庭中，它都是受欢迎的客人。\n            </p>\n          </r-collapse-panel>\n        </r-collapse>\n      </template>\n      <template #header><span id=\"幽灵折叠面板\">幽灵折叠面板</span></template>\n      <template #desc>\n        <p>通过设置属性<code>ghost=\"true\"</code>将折叠面板的背景变成透明。</p>\n      </template>\n      <template #code><Ghost /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Collapse from '../../../../../src/components/collapse'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Simple,\n  Ghost,\n  According,\n  HiddenArrow,\n  APITable\n} from '../../../examples-code/components/collapse'\n\nonMounted(() => {\n  const collapse = new Collapse()\n  collapse.config('#demoCollapse').events({\n    onChange: (key) => {\n      console.log(key)\n    }\n  })\n})\n\nconst anchors: string[] = ['基础用法', '手风琴', '简洁风格', '隐藏箭头', '幽灵折叠面板', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Color.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>Color 色彩</h1>\n    <h2>概述</h2>\n    <p>\n      Rabbit UI\n      推荐使用以下调色板的颜色作为设计和开发规范，以保证页面和组件之间的视觉一致。\n    </p>\n    <h3>主色</h3>\n    <p>\n      Rabbit UI 使用较为安全的蓝色作为主色调，其中 Light Primary 常用于 hover，Dark\n      Primary 常用于 active。\n    </p>\n    <ColorCard :span=\"8\" :colors=\"mainColors\" />\n    <h3>辅助色</h3>\n    <p>辅助色是具有代表性的颜色，常用于信息提示，比如成功、警告和失败。</p>\n    <ColorCard :span=\"6\" :colors=\"auxiliaryColors\" />\n    <h3>中性色</h3>\n    <p>中性色常用于文本、背景、边框、阴影等，可以体现出页面的层次结构。</p>\n    <ColorCard :span=\"6\" :colors=\"neutralColors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ColorCard } from \"../../../components\";\n\ninterface Color {\n  name: string;\n  desc: string;\n  dark?: boolean;\n}\n\nconst mainColors: Color[] = [\n  {\n    name: \"Primary\",\n    desc: \"#1890ff\",\n  },\n  {\n    name: \"Light Primary\",\n    desc: \"#5cadff\",\n  },\n  {\n    name: \"Dark Primary\",\n    desc: \"#2b85e4\",\n  },\n];\nconst auxiliaryColors: Color[] = [\n  {\n    name: \"Info\",\n    desc: \"#2db7f5\",\n  },\n  {\n    name: \"Success\",\n    desc: \"#52c41a\",\n  },\n  {\n    name: \"Warning\",\n    desc: \"#faad14\",\n  },\n  {\n    name: \"Error\",\n    desc: \"#ff4d4f\",\n  },\n];\nconst neutralColors: Color[] = [\n  {\n    name: \"标题 Title\",\n    desc: \"#2c3e50\",\n  },\n  {\n    name: \"正文 Content\",\n    desc: \"#55585e\",\n  },\n  {\n    name: \"辅助/图标 Sub Color\",\n    desc: \"#808695\",\n  },\n  {\n    name: \"失效 Disabled\",\n    desc: \"#c5c8ce\",\n  },\n  {\n    name: \"边框 Border\",\n    desc: \"#dcdee2\",\n    dark: true,\n  },\n  {\n    name: \"分割线 Divider\",\n    desc: \"#e8eaec\",\n    dark: true,\n  },\n  {\n    name: \"背景 Background\",\n    desc: \"#fafafa\",\n    dark: true,\n  },\n];\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/CountDown.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"CountDown\" title=\"倒计时\" desc=\"根据设置目标时间来倒计时的组件。\">\n      <li>当页面某个部分或功能需要进行倒计时</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-count-down id=\"test1\" /><br />\n        <r-count-down id=\"test2\" />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>最简单的用法</p>\n        <p>设置的时间格式为<code>YYYY/MM/DD HH:mm:ss</code>或<code>YYYY-MM-DD HH:mm:ss</code></p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport CountDown from '../../../../../src/components/count-down'\nimport Message from '../../../../../src/components/message'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, APITable } from '../../../examples-code/components/count-down'\n\nlet countDown: CountDown\n\nconst date = new Date()\nconst YYMMDD = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`\nconst h = date.getHours()\nconst mm = date.getMinutes()\n\nonMounted(() => {\n  countDown = new CountDown()\n  countDown.config('#test1').endTime = `${YYMMDD} ${h + 1}:00:00`\n  countDown.config('#test2').endTime = `${YYMMDD} ${h}:${mm + 1}:00`\n  countDown.config('#test2').events({\n    onStop: (stop) => {\n      if (stop) Message.info('倒计时结束！')\n    }\n  })\n})\n\nconst anchors: string[] = ['基础用法', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Divider.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Divider\" title=\"分割线\" desc=\"区隔内容的分割线。\">\n      <li>对不同章节的文本段落进行分割。</li>\n      <li>对行内文字/链接进行分割，例如表格的操作列。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider></r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider>标题居中</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider dashed=\"true\"></r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n      </template>\n      <template #header><span id=\"水平分割线\">水平分割线</span></template>\n      <template #desc>默认为水平分割线，可在中间加入文字。</template>\n      <template #code><Horizontal /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        文本\n        <r-divider type=\"vertical\"></r-divider>\n        <a href=\"#\">链接</a>\n        <r-divider type=\"vertical\"></r-divider>\n        <a href=\"#\">链接</a>\n      </template>\n      <template #header><span id=\"垂直分割线\">垂直分割线</span></template>\n      <template #desc>使用<code>type=\"vertical\"</code>设置为行内的垂直分割线。</template>\n      <template #code><Vertical /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-divider>标题居中</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider orientation=\"left\">右侧标题</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider orientation=\"right\">右侧标题</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n      </template>\n      <template #header><span id=\"标题位置\">标题位置</span></template>\n      <template #desc>修改分割线标题的位置。</template>\n      <template #code><HeaderPosition /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-divider plain=\"true\">标题居中</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider plain=\"true\" orientation=\"left\">右侧标题</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n        <r-divider plain=\"true\" orientation=\"right\">右侧标题</r-divider>\n        <p>\n          从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事从前有座山山里有座庙，庙里有个老和尚给小和尚讲故事\n        </p>\n      </template>\n      <template #header><span id=\"分割文字使用正文样式\">分割文字使用正文样式</span></template>\n      <template #desc>使用<code>plain</code>可以设置为更轻量的分割文字样式。</template>\n      <template #code><TextStyle /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Divider from '../../../../../src/components/divider'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Vertical,\n  Horizontal,\n  TextStyle,\n  HeaderPosition,\n  APITable\n} from '../../../examples-code/components/divider'\n\nonMounted(() => new Divider())\n\nconst anchors: string[] = ['水平分割线 ', '垂直分割线', '标题位置', '分割文字使用正文样式', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Drawer.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Drawer\" title=\"抽屉\" desc=\"屏幕边缘滑出的浮层面板。\">\n      <li>\n        抽屉从父窗体边缘滑入，覆盖住部分父窗体内容。用户在抽屉内操作时不必离开当前任务，操作完成后，可以平滑地回到到原任务。\n      </li>\n      <li>\n        当需要一个附加的面板来控制父窗体内容，这个面板在需要时呼出。比如，控制界面展示样式，往界面中添加内容。\n      </li>\n      <li>当需要在当前任务流中插入临时任务，创建或预览附加内容。比如展示协议条款，创建子对象。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleClick\">Open</button>\n        <r-drawer title=\"Basic Drawer\" id=\"test1\">\n          <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n          </div>\n        </r-drawer>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc></template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"Top\">Top</button>\n        <button class=\"rab-btn\" @click=\"Left\">Left</button>\n        <button class=\"rab-btn\" @click=\"Bottom\">Bottom</button>\n        <button class=\"rab-btn\" @click=\"Right\">Right</button>\n        <r-drawer id=\"test2\" title=\"Basic Drawer\" placement=\"top\">\n          <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n          </div>\n        </r-drawer>\n        <r-drawer id=\"test3\" title=\"Basic Drawer\" placement=\"left\">\n          <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n          </div>\n        </r-drawer>\n        <r-drawer id=\"test4\" title=\"Basic Drawer\" placement=\"bottom\">\n          <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n          </div>\n        </r-drawer>\n        <r-drawer id=\"test5\" title=\"Basic Drawer\">\n          <div>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n            <p>Some contents...</p>\n          </div>\n        </r-drawer>\n      </template>\n      <template #header><span id=\"自定义位置\">自定义位置</span></template>\n      <template #desc></template>\n      <template #code><Custom /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"container\">\n          <button class=\"rab-btn rab-btn-primary\" @click=\"openInner\">Open Inner</button>\n          <r-drawer title=\"Basic Drawer\" id=\"test6\" inner=\"true\">\n            <p>Some contents...</p>\n          </r-drawer>\n        </div>\n      </template>\n      <template #header><span id=\"在当前 DOM  内打开\">在当前 DOM 内打开</span></template>\n      <template #desc></template>\n      <template #code><Inner /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleClick1\">多层抽屉</button>\n        <r-drawer id=\"test7\" title=\"多层抽屉\" width=\"512px\">\n          <button class=\"rab-btn rab-btn-primary\" @click=\"handleClick2\">打开第二层抽屉</button>\n        </r-drawer>\n        <r-drawer id=\"test8\" title=\"第二层抽屉\">\n          <p>这是第二层抽屉。</p>\n        </r-drawer>\n      </template>\n      <template #header><span id=\"多层抽屉\">多层抽屉</span></template>\n      <template #desc></template>\n      <template #code><Multilayer /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Drawer from '../../../../../src/components/drawer'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Inner,\n  Custom,\n  Multilayer,\n  APITable\n} from '../../../examples-code/components/drawer'\n\nlet drawer: Drawer,\n  visible = false,\n  top = false,\n  left = false,\n  bottom = false,\n  right = false,\n  inner = false,\n  first = false,\n  second = false\n\nonMounted(() => {\n  drawer = new Drawer()\n  drawer.config('#test1').events({\n    onClose: () => {\n      console.log('关闭抽屉')\n    }\n  })\n})\n\nconst handleClick = () => {\n  visible === false ? (visible = !visible) : visible\n  drawer.config('#test1').visable = visible\n}\nconst Top = () => {\n  top === false ? (top = !top) : top\n  drawer.config('#test2').visable = top\n}\n\nconst Left = () => {\n  left === false ? (left = !left) : left\n  drawer.config('#test3').visable = left\n}\n\nconst Bottom = () => {\n  bottom === false ? (bottom = !bottom) : bottom\n  drawer.config('#test4').visable = bottom\n}\n\nconst Right = () => {\n  right === false ? (right = !right) : right\n  drawer.config('#test5').visable = right\n}\n\nconst openInner = () => {\n  inner === false ? (inner = !inner) : inner\n  drawer.config('#test6').visable = inner\n}\n\nconst handleClick1 = () => {\n  first === false ? (first = !first) : first\n  drawer.config('#test7').visable = first\n}\n\nconst handleClick2 = () => {\n  second === false ? (second = !second) : second\n  drawer.config('#test8').visable = second\n}\n\nconst anchors: string[] = ['基础用法', '自定义位置', '在当前 DOM  内打开', '多层抽屉', 'API']\n</script>\n\n<style scope>\n.container {\n  width: 480px;\n  height: 200px;\n  margin: 20px auto;\n  overflow: hidden;\n  position: relative;\n  border: 1px solid #ebedf0;\n  border-radius: 2px;\n  padding: 48px;\n  text-align: center;\n  background: #fafafa;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Dropdown.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Dropdown\" title=\"下拉菜单\" desc=\"向下弹出的列表。\">\n      <li>\n        当页面上的操作命令过多时，用此组件可以收纳操作元素。点击或移入触点，会出现一个下拉菜单。可在列表中进行选择，并执行相应的命令。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-dropdown id=\"test\">\n          <a>下拉菜单 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item disabled>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item divided>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n        <r-dropdown>\n          <button class=\"rab-btn rab-btn-primary\">\n            下拉菜单 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i>\n          </button>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item disabled>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item divided>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>最简单的下拉菜单，触发对象可以是链接、按钮等各种元素。</p>\n        <p>本例还展示了禁用项和分隔线。</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-dropdown>\n          <a>hover 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown trigger=\"click\">\n          <a>click 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown trigger=\"contextMenu\">\n          <a>右键触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>返回</r-dropdown-item>\n            <r-dropdown-item danger>删除</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown trigger=\"custom\" class=\"custom\" id=\"testCustom\">\n          <a @click=\"handleOpen\"> custom 触发 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i> </a>\n          <r-dropdown-menu>\n            <r-dropdown-item>\n              <p>常用于各种自定义下拉内容的场景。</p>\n              <div style=\"text-align: right; margin: 10px\">\n                <button class=\"rab-btn rab-btn-primary\" @click=\"handleClose\">关闭</button>\n              </div>\n            </r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n      </template>\n      <template #header><span id=\"触发方式\">触发方式</span></template>\n      <template #desc>\n        通过设置属性<code>trigger</code>可以更改触发方式，可选项为 click 、\n        hover(默认)、contextMenu(右键)\n      </template>\n      <template #code><Trigger /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-dropdown placement=\"bottom-start\">\n          <a>菜单(左) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown>\n          <a> 菜单(居中) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i> </a>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n\n        <r-dropdown placement=\"bottom-end\">\n          <a>菜单(右) <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>老干妈</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item>葱油饼</r-dropdown-item>\n            <r-dropdown-item>黄金糕</r-dropdown-item>\n            <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n      </template>\n      <template #header><span id=\"对齐方向\">对齐方向</span></template>\n      <template #desc>\n        通过设置属性<code>placement</code>可以更改下拉菜单出现的方向，与 Poptip 和 Tooltip\n        配置一致，支持 12 个方向，详见 API。\n      </template>\n      <template #code><Placement /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-dropdown placement=\"bottom-start\">\n          <a>北京小吃 <i class=\"rab-icon rab-icon-ios-arrow-down\"></i></a>\n          <r-dropdown-menu>\n            <r-dropdown-item>豆汁儿</r-dropdown-item>\n            <r-dropdown-item>炸酱面</r-dropdown-item>\n            <r-dropdown-item>驴打滚</r-dropdown-item>\n            <!-- 嵌套下拉菜单 start -->\n            <r-dropdown placement=\"right-start\">\n              <r-dropdown-item>\n                北京烤鸭 <i class=\"rab-icon rab-icon-ios-arrow-forward\"></i>\n              </r-dropdown-item>\n              <r-dropdown-menu>\n                <r-dropdown-item>壁炉烤鸭</r-dropdown-item>\n                <r-dropdown-item>焖炉烤鸭</r-dropdown-item>\n              </r-dropdown-menu>\n            </r-dropdown>\n            <!-- 嵌套下拉菜单 end -->\n            <r-dropdown-item>冰糖葫芦</r-dropdown-item>\n          </r-dropdown-menu>\n        </r-dropdown>\n      </template>\n      <template #header><span id=\"嵌套用法\">嵌套用法</span></template>\n      <template #desc>下拉菜单可以进行嵌套实现级联的效果，嵌套时注意设置子集的展开方向。</template>\n      <template #code><Nested /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Dropdown from '../../../../../src/components/dropdown'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Nested,\n  Trigger,\n  Placement,\n  APITable\n} from '../../../examples-code/components/dropdown'\n\nlet dropdown: Dropdown\n\nonMounted(() => {\n  dropdown = new Dropdown()\n  dropdown.config('#test').events({\n    onClick: (key) => {\n      console.log(key)\n    },\n    onVisibleChange: (visible) => {\n      console.log(visible)\n    }\n  })\n})\n\nconst handleOpen = () => (dropdown.config('#testCustom').visible = true)\nconst handleClose = () => (dropdown.config('#testCustom').visible = false)\n\nconst anchors: string[] = ['基础用法 ', '触发方式', '对齐方向', '嵌套用法', 'API']\n</script>\n\n<style lang=\"less\" scoped>\nr-dropdown {\n  margin-right: 16px;\n\n  &.custom r-dropdown-item:hover {\n    background-color: #fff;\n    cursor: default;\n  }\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Empty.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Empty\" title=\"空状态\" desc=\"空状态时的展示占位图。\">\n      <li>当目前没有数据时，用于显式的用户提示。</li>\n      <li>初始化场景时的引导创建流程。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-empty />\n      </template>\n      <template #header><span id=\"基础用法\"></span></template>\n      <template #desc>简单的展示。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-empty\n          desc=\"自定义的<a>描述</a>\"\n          image=\"https://gw.alipayobjects.com/mdn/miniapp_social/afts/img/A*pevERLJC9v0AAAAAAAAAAABjAQAAAQ/original\"\n          image-style=\"height: 60px\"\n        >\n          <button class=\"rab-btn rab-btn-primary\">立即创建</button>\n        </r-empty>\n      </template>\n      <template #header><span id=\"自定义\">自定义</span></template>\n      <template #desc>\n        <p>设置属性<code>image</code>自定义图片、<code>desc</code>设置描述、 </p>\n        <p>如果设置附属内容，容器下有且只能由一个父节点</p>\n      </template>\n      <template #code><Custom /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-empty desc=\"false\" />\n      </template>\n      <template #header><span id=\"无描述\">无描述</span></template>\n      <template #desc>\n        <p>设置属性<code>desc=\"false\"</code>不显示描述。</p>\n      </template>\n      <template #code><NoDesc /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Empty from '../../../../../src/components/empty'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, Custom, NoDesc, APITable } from '../../../examples-code/components/empty'\n\nonMounted(() => new Empty())\n\nconst anchors: string[] = ['基础用法', '自定义', '无描述', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/FAQ.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>常见问题</h1>\n    <p>\n      如果有更多的问题需要提问，请到\n      <a href=\"https://github.com/niu-grandpa/rabbit-ui/issues\" target=\"_blank\">Github</a>\n      仓库提交您宝贵的 issue，我们将其收集到这里展示。\n    </p>\n    <h3>为什么把组件的 HTML 代码放到页面上没有效果？</h3>\n    <p>\n      例如你想使用 Alert 组件，那么你首先要做的事情就是在它需要使用的地方全局初始化一次\n      <code>new Rabbit.Alert()</code> ，NPM 安装则 <code>new Alert()</code>。\n    </p>\n    <h3>rabbit-ui 在移动端体验不佳。</h3>\n    <p><code>rabbit-ui</code> 并非针对移动端设计。</p>\n    <h3>\n      当我通过关闭按钮或异步关闭 Message 或 Notice 组件后，为什么其提供的 then\n      接口的回调事件不生效？\n    </h3>\n    <p>\n      组件提供的\n      Promise接口是当实例自动关闭时才会触发的，并不是通过任意方式关闭组件都会调用该接口，如果您想通过手动移除消息后接着添加回调事件，请使用\n      <code>onClose</code> api，至于要在异步移除后添加事件，建议是在异步的那个时机里添加。\n    </p>\n    <h3>为什么通过<code>setAttribute</code>重新赋值，组件的内容或状态没有更新？</h3>\n    <p>\n      因为组件的初始化只有一次，所以用 setAttribute\n      重新赋值是不会有效果的，考虑到一些场景下需要异步更新，所以我们提供了\n      <code>config</code> 方法，具体请查看对应组件的 api 文档。\n    </p>\n    <h3>使用组件的 api 时显得有些繁琐。</h3>\n    <p>\n      有一些确实会显得比较繁琐，但是 <code>rabbit-ui</code> 内部帮您封装了一些有限的 DOM\n      操作，例如DOM元素获取并添加点击事件、鼠标移入移出事件等等，这些都不必您亲自操作。\n    </p>\n    <h3>rabbit-ui 覆盖了我的全局样式！</h3>\n    <p>\n      为了方便，我们覆盖了一些全局样式，尽量做到和\n      <code>rabbit-ui</code> 的样式统一，避免出现组件 ui 外观异常。\n    </p>\n  </article>\n</template>\n"
  },
  {
    "path": "site/src/pages/app/views/Icon.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>Icon 图标</h1>\n    <h2 id=\"概述\">概述</h2>\n    <p>\n      Rabbit UI 的所有图标均来自于开源图标库\n      <a href=\"https://www.iconfont.cn/\" target=\"_blank\">iconfont</a>。\n    </p>\n    <h2 id=\"图标合集\">图标合集</h2>\n    <p>点击下面的图标按钮可以直接复制组件代码</p>\n    <ul class=\"icon-list\">\n      <li v-for=\"(icon, idx) in iconList\" :key=\"icon\" @click=\"handleCopy(idx)\">\n        <i :class=\"'rab-icon rab-icon-' + icon\" />\n        <span class=\"icon-class\">{{ icon }}</span>\n      </li>\n    </ul>\n    <textarea id=\"copyTextarea\" ref=\"textarea\" />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from \"vue\";\nimport Message from \"../../../../../src/components/message\";\nimport { Anchor } from \"../../../components\";\n\nconst textarea = ref<HTMLTextAreaElement>();\n\nconst handleCopy = (index: number) => {\n  const input = textarea.value!;\n  const icon = `<i class=\"rab-icon rab-icon-${iconList[index]}\"></i>`;\n  input.value = icon;\n  input.select();\n  document.execCommand(\"copy\");\n  Message.success(\"HTML 代码已复制到剪切板\");\n};\n\nconst anchors: string[] = [\"概述\", \"图标合集\"];\n\nconst iconList: string[] = [\n  \"ios-add\",\n  \"md-add\",\n  \"ios-add-circle\",\n  \"ios-add-circle-outline\",\n  \"md-add-circle\",\n  \"ios-alarm\",\n  \"md-alarm\",\n  \"ios-albums\",\n  \"md-albums\",\n  \"ios-alert\",\n  \"ios-alert-outline\",\n  \"md-alert\",\n  \"ios-american-football\",\n  \"md-american-football\",\n  \"ios-analytics\",\n  \"md-analytics\",\n  \"logo-android\",\n  \"logo-angular\",\n  \"ios-aperture\",\n  \"md-aperture\",\n  \"logo-apple\",\n  \"ios-apps\",\n  \"md-apps\",\n  \"ios-appstore\",\n  \"md-appstore\",\n  \"ios-archive\",\n  \"md-archive\",\n  \"ios-arrow-back\",\n  \"md-arrow-back\",\n  \"ios-arrow-down\",\n  \"md-arrow-down\",\n  \"ios-arrow-dropdown\",\n  \"md-arrow-dropdown\",\n  \"ios-arrow-dropdown-circle\",\n  \"md-arrow-dropdown-circle\",\n  \"ios-arrow-dropleft\",\n  \"md-arrow-dropleft\",\n  \"ios-arrow-dropleft-circle\",\n  \"md-arrow-dropleft-circle\",\n  \"ios-arrow-dropright\",\n  \"md-arrow-dropright\",\n  \"ios-arrow-dropright-circle\",\n  \"md-arrow-dropright-circle\",\n  \"ios-arrow-dropup\",\n  \"md-arrow-dropup\",\n  \"ios-arrow-dropup-circle\",\n  \"md-arrow-dropup-circle\",\n  \"ios-arrow-forward\",\n  \"md-arrow-forward\",\n  \"ios-arrow-round-back\",\n  \"md-arrow-round-back\",\n  \"ios-arrow-round-down\",\n  \"md-arrow-round-down\",\n  \"ios-arrow-round-forward\",\n  \"md-arrow-round-forward\",\n  \"ios-arrow-round-up\",\n  \"md-arrow-round-up\",\n  \"ios-at\",\n  \"md-at\",\n  \"ios-attach\",\n  \"md-attach\",\n  \"ios-backspace\",\n  \"md-backspace\",\n  \"ios-barcode\",\n  \"md-barcode\",\n  \"ios-baseball\",\n  \"md-baseball\",\n  \"ios-basket\",\n  \"md-basket\",\n  \"ios-basketball\",\n  \"md-basketball\",\n  \"ios-battery-charging\",\n  \"md-battery-charging\",\n  \"ios-battery-dead\",\n  \"md-battery-dead\",\n  \"ios-battery-full\",\n  \"md-battery-full\",\n  \"ios-beaker\",\n  \"md-beaker\",\n  \"ios-beer\",\n  \"md-beer\",\n  \"ios-bicycle\",\n  \"md-bicycle\",\n  \"logo-bitcoin\",\n  \"ios-bluetooth\",\n  \"md-bluetooth\",\n  \"ios-boat\",\n  \"md-boat\",\n  \"ios-body\",\n  \"md-body\",\n  \"ios-bonfire\",\n  \"md-bonfire\",\n  \"ios-book\",\n  \"md-book\",\n  \"ios-bookmark\",\n  \"md-bookmark\",\n  \"ios-bookmarks\",\n  \"md-bookmarks\",\n  \"ios-bowtie\",\n  \"md-bowtie\",\n  \"ios-briefcase\",\n  \"md-briefcase\",\n  \"ios-browsers\",\n  \"md-browsers\",\n  \"ios-brush\",\n  \"md-brush\",\n  \"logo-buffer\",\n  \"ios-bug\",\n  \"md-bug\",\n  \"ios-build\",\n  \"md-build\",\n  \"ios-bulb\",\n  \"md-bulb\",\n  \"ios-bus\",\n  \"md-bus\",\n  \"ios-cafe\",\n  \"md-cafe\",\n  \"ios-calculator\",\n  \"md-calculator\",\n  \"ios-calendar\",\n  \"md-calendar\",\n  \"ios-call\",\n  \"md-call\",\n  \"ios-camera\",\n  \"md-camera\",\n  \"ios-car\",\n  \"md-car\",\n  \"ios-card\",\n  \"md-card\",\n  \"md-cart\",\n  \"ios-cash\",\n  \"md-cash\",\n  \"ios-checkbox\",\n  \"ios-checkbox-outline\",\n  \"md-checkbox\",\n  \"md-checkbox-outline\",\n  \"ios-checkmark\",\n  \"md-checkmark\",\n  \"ios-checkmark-circle\",\n  \"ios-checkmark-circle-outline\",\n  \"md-checkmark-circle\",\n  \"md-checkmark-circle-outline\",\n  \"logo-chrome\",\n  \"ios-clipboard\",\n  \"md-clipboard\",\n  \"ios-clock\",\n  \"md-clock\",\n  \"ios-close\",\n  \"md-close\",\n  \"ios-close-circle\",\n  \"ios-close-circle-outline\",\n  \"md-close-circle\",\n  \"md-close-circle-outline\",\n  \"logo-closed-captioning\",\n  \"ios-cloud\",\n  \"ios-cloud-outline\",\n  \"md-cloud\",\n  \"md-cloud-outline\",\n  \"ios-cloud-circle\",\n  \"md-cloud-circle\",\n  \"ios-cloud-done\",\n  \"md-cloud-done\",\n  \"ios-cloud-download\",\n  \"md-cloud-download\",\n  \"ios-cloud-upload\",\n  \"md-cloud-upload\",\n  \"ios-cloudy\",\n  \"md-cloudy\",\n  \"ios-cloudy-night\",\n  \"md-cloudy-night\",\n  \"ios-code\",\n  \"md-code\",\n  \"ios-code-download\",\n  \"md-code-download\",\n  \"ios-code-working\",\n  \"md-code-working\",\n  \"logo-codepen\",\n  \"ios-cog\",\n  \"md-cog\",\n  \"ios-color-fill\",\n  \"md-color-fill\",\n  \"ios-color-filter\",\n  \"md-color-filter\",\n  \"ios-color-palette\",\n  \"md-color-palette\",\n  \"ios-color-wand\",\n  \"md-color-wand\",\n  \"ios-compass\",\n  \"md-compass\",\n  \"ios-construct\",\n  \"md-construct\",\n  \"ios-contact\",\n  \"md-contact\",\n  \"ios-contacts\",\n  \"md-contacts\",\n  \"ios-contract\",\n  \"md-contract\",\n  \"ios-contrast\",\n  \"md-contrast\",\n  \"ios-copy\",\n  \"md-copy\",\n  \"ios-create\",\n  \"md-create\",\n  \"ios-crop\",\n  \"md-crop\",\n  \"logo-css\",\n  \"ios-cube\",\n  \"md-cube\",\n  \"ios-cut\",\n  \"md-cut\",\n  \"logo-designernews\",\n  \"ios-desktop\",\n  \"md-desktop\",\n  \"ios-disc\",\n  \"md-disc\",\n  \"ios-document\",\n  \"md-document\",\n  \"ios-done-all\",\n  \"md-done-all\",\n  \"ios-download\",\n  \"md-download\",\n  \"logo-dribbble\",\n  \"logo-dropbox\",\n  \"ios-easel\",\n  \"md-easel\",\n  \"ios-egg\",\n  \"md-egg\",\n  \"logo-euro\",\n  \"ios-exit\",\n  \"md-exit\",\n  \"ios-expand\",\n  \"md-expand\",\n  \"ios-eye\",\n  \"md-eye\",\n  \"ios-eye-off\",\n  \"md-eye-off\",\n  \"logo-facebook\",\n  \"ios-fastforward\",\n  \"md-fastforward\",\n  \"ios-female\",\n  \"md-female\",\n  \"ios-filing\",\n  \"md-filing\",\n  \"ios-film\",\n  \"md-film\",\n  \"ios-finger-print\",\n  \"md-finger-print\",\n  \"ios-flag\",\n  \"md-flag\",\n  \"ios-flame\",\n  \"md-flame\",\n  \"ios-flash\",\n  \"md-flash\",\n  \"ios-flask\",\n  \"md-flask\",\n  \"ios-flower\",\n  \"md-flower\",\n  \"ios-flower\",\n  \"md-flower\",\n  \"ios-folder\",\n  \"md-folder\",\n  \"ios-folder-open\",\n  \"md-folder-open\",\n  \"ios-football\",\n  \"md-football\",\n  \"logo-foursquare\",\n  \"logo-freebsd-devil\",\n  \"ios-funnel\",\n  \"md-funnel\",\n  \"logo-game-controller-a\",\n  \"logo-game-controller-b\",\n  \"ios-git-branch\",\n  \"md-git-branch\",\n  \"ios-git-commit\",\n  \"md-git-commit\",\n  \"ios-git-compare\",\n  \"md-git-compare\",\n  \"ios-git-merge\",\n  \"md-git-merge\",\n  \"ios-git-network\",\n  \"md-git-network\",\n  \"ios-git-pull-request\",\n  \"md-git-pull-request\",\n  \"logo-github\",\n  \"ios-glasses\",\n  \"md-glasses\",\n  \"ios-globe\",\n  \"md-globe\",\n  \"logo-google\",\n  \"logo-googleplus\",\n  \"ios-grid\",\n  \"md-grid\",\n  \"logo-hackernews\",\n  \"ios-hammer\",\n  \"md-hammer\",\n  \"ios-hand\",\n  \"md-hand\",\n  \"ios-happy\",\n  \"md-happy\",\n  \"ios-headset\",\n  \"md-headset\",\n  \"ios-heart\",\n  \"md-heart\",\n  \"ios-help\",\n  \"md-help\",\n  \"ios-help-buoy\",\n  \"md-help-buoy\",\n  \"ios-help-circle\",\n  \"ios-help-circle-outline\",\n  \"md-help-circle\",\n  \"md-help-circle-outline\",\n  \"ios-home\",\n  \"md-home\",\n  \"ios-ice-cream\",\n  \"md-ice-cream\",\n  \"ios-image\",\n  \"md-image\",\n  \"ios-images\",\n  \"md-images\",\n  \"ios-infinite\",\n  \"md-infinite\",\n  \"ios-information\",\n  \"ios-information-circle\",\n  \"ios-information-circle-outline\",\n  \"md-information\",\n  \"md-information-circle\",\n  \"logo-javascript\",\n  \"ios-jet\",\n  \"md-jet\",\n  \"ios-key\",\n  \"md-key\",\n  \"ios-keypad\",\n  \"md-keypad\",\n  \"ios-laptop\",\n  \"md-laptop\",\n  \"ios-leaf\",\n  \"md-leaf\",\n  \"ios-link\",\n  \"md-link\",\n  \"logo-linkedin\",\n  \"ios-list\",\n  \"md-list\",\n  \"ios-list-box\",\n  \"md-list-box\",\n  \"ios-locate\",\n  \"md-locate\",\n  \"ios-lock\",\n  \"md-lock\",\n  \"ios-log-in\",\n  \"md-log-in\",\n  \"ios-log-out\",\n  \"md-log-out\",\n  \"ios-magnet\",\n  \"md-magnet\",\n  \"ios-mail\",\n  \"md-mail\",\n  \"ios-mail-open\",\n  \"md-mail-open\",\n  \"ios-male\",\n  \"md-male\",\n  \"ios-man\",\n  \"md-man\",\n  \"ios-map\",\n  \"md-map\",\n  \"logo-markdown\",\n  \"ios-medal\",\n  \"md-medal\",\n  \"ios-medical\",\n  \"md-medical\",\n  \"ios-medkit\",\n  \"md-medkit\",\n  \"ios-megaphone\",\n  \"md-megaphone\",\n  \"ios-menu\",\n  \"md-menu\",\n  \"ios-mic\",\n  \"md-mic\",\n  \"ios-mic-off\",\n  \"md-mic-off\",\n  \"ios-microphone\",\n  \"md-microphone\",\n  \"ios-moon\",\n  \"md-moon\",\n  \"ios-more\",\n  \"md-more\",\n  \"ios-move\",\n  \"md-move\",\n  \"ios-musical-note\",\n  \"md-musical-note\",\n  \"ios-musical-notes\",\n  \"md-musical-notes\",\n  \"ios-navigate\",\n  \"md-navigate\",\n  \"logo-no-smoking\",\n  \"logo-nodejs\",\n  \"ios-notifications\",\n  \"md-notifications\",\n  \"ios-notifications-off\",\n  \"md-notifications-off\",\n  \"ios-nuclear\",\n  \"md-nuclear\",\n  \"ios-nutrition\",\n  \"md-nutrition\",\n  \"logo-octocat\",\n  \"ios-open\",\n  \"md-open\",\n  \"ios-options\",\n  \"md-options\",\n  \"ios-outlet\",\n  \"md-outlet\",\n  \"ios-paper\",\n  \"md-paper\",\n  \"ios-paper-plane\",\n  \"md-paper-plane\",\n  \"ios-partly-sunny\",\n  \"md-partly-sunny\",\n  \"ios-pause\",\n  \"md-pause\",\n  \"ios-paw\",\n  \"md-paw\",\n  \"ios-people\",\n  \"md-people\",\n  \"ios-person\",\n  \"md-person\",\n  \"ios-person-add\",\n  \"md-person-add\",\n  \"ios-phone-landscape\",\n  \"md-phone-landscape\",\n  \"ios-phone-portrait\",\n  \"md-phone-portrait\",\n  \"ios-photos\",\n  \"md-photos\",\n  \"ios-pie\",\n  \"md-pie\",\n  \"ios-pin\",\n  \"md-pin\",\n  \"ios-print\",\n  \"md-print\",\n  \"logo-pinterest\",\n  \"ios-pizza\",\n  \"md-pizza\",\n  \"ios-planet\",\n  \"md-planet\",\n  \"ios-play\",\n  \"md-play\",\n  \"logo-playstation\",\n  \"ios-podium\",\n  \"md-podium\",\n  \"ios-power\",\n  \"md-power\",\n  \"ios-pricetag\",\n  \"md-pricetag\",\n  \"ios-pricetags\",\n  \"md-pricetags\",\n  \"ios-print\",\n  \"md-print\",\n  \"ios-pulse\",\n  \"md-pulse\",\n  \"logo-python\",\n  \"ios-qr-scanner\",\n  \"md-qr-scanner\",\n  \"ios-quote\",\n  \"md-quote\",\n  \"ios-radio\",\n  \"md-radio\",\n  \"ios-radio-button-off\",\n  \"md-radio-button-off\",\n  \"ios-radio-button-on\",\n  \"md-radio-button-on\",\n  \"ios-rainy\",\n  \"md-rainy\",\n  \"ios-recording\",\n  \"md-recording\",\n  \"logo-reddit\",\n  \"ios-redo\",\n  \"md-redo\",\n  \"ios-refresh\",\n  \"md-refresh\",\n  \"ios-refresh-circle\",\n  \"md-refresh-circle\",\n  \"ios-remove\",\n  \"md-remove\",\n  \"ios-remove-circle\",\n  \"md-remove-circle\",\n  \"ios-reorder\",\n  \"md-reorder\",\n  \"ios-repeat\",\n  \"md-repeat\",\n  \"ios-resize\",\n  \"md-resize\",\n  \"ios-restaurant\",\n  \"md-restaurant\",\n  \"ios-return-left\",\n  \"md-return-left\",\n  \"ios-return-right\",\n  \"md-return-right\",\n  \"ios-reverse-camera\",\n  \"md-reverse-camera\",\n  \"ios-rewind\",\n  \"md-rewind\",\n  \"ios-ribbon\",\n  \"md-ribbon\",\n  \"ios-rose\",\n  \"md-rose\",\n  \"logo-rss\",\n  \"ios-sad\",\n  \"md-sad\",\n  \"logo-sass\",\n  \"ios-school\",\n  \"md-school\",\n  \"ios-search\",\n  \"md-search\",\n  \"ios-send\",\n  \"md-send\",\n  \"ios-settings\",\n  \"md-settings\",\n  \"ios-share\",\n  \"md-share\",\n  \"ios-share-alt\",\n  \"md-share-alt\",\n  \"ios-shirt\",\n  \"md-shirt\",\n  \"ios-shuffle\",\n  \"md-shuffle\",\n  \"ios-skip-backward\",\n  \"md-skip-backward\",\n  \"ios-skip-forward\",\n  \"md-skip-forward\",\n  \"logo-skype\",\n  \"logo-snapchat\",\n  \"ios-snow\",\n  \"md-snow\",\n  \"ios-speedometer\",\n  \"md-speedometer\",\n  \"ios-square\",\n  \"md-square\",\n  \"ios-star\",\n  \"md-star\",\n  \"ios-star-half\",\n  \"md-star-half\",\n  \"ios-stats\",\n  \"md-stats\",\n  \"logo-steam\",\n  \"ios-stopwatch\",\n  \"md-stopwatch\",\n  \"ios-subway\",\n  \"md-subway\",\n  \"ios-subway\",\n  \"md-subway\",\n  \"ios-sunny\",\n  \"md-sunny\",\n  \"ios-swap\",\n  \"md-swap\",\n  \"ios-switch\",\n  \"md-switch\",\n  \"ios-sync\",\n  \"md-sync\",\n  \"ios-tablet-landscape\",\n  \"md-tablet-landscape\",\n  \"ios-tablet-portrait\",\n  \"md-tablet-portrait\",\n  \"ios-tennisball\",\n  \"md-tennisball\",\n  \"ios-text\",\n  \"md-text\",\n  \"ios-thermometer\",\n  \"md-thermometer\",\n  \"ios-thumbs-down\",\n  \"md-thumbs-down\",\n  \"ios-thumbs-up\",\n  \"md-thumbs-up\",\n  \"ios-thunderstorm\",\n  \"md-thunderstorm\",\n  \"ios-time\",\n  \"md-time\",\n  \"ios-timer\",\n  \"md-timer\",\n  \"ios-train\",\n  \"md-train\",\n  \"ios-transgender\",\n  \"md-transgender\",\n  \"ios-trash\",\n  \"md-trash\",\n  \"ios-trending-down\",\n  \"md-trending-down\",\n  \"ios-trending-up\",\n  \"md-trending-up\",\n  \"ios-trophy\",\n  \"md-trophy\",\n  \"logo-tumblr\",\n  \"logo-tux\",\n  \"logo-twitch\",\n  \"logo-twitter\",\n  \"ios-umbrella\",\n  \"md-umbrella\",\n  \"ios-undo\",\n  \"md-undo\",\n  \"ios-unlock\",\n  \"md-unlock\",\n  \"logo-usd\",\n  \"ios-videocam\",\n  \"md-videocam\",\n  \"logo-vimeo\",\n  \"ios-volume-low\",\n  \"md-volume-low\",\n  \"ios-volume-mute\",\n  \"md-volume-mute\",\n  \"ios-volume-off\",\n  \"md-volume-off\",\n  \"ios-volume-high\",\n  \"md-volume-high\",\n  \"ios-walk\",\n  \"md-walk\",\n  \"ios-warning\",\n  \"md-warning\",\n  \"ios-watch\",\n  \"md-watch\",\n  \"ios-water\",\n  \"md-water\",\n  \"logo-whatsapp\",\n  \"ios-wifi\",\n  \"md-wifi\",\n  \"logo-windows\",\n  \"ios-wine\",\n  \"md-wine\",\n  \"ios-woman\",\n  \"md-woman\",\n  \"logo-wordpress\",\n  \"logo-xbox\",\n  \"logo-yahoo\",\n  \"logo-yen\",\n  \"logo-youtube\",\n  \"loading-solid\",\n  \"loading1\",\n];\n</script>\n\n<style lang=\"less\" scoped>\nul.icon-list {\n  margin: 10px 0;\n  overflow: hidden;\n  list-style: none;\n\n  li {\n    position: relative;\n    float: left;\n    width: 14.6%;\n    height: 100px;\n    margin: 3px 0;\n    padding: 15px 0 0;\n    overflow: hidden;\n    color: #555;\n    text-align: center;\n    list-style: none;\n    background-color: inherit;\n    border-radius: 4px;\n    cursor: pointer;\n    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n\n    &:hover {\n      color: #fff;\n      background-color: #1890ff;\n\n      .rab-icon {\n        transform: scale(1.4);\n      }\n    }\n\n    .rab-icon {\n      margin: 12px 0 32px;\n      font-size: 36px;\n      transition: transform 0.3s ease-in-out;\n      will-change: transform;\n    }\n\n    .icon-class {\n      display: block;\n      white-space: nowrap;\n      text-align: center;\n      transform: scale(1);\n    }\n  }\n}\n\n#copyTextarea {\n  position: absolute;\n  top: -100%;\n  left: -100%;\n  opacity: 0;\n  z-index: -9999;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/InputNumber.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"InputNumber\"\n      title=\"数字输入框\"\n      desc=\"通过鼠标或键盘，输入范围内的数值。\"\n    >\n      <li>当需要获取标准数值时。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"1\" min=\"1\" max=\"10\" id=\"test1\" />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>可以通过输入、鼠标点击或键盘的上下键来改变数值大小。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"1\" min=\"1\" max=\"10\" step=\"1.2\" />\n      </template>\n      <template #header><span id=\"小数\">小数</span></template>\n      <template #desc>通过设置<code>step</code>属性控制每次改变的精度。</template>\n      <template #code><Step /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number\n          value=\"1000\"\n          :formatter=\"formatter1\"\n          parser=\"[/\\$\\s?|(,*)/g, '']\"\n        />\n        <r-input-number value=\"100\" :formatter=\"formatter2\" />\n      </template>\n      <template #header><span id=\"格式化展示\">格式化展示</span></template>\n      <template #desc>\n        <p>\n          通过<code>formatter</code>格式化数字，以展示具有具体含义的数据，往往需要配合<code>parser</code>一起使用。\n        </p>\n        <p><code>formatter</code>属性的值的字符串格式为：反引号包裹 ${value}。</p>\n        <p>\n          <code>parser</code\n          >属性的值需为字符串的数组，第一个位置为要匹配替换的内容，第二个位置为替换后的结果；若无该属性则使用默认的匹配规则转换。\n        </p>\n      </template>\n      <template #code><Formatter /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"3\" size=\"small\" />\n        <r-input-number value=\"3\" />\n        <r-input-number value=\"3\" size=\"large\" />\n      </template>\n      <template #header><span id=\"尺寸\">尺寸</span></template>\n      <template #desc>\n        <p>\n          通过设置<code>size</code>属性为<code>large</code>和<code>small</code>将输入框设置为大和小尺寸，不设置为默认尺寸。\n        </p>\n      </template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"1\" disabled=\"true\" id=\"test2\" />\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleClick\">禁用状态</button>\n      </template>\n      <template #header><span id=\"不可用\">不可用</span></template>\n      <template #desc>\n        通过设置<code>disabled=\"true\"</code>属性禁用输入框，点击按钮切换状态。\n      </template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"1\" readOnly=\"true\" />\n      </template>\n      <template #header><span id=\"只读\">只读</span></template>\n      <template #desc>通过设置<code>readonly=\"true\"</code>属性开启只读。</template>\n      <template #code><ReadOnly /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"1\" editable=\"false\" />\n      </template>\n      <template #header><span id=\"不可编辑\">不可编辑</span></template>\n      <template #desc>通过设置<code>editable=\"false\"</code>属性控制是否能编辑。</template>\n      <template #code><Editable /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-input-number value=\"1\" controls-outside=\"true\" />\n      </template>\n      <template #header><span id=\"按钮位置\">按钮位置</span></template>\n      <template #desc>\n        通过设置<code>controls-outside=\"true\"</code>属性可以将按钮位置置于输入框两侧。\n      </template>\n      <template #code><ControlsOutside /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport InputNumber from \"../../../../../src/components/input-number\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Size,\n  Editable,\n  Formatter,\n  Step,\n  ReadOnly,\n  Disabled,\n  ControlsOutside,\n  APITable,\n} from \"../../../examples-code/components/input-number\";\n\nlet inputNumber: InputNumber,\n  flag = true;\n\nonMounted(() => {\n  inputNumber = new InputNumber();\n  inputNumber.config(\"#test1\").events({\n    onChange: (value) => {\n      console.log(\"changed!\", value);\n    },\n  });\n});\n\nconst formatter1 = \"`$ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\";\nconst formatter2 = \"`${value}%`\";\n\nconst handleClick = () => {\n  flag ? (flag = !flag) : (flag = true);\n  inputNumber.config(\"#test2\").disabled = flag;\n};\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"小数\",\n  \"格式化展示\",\n  \"尺寸\",\n  \"不可用\",\n  \"只读\",\n  \"不可编辑\",\n  \"按钮位置\",\n  \"API\",\n];\n</script>\n\n<style scoped>\nr-input-number {\n  margin-right: 12px;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Install.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>安装</h1>\n    <h2 id=\"CDN-引入\">CDN 引入</h2>\n    <p>\n      我们在 npm 发布包内的 <code>rabbit-simple-ui/dist</code> 目录下提供了 <code>rabbit.js</code>\n      <code>rabbit.min.js</code> 以及 <code>styles/rabbit.css</code>。你也可以通过\n      <a href=\"https://www.jsdelivr.com/package/npm/rabbit-simple-ui\" target=\"_blank\">jsDelivr</a>\n      或\n      <a href=\"https://unpkg.com/rabbit-simple-ui/dist/\" target=\"_blank\">UNPKG </a>\n      进行下载。\n    </p>\n    <CDNAZ />\n    <h3>示例</h3>\n    <p>通过 CDN 可以快速使用 Rabbit UI 写出一个示例：</p>\n    <SL />\n    <h2 id=\"Npm 或 Yarn 安装\">Npm 或 Yarn 安装</h2>\n    <p>\n      我们推荐使用 npm 或 yarn\n      的方式进行开发，不仅可在开发环境轻松调试，也可放心地在生产环境打包部署使用，享受整个生态圈和工具链带来的诸多好处，也推荐使用\n      ES2015。\n    </p>\n    <blockquote>\n      &nbsp;&nbsp;后续将使用按需引入的方式引入 Rabbit UI，由于源文件使用 TS 编写，因此你将需要使用\n      TS 编写你的项目代码\n    </blockquote>\n    <AZCode />\n    <p>\n      如果你的网络环境不佳，推荐使用\n      <a href=\"https://github.com/cnpm/cnpm\" target=\"_blank\"> cnpm </a>。\n    </p>\n    <p>\n      如果您使用了此方式安装，并使用 webpack 作为构建工具，请继续阅读\n      <router-link to=\"/docs/start\">快速上手</router-link> 章节。\n    </p>\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { AZCode } from '../../../examples-code/docs/introduce'\nimport { CDNAZ, SL } from '../../../examples-code/docs/install'\nimport { Anchor } from '../../../components'\n\nconst anchors: string[] = ['CDN-引入', 'Npm 或 Yarn 安装']\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/Introduce.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>关于 Rabbit UI</h1>\n    <p>\n      <code>Rabbit UI</code> ，是一个基于 Javascript 并使用 Typescript 编写的开源 UI\n      组件库，主要使用于 PC 界面。\n    </p>\n    <p>\n      <code>Rabbit UI</code>提供的组件 HTML 代码奉行着简洁至上、简单表意、易于分辨的准则。\n    </p>\n    <p>\n      不知你是否有这样的苦恼，例如 Boostrap ，你想使用一个 Modal 组件但是其提供的 HTML\n      代码多达十几二十行，再加上自己填充的内容就更不用说了，如果不加注释后期难以找到其位置和分辨，\n      而<code>rabbit-ui</code>提供的代码仅仅几行，不仅清晰还让你更易分辨。\n    </p>\n    <h2 id=\"特性\">特性</h2>\n    <ul>\n      <li v-for=\"item in features\" :key=\"item\">{{ item }}</li>\n    </ul>\n    <h2 id=\"安装\">安装</h2>\n    <h3 id=\"使用-npm-或-yarn-安装\">使用 npm 或 yarn 安装</h3>\n    <blockquote>\n      &nbsp;&nbsp;注意：请先阅读<router-link to=\"/docs/install\">安装</router-link>章节！\n    </blockquote>\n    <AZCode />\n    <h3 id=\"浏览器引入\">浏览器引入</h3>\n    <p>\n      在浏览器中使用 <code>script</code> 和\n      <code>link</code> 标签直接引入文件，并使用全局变量 <code>Rabbit</code>。\n    </p>\n    <AZCode2 />\n    <h2 id=\"示例\">示例</h2>\n    <SLCode />\n    <p>效果</p>\n    <r-progress percent=\"10\" id=\"example\" />\n    <button type=\"button\" class=\"rab-btn rab-btn-primary\" @click=\"handleStar\">\n      模拟进度条\n    </button>\n    <button type=\"button\" class=\"rab-btn\" @click=\"handleRest\">重置</button>\n    <h2 id=\"版本\">版本</h2>\n    <p>\n      <a href=\"https://www.npmjs.com/package/rabbit-simple-ui\" target=\"_blank\">\n        <img src=\"https://img.shields.io/npm/v/rabbit-simple-ui.svg?style=flat-square\" />\n      </a>\n    </p>\n    <h2 id=\"兼容\">兼容</h2>\n    <ul>\n      <li>支持所有能运行 Javascript 的地方</li>\n      <li>支持与其他的 UI 库或框架一起使用</li>\n      <li>支持 TypeScript</li>\n      <li>支持现代浏览器和 Internet Explorer 10+</li>\n    </ul>\n    <h2 id=\"相关链接\">相关链接</h2>\n    <ul>\n      <li v-for=\"link in relatedLinks\" :key=\"link.title\">\n        <a :href=\"link.href\" target=\"_blank\">\n          {{ link.title }}\n        </a>\n      </li>\n    </ul>\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Progress from \"../../../../../src/components/progress\";\nimport { Anchor } from \"../../../components\";\nimport { AZCode, AZCode2, SLCode } from \"../../../examples-code/docs/introduce\";\n\nconst features: string[] = [\n  \"使用简洁且语义化的自定义标签\",\n  \"优雅、简洁的标签代码，与庞大且臃肿令人眼花缭乱的结构区别\",\n  \"不依赖任何第三方框架，底层基于原生 Javascript，引入即用\",\n  \"能与 Vue、jQuery 或者其他第三方库和框架配合使用\",\n  \"丰富的组件和功能，满足大部分网站场景\",\n  \"细致、漂亮的 UI\",\n  \"事无巨细的文档\",\n];\nconst relatedLinks: {\n  href: string;\n  title: string;\n}[] = [\n  {\n    href: \"https://es6.ruanyifeng.com/\",\n    title: \"ECMAScript 6\",\n  },\n  {\n    href: \"https://www.tslang.cn/docs/home.html\",\n    title: \"Typescript\",\n  },\n  {\n    href: \"https://webpack.docschina.org/\",\n    title: \"Webpack\",\n  },\n  {\n    href: \"https://www.iconfont.cn/\",\n    title: \"阿里巴巴矢量图标库\",\n  },\n  {\n    href: \"https://www.jq22.com/myhome\",\n    title: \"jQuery插件库\",\n  },\n  {\n    href: \"https://www.iviewui.com/\",\n    title: \"View UI\",\n  },\n  {\n    href: \"https://2x.antdv.com/components/overview-cn/\",\n    title: \"Ant Design Vue\",\n  },\n];\nconst anchors: string[] = [\"特性\", \"安装\", \"示例\", \"版本\", \"兼容\", \"相关链接\"];\n\nlet progress: Progress,\n  timer: any = null,\n  n = 10;\n\nonMounted(() => (progress = new Progress()));\n\nconst handleStar = () => {\n  if (timer) clearInterval(timer);\n\n  timer = setInterval(() => {\n    if (n >= 100) clearInterval(timer);\n    n = n + Math.random() * 10 >= 100 ? 100 : (n + Math.random() * 10) | 0;\n    progress.config(\"#example\").percent = n;\n  }, 300 + Math.random() * 1000);\n};\nconst handleRest = () => {\n  if (timer) clearInterval(timer);\n  n = 0;\n  progress.config(\"#example\").percent = 0;\n};\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/Jumbotron.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Jumbotron\"\n      title=\"巨幕\"\n      desc=\"用于排版和分行，以便在较大的容器中分隔内容。\"\n    >\n      <li>当需要展示巨大的标题和段落时使用。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-jumbotron\n          title=\"Hello, world!\"\n          sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\"\n        >\n          <div>\n            <hr style=\"margin-bottom: 1.5rem\" />\n            <p>它使用实用程序类来排版和空格，以便在较大的容器中分隔内容。</p>\n            <button class=\"rab-btn rab-btn-primary rab-btn-lg\">了解更多</button>\n          </div>\n        </r-jumbotron>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc> 最简单的用法，如果添加额外内容则标签容器下必须具有一个父元素 </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-jumbotron\n          type=\"light\"\n          title=\"Hello, world!\"\n          sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\"\n        />\n        <r-jumbotron\n          type=\"dark\"\n          title=\"Hello, world!\"\n          sub-title=\"这个世界充满着爱与包容、善良与高尚，美好相伴着我们的每一天。英雄般的人物在这个时代层出不穷，感谢您的使用！\"\n        />\n      </template>\n      <template #header><span id=\"外观\">外观</span></template>\n      <template #desc>通过设置属性<code>type</code>切换外观背景色 </template>\n      <template #code><Appearance /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Jumbotron from '../../../../../src/components/jumbotron'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, Appearance, APITable } from '../../../examples-code/components/jumbotron'\n\nonMounted(() => new Jumbotron())\n\nconst anchors: string[] = ['基础用法', '外观', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/LoadingBar.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>LoadingBar 加载进度条</h1>\n    <blockquote>\n      特别提醒： 非 NPM 环境下调用实例方法必须添加<code>Rabbit</code>前缀，反之则无需。\n    </blockquote>\n    <h2>概述</h2>\n    <p>全局创建一个显示页面加载、异步请求、文件上传等的加载进度条。</p>\n    <h2>说明</h2>\n    <p>\n      LoadingBar\n      只会在全局创建一个，因此在任何位置调用的方法都会控制这同一个组件。主要使用场景是路由切换和Ajax，因为这两者都不能拿到精确的进度，LoadingBar\n      会模拟进度，当然也可以通过<code>update()</code>方法来传入一个精确的进度，比如在文件上传时会很有用，具体见API。\n    </p>\n    <p>在路由中使用 </p>\n    <UsedInRoute />\n    <p>在异步请求中使用</p>\n    <UseInAsync />\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"start\">开始</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"finish\">完成</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"error\">错误</button>\n      </template>\n      <template #header><span id=\"基本用法\">基本用法</span></template>\n      <template #desc>\n        点击 Start 开始进度，点击 Finish\n        结束。在调用<code>start()</code>方法后，组件会自动模拟进度，当调用<code>finish()</code>或<code>error()</code>时，补全进度并自动消失。\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport Loading from '../../../../../src/components/loading-bar'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  UsedInRoute,\n  UseInAsync,\n  APITable\n} from '../../../examples-code/components/loading-bar'\n\nconst anchors: string[] = ['基础用法', 'API']\nconst start = () => {\n  Loading.start()\n}\nconst finish = () => {\n  Loading.finish()\n}\nconst error = () => {\n  Loading.error()\n}\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Message.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Message\"\n      title=\"全局提示\"\n      desc=\"全局展示操作反馈信息。\"\n      :showTip=\"false\"\n    >\n      <li>可提供成功、警告和错误等反馈信息。</li>\n      <li>顶部居中显示并自动消失，是一种不打断用户操作的轻量级提示方式。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\" @click=\"info\">\n          显示普通提示\n        </button>\n      </template>\n      <template #header><span id=\"普通提示\">普通提示</span></template>\n      <template #desc>最基本的提示，默认在3秒后消失。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"success\">显示成功提示</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"warning\">显示警告提示</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"error\">显示错误提示</button>\n      </template>\n      <template #header><span id=\"提示类型\">提示类型</span></template>\n      <template #desc>包括成功、失败、警告。</template>\n      <template #code><Type /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"background('info')\">\n          显示普通提示\n        </button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"background('success')\">\n          显示成功提示\n        </button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"background('warning')\">\n          显示警告提示\n        </button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"background('error')\">\n          显示错误提示\n        </button>\n      </template>\n      <template #header><span id=\"带背景色\">带背景色</span></template>\n      <template #desc>\n        设置属性<code>background</code>为<code>true</code>后，通知提示会显示背景色。\n      </template>\n      <template #code><Background /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"loading\">显示加载中...</button>\n      </template>\n      <template #header><span id=\"加载中\">加载中</span></template>\n      <template #desc>\n        进行全局 loading，异步自行移除。需要手动调用<code>destroy</code>方法关闭\n      </template>\n      <template #code><Loading /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"promise\">\n          显示一个Promise的提示\n        </button>\n      </template>\n      <template #header><span id=\"Promise 接口\">Promise 接口</span></template>\n      <template #desc>\n        <p>\n          可以通过 then 接口在关闭后运行 callback 。以上用例将在每个 Message\n          将要结束时通过 then 显示新的 Message 。\n        </p>\n        <p>如果手动通过关闭按钮结束则无效。</p>\n      </template>\n      <template #code><Promise /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"time\">显示一个10秒的提示</button>\n      </template>\n      <template #header><span id=\"自定义时长\">自定义时长</span></template>\n      <template #desc>\n        自定义时长，也可以在<code>config</code>中全局配置，详见API。\n      </template>\n      <template #code><Time /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"closable\">显示可关闭的提示</button>\n      </template>\n      <template #header><span id=\"可关闭\">可关闭</span></template>\n      <template #desc>设置<code>closable</code>为 true 后可以手动关闭提示。</template>\n      <template #code><Closable /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"useHtml\">使用 HTML 片段</button>\n      </template>\n      <template #header><span id=\"使用 HTML 片段\">使用 HTML 片段</span></template>\n      <template #desc>传入 HTML 片段</template>\n      <template #code><UseHTML /></template>\n    </CodeBox>\n    <blockquote>\n      <code>content</code>属性虽然支持传入 HTML 片段，但是在网站上动态渲染任意 HTML\n      是非常危险的，因为容易导致<a\n        href=\"https://en.wikipedia.org/wiki/Cross-site_scripting\"\n        target=\"_blank\"\n        >XSS 攻击</a\n      >\n      。因此在<code>dangerouslyUseHTMLString</code>\n      打开的情况下，请确保<code>content</code>的内容是可信的，<strong>永远不要</strong>将用户提交的内容赋值给<code>content</code>属性。\n    </blockquote>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport Message from \"../../../../../src/components/message\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Time,\n  Type,\n  Promise,\n  Loading,\n  UseHTML,\n  Closable,\n  Background,\n  APITable,\n} from \"../../../examples-code/components/message\";\n\nconst info = () => {\n  Message.info(\"这是一条普通的提示\");\n};\nconst success = () => {\n  Message.success(\"这是一条成功的提示\");\n};\nconst warning = () => {\n  Message.warning(\"这是一条警告的提示\");\n};\nconst error = () => {\n  Message.error(\"这是一条错误的提示\");\n};\nconst background = (type: \"info\" | \"success\" | \"warning\" | \"error\") => {\n  Message[type]({\n    background: true,\n    content: \"这是一条带背景色的通知\",\n  });\n};\nconst loading = () => {\n  Message.loading({\n    content: \"正在加载中...\",\n    duration: 0,\n  });\n  setTimeout(() => Message.destroy(), 3000);\n};\nconst promise = () => {\n  Message.loading(\"正在加载中...\").then(() => {\n    Message.success(\"加载成功!\").then(() => {\n      Message.info(\"加载成功后的提示\");\n    });\n  });\n};\nconst time = () => {\n  Message.success({\n    content: \"这是成功的提示信息，我将在10秒内消失\",\n    duration: 10,\n  });\n};\nconst closable = () => {\n  Message.info({\n    content: \"可手动关闭的提示\",\n    duration: 8,\n    closable: true,\n  });\n};\nconst useHtml = () => {\n  Message.info({\n    content: `<strong>这是 <i>HTML</i> 片段</strong>`,\n    dangerouslyUseHTMLString: true,\n  });\n};\n\nconst anchors: string[] = [\n  \"普通提示\",\n  \"提示类型\",\n  \"带背景色\",\n  \"加载中\",\n  \"Promise 接口\",\n  \"自定义时长\",\n  \"可关闭\",\n  \"使用 HTML 片段\",\n  \"API\",\n];\n</script>\n\n<style scoped>\n.rab-btn {\n  margin-right: 8px;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/MiniModal.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"MiniModal\"\n      title=\"轻量对话框\"\n      desc=\"创建一次性的轻量级对话框。\"\n      :showTip=\"false\"\n    >\n      <li>当需要一个简洁的确认框询问用户时。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"instance('info')\">消息</button>\n        <button class=\"rab-btn\" @click=\"instance('success')\">成功</button>\n        <button class=\"rab-btn\" @click=\"instance('warning')\">警告</button>\n        <button class=\"rab-btn\" @click=\"instance('error')\">错误</button>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>四种基本的对话框，只提供一个确定按钮。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"confirm\">标准</button>\n        <button class=\"rab-btn\" @click=\"custom\">自定义按钮文字</button>\n        <button class=\"rab-btn\" @click=\"async\">异步关闭</button>\n      </template>\n      <template #header><span id=\"确认对话框\">确认对话框</span></template>\n      <template #desc>\n        <p>快速弹出确认对话框，并且可以自定义按钮文字及异步关闭。</p>\n        <p>\n          将<code>dangerouslyUseHTMLString</code>属性设置为\n          true，<code>content</code>就会被当作 HTML 片段处理。\n        </p>\n      </template>\n      <template #code><Confirm /></template>\n    </CodeBox>\n    <blockquote>\n      <code>title</code> 和 <code>content</code>属性虽然支持传入 HTML\n      片段，但是在网站上动态渲染任意 HTML 是非常危险的，因为容易导致\n      <a href=\"https://en.wikipedia.org/wiki/Cross-site_scripting\" target=\"_blank\">\n        XSS 攻击 </a\n      >。因此在<code>dangerouslyUseHTMLString</code> 打开的情况下，请确保<code\n        >content</code\n      >\n      的内容是可信的，<strong>永远不要</strong>将用户提交的内容赋值给<code>content</code>\n      属性。\n    </blockquote>\n    <h2 id=\"API\">API</h2>\n    <h3>Modal instance</h3>\n    <p>通过直接调用以下方法来使用：</p>\n    <ul>\n      <li><code>Rabbit.MiniModal.info(config)</code></li>\n      <li><code>Rabbit.MiniModal.success(config)</code></li>\n      <li><code>Rabbit.MiniModal.warning(config)</code></li>\n      <li><code>Rabbit.MiniModal.error(config)</code></li>\n    </ul>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport Message from \"../../../../../src/components/message\";\nimport MiniModal from \"../../../../../src/components/mini-modal\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport { Basic, Confirm, APITable } from \"../../../examples-code/components/mini-modal\";\n\nconst anchors: string[] = [\"基础用法\", \"确认对话框\", \"API\"];\n\nconst title = \"对话框标题\";\nconst content = \"这是一段对话框的内容\";\n\nconst instance = (type: string) => {\n  switch (type) {\n    case \"info\":\n      MiniModal.info({\n        title,\n        content,\n      });\n      break;\n    case \"success\":\n      MiniModal.success({\n        title,\n        content,\n      });\n      break;\n    case \"warning\":\n      MiniModal.warning({\n        title,\n        content,\n      });\n      break;\n    case \"error\":\n      MiniModal.error({\n        title,\n        content,\n      });\n      break;\n  }\n};\nconst confirm = () => {\n  MiniModal.confirm({\n    title: \"确认对话框标题\",\n    content: \"<p>这是一段自定义的内容...</p><p>这是一段自定义的内容...</p>\",\n    dangerouslyUseHTMLString: true,\n    onOk: () => {\n      Message.info(\"点击了确定\");\n    },\n    onCancel: () => {\n      Message.info(\"点击了取消\");\n    },\n  });\n};\n\nconst custom = () => {\n  MiniModal.confirm({\n    title: \"确认对话框标题\",\n    content: \"<p>这是一段自定义的内容...</p><p>这是一段自定义的内容...</p>\",\n    okText: \"OK\",\n    cancelText: \"Cancel\",\n    dangerouslyUseHTMLString: true,\n  });\n};\n\nconst async = () => {\n  MiniModal.confirm({\n    title: \"确认对话框标题\",\n    content: \"<p>对话框将在 2秒 后关闭</p>\",\n    loading: true,\n    dangerouslyUseHTMLString: true,\n    onOk: () => {\n      setTimeout(() => {\n        MiniModal.remove();\n        Message.info(\"异步关闭了对话框\");\n      }, 2000);\n    },\n  });\n};\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/Modal.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Modal\" title=\"模态框\" desc=\"模态对话框。\">\n      <li>\n        需要用户处理事务，又不希望跳转页面以致打断工作流程时，可以使用<code>Modal</code>\n        在当前页面正中打开一个浮层，承载相应的操作。\n      </li>\n      <li>\n        另外当需要一个简洁的确认框询问用户时，可以使用<code>MiniModal.confirm()</code>。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleModal1\">显示对话框</button>\n        <r-modal title=\"普通的Modal对话框标题\" id=\"m1\">\n          <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n          </div>\n        </r-modal>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>\n          最简单的使用方法，设置属性<code>visable</code>为 true/false 来显示/隐藏对话框。\n        </p>\n        <p>\n          可以使用<code>config</code>方法提供的 API<code>visible</code>动态控制显示隐藏。\n        </p>\n        <p>默认按键盘<code>ESC</code>键也可以关闭。</p>\n        <p>注意！容器内的节点必须具有一个父元素。</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"handleModal2\">不带标题栏</button>\n        <button class=\"rab-btn\" @click=\"handleModal3\">国际化</button>\n        <button class=\"rab-btn\" @click=\"handleModal4\">设置宽度</button>\n        <r-modal id=\"m2\">\n          <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n          </div>\n        </r-modal>\n        <r-modal title=\"Modal Title\" ok-text=\"ok\" cancel-text=\"cancel\" id=\"m3\">\n          <div>\n            <p>Some Content...</p>\n            <p>Some Content...</p>\n            <p>Some Content...</p>\n          </div>\n        </r-modal>\n        <r-modal title=\"自定义宽度\" width=\"360px\" id=\"m4\">\n          <div>\n            <p>自定义宽度，单位 px，默认 520px。</p>\n            <p>\n              对话框的宽度是响应式的，当屏幕尺寸小于 768px 时，宽度会变为自动\n              <code>auto</code>。\n            </p>\n          </div>\n        </r-modal>\n      </template>\n      <template #header><span id=\"自定义外观\">自定义外观</span></template>\n      <template #desc>控制是否显示标题栏、自定义按钮文字、自定义宽度。</template>\n      <template #code><Custom /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleModal5\">异步关闭</button>\n        <r-modal title=\"对话框标题\" loading=\"true\" id=\"m5\">\n          <p>点击确定后，对话框将在 2秒 后关闭。</p>\n        </r-modal>\n      </template>\n      <template #header><span id=\"异步关闭\">异步关闭</span></template>\n      <template #desc>\n        设置属性<code>loading=\"true\"</code>后，点击确定按钮对话框不会自动消失，并显示\n        loading 状态，需要手动关闭对话框，常用于表单提交。\n      </template>\n      <template #code><Aysnc /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"handleModal6\">禁用右上角关闭(含Esc键)</button>\n        <button class=\"rab-btn\" @click=\"handleModal7\">禁用遮罩层关闭</button>\n        <r-modal title=\"对话框标题\" closable=\"false\" id=\"m6\">\n          <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n          </div>\n        </r-modal>\n        <r-modal title=\"对话框标题\" mask-closable=\"false\" id=\"m7\">\n          <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n          </div>\n        </r-modal>\n      </template>\n      <template #header><span id=\"禁用关闭\">禁用关闭</span></template>\n      <template #desc>可以禁用关闭和遮罩层关闭</template>\n      <template #code><DisabledClose /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"handleModal8\">垂直居中</button>\n        <button class=\"rab-btn\" @click=\"handleModal9\">距离顶部20px</button>\n        <r-modal title=\"对话框标题\" class-name=\"vertical-center-modal\" id=\"m8\">\n          <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n          </div>\n        </r-modal>\n        <r-modal title=\"对话框标题\" class-name=\"demo-custom-modal\" id=\"m9\">\n          <div>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n            <p>对话框内容</p>\n          </div>\n        </r-modal>\n      </template>\n      <template #header><span id=\"自定义位置\">自定义位置</span></template>\n      <template #desc>\n        可以自定义 Modal 的对话框样式 以及 对话框 Wrap 的 class\n        名称，从而实现更多自定义的样式，比如垂直居中。\n      </template>\n      <template #code><Position /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn\" @click=\"handleModal10\">显示全屏对话框</button>\n        <r-modal title=\"全屏对话框\" fullscreen=\"true\" id=\"m10\">\n          <p>这是一个全屏的对话框</p>\n        </r-modal>\n      </template>\n      <template #header><span id=\"全屏\">全屏</span></template>\n      <template #desc>\n        <p>设置属性<code>fullscreen</code>可以全屏显示。</p>\n        <p>设置属性<code>footer-hide</code>可以隐藏底部内容。</p>\n      </template>\n      <template #code><FullScreen /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Message from \"../../../../../src/components/message\";\nimport Modal from \"../../../../../src/components/modal\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Aysnc,\n  Custom,\n  Position,\n  DisabledClose,\n  FullScreen,\n  APITable,\n} from \"../../../examples-code/components/modal\";\n\nlet modal: Modal,\n  timer: any = null;\n\nonMounted(() => {\n  modal = new Modal();\n});\n\nconst handleModal1 = () => {\n  modal.config(\"#m1\").visible = true;\n  modal.config(\"#m1\").events({\n    onOk: () => {\n      Message.info(\"点击了确定\");\n    },\n    onCancel: () => {\n      Message.info(\"点击了取消\");\n    },\n  });\n};\nconst handleModal2 = () => {\n  modal.config(\"#m2\").visible = true;\n};\nconst handleModal3 = () => {\n  modal.config(\"#m3\").visible = true;\n};\nconst handleModal4 = () => {\n  modal.config(\"#m4\").visible = true;\n};\nconst handleModal5 = () => {\n  modal.config(\"#m5\").visible = true;\n  modal.config(\"#m5\").events({\n    onOk: () => {\n      timer = setTimeout(() => {\n        modal.config(\"#m5\").visible = false;\n      }, 2000);\n    },\n    onCancel: () => {\n      clearTimeout(timer);\n    },\n  });\n};\nconst handleModal6 = () => {\n  modal.config(\"#m6\").visible = true;\n};\nconst handleModal7 = () => {\n  modal.config(\"#m7\").visible = true;\n};\nconst handleModal8 = () => {\n  modal.config(\"#m8\").visible = true;\n};\nconst handleModal9 = () => {\n  modal.config(\"#m9\").visible = true;\n};\nconst handleModal10 = () => {\n  modal.config(\"#m10\").visible = true;\n};\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"自定义外观\",\n  \"异步关闭\",\n  \"禁用关闭\",\n  \"自定义位置\",\n  \"全屏\",\n  \"API\",\n];\n</script>\n\n<style lang=\"less\" scope>\n.rab-btn {\n  margin-right: 8px;\n}\n\n.vertical-center {\n  &-modal {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    .rab-modal {\n      top: 0;\n    }\n  }\n}\n\n.rab-modal {\n  p {\n    margin: 0 !important;\n  }\n}\n\n.demo-custom-modal .rab-modal {\n  top: 20px;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Notice.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Notice\"\n      title=\"通知提醒框\"\n      desc=\"全局展示通知提醒信息。\"\n      :showTip=\"false\"\n    >\n      <li>较为复杂的通知内容。</li>\n      <li>带有交互的通知，给出用户下一步的行动点。</li>\n      <li>系统主动推送。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\" @click=\"open\">\n          打开提醒\n        </button>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>\n          基本用法，默认在 4.5秒后关闭。如果<code>desc</code>\n          参数为空或不填，则自动应用仅标题模式下的样式。\n        </p>\n        <p>建议标题言简意赅，例如\"删除成功\"，更详细的内容可以放在描述信息里。</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <p>带描述信息</p>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('info')\">消息</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('success')\">成功</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('warning')\">警告</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('error')\">错误</button>\n        <p>仅标题</p>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('info', true)\">消息</button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('success', true)\">\n          成功\n        </button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('warning', true)\">\n          警告\n        </button>\n        <button type=\"button\" class=\"rab-btn\" @click=\"notice('error', true)\">错误</button>\n      </template>\n      <template #header><span id=\"提醒类型\">提醒类型</span></template>\n      <template #desc>\n        <p>带有状态图标的提醒。</p>\n        <p>带描述信息和仅标题。</p>\n      </template>\n      <template #code><Type /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\" @click=\"time\">\n          打开提醒\n        </button>\n      </template>\n      <template #header><span id=\"自定义时长\">自定义时长</span></template>\n      <template #desc>自定义时长，为 0 则不自动关闭。</template>\n      <template #code><Time /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"promise\">打开提醒</button>\n      </template>\n      <template #header><span id=\"Promise 接口\">Promise 接口</span></template>\n      <template #desc>\n        <p>\n          可以通过 then 接口在关闭后运行 callback 。以上用例将在每个 Notice 将要结束时通过\n          then 显示新的 Notice 。\n        </p>\n        <p>如果手动通过关闭按钮结束则无效。</p>\n      </template>\n      <template #code><Promise /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn rab-btn-primary\" @click=\"html\">\n          打开提醒\n        </button>\n      </template>\n      <template #header><span id=\"使用 HTML 片段\">使用 HTML 片段</span></template>\n      <template #desc>\n        <p><code>title</code>和<code>desc</code>属性支持传入 HTML 片段</p>\n        <p>\n          将<code>dangerouslyUseHTMLString</code>属性设置为 true， 就会被当作 HTML\n          片段处理。\n        </p>\n      </template>\n      <template #code><UseHTML /></template>\n    </CodeBox>\n    <blockquote>\n      <code>desc</code>属性虽然支持传入 HTML 片段，但是在网站上动态渲染任意 HTML\n      是非常危险的，因为容易导致<a\n        href=\"https://en.wikipedia.org/wiki/Cross-site_scripting\"\n        target=\"_blank\"\n        >XSS 攻击</a\n      >\n      。因此在<code>dangerouslyUseHTMLString</code>\n      打开的情况下，请确保<code>desc</code>的内容是可信的，<strong>永远不要</strong>将用户提交的内容赋值给<code>desc</code>属性。\n    </blockquote>\n    <CodeBox>\n      <template #case>\n        <button type=\"button\" class=\"rab-btn\" @click=\"closable\">打开提醒</button>\n      </template>\n      <template #header><span id=\"隐藏关闭按钮\">隐藏关闭按钮</span></template>\n      <template #desc>\n        设置属性<code>closable</code>为<code>false</code>可以不显示关闭按钮\n      </template>\n      <template #code><Closable /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport Notice from \"../../../../../src/components/notice\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Type,\n  Time,\n  Promise,\n  UseHTML,\n  Closable,\n  APITable,\n} from \"../../../examples-code/components/notice\";\n\nconst open = () => {\n  Notice.open({\n    title: \"这是通知标题\",\n    desc:\n      \"这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述\",\n    onClick: () => {\n      console.log(\"Notification Clicked!\");\n    },\n    onClose: () => {\n      console.log(\"Notification Close!\");\n    },\n  });\n};\n\nconst notice = (\n  type: \"open\" | \"info\" | \"success\" | \"warning\" | \"error\",\n  nodesc = false\n) => {\n  Notice[type]({\n    title: \"这是通知标题\",\n    desc: nodesc\n      ? \"\"\n      : \"这里是通知的描述,这里是通知的描述这里,是通知的描述,这里是通知的描述,这里是通知的描述\",\n  });\n};\n\nconst time = () => {\n  Notice.open({\n    title: \"这是通知标题\",\n    desc: \"这条通知不会自动关闭，需要点击关闭按钮才可以关闭。\",\n    duration: 0,\n  });\n};\n\nconst promise = () => {\n  Notice.open({\n    title: \"行程已发布\",\n    desc: \"您的行程订单已发布，正在等待待车主接单...\",\n  }).then(() => {\n    Notice.info({\n      title: \"已有车主接单啦！\",\n      desc: \"你发布的行程订单已有车主接单了，请提前付款以免被取消订单！\",\n    }).then(() => {\n      Notice.success({\n        title: \"费用支付成功\",\n        desc: \"您的行程将在2021.9.9 12:30 开始\",\n      });\n    });\n  });\n};\n\nconst html = () => {\n  Notice.open({\n    title: \"HTML片段\",\n    desc: `<strong>这是 <i>HTML</i> 片段</strong>`,\n    dangerouslyUseHTMLString: true,\n  });\n};\n\nconst closable = () => {\n  Notice.open({\n    title: \"这是通知标题\",\n    closable: false,\n  });\n};\nconst anchors: string[] = [\n  \"基础用法\",\n  \"提醒类型\",\n  \"自定义时长\",\n  \"Promise 接口\",\n  \"使用 HTML 片段\",\n  \"隐藏关闭按钮\",\n  \"API\",\n];\n</script>\n\n<style scoped>\n.rab-btn {\n  margin-right: 8px;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/PageHeader.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"PageHeader\"\n      title=\"页头\"\n      desc=\"页头位于页容器中，页容器顶部，起到了内容概览和引导页级操作的作用。包括由面包屑、标题、页面内容简介、页面级操作等、页面级导航组成。\"\n    >\n      <li>\n        当需要使用户快速理解当前页是什么以及方便用户使用页面功能时使用，通常也可被用作页面间导航。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-page-header\n          id=\"test\"\n          title=\"首页\"\n          sub-title=\"这是副标题描述\"\n          style=\"border: 1px solid #f0f0f0\"\n        />\n      </template>\n      <template #header>\n        <span id=\"标准样式\">标准样式</span>\n      </template>\n      <template #desc>标准页头，适合使用在需要简单描述的场景。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport PageHeader from '../../../../../src/components/page-header'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport { Basic, APITable } from '../../../examples-code/components/page-header'\n\nlet ph: PageHeader\nonMounted(() => {\n  ph = new PageHeader()\n  ph.config('#test').events({\n    onBack: () => {\n      console.log('点击了返回!')\n    }\n  })\n})\n\nconst anchors: string[] = ['基础用法', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Poptip.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Poptip\"\n      title=\"气泡提示\"\n      desc=\"点击/鼠标移入元素，弹出气泡式的卡片浮层。\"\n    >\n      <li>\n        当目标元素有进一步的描述和相关操作时，可以收纳到卡片中，根据用户的操作行为进行展现。\n      </li>\n      <li>\n        和<code>Tooltip</code>类似，具有很多相同配置，不同点是<code>Poptip</code>\n        以卡片的形式承载了更多的内容，比如链接、表格、按钮等。\n      </li>\n      <li>\n        <code>Poptip</code\n        >还<code>confirm</code>确认框，与<code>Modal</code>不同的是，它会出现在就近元素，相对轻量。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-poptip trigger=\"hover\" title=\"标题\" content=\"提示内容\">\n          <button type=\"button\" class=\"rab-btn\">hover 激活</button>\n        </r-poptip>\n        <r-poptip title=\"标题\" content=\"提示内容\" id=\"test1\">\n          <button type=\"button\" class=\"rab-btn\">click 激活</button>\n        </r-poptip>\n        <r-poptip trigger=\"focus\" title=\"标题\" content=\"提示内容\">\n          <button type=\"button\" class=\"rab-btn\">focus 激活</button>\n        </r-poptip>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>支持三种触发方式：鼠标悬停、点击、聚焦。默认是点击。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"top\">\n          <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"top-start\">\n            <button class=\"rab-btn\">上左</button>\n          </r-poptip>\n          <r-poptip title=\"提示标题\" content=\"提示内容\">\n            <button class=\"rab-btn\">上边</button>\n          </r-poptip>\n          <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"top-end\">\n            <button class=\"rab-btn\">上右</button>\n          </r-poptip>\n        </div>\n        <div class=\"center\">\n          <div class=\"center-left\">\n            <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"left-start\">\n              <button class=\"rab-btn\">左上</button> </r-poptip\n            ><br /><br />\n            <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"left\">\n              <button class=\"rab-btn\">左边</button> </r-poptip\n            ><br /><br />\n            <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"left-end\">\n              <button class=\"rab-btn\">左下</button>\n            </r-poptip>\n          </div>\n          <div class=\"center-right\">\n            <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"right-start\">\n              <button class=\"rab-btn\">右上</button> </r-poptip\n            ><br /><br />\n            <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"right\">\n              <button class=\"rab-btn\">右边</button> </r-poptip\n            ><br /><br />\n            <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"right-end\">\n              <button class=\"rab-btn\">右下</button>\n            </r-poptip>\n          </div>\n        </div>\n        <div class=\"bottom\">\n          <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"bottom-start\">\n            <button class=\"rab-btn\">下左</button>\n          </r-poptip>\n          <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"bottom\">\n            <button class=\"rab-btn\">下边</button>\n          </r-poptip>\n          <r-poptip title=\"提示标题\" content=\"提示内容\" placement=\"bottom-end\">\n            <button class=\"rab-btn\">下右</button>\n          </r-poptip>\n        </div>\n      </template>\n      <template #header><span id=\"位置\">位置</span></template>\n      <template #desc>\n        组件提供了12个不同的方向显示<code>Poptip</code>，具体配置可查看<code>API</code>。\n      </template>\n      <template #code><Placement /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-poptip id=\"test2\" title=\"标题\" content=\"<a id='closeBtn'>关闭提示框</a>\">\n          <a>Click 激活</a>\n        </r-poptip>\n      </template>\n      <template #header><span id=\"从浮层内关闭\">从浮层内关闭</span></template>\n      <template #desc>\n        通过 config 方法提供的<code>visible</code>api 来控制提示框的显示和隐藏。\n      </template>\n      <template #code><InsideClosed /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-poptip disabled=\"true\">\n          <button class=\"rab-btn\">禁用提示</button>\n        </r-poptip>\n      </template>\n      <template #header><span id=\"禁用提示\">禁用提示</span></template>\n      <template #desc> 通过设置属性<code>disabled=\"true\"</code>禁止显示提示框 </template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-poptip width=\"400\" placement=\"right\" id=\"test3\">\n          <button class=\"rab-btn\">复杂内容</button>\n        </r-poptip>\n      </template>\n      <template #header><span id=\"嵌套复杂内容\">嵌套复杂内容</span></template>\n      <template #desc>实现复杂的内容。</template>\n      <template #code><Complex /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-poptip\n          word-wrap=\"true\"\n          width=\"200\"\n          content=\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\"\n        >\n          <button class=\"rab-btn\">长文本</button>\n        </r-poptip>\n      </template>\n      <template #header><span id=\"自动换行\">自动换行</span></template>\n      <template #desc>\n        设置属性<code>word-wrap</code>，当超出宽度后，文本将自动换行，并两端对齐。\n      </template>\n      <template #code><AutoNewLine /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-poptip confirm=\"true\" title=\"您确认删除这条内容吗？\" id=\"test4\">\n          <button class=\"rab-btn\">删除</button>\n        </r-poptip>\n        <r-poptip\n          confirm=\"true\"\n          title=\"Are you sure delete this task?\"\n          ok-text=\"yes\"\n          cancel-text=\"no\"\n        >\n          <button class=\"rab-btn\">国际化</button>\n        </r-poptip>\n      </template>\n      <template #header><span id=\"确认框\">确认框</span></template>\n      <template #desc>\n        通过设置属性<code>confirm</code>开启确认框模式。确认框只会以 click\n        的形式激活，并且只会显示 title 的内容，忽略 content。\n      </template>\n      <template #code><Confirm /> </template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Message from \"../../../../../src/components/message\";\nimport Poptip from \"../../../../../src/components/poptip\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Placement,\n  InsideClosed,\n  Disabled,\n  Complex,\n  AutoNewLine,\n  Confirm,\n  APITable,\n} from \"../../../examples-code/components/poptip\";\n\nlet poptip: Poptip, closeBtn: Element;\n\nonMounted(() => {\n  poptip = new Poptip();\n\n  closeBtn = document.querySelector(\"#closeBtn\")!;\n\n  poptip.config(\"#test1\").events({\n    onPopperShow: () => {\n      console.log(\"poptip show\");\n    },\n    onPopperHide: () => {\n      console.log(\"poptip hide\");\n    },\n  });\n\n  closeBtn.addEventListener(\"click\", () => (poptip.config(\"#test2\").visible = false));\n\n  poptip.config(\"#test3\").content = table;\n\n  poptip.config(\"#test4\").events({\n    onOk: () => {\n      Message.info(\"点击了确定\");\n    },\n    onCancel: () => {\n      Message.info(\"点击了取消\");\n    },\n  });\n});\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"位置\",\n  \"从浮层内关闭\",\n  \"禁用提示\",\n  \"嵌套复杂内容\",\n  \"自动换行\",\n  \"确认框\",\n  \"API\",\n];\n\nconst table = `\n      <div class=\"api\">\n          <table>\n              <thead>\n                  <tr>\n                      <th>日期</th>\n                      <th>姓名</th>\n                      <th>地址</th>\n                  </tr>\n              </thead>\n              <tbody>\n                  <tr>\n                      <td>2021-01-17</td>\n                      <td>山本先生</td>\n                      <td>日本福冈县福冈市中央区樱坂</td>\n                  </tr>\n                  <tr>\n                      <td>2021-01-17</td>\n                      <td>山本先生</td>\n                      <td>日本福冈县福冈市中央区樱坂</td>\n                  </tr>\n                  <tr>\n                      <td>2021-01-17</td>\n                      <td>山本先生</td>\n                      <td>日本福冈县福冈市中央区樱坂</td>\n                  </tr>\n              </tbody>\n          </table>\n      </div>`;\n</script>\n\n<style scoped>\n.top,\n.bottom {\n  text-align: center;\n}\n\n.center {\n  width: 300px;\n  margin: 10px auto;\n  overflow: hidden;\n}\n\n.center-left {\n  float: left;\n}\n\n.center-right {\n  float: right;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Progress.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Progress\"\n      title=\"进度条\"\n      desc=\"用于展示操作进度，告知用户当前状态和预期。\"\n    >\n      <li>在操作需要较长时间才能完成时，为用户显示该操作的当前进度和状态。</li>\n      <li>当一个操作会打断当前界面，或者需要在后台运行，且耗时可能超过2秒时；</li>\n      <li>当需要显示一个操作完成的百分比时。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-progress percent=\"30\" />\n        <r-progress percent=\"50\" status=\"active\" />\n        <r-progress percent=\"70\" status=\"wrong\" />\n        <r-progress percent=\"100\" status=\"success\" />\n        <r-progress percent=\"50\" status=\"warning\" />\n        <r-progress percent=\"50\" show-text=\"false\" />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>标准的进度条。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"30\" />\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"70\" status=\"active\" />\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"100\" status=\"success\" />\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"80\" status=\"warning\" />\n        <r-progress text-inside=\"true\" stroke-width=\"20\" percent=\"50\" status=\"wrong\" />\n      </template>\n      <template #header><span id=\"百分比内显\">百分比内显</span></template>\n      <template #desc>\n        <p>设置属性<code>text-inside=\"true\"</code>可以将百分比显示在进度条内部。</p>\n        <p>需要通过属性<code>stroke-width</code>设置一个足够的高度。</p>\n      </template>\n      <template #code><Percent /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-progress percent=\"99\" stroke-color=\"['#108ee9', '#87d068']\" />\n        <r-progress percent=\"99\" stroke-color=\"['#108ee9', '#87d068']\" status=\"active\" />\n      </template>\n      <template #header><span id=\"渐变色\">渐变色</span></template>\n      <template #desc>\n        <p>设置属性<code>stroke-color</code>为数组时，可以显示为渐变色。</p>\n        <p>数组只能设置为两项。</p>\n      </template>\n      <template #code><StrokeColor /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-progress percent=\"60\" success-percent=\"30\" />\n      </template>\n      <template #header><span id=\"分段进度条\">分段进度条</span></template>\n      <template #desc>\n        <p>标准的分段进度条。</p>\n      </template>\n      <template #code><FDJDT /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Progress from '../../../../../src/components/progress'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  FDJDT,\n  Percent,\n  StrokeColor,\n  APITable\n} from '../../../examples-code/components/progress'\n\nonMounted(() => new Progress())\n\nconst anchors: string[] = ['基础用法', '百分比内显', '渐变色', '分段进度条', 'API']\n</script>\n\n"
  },
  {
    "path": "site/src/pages/app/views/Radio.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Radio\" title=\"单选框\" desc=\"单选框。\">\n      <li>用于在多个备选项中选中单个状态。</li>\n      <li>\n        和 Select 的区别是，Radio\n        所有选项默认可见，方便用户在比较中选择，因此选项不宜过多。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-radio checked=\"true\" id=\"demoRadio\">Radio</r-radio>\n      </template>\n      <template #header><span id=\"单独使用\">单独使用</span></template>\n      <template #desc>最简单的用法。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio-group value=\"apple\">\n          <r-radio label=\"apple\" icon=\"logo-apple\">Apple</r-radio>\n          <r-radio label=\"android\" icon=\"logo-android\">Android</r-radio>\n          <r-radio label=\"windows\" icon=\"logo-windows\">Windows</r-radio>\n        </r-radio-group>\n        <br />\n        <r-radio-group value=\"爪哇犀牛\" id=\"demoRadioGroup\">\n          <r-radio label=\"金斑蝶\">金斑蝶</r-radio>\n          <r-radio label=\"爪哇犀牛\">爪哇犀牛</r-radio>\n          <r-radio label=\"印度黑羚\">印度黑羚</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"组合使用\">组合使用</span></template>\n      <template #desc>\n        <p>\n          使用<code>r-radio-group</code>实现一组互斥的选项组。在组合使用时，<code>radio</code>使用<code>label</code>来自动判断。每个\n          radio 的内容可以自定义。\n        </p>\n        <p>设置属性<code>icon</code>可以添加前缀图标。</p>\n      </template>\n      <template #code><Group /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio checked=\"true\" disabled>Radio</r-radio>\n        <r-radio-group value=\"爪哇犀牛\">\n          <r-radio label=\"金斑蝶\" disabled>金斑蝶</r-radio>\n          <r-radio label=\"爪哇犀牛\">爪哇犀牛</r-radio>\n          <r-radio label=\"印度黑羚\">印度黑羚</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"不可用\">不可用</span></template>\n      <template #desc>通过设置属性<code>disabled</code>来禁用单选框。</template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio-group value=\"apple\" direction=\"vertical\">\n          <r-radio label=\"apple\">Apple</r-radio>\n          <r-radio label=\"android\">Android</r-radio>\n          <r-radio label=\"windows\">Windows</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"垂直\">垂直</span></template>\n      <template #desc>\n        设置属性<code>direction=\"vertical\"</code>可以垂直显示，按钮样式下无效。\n      </template>\n      <template #code><Vertical /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio-group value=\"北京\" type=\"button\">\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\">上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br />\n        <br />\n        <r-radio-group value=\"北京\" type=\"button\">\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\" disabled>上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br />\n        <br />\n        <r-radio-group value=\"北京\" type=\"button\">\n          <r-radio label=\"北京\" disabled>北京</r-radio>\n          <r-radio label=\"上海\" disabled>上海</r-radio>\n          <r-radio label=\"深圳\" disabled>深圳</r-radio>\n          <r-radio label=\"杭州\" disabled>杭州</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"按钮样式\">按钮样式</span></template>\n      <template #desc>\n        组合使用时可以设置属性<code>type=\"button\"</code>为来应用按钮的样式。\n      </template>\n      <template #code><Button /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio-group value=\"北京\" type=\"button\" button-style=\"solid\">\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\">上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br />\n        <r-radio-group\n          value=\"深圳\"\n          type=\"button\"\n          button-style=\"solid\"\n          style=\"margin-top: 16px\"\n        >\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\" disabled>上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"填底的按钮样式\">填底的按钮样式</span></template>\n      <template #desc>\n        设置属性<code>button-style=\"solid\"</code>可显示为实色填底的单选按钮样式。\n      </template>\n      <template #code><ButtonStyle /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio-group value=\"金斑蝶\">\n          <r-radio label=\"金斑蝶\" type=\"border\">金斑蝶</r-radio>\n          <r-radio label=\"爪哇犀牛\" type=\"border\">爪哇犀牛</r-radio>\n          <r-radio label=\"印度黑羚\" type=\"border\">印度黑羚</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"显示边框\">显示边框</span></template>\n      <template #desc> radio 设置属性<code>type=\"border\"</code>可以显示边框。</template>\n      <template #code><Border /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-radio-group value=\"北京\" type=\"button\" size=\"large\">\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\">上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br />\n        <br />\n        <r-radio-group value=\"北京\" type=\"button\">\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\">上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n        <br />\n        <br />\n        <r-radio-group value=\"北京\" type=\"button\" size=\"small\">\n          <r-radio label=\"北京\">北京</r-radio>\n          <r-radio label=\"上海\">上海</r-radio>\n          <r-radio label=\"深圳\">深圳</r-radio>\n          <r-radio label=\"杭州\">杭州</r-radio>\n        </r-radio-group>\n      </template>\n      <template #header><span id=\"尺寸\">尺寸</span></template>\n      <template #desc>\n        通过设置属性<code>size</code>为<code>large</code>或<code>small</code>将按钮样式设置为大和小尺寸，不设置为默认(中)尺寸。\n      </template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Radio from \"../../../../../src/components/radio\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Size,\n  Disabled,\n  Border,\n  Button,\n  ButtonStyle,\n  Vertical,\n  Group,\n  APITable,\n} from \"../../../examples-code/components/radio\";\n\nonMounted(() => {\n  const radio = new Radio();\n\n  radio.config(\"#demoRadio\").events({\n    onChange: (state) => {\n      console.log(`当前状态：${state}`);\n    },\n  });\n  radio.config(\"#demoRadioGroup\").events({\n    onChange: (item) => {\n      console.log(item);\n    },\n  });\n});\n\nconst anchors: string[] = [\n  \"单独使用\",\n  \"组合使用\",\n  \"不可用\",\n  \"垂直\",\n  \"按钮样式\",\n  \"填底的按钮样式\",\n  \"显示边框\",\n  \"尺寸\",\n  \"API\",\n];\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/Result.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Result\"\n      title=\"结果\"\n      desc=\"用于反馈一系列操作任务的处理结果。\"\n    >\n      <li>当有重要操作需告知用户处理结果，且反馈内容较为复杂时使用。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-result\n          status=\"success\"\n          title=\"提交成功\"\n          subtitle=\"已提交申请，等待部门审核。\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button> \n         <button type='button' class='rab-btn'>打印</button>\"\n        />\n      </template>\n      <template #header><span id=\"Success\">Success</span></template>\n      <template #desc>成功的结果</template>\n      <template #code><Success /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          title=\"请勿重复操作\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n        />\n      </template>\n      <template #header><span id=\"Info\">Info</span></template>\n      <template #desc>展示处理结果</template>\n      <template #code><Info /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          status=\"warning\"\n          title=\"操作发生了一些问题\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>重新提交</button>\"\n        />\n      </template>\n      <template #header><span id=\"Warning\">Warning</span></template>\n      <template #desc>警告类型的结果</template>\n      <template #code><Warning /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          status=\"error\"\n          title=\"提交失败\"\n          subtitle=\"请检查并修改以下信息后再重新提交\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回修改</button>\"\n        >\n          <div>\n            <h4 class=\"typography\">您提交的内容有以下错误:</h4>\n            <div class=\"typography\">\n              <i class=\"rab-icon rab-icon-ios-close-circle-outline\"></i>\n              您的帐户已被冻结。\n              <a>立即解冻></a>\n            </div>\n            <div class=\"typography\">\n              <i class=\"rab-icon rab-icon-ios-close-circle-outline\"></i>\n              您的帐户还没有资格申请。\n              <a>申请解锁></a>\n            </div>\n          </div>\n        </r-result>\n      </template>\n      <template #header><span id=\"Error\">Error</span></template>\n      <template #desc>\n        <p>复杂的错误反馈。</p>\n        <p>注意：标签容器内必须具有一个父元素！</p>\n      </template>\n      <template #code><Error /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          status=\"403\"\n          title=\"403\"\n          subtitle=\"对不起，您没有权限访问此页。\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n        />\n      </template>\n      <template #header><span id=\"403\">403</span></template>\n      <template #desc></template>\n      <template #code><F03 /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          status=\"404\"\n          title=\"404\"\n          subtitle=\"对不起，您访问的页面不存在。\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n        />\n      </template>\n      <template #header><span id=\"404\">404</span></template>\n      <template #desc></template>\n      <template #code><F04 /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          status=\"500\"\n          title=\"500\"\n          subtitle=\"对不起，服务器出了点问题。\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>返回首页</button>\"\n        />\n      </template>\n      <template #header><span id=\"500\">500</span></template>\n      <template #desc></template>\n      <template #code><FV500 /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-result\n          icon=\"ios-happy\"\n          title=\"太棒了，我们已经完成了所有的操作！\"\n          extra=\"<button type='button' class='rab-btn rab-btn-primary'>下一步</button>\"\n        />\n      </template>\n      <template #header><span id=\"自定义图标\">自定义图标</span></template>\n      <template #desc></template>\n      <template #code><CustomIcon /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Result from \"../../../../../src/components/result\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Info,\n  Success,\n  Warning,\n  Error,\n  F03,\n  F04,\n  FV500,\n  CustomIcon,\n  APITable,\n} from \"../../../examples-code/components/result\";\n\nonMounted(() => new Result());\n\nconst anchors: string[] = [\n  \"Success\",\n  \"Info\",\n  \"Warning\",\n  \"Error\",\n  \"403\",\n  \"404\",\n  \"500\",\n  \"自定义图标\",\n  \"API\",\n];\n</script>\n\n<style scope>\n.typography {\n  overflow-wrap: break-word;\n  margin-bottom: 8px;\n}\n\n.typography .rab-icon {\n  color: red;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Skeleton.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Skeleton\"\n      title=\"骨架屏\"\n      desc=\"在需要等待加载内容的位置提供一个占位图形组合。\"\n    >\n      <li>网络较慢，需要长时间等待加载处理的情况下。</li>\n      <li>图文信息内容较多的列表/卡片中。</li>\n      <li>只在第一次加载数据的时候使用。</li>\n      <li>可以被 Spin 完全代替，但是在可用的场景下可以比 Spin 提供更好的视觉效果和用户体验。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-skeleton />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>最简单的占位效果。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-skeleton avatar=\"true\" paragraph-rows=\"4\" />\n      </template>\n      <template #header><span id=\"复杂组合\">复杂组合</span></template>\n      <template #desc>带有头像占位图的组合。</template>\n      <template #code><Complex /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-skeleton active=\"true\" />\n        <br />\n        <r-skeleton active=\"true\" avatar=\"true\" />\n      </template>\n      <template #header><span id=\"动画效果\">动画效果</span></template>\n      <template #desc>显示动画效果。</template>\n      <template #code><WithAnimation /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-skeleton paragraph-width=\"[60,80,100]\" />\n      </template>\n      <template #header><span id=\"自定义段落占位图的宽度\">自定义段落占位图的宽度</span></template>\n      <template #desc>\n        设置段落占位图的宽度，若为数组时则为对应的每行宽度，反之则是最后一行的宽度\n      </template>\n      <template #code><Custom /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"example\">\n          <r-skeleton v-show=\"!show\" />\n          <div class=\"example-article\">\n            <div class=\"content\" v-show=\"show\">\n              <h3>Vue.js, the progressive javascript framework</h3>\n              <p>\n                An incrementally adoptable ecosystem that scales between a library and a\n                full-featured framework. Blazing Fast Virtual DOM Minimal Optimization Efforts\n              </p>\n            </div>\n            <button :disabled=\"!show\" type=\"button\" class=\"rab-btn\" @click=\"handleClick\">\n              显示骨架图\n            </button>\n          </div>\n        </div>\n      </template>\n      <template #header><span id=\"加载占位图\">加载占位图</span></template>\n      <template #desc>配合其他元素使用</template>\n      <template #code><Loading /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted, ref } from 'vue'\nimport Skeleton from '../../../../../src/components/skeleton'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Custom,\n  Complex,\n  Loading,\n  WithAnimation,\n  APITable\n} from '../../../examples-code/components/skeleton'\n\nonMounted(() => new Skeleton())\n\nconst show = ref<boolean>(true)\n\nconst anchors: string[] = [\n  '基础用法',\n  '复杂组合',\n  '动画效果',\n  '自定义段落占位图的宽度',\n  '加载占位图',\n  'API'\n]\n\nconst handleClick = () => {\n  show.value = false\n  setTimeout(() => {\n    show.value = true\n  }, 2000)\n}\n</script>\n\n<style lang=\"less\">\n.rab-skeleton-content {\n  h3 {\n    margin-top: 12px !important;\n    margin-bottom: 0 !important;\n  }\n\n  .rab-skeleton-paragraph {\n    li {\n      list-style: none !important;\n      margin-left: 0 !important;\n      padding-left: 0 !important;\n    }\n  }\n}\n\n.example {\n  width: 918px;\n  padding: 42px 24px 50px;\n  margin: 50px auto;\n  border: 1px solid #f0f0f0;\n\n  &-article {\n    h3 {\n      margin-bottom: 16px;\n    }\n    button {\n      margin-top: 16px;\n    }\n  }\n}\n</style>\n\n"
  },
  {
    "path": "site/src/pages/app/views/Spin.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Spin\" title=\"加载中\" desc=\"用于页面和区块的加载中状态。\">\n      <li>\n        页面局部处于等待异步数据或正在渲染过程时，合适的加载动效会有效缓解用户的焦虑。\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-spin />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>最简单使用 Spin 的方法。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <a-row>\n          <a-col :span=\"8\"> <r-spin size=\"small\" /> </a-col>\n          <a-col :span=\"8\"> <r-spin /> </a-col>\n          <a-col :span=\"8\"> <r-spin size=\"large\" /> </a-col>\n        </a-row>\n      </template>\n      <template #header><span id=\"各种尺寸\">各种尺寸</span></template>\n      <template #desc></template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"demo-spin-container\">\n          <r-spin fix />\n        </div>\n      </template>\n      <template #header><span id=\"居中固定\">居中固定</span></template>\n      <template #desc></template>\n      <template #code><FixCenter /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <a-row>\n          <a-col class=\"demo-spin-col\" :span=\"8\">\n            <r-spin fix>加载中...</r-spin>\n          </a-col>\n          <a-col class=\"demo-spin-col\" :span=\"8\">\n            <r-spin fix>\n              <i class=\"rab-icon rab-icon-loading1 rab-load-loop\"></i>\n              <div>Loading...</div>\n            </r-spin>\n          </a-col>\n        </a-row>\n      </template>\n      <template #header><span id=\"自定义内容\">自定义内容</span></template>\n      <template #desc></template>\n      <template #code><CustomContent /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"demo-spin-article\">\n          <h3>登金陵凤凰台</h3>\n          <address>李白</address>\n          <article>\n            <p>凤凰台上凤凰游，凤去台空江自流。</p>\n            <p>吴宫花草埋幽径，晋代衣冠成古丘。</p>\n            <p>三山半落青天外，二水中分白鹭洲。</p>\n            <p>总为浮云能蔽日，长安不见使人愁。</p>\n          </article>\n          <r-spin v-show=\"show\" fix size=\"large\" />\n        </div>\n        <br />\n        切换显示状态：\n        <r-switch />\n      </template>\n      <template #header><span id=\"状态切换\">状态切换</span></template>\n      <template #desc></template>\n      <template #code><ChangeState /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleShow\">\n          整页显示，3秒后关闭\n        </button>\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handleHide\">\n          自定义显示内容\n        </button>\n      </template>\n      <template #header><span id=\"整页加载\">整页加载</span></template>\n      <template #desc></template>\n      <template #code><FullScreen /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted, ref } from \"vue\";\nimport Spin from \"../../../../../src/components/spin\";\nimport Switch from \"../../../../../src/components/switch\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Size,\n  FixCenter,\n  CustomContent,\n  ChangeState,\n  FullScreen,\n  APITable,\n} from \"../../../examples-code/components/spin\";\n\nconst show = ref<boolean>(true);\n\nlet spin: Spin;\n\nonMounted(() => {\n  const _switch = new Switch();\n  spin = new Spin();\n\n  _switch.config(\"r-switch\").events({\n    onChange: (checked) => {\n      show.value = !checked;\n    },\n  });\n});\n\nconst handleShow = () => {\n  spin.show();\n  setTimeout(() => {\n    spin.hide();\n  }, 3000);\n};\nconst handleHide = () => {\n  spin.show({ content });\n  setTimeout(() => {\n    spin.hide();\n  }, 3000);\n};\n\nconst content = `\n    <i class=\"rab-icon rab-icon-loading1 rab-load-loop\" style=\"font-size: 28px;\"></i>\n    <div>Loading...</div>\n    `;\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"各种尺寸\",\n  \"居中固定\",\n  \"自定义内容\",\n  \"状态切换\",\n  \"整页加载\",\n  \"API\",\n];\n</script>\n\n<style scope>\n.demo-spin-container {\n  display: inline-block;\n  width: 200px;\n  height: 100px;\n  position: relative;\n  border: 1px solid #eee;\n}\n.demo-spin-col {\n  height: 100px;\n  position: relative;\n  border: 1px solid #eee;\n}\n.demo-spin-article {\n  width: 400px;\n  height: 280px;\n  padding: 10px;\n  text-align: center;\n  position: relative;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Sponsor.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>赞助 RabbitUI 的开发</h1>\n    <p>\n      Rabbit UI 是采用 MIT 许可的开源项目，使用完全免费。\n      但为了项目能够健康持续的发展下去，我们期望获得相应的资金支持。\n      你可以通过下列的方法来赞助我们的开发。\n    </p>\n    <h2 id=\"一次性赞助\">一次性赞助</h2>\n    <p>你可以通过以下任意一种方式赞助:</p>\n    <a href=\"/zfb-money.jpg\" target=\"_blank\">支付宝</a>\n    <br />\n    <a href=\"/wechat-money.png\" target=\"_blank\">微信</a>\n  </article>\n</template>\n"
  },
  {
    "path": "site/src/pages/app/views/Start.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>快速开始</h1>\n    <blockquote>\n      在开始之前，推荐先学习 TypeScript 和 ES2015，并正确安装和配置了\n      <a href=\"https://nodejs.org/en/\" target=\"_blank\">Node.js</a>。 官方指南假设你已了解关于\n      HTML、CSS 、JavaScript 和 TypeScript 的基础知识。如果你刚开始学习前端，将 UI\n      库作为你的第一步可能不是最好的主意。\n    </blockquote>\n    <h2 id=\"引入-RabbitUI\">引入 RabbitUI</h2>\n    <div>\n      一般会想到在 webpack 入口页面\n      <code>main.ts</code>\n      中直接引入整个包，但请不要这样做，在你需要用到的页面的对应 ts\n      文件中引入对应组件的构造函数，配置如下：\n      <h3>方式一</h3>\n      <p>从源文件路径引入</p>\n      <Code1 />\n      <h3>方式二</h3>\n      <p>\n        按需引用，借助插件\n        <a href=\"https://github.com/ant-design/babel-plugin-import\" target=\"_blank\">\n          babel-plugin-import\n        </a>\n        可以实现按需加载组件，减少文件体积。首先安装，并在文件 <code>.babelrc</code> 中配置：\n      </p>\n      <Code2 />\n      <p>然后这样按需引入组件，就可以减小体积了：</p>\n      <Code3 />\n    </div>\n    <h2 id=\"特别提醒 \">特别提醒 </h2>\n    <ul>\n      <li>\n        按需引用仍然需要导入样式，即在 main.ts 或根组件执行\n        <code> import 'rabbit-simple-ui/dist/styles/rabbit.css'; </code>\n      </li>\n    </ul>\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { Code1, Code2, Code3 } from '../../../examples-code/docs/start/'\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Steps.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Steps\" title=\"步骤条\" desc=\"引导用户按照流程完成任务的导航条。\">\n      <li>当任务复杂或者存在先后关系时，将其分解成一系列步骤，从而简化任务。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-steps current=\"1\">\n          <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n        </r-steps>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc> 基本用法，组件会根据<code>current</code>自动判断各步骤状态。 </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-steps current=\"2\" size=\"small\">\n          <r-step title=\"已完成\"></r-step>\n          <r-step title=\"已完成\"></r-step>\n          <r-step title=\"进行中\"></r-step>\n          <r-step title=\"待进行\"></r-step>\n        </r-steps>\n      </template>\n      <template #header><span id=\"迷你版\">迷你版</span></template>\n      <template #desc>设置属性<code>size=\"small\"</code>启用迷你版。</template>\n      <template #code><Mini /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-steps current=\"1\">\n          <r-step title=\"注册\" icon=\"ios-person\"></r-step>\n          <r-step title=\"上传头像\" icon=\"ios-camera\"></r-step>\n          <r-step title=\"验证邮箱\" icon=\"ios-mail\"></r-step>\n        </r-steps>\n      </template>\n      <template #header><span id=\"带图标的步骤条\">带图标的步骤条</span></template>\n      <template #desc>通过设置<code>r-step</code>的<code>icon</code>属性可以自定义图标。</template>\n      <template #code><WithIcon /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-steps current=\"0\" id=\"test\">\n          <r-step title=\"步骤1\"></r-step>\n          <r-step title=\"步骤2\"></r-step>\n          <r-step title=\"步骤3\"></r-step>\n          <r-step title=\"步骤4\"></r-step>\n        </r-steps>\n        <br />\n        <button class=\"rab-btn rab-btn-primary\" @click=\"handlClickNext\">下一步</button>\n      </template>\n      <template #header><span id=\"切换步骤\">切换步骤</span></template>\n      <template #desc>通常配合内容及按钮使用，表示一个流程的处理进度。</template>\n      <template #code><ChangeStep /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-steps current=\"2\" direction=\"vertical\">\n          <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n        </r-steps>\n      </template>\n      <template #header><span id=\"垂直方向\">垂直方向</span></template>\n      <template #desc>设置属性<code>direction=\"vertical\"</code>为在垂直方向展示。</template>\n      <template #code><Vertical /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-steps current=\"1\" status=\"error\">\n          <r-step title=\"已完成\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"进行中\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n          <r-step title=\"待进行\" content=\"这里是该步骤的描述信息\"></r-step>\n        </r-steps>\n      </template>\n      <template #header><span id=\"步骤运行错误\">步骤运行错误</span></template>\n      <template #desc>\n        设置<code>r-steps</code>的属性<code>status=\"error\"</code>为指定当前步骤状态。\n      </template>\n      <template #code><Error /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Steps from '../../../../../src/components/steps'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Error,\n  Mini,\n  Vertical,\n  WithIcon,\n  ChangeStep,\n  APITable\n} from '../../../examples-code/components/steps'\n\nlet stpes: Steps,\n  n = 0\n\nonMounted(() => {\n  stpes = new Steps()\n})\n\nconst handlClickNext = () => {\n  if (n == 3) {\n    n = 0\n  } else {\n    n += 1\n  }\n  stpes.config('#test').current = n\n}\n\nconst anchors: string[] = [\n  '基础用法',\n  '迷你版',\n  '带图标的步骤条',\n  '切换步骤',\n  '垂直方向',\n  '步骤运行错误',\n  'API'\n]\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Switch.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Switch\" title=\"开关\" desc=\"开关选择器\">\n      <li>需要表示开关状态/两种状态之间的切换时</li>\n      <li>\n        和<code>checkbox</code>的区别是，切换<code>switch</code>会直接触发状态改变，而<code>checkbox</code>一般用于状态标记，需要和提交操作配合\n      </li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-switch id=\"test\" />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>基本用法，状态切换时会触发事件。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-switch size=\"large\" />\n        <r-switch />\n        <r-switch size=\"small\" />\n      </template>\n      <template #header><span id=\"尺寸\">尺寸</span></template>\n      <template #desc>\n        设置<code>size</code>为<code>large</code>或<code>small</code>使用大号和小号的开关。\n      </template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-switch open=\"开\" close=\"关\" />\n        <r-switch\n          open=\"<i class='rab-icon rab-icon-md-checkmark'></i>\"\n          close=\"<i class='rab-icon rab-icon-md-close'></i>\"\n        />\n        <br />\n        <r-switch size=\"large\" open=\"开启\" close=\"关闭\" />\n        <r-switch size=\"large\" open=\"ON\" close=\"OFF\" />\n      </template>\n      <template #header><span id=\"文字和图标\">文字和图标</span></template>\n      <template #desc>\n        设置属性<code>open</code>和<code>close</code>自定义切换状态后显示的内容，建议如果使用2个汉字，将开关尺寸设置为\n        large。\n      </template>\n      <template #code><TextAndIcon /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-switch disabled=\"true\" />\n      </template>\n      <template #header><span id=\"不可用\">不可用</span></template>\n      <template #desc> 设置属性<code>disabled=\"true\"</code>禁用开关 </template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-switch loading=\"true\" checked=\"true\" />\n        <r-switch loading=\"true\" size=\"small\" />\n      </template>\n      <template #header><span id=\"加载中\">加载中</span></template>\n      <template #desc>设置属性<code>loading=\"true\"</code>标识开关操作仍在执行中。</template>\n      <template #code><Loading /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-switch true-color=\"#52c41a\" false-color=\"#ff4d4f\" />\n      </template>\n      <template #header><span id=\"自定义颜色\">自定义颜色</span></template>\n      <template #desc>\n        设置属性<code>true-color</code>和<code>false-color</code>可以自定义背景色。\n      </template>\n      <template #code><CustomColor /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Message from '../../../../../src/components/message'\nimport Switch from '../../../../../src/components/switch'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Size,\n  Loading,\n  Disabled,\n  CustomColor,\n  TextAndIcon,\n  APITable\n} from '../../../examples-code/components/switch'\n\nonMounted(() => {\n  const _switch = new Switch()\n\n  _switch.config('#test').events({\n    onChange: (checked) => {\n      Message.info(`开关状态: ${checked}`)\n    }\n  })\n})\n\nconst anchors: string[] = [\n  '基础用法',\n  '尺寸',\n  '文字和图标',\n  '不可用',\n  '加载中',\n  '自定义颜色',\n  'API'\n]\n</script>\n\n<style scoped>\nr-switch {\n  margin-right: 8px;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Tabs.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Tabs\" title=\"选项卡\" desc=\"选项卡切换组件。\">\n      <li>提供平级的区域将大块内容进行收纳和展现，保持界面整洁。</li>\n      <li>卡片式的页签，提供可关闭的样式，常用于容器顶部。</li>\n      <li>标准线条式页签，用于容器内部的主功能切换，这是最常用的 Tabs。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-tabs active-index=\"1\" id=\"test\">\n          <r-tab-pane tab=\"标签一\" index=\"1\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签二\" index=\"2\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签三\" index=\"3\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <code>active-index</code\n        >与<code>r-tab-pane</code>的<code>index</code>对应，用于标识当前激活的是哪一项，key\n        值默认从 0 开始，默认激活第一项。可以使用提供的<code>config</code>方法返回的\n        <code>activeIndex</code>进行动态改变\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tabs>\n          <r-tab-pane tab=\"macOS\" icon=\"logo-apple\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"Windows\" icon=\"logo-windows\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"Linux\" icon=\"logo-tux\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"图标\">图标</span></template>\n      <template #desc> 通过设置属性<code>icon</code>，可以显示一个图标。 </template>\n      <template #code><WithIcon /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tabs size=\"small\">\n          <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"迷你型\">迷你型</span></template>\n      <template #desc>\n        设置属性<code>size=\"small\"</code>可以显示为迷你型，只在<code>type=\"line\"</code>时有效。\n      </template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tabs>\n          <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签二\" disabled=\"true\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"禁用\">禁用</span></template>\n      <template #desc>禁用某一项。</template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tabs type=\"card\">\n          <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"卡片样式\">卡片样式</span></template>\n      <template #desc>\n        设置属性<code>type=\"card\"</code>可以显示卡片样式，常用于容器顶部。\n      </template>\n      <template #code><CardType /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tabs type=\"card\" closable=\"true\">\n          <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"可关闭\">可关闭</span></template>\n      <template #desc>\n        <p>\n          通过设置属性<code>closable</code>可以关闭某一项，仅在<code>type=\"card\"</code>时有效。\n        </p>\n        <p>当设置了可关闭后，面板的切换将不使用切换动画。</p>\n      </template>\n      <template #code><Closable /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tabs animated=\"false\">\n          <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n          <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n        </r-tabs>\n      </template>\n      <template #header><span id=\"不使用动画\">不使用动画</span></template>\n      <template #desc> 通过设置属性<code>animated=\"fasle\"</code>可以禁用动画。 </template>\n      <template #code><Animated /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <a-row>\n          <a-col\n            :span=\"11\"\n            class=\"demo-tabs-style1\"\n            style=\"background: #e3e8ee; padding: 16px; margin-right: 12px\"\n          >\n            <r-tabs type=\"card\">\n              <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n              <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n              <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n            </r-tabs>\n          </a-col>\n          <a-col :span=\"11\" class=\"demo-tabs-style2\">\n            <r-tabs type=\"card\">\n              <r-tab-pane tab=\"标签一\">标签一的内容</r-tab-pane>\n              <r-tab-pane tab=\"标签二\">标签二的内容</r-tab-pane>\n              <r-tab-pane tab=\"标签三\">标签三的内容</r-tab-pane>\n            </r-tabs>\n          </a-col>\n        </a-row>\n      </template>\n      <template #header><span id=\"其它样式\">其它样式</span></template>\n      <template #desc>可以根据业务自定义 UI，需要一点额外的样式覆盖。</template>\n      <template #code><CustomStyle /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Tabs from \"../../../../../src/components/tabs\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  WithIcon,\n  Small,\n  Disabled,\n  CardType,\n  Closable,\n  Animated,\n  CustomStyle,\n  APITable,\n} from \"../../../examples-code/components/tabs\";\n\nonMounted(() => {\n  const tabs = new Tabs();\n  tabs.config(\"#test\").events({\n    onClick: (index) => {\n      console.log(\"当前点击的tab\", index);\n    },\n  });\n});\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"图标\",\n  \"迷你型\",\n  \"禁用\",\n  \"卡片样式\",\n  \"可关闭\",\n  \"不使用动画\",\n  \"其它样式\",\n  \"API\",\n];\n</script>\n\n<style lang=\"less\" scope>\n.demo-tabs {\n  &-style1 {\n    & > .rab-tabs-card {\n      & > .rab-tabs-content {\n        height: 120px;\n        margin-top: -16px;\n\n        & > r-tab-pane {\n          background: #fff;\n          padding: 16px;\n        }\n      }\n\n      & > .rab-tabs-bar {\n        .rab-tabs-tab {\n          border-color: transparent;\n        }\n        .rab-tabs-tab-active {\n          border-color: #fff;\n        }\n      }\n    }\n  }\n\n  &-style2 {\n    & > .rab-tabs-card {\n      & > .rab-tabs-bar {\n        .rab-tabs-tab {\n          border-radius: 0;\n          background: #fff;\n        }\n        .rab-tabs-tab-active {\n          border-top: 1px solid #3399ff;\n\n          &::before {\n            content: \"\";\n            display: block;\n            width: 100%;\n            height: 1px;\n            background: #3399ff;\n            position: absolute;\n            top: 0;\n            left: 0;\n          }\n        }\n      }\n    }\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Tag.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Tag\" title=\"标签\" desc=\"进行标记和分类的小标签。\">\n      <li>用于标记事物的属性和维度。</li>\n      <li>进行分类。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-tag>标签一</r-tag>\n        <r-tag>标签二</r-tag>\n        <r-tag closable=\"true\" id=\"closeTag\">标签三</r-tag>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>简单的展示，添加属性<code>closable=\"true\"</code>可以关闭标签。</p>\n        <p>点击关闭标签时，可以使用<code>onClose</code>方法添加回调事件</p>\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tag type=\"border\">标签三</r-tag>\n        <r-tag type=\"border\" closable=\"true\">标签四</r-tag>\n        <r-tag type=\"dot\">标签一</r-tag>\n        <r-tag type=\"dot\" closable=\"true\">标签二</r-tag>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>\n          通过设置<code>type</code>属性为<code>border</code>或<code>dot</code>来选择不同的样式类型。建议有关闭的某些场景下使用\n          border，图例的场景下使用 dot。\n        </p>\n      </template>\n      <template #code><StyleTypes /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tag color=\"default\">default</r-tag>\n        <r-tag color=\"primary\">primary</r-tag>\n        <r-tag color=\"success\">success</r-tag>\n        <r-tag color=\"error\">error</r-tag>\n        <r-tag color=\"warning\">warning</r-tag>\n        <r-tag color=\"magenta\">magenta</r-tag>\n        <r-tag color=\"red\">red</r-tag>\n        <r-tag color=\"volcano\">volcano</r-tag>\n        <r-tag color=\"orange\">orange</r-tag>\n        <r-tag color=\"gold\">gold</r-tag>\n        <r-tag color=\"yellow\">yellow</r-tag>\n        <r-tag color=\"lime\">lime</r-tag>\n        <r-tag color=\"green\">green</r-tag>\n        <r-tag color=\"cyan\">cyan</r-tag>\n        <r-tag color=\"blue\">blue</r-tag>\n        <r-tag color=\"geekblue\">geekblue</r-tag>\n        <r-tag color=\"purple\">purple</r-tag>\n        <r-tag color=\"#FFA2D3\">Custom Color</r-tag>\n        <br /><br />\n        <r-tag type=\"border\" closable=\"true\" color=\"primary\">标签一</r-tag>\n        <r-tag type=\"border\" closable=\"true\" color=\"success\">标签二</r-tag>\n        <r-tag type=\"border\" closable=\"true\" color=\"warning\">标签三</r-tag>\n        <r-tag type=\"border\" closable=\"true\" color=\"error\">标签四</r-tag>\n        <br /><br />\n        <r-tag type=\"dot\" closable=\"true\" color=\"primary\">标签一</r-tag>\n        <r-tag type=\"dot\" closable=\"true\" color=\"success\">标签二</r-tag>\n        <r-tag type=\"dot\" closable=\"true\" color=\"warning\">标签三</r-tag>\n        <r-tag type=\"dot\" closable=\"true\" color=\"error\">标签四</r-tag>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>多种预设颜色，可自定义颜色。</p>\n      </template>\n      <template #code><Colors /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tag checkable=\"true\" color=\"primary\" id=\"checkedTag\">标签一</r-tag>\n        <r-tag checkable=\"true\" color=\"success\">标签二</r-tag>\n        <r-tag checkable=\"true\" color=\"error\">标签三</r-tag>\n        <r-tag checkable=\"true\" color=\"warning\">标签四</r-tag>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>\n          设置属性<code>checkable=\"true\"</code>，可以对标签进行选择，属性 `checked`\n          控制当前选择状态。\n        </p>\n      </template>\n      <template #code><CanSelect /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tag>默认标签</r-tag>\n        <r-tag size=\"medium\">中号标签</r-tag>\n        <r-tag size=\"large\">大号标签</r-tag>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        <p>设置属性<code>size</code>可以显示不同尺寸的标签。</p>\n      </template>\n      <template #code><Size /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Tag from \"../../../../../src/components/tag\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Size,\n  StyleTypes,\n  Colors,\n  CanSelect,\n  APITable,\n} from \"../../../examples-code/components/tag\";\n\nonMounted(() => {\n  const tag = new Tag();\n\n  tag.config(\"#closeTag\").events({\n    onClose: (el) => {\n      console.log(el);\n    },\n  });\n  tag.config(\"#checkedTag\").events({\n    onChange: (checked) => {\n      console.log(checked);\n    },\n  });\n});\n\nconst anchors: string[] = [\"基础用法\", \"样式类型\", \"各种颜色\", \"可选择\", \"尺寸\", \"API\"];\n</script>\n"
  },
  {
    "path": "site/src/pages/app/views/Time.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea\n      name=\"Time\"\n      title=\"相对时间\"\n      desc=\"常用于表示几分钟前、几小时前等相对于此时此刻的时间描述。\"\n      :showWhenToUse=\"false\"\n    />\n    <CodeBox>\n      <template #case>\n        <r-time time=\"new Date().getTime() - 60 * 3 * 1000\" />\n        <br />\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" />\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>\n        属性<code>time</code>设置一个时间戳或 Date，可自动转为相对于当前的时间。\n      </template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-time time=\"new Date()\" interval=\"1\" />\n      </template>\n      <template #header><span id=\"自动更新间隔\">自动更新间隔</span></template>\n      <template #desc>设置自动更新间隔，默认为 60 秒。</template>\n      <template #code><AutoUpdate /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" />\n        <br />\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" type=\"date\" />\n        <br />\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" type=\"datetime\" />\n      </template>\n      <template #header><span id=\"不同类型\">不同类型</span></template>\n      <template #desc> 设置属性<code>type</code>可以根据情况，设置不同的显示类型。 </template>\n      <template #code><Types /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-time time=\"new Date().getTime() - 86400 * 3 * 1000\" hash=\"#hash\" />\n      </template>\n      <template #header><span id=\"锚点\">锚点</span></template>\n      <template #desc> 设置<code>hash</code>属性，相对时间可以点击并定位锚点。 </template>\n      <template #code><WithAnchor /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Time from '../../../../../src/components/time'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  AutoUpdate,\n  Types,\n  WithAnchor,\n  APITable\n} from '../../../examples-code/components/time'\n\nonMounted(() => new Time())\n\nconst anchors: string[] = ['基础用法', '自动更新间隔', '不同类型', '锚点', 'API']\n</script>"
  },
  {
    "path": "site/src/pages/app/views/Timeline.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Timeline\" title=\"时间轴\" desc=\"可视化地呈现时间流信息。\">\n      <li>当有一系列信息需按时间排列时，可正序和倒序。</li>\n      <li>需要有一条时间轴进行视觉上的串联时。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-timeline>\n          <r-timeline-item>\n            <p class=\"time\">1976s</p>\n            <p class=\"content\">第一代苹果问世</p>\n          </r-timeline-item>\n          <r-timeline-item>\n            <p class=\"time\">1984s</p>\n            <p class=\"content\">发布麦金塔电脑</p>\n          </r-timeline-item>\n          <r-timeline-item>\n            <p class=\"time\">2007s</p>\n            <p class=\"content\">发布 iPhone</p>\n          </r-timeline-item>\n          <r-timeline-item>\n            <p class=\"time\">2010s</p>\n            <p class=\"content\">发布 iPad</p>\n          </r-timeline-item>\n          <r-timeline-item color=\"gray\">\n            <p class=\"time\">2011.10.05</p>\n            <p class=\"content\">史蒂夫·乔布斯去世</p>\n          </r-timeline-item>\n        </r-timeline>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>最简单定义一个时间轴的用法。</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-timeline>\n          <r-timeline-item color=\"green\">发布1.0版本</r-timeline-item>\n          <r-timeline-item color=\"green\">发布2.0版本</r-timeline-item>\n          <r-timeline-item color=\"red\">重大Bug</r-timeline-item>\n          <r-timeline-item color=\"gray\">推迟发布</r-timeline-item>\n          <r-timeline-item>发布3.0版本</r-timeline-item>\n        </r-timeline>\n      </template>\n      <template #header><span id=\"圆圈颜色\">圆圈颜色</span></template>\n      <template #desc>\n        圆圈颜色，绿色用于已完成、成功状态，红色表示告警或错误状态，灰色表示当前任务状态停滞或取消，蓝色可表示正在进行或其他默认状态。\n      </template>\n      <template #code><Colors /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-timeline pending=\"true\">\n          <r-timeline-item>2021-04-01 创建服务器网站</r-timeline-item>\n          <r-timeline-item>2021-04-01 解决了初始化网络问题</r-timeline-item>\n          <r-timeline-item>2021-04-01 技术人员进行测试</r-timeline-item>\n          <r-timeline-item><a href=\"#\">查看更多</a></r-timeline-item>\n        </r-timeline>\n      </template>\n      <template #header><span id=\"最后一个\">最后一个</span></template>\n      <template #desc>\n        通过添加属性<code>pending=\"true\"</code>来标记最后一个为幽灵节点，标识还未完成。\n      </template>\n      <template #code><Pending /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-timeline>\n          <r-timeline-item dot=\"<i class='rab-icon rab-icon-ios-trophy'></i>\" color=\"green\">\n            发布里程碑版本\n          </r-timeline-item>\n          <r-timeline-item>发布1.0版本</r-timeline-item>\n          <r-timeline-item>发布2.0版本</r-timeline-item>\n          <r-timeline-item>发布3.0版本</r-timeline-item>\n        </r-timeline>\n      </template>\n      <template #header><span id=\"自定义时间轴点\">自定义时间轴点</span></template>\n      <template #desc>可根据实际场景⾃定义节点</template>\n      <template #code><Custom /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from 'vue'\nimport Timeline from '../../../../../src/components/timeline'\nimport { Anchor, ExampleHeaderArea, CodeBox } from '../../../components'\nimport {\n  Basic,\n  Colors,\n  Custom,\n  Pending,\n  APITable\n} from '../../../examples-code/components/timeline'\n\nonMounted(() => new Timeline())\n\nconst anchors: string[] = ['基础用法', '圆圈颜色 ', '最后一个', '自定义时间轴点', 'API']\n</script>\n\n<style scoped>\n.time {\n  font-size: 14px;\n  font-weight: bold;\n  margin: 0 !important;\n}\n\n.content {\n  padding-left: 5px;\n  margin: 0 !important;\n}\n</style>"
  },
  {
    "path": "site/src/pages/app/views/Tooltip.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <ExampleHeaderArea name=\"Tooltip\" title=\"文字提示\" desc=\"简单的文字提示气泡框。\">\n      <li>鼠标移入则显示提示，移出消失，气泡浮层不承载复杂文本和操作。</li>\n      <li>可用来代替系统默认的 ‘title’ 提示，提供一个’按钮/文字/操作’的文案解释。</li>\n    </ExampleHeaderArea>\n    <CodeBox>\n      <template #case>\n        <r-tooltip content=\"这里是提示文字\" id=\"test\">\n          鼠标经过这段文字时，会显示一个气泡框\n        </r-tooltip>\n      </template>\n      <template #header><span id=\"基础用法\">基础用法</span></template>\n      <template #desc>最简单的用法</template>\n      <template #code><Basic /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <div class=\"top\">\n          <r-tooltip content=\"Top Left 文字提示\" placement=\"top-start\">\n            <button class=\"rab-btn\">上左</button>\n          </r-tooltip>\n          <r-tooltip content=\"Top Center 文字提示\">\n            <button class=\"rab-btn\">上边</button>\n          </r-tooltip>\n          <r-tooltip content=\"Top Right 文字提示\" placement=\"top-end\">\n            <button class=\"rab-btn\">上右</button>\n          </r-tooltip>\n        </div>\n        <div class=\"center\">\n          <div class=\"center-left\">\n            <r-tooltip content=\"Left Top 文字提示\" placement=\"left-start\">\n              <button class=\"rab-btn\">左上</button> </r-tooltip\n            ><br /><br />\n            <r-tooltip content=\"Left Center 文字提示\" placement=\"left\">\n              <button class=\"rab-btn\">左边</button> </r-tooltip\n            ><br /><br />\n            <r-tooltip content=\"Left Bottom 文字提示\" placement=\"left-end\">\n              <button class=\"rab-btn\">左下</button>\n            </r-tooltip>\n          </div>\n          <div class=\"center-right\">\n            <r-tooltip content=\"Right Top 文字提示\" placement=\"right-start\">\n              <button class=\"rab-btn\">右上</button> </r-tooltip\n            ><br /><br />\n            <r-tooltip content=\"Right Center 文字提示\" placement=\"right\">\n              <button class=\"rab-btn\">右边</button> </r-tooltip\n            ><br /><br />\n            <r-tooltip content=\"Right Bottom 文字提示\" placement=\"right-end\">\n              <button class=\"rab-btn\">右下</button>\n            </r-tooltip>\n          </div>\n        </div>\n        <div class=\"bottom\">\n          <r-tooltip content=\"Bottom Left 文字提示\" placement=\"bottom-start\">\n            <button class=\"rab-btn\">下左</button>\n          </r-tooltip>\n          <r-tooltip content=\"Bottom Center 文字提示\" placement=\"bottom\">\n            <button class=\"rab-btn\">下边</button>\n          </r-tooltip>\n          <r-tooltip content=\"Bottom Right 文字提示\" placement=\"bottom-end\">\n            <button class=\"rab-btn\">下右</button>\n          </r-tooltip>\n        </div>\n      </template>\n      <template #header><span id=\"位置\">位置</span></template>\n      <template #desc>组件提供了12个不同的方向显示Tooltip，具体配置可查看API。</template>\n      <template #code><Placement /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tooltip content=\"content of tooltip\" placement=\"top\" id=\"test2\">\n          <button class=\"rab-btn\">多行</button>\n        </r-tooltip>\n      </template>\n      <template #header><span id=\"自定义内容\">自定义内容</span></template>\n      <template #desc>\n        如果需要添加带有HTML代码或其他复杂的内容，抑或是需要动态更新内容，请使用组件提供的响应式API渲染\n      </template>\n      <template #code><CustomContent /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tooltip placement=\"top\" disabled=\"true\">\n          <button class=\"rab-btn\">禁用提示</button>\n        </r-tooltip>\n      </template>\n      <template #header><span id=\"禁用\">禁用</span></template>\n      <template #desc>通过设置属性<code>disabled</code>可以禁用文字提示。</template>\n      <template #code><Disabled /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tooltip content=\"Tooltip 文字提示\" delay=\"1000\">\n          <button class=\"rab-btn\">延时1秒显示</button>\n        </r-tooltip>\n      </template>\n      <template #header><span id=\"延时\">延时</span></template>\n      <template #desc>\n        通过设置属性<code>delay</code>可以延时显示文字提示，单位毫秒。\n      </template>\n      <template #code><Delay /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tooltip content=\"content of tooltip\">\n          <button class=\"rab-btn\">Dark(default)</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"light\">\n          <button class=\"rab-btn\">Light</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"pink\">\n          <button class=\"rab-btn\">pink</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"red\">\n          <button class=\"rab-btn\">red</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"yellow\">\n          <button class=\"rab-btn\">yellow</button>\n        </r-tooltip>\n        <br /><br />\n        <r-tooltip content=\"content of tooltip\" theme=\"orange\">\n          <button class=\"rab-btn\">orange</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"cyan\">\n          <button class=\"rab-btn\">cyan</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"green\">\n          <button class=\"rab-btn\">green</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"blue\">\n          <button class=\"rab-btn\">blue</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"purple\">\n          <button class=\"rab-btn\">purple</button>\n        </r-tooltip>\n        <br /><br />\n        <r-tooltip content=\"content of tooltip\" theme=\"geekblue\">\n          <button class=\"rab-btn\">geekblue</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"magenta\">\n          <button class=\"rab-btn\">magenta</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"volcano\">\n          <button class=\"rab-btn\">volcano</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"gold\">\n          <button class=\"rab-btn\">gold</button>\n        </r-tooltip>\n        <r-tooltip content=\"content of tooltip\" theme=\"lime\">\n          <button class=\"rab-btn\">lime</button>\n        </r-tooltip>\n      </template>\n      <template #header><span id=\"主题\">主题</span></template>\n      <template #desc>\n        <p>设置属性<code>theme</code>可以显示不同的颜色。</p>\n        <p>有多种预设色彩的文字提示样式，用作不同场景使用。</p>\n      </template>\n      <template #code><Theme /></template>\n    </CodeBox>\n    <CodeBox>\n      <template #case>\n        <r-tooltip\n          max-width=\"200\"\n          content=\"史蒂夫·乔布斯（Steve Jobs），1955年2月24日生于美国加利福尼亚州旧金山，美国发明家、企业家、美国苹果公司联合创办人。\"\n        >\n          <button class=\"rab-btn\">长文本</button>\n        </r-tooltip>\n      </template>\n      <template #header><span id=\"自动换行\">自动换行</span></template>\n      <template #desc>\n        设置属性<code>max-width</code>，当超出最大值后，文本将自动换行，并两端对齐。\n      </template>\n      <template #code><AutoNewLine /></template>\n    </CodeBox>\n    <h2 id=\"API\">API</h2>\n    <APITable />\n    <Anchor :linkList=\"anchors\" />\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Tooltip from \"../../../../../src/components/tooltip\";\nimport { Anchor, ExampleHeaderArea, CodeBox } from \"../../../components\";\nimport {\n  Basic,\n  Delay,\n  Theme,\n  Disabled,\n  Placement,\n  AutoNewLine,\n  CustomContent,\n  APITable,\n} from \"../../../examples-code/components/tooltip\";\n\nonMounted(() => {\n  const tooltip = new Tooltip();\n\n  tooltip.config(\"#test\").events({\n    onVisibleChange: (visable) => {\n      console.log(visable);\n    },\n  });\n\n  const custom = \"<div><p>显示多行信息</p> <p><i>可以自定义样式</i></p></div>\";\n  tooltip.config(\"#test2\").content = custom;\n});\n\nconst anchors: string[] = [\n  \"基础用法\",\n  \"位置 \",\n  \"自定义内容\",\n  \"禁用\",\n  \"延时\",\n  \"主题\",\n  \"自动换行\",\n  \"API\",\n];\n</script>\n\n<style scope>\n.top,\n.bottom {\n  text-align: center;\n}\n\n.center {\n  width: 300px;\n  margin: 10px auto;\n  overflow: hidden;\n}\n\n.center-left {\n  float: left;\n}\n\n.center-right {\n  float: right;\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/app/views/Update.vue",
    "content": "<template>\n  <article class=\"markdown\">\n    <h1>更新日志</h1>\n    <p>\n      <code>rabbit-simple-ui</code> 严格遵循\n      <a href=\"http://semver.org/lang/zh-CN/\" rel=\"nofollow\">Semantic Versioning 2.0.0</a>\n      语义化版本规范。\n    </p>\n    <h3>发布周期</h3>\n    <ul>\n      <li>修订版本号：日常 bugfix 更新</li>\n      <li>次版本号：带有新特性的向下兼容的版本。</li>\n      <li>主版本号：含有破坏性更新和新特性，不在发布周期内。</li>\n    </ul>\n    <div class=\"update-wrapper\">\n      <r-timeline>\n        <r-timeline-item v-for=\"item in updateInfo\" :key=\"item.version\">\n          <div class=\"version\">{{ item.version }}</div>\n          <p class=\"time\">\n            <code>{{ item.time }}</code>\n          </p>\n          <ul>\n            <li v-for=\"content in item.content\" :key=\"content\">{{ content }}</li>\n          </ul>\n        </r-timeline-item>\n      </r-timeline>\n    </div>\n  </article>\n</template>\n\n<script lang=\"ts\" setup>\nimport { onMounted } from \"vue\";\nimport Timeline from \"../../../../../src/components/timeline\";\n\nonMounted(() => new Timeline());\n\ninterface A {\n  version: string;\n  time: string;\n  content: string[];\n}\n\nconst updateInfo: A[] = [\n  {\n    version: \"1.8.0\",\n    time: \"2021-06-18\",\n    content: [\n      \"重写并优化 Message 组件\",\n      \"修复 Button 在没有图标仅有文本的状态下，切换为loading状态并在状态结束后无法切换为原样的bug\",\n      \"修复 Modal 开启异步状态后，无法按照预期的逻辑关闭自己且报错，并且一直处于loading状态\",\n    ],\n  },\n  {\n    version: \"1.7.0\",\n    time: \"2021-05-30\",\n    content: [\"新增组件 Circle\"],\n  },\n  {\n    version: \"1.6.0\",\n    time: \"2021-05-26\",\n    content: [\"新增组件 Affix\"],\n  },\n  {\n    version: \"1.5.1\",\n    time: \"2021-05-24\",\n    content: [\"修复 Button 组件在 loading 状态下，原有图标和加载中图标并列显示的问题。\"],\n  },\n  {\n    version: \"1.5.0\",\n    time: \"2021-05-10\",\n    content: [\"新增组件 InputNumber。\"],\n  },\n  {\n    version: \"1.4.0\",\n    time: \"2021-04-29\",\n    content: [\n      \"重写 poptip，优化代码逻辑并且修复若干个bug。\",\n      \"poptip 新增属性 visible。\",\n      \"poptip 新增事件 onPopperShow 和 onPopperHide，删除事件 onShow 和 onHide。\",\n    ],\n  },\n  {\n    version: \"1.3.0\",\n    time: \"2021-04-29\",\n    content: [\n      \"重写 dropdown，优化代码逻辑并且修复若干个bug。\",\n      \"dropdown 新增属性 stop-propagation，新增 visible 属性，用于手动控制下拉框的显示。\",\n      \"dropdown 新增事件 onVisibleChange，菜单显示状态改变时调用，新增事件 onClickOutside，点击外部关闭下拉菜单时触发。\",\n      \"dropdown-item 新增属性 key，用来标识这一项，新增属性 danger。\",\n    ],\n  },\n  {\n    version: \"1.2.0\",\n    time: \"2021-04-22\",\n    content: [\"新增组件 MiniModal，用来创建一次性的轻量级对话框。\"],\n  },\n  {\n    version: \"1.1.0\",\n    time: \"2021-04-20\",\n    content: [\n      \"重写 tooltip。\",\n      \"新增 tooltip 多种预设色彩的文字提示样式。\",\n      \"修复 1.0.x 版本中，tooltip 的箭头方向无法随着气泡方向更新的问题。\",\n    ],\n  },\n  {\n    version: \"1.0.2\",\n    time: \"2021-04-16\",\n    content: [\n      \"修复 BackTop 组件样式外观异常\",\n      \"修复 Button 组件内显示的加载中图标旋转摇晃\",\n    ],\n  },\n  {\n    version: \"1.0.0 The Jade Hare\",\n    time: \"2021-04-10\",\n    content: [\"月亮之兔 - 玉兔诞生\"],\n  },\n];\n</script>\n\n<style lang=\"less\" scoped>\n.update-wrapper {\n  margin-top: 2rem;\n\n  .version {\n    font-size: 24px;\n    margin-top: -9px;\n  }\n\n  .time {\n    margin: 0 !important;\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/home/Home.vue",
    "content": "<template>\n  <main class=\"home\">\n    <section class=\"home-main\">\n      <header class=\"home-header-box\">\n        <div class=\"home-header\">\n          <NavLogo class=\"home-header-nav-logo\" />\n          <div class=\"home-search\">\n            <SearchInput />\n          </div>\n        </div>\n      </header>\n      <div class=\"home-middle\">\n        <div class=\"home-hero\">\n          <figure class=\"figure\">\n            <img src=\"/src/assets/logo.svg\" width=\"190\" height=\"190\" alt=\"logo\" />\n          </figure>\n          <h1 class=\"title\">Rabbit UI</h1>\n          <p class=\"desc\">一个基于 JavaScript 的简洁 UI 组件库</p>\n          <div class=\"nav-link-group\">\n            <router-link to=\"/docs/introduce\">\n              <a-button type=\"primary\" size=\"large\" shape=\"round\"> 开始使用 </a-button>\n            </router-link>\n            <a href=\"https://github.com/niu-grandpa/rabbit-ui\" target=\"_blank\">\n              <a-button size=\"large\" shape=\"round\" class=\"ghost-btn\">\n                <template #icon><GithubOutlined /></template> GitHub\n              </a-button>\n            </a>\n          </div>\n        </div>\n      </div>\n    </section>\n    <footer class=\"home-copyright\">\n      <span>\n        Copyright © 2021-present Ryan John |\n        <a href=\"https://beian.miit.gov.cn\" target=\"_blank\">粤ICP备2021036489号</a>\n      </span>\n    </footer>\n  </main>\n</template>\n\n<script lang=\"ts\" setup>\nimport { NavLogo, SearchInput } from \"../../components/index\";\nimport { GithubOutlined } from \"@ant-design/icons-vue\";\n</script>\n\n<style lang=\"less\" scope>\n.home {\n  width: 100%;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  background-color: #fff;\n  background-image: url(/src/assets/home-bg.png);\n  background-repeat: no-repeat;\n  overflow: hidden;\n\n  &-main {\n    width: 100%;\n    height: 100%;\n  }\n\n  &-header-box {\n    width: 100%;\n\n    @media (max-width: 420px) {\n      border-bottom: 1px solid #dcdee2;\n    }\n  }\n\n  &-header {\n    width: 1380px;\n    height: 70px;\n    margin-left: 8%;\n    line-height: 70px;\n\n    &-nav-logo {\n      @media (max-width: 420px) {\n        display: none;\n      }\n      display: inline;\n    }\n  }\n\n  &-middle {\n    position: relative;\n    height: 100%;\n  }\n\n  &-hero {\n    margin: 2.5rem 0 2.75rem;\n    padding: 0 1.5rem;\n    text-align: center;\n\n    @media (min-width: 420px) {\n      margin: 3.5rem 0;\n    }\n\n    @media (min-width: 720px) {\n      margin: 4rem 0 4.25rem;\n    }\n\n    .figure {\n      padding: 0 1.5rem;\n\n      img {\n        display: block;\n        margin: 0 auto;\n        width: auto;\n        max-width: 100%;\n        max-height: 280px;\n      }\n    }\n\n    .title {\n      margin-top: 1rem;\n      font-size: 1.85rem;\n      color: #2c3e50;\n\n      @media (min-width: 420px) {\n        font-size: 3rem;\n      }\n\n      @media (min-width: 720px) {\n        margin-top: 2rem;\n      }\n    }\n\n    .desc {\n      color: #476582;\n      font-size: 1.2rem;\n      margin-top: 24px;\n      padding-left: 16px;\n\n      @media (min-width: 420px) {\n        line-height: 1.2;\n        font-size: 1.6rem;\n      }\n    }\n\n    .nav-link-group {\n      margin-top: 0.8rem;\n      display: inline-block;\n\n      @media (min-width: 420px) {\n        display: inline-block;\n      }\n\n      .ghost-btn {\n        margin-left: 12px;\n        color: #1890ff;\n        border-color: #40a9ff;\n        background-color: fade(#fff, 30%);\n\n        &:hover {\n          background-color: fade(#fff, 10%);\n        }\n      }\n    }\n  }\n\n  &-logo {\n    margin-right: 16px;\n\n    &-text {\n      position: relative;\n      display: inline-block;\n      font-size: 1.2rem;\n      top: 4px;\n    }\n  }\n\n  &-search {\n    display: inline-block;\n    margin-left: 32px;\n\n    @media (max-width: 420px) {\n      margin-left: 4%;\n      text-align: center;\n    }\n\n    .ant-select {\n      width: 200px;\n    }\n  }\n\n  &-copyright {\n    @media (max-width: 420px) {\n      font-size: 0.5rem;\n    }\n\n    width: 100%;\n    position: fixed;\n    bottom: 10px;\n    text-align: center;\n    color: #9ca0a8;\n\n    a {\n      color: inherit;\n    }\n  }\n}\n</style>\n"
  },
  {
    "path": "site/src/pages/index.ts",
    "content": "import HomePage from './home/Home.vue'\nimport AppPage from './app/Index/Index.vue'\n\nexport { HomePage, AppPage }\n"
  },
  {
    "path": "site/src/plugins/antd.ts",
    "content": "import {\n  Button,\n  Select,\n  Row,\n  Col,\n  Menu,\n  Dropdown,\n  Popover,\n  Drawer,\n  Anchor,\n  Card\n} from 'ant-design-vue'\n\nexport default [Button, Select, Row, Col, Menu, Dropdown, Popover, Drawer, Anchor, Card]\n"
  },
  {
    "path": "site/src/router-link-list.ts",
    "content": "interface A {\n  text: string\n  path: string\n}\n\nexport const DOCSLIST: A[] = [\n  { text: '介绍', path: '/docs/introduce' },\n  { text: '安装', path: '/docs/install' },\n  { text: '快速上手', path: '/docs/start' },\n  { text: '常见问题', path: '/docs/faq' },\n  { text: '支持我们', path: '/docs/sponsor' },\n  { text: '更新日志', path: '/docs/update' }\n]\n\nexport const COMPONENTSLIST: A[] = [\n  { text: 'Affix 图钉', path: '/components/affix' },\n  { text: 'Alert 警告提示', path: '/components/alert' },\n  { text: 'Avatar 头像', path: '/components/avatar' },\n  { text: 'BackTop 返回顶部', path: '/components/back-top' },\n  { text: 'Badge 徽标', path: '/components/badge' },\n  { text: 'Breadcrumb 面包屑', path: '/components/breadcrumb' },\n  { text: 'Button 按钮', path: '/components/button' },\n  { text: 'Card 卡片', path: '/components/card' },\n  { text: 'Carousel 走马灯', path: '/components/carousel' },\n  { text: 'Checkbox 多选框', path: '/components/checkbox' },\n  { text: 'Circle 进度环', path: '/components/circle' },\n  { text: 'Collapse 折叠面板', path: '/components/collapse' },\n  { text: 'Color 色彩', path: '/components/color' },\n  { text: 'CountDown 倒计时', path: '/components/count-down' },\n  { text: 'Divider 分割线', path: '/components/divider' },\n  { text: 'Drawer 抽屉', path: '/components/drawer' },\n  { text: 'Dropdown 下拉菜单', path: '/components/dropdown' },\n  { text: 'Empty 空状态', path: '/components/empty' },\n  { text: 'Icon 图标', path: '/components/icon' },\n  { text: 'InputNumber 数字输入框', path: '/components/input-number' },\n  { text: 'Jumbotron 巨幕', path: '/components/jumbotron' },\n  { text: 'LoadingBar 加载进度条', path: '/components/loading-bar' },\n  { text: 'Message 全局提示', path: '/components/message' },\n  { text: 'MiniModal 轻量提示框', path: '/components/mini-modal' },\n  { text: 'Modal 模态框', path: '/components/modal' },\n  { text: 'Notice 通知提醒框', path: '/components/notice' },\n  { text: 'PageHeader 页头', path: '/components/page-header' },\n  { text: 'Poptip 气泡提示', path: '/components/poptip' },\n  { text: 'Progress 进度条', path: '/components/progress' },\n  { text: 'Radio 单选框', path: '/components/radio' },\n  { text: 'Result 结果', path: '/components/result' },\n  { text: 'Skeleton 骨架屏', path: '/components/skeleton' },\n  { text: 'Spin 加载中', path: '/components/spin' },\n  { text: 'Steps 步骤条', path: '/components/steps' },\n  { text: 'Switch 开关', path: '/components/switch' },\n  { text: 'Tabs 选项卡', path: '/components/tabs' },\n  { text: 'Tag 标签', path: '/components/tag' },\n  { text: 'Time 相对时间', path: '/components/time' },\n  { text: 'Timeline 时间轴', path: '/components/timeline' },\n  { text: 'Tooltip 文字提示', path: '/components/tooltip' }\n]\n"
  },
  {
    "path": "site/src/routers/index.ts",
    "content": "import { createRouter, createWebHistory } from 'vue-router'\nimport Loading from '../../../src/components/loading-bar'\n\nconst routerHistory = createWebHistory()\nconst router = createRouter({\n  history: routerHistory,\n  routes: [\n    {\n      path: '/',\n      meta: {\n        title: 'Rabbit UI - 一个基于 JavaScript 的简洁 UI 组件库'\n      },\n      component: () => import('@/App.vue')\n    },\n    {\n      path: '/docs',\n      redirect: '/'\n    },\n    {\n      path: '/components',\n      redirect: '/'\n    },\n    {\n      path: '/docs/introduce',\n      meta: {\n        title: '介绍'\n      },\n      component: () => import('pages/app/views/Introduce.vue')\n    },\n    {\n      path: '/docs/install',\n      meta: {\n        title: '安装'\n      },\n      component: () => import('pages/app/views/Install.vue')\n    },\n    {\n      path: '/docs/start',\n      meta: {\n        title: '快速上手'\n      },\n      component: () => import('pages/app/views/Start.vue')\n    },\n    {\n      path: '/docs/update',\n      meta: {\n        title: '更新日志'\n      },\n      component: () => import('pages/app/views/Update.vue')\n    },\n    {\n      path: '/docs/sponsor',\n      meta: {\n        title: '支持我们'\n      },\n      component: () => import('pages/app/views/Sponsor.vue')\n    },\n    {\n      path: '/docs/faq',\n      meta: {\n        title: '常见问题'\n      },\n      component: () => import('pages/app/views/FAQ.vue')\n    },\n    {\n      path: '/components/affix',\n      meta: {\n        title: '图钉'\n      },\n      component: () => import('pages/app/views/Affix.vue')\n    },\n    {\n      path: '/components/alert',\n      meta: {\n        title: '警告提示'\n      },\n      component: () => import('pages/app/views/Alert.vue')\n    },\n    {\n      path: '/components/avatar',\n      meta: {\n        title: '头像'\n      },\n      component: () => import('pages/app/views/Avatar.vue')\n    },\n    {\n      path: '/components/back-top',\n      meta: {\n        title: '返回顶部'\n      },\n      component: () => import('pages/app/views/BackTop.vue')\n    },\n    {\n      path: '/components/badge',\n      meta: {\n        title: '徽标'\n      },\n      component: () => import('pages/app/views/Badge.vue')\n    },\n    {\n      path: '/components/breadcrumb',\n      meta: {\n        title: '面包屑'\n      },\n      component: () => import('pages/app/views/Breadcrumb.vue')\n    },\n    {\n      path: '/components/button',\n      meta: {\n        title: '按钮'\n      },\n      component: () => import('pages/app/views/Button.vue')\n    },\n    {\n      path: '/components/card',\n      meta: {\n        title: '卡片'\n      },\n      component: () => import('pages/app/views/Card.vue')\n    },\n    {\n      path: '/components/carousel',\n      meta: {\n        title: '走马灯'\n      },\n      component: () => import('pages/app/views/Carousel.vue')\n    },\n    {\n      path: '/components/checkbox',\n      meta: {\n        title: '复选框'\n      },\n      component: () => import('pages/app/views/Checkbox.vue')\n    },\n    {\n      path: '/components/circle',\n      meta: {\n        title: '进度坏'\n      },\n      component: () => import('pages/app/views/Circle.vue')\n    },\n    {\n      path: '/components/collapse',\n      meta: {\n        title: '折叠面板'\n      },\n      component: () => import('pages/app/views/Collapse.vue')\n    },\n    {\n      path: '/components/color',\n      meta: {\n        title: '颜色'\n      },\n      component: () => import('pages/app/views/Color.vue')\n    },\n    {\n      path: '/components/count-down',\n      meta: {\n        title: '倒计时'\n      },\n      component: () => import('pages/app/views/CountDown.vue')\n    },\n    {\n      path: '/components/divider',\n      meta: {\n        title: '分割线'\n      },\n      component: () => import('pages/app/views/Divider.vue')\n    },\n    {\n      path: '/components/drawer',\n      meta: {\n        title: '抽屉'\n      },\n      component: () => import('pages/app/views/Drawer.vue')\n    },\n    {\n      path: '/components/dropdown',\n      meta: {\n        title: '下拉菜单'\n      },\n      component: () => import('pages/app/views/Dropdown.vue')\n    },\n    {\n      path: '/components/empty',\n      meta: {\n        title: '空状态'\n      },\n      component: () => import('pages/app/views/Empty.vue')\n    },\n    {\n      path: '/components/icon',\n      meta: {\n        title: '图标'\n      },\n      component: () => import('pages/app/views/Icon.vue')\n    },\n    {\n      path: '/components/input-number',\n      meta: {\n        title: '数字输入框'\n      },\n      component: () => import('pages/app/views/InputNumber.vue')\n    },\n    {\n      path: '/components/jumbotron',\n      meta: {\n        title: '巨幕'\n      },\n      component: () => import('pages/app/views/Jumbotron.vue')\n    },\n    {\n      path: '/components/loading-bar',\n      meta: {\n        title: '加载进度条'\n      },\n      component: () => import('pages/app/views/LoadingBar.vue')\n    },\n    {\n      path: '/components/message',\n      meta: {\n        title: '消息提示'\n      },\n      component: () => import('pages/app/views/Message.vue')\n    },\n    {\n      path: '/components/mini-modal',\n      meta: {\n        title: '迷你模态框'\n      },\n      component: () => import('pages/app/views/MiniModal.vue')\n    },\n    {\n      path: '/components/modal',\n      meta: {\n        title: '模态框'\n      },\n      component: () => import('pages/app/views/Modal.vue')\n    },\n    {\n      path: '/components/notice',\n      meta: {\n        title: '通知提醒'\n      },\n      component: () => import('pages/app/views/Notice.vue')\n    },\n    {\n      path: '/components/page-header',\n      meta: {\n        title: '页头'\n      },\n      component: () => import('pages/app/views/PageHeader.vue')\n    },\n    {\n      path: '/components/poptip',\n      meta: {\n        title: '气泡提示'\n      },\n      component: () => import('pages/app/views/Poptip.vue')\n    },\n    {\n      path: '/components/progress',\n      meta: {\n        title: '进度条'\n      },\n      component: () => import('pages/app/views/Progress.vue')\n    },\n    {\n      path: '/components/radio',\n      meta: {\n        title: '单选框'\n      },\n      component: () => import('pages/app/views/Radio.vue')\n    },\n    {\n      path: '/components/result',\n      meta: {\n        title: '结果'\n      },\n      component: () => import('pages/app/views/Result.vue')\n    },\n    {\n      path: '/components/skeleton',\n      meta: {\n        title: '骨架屏'\n      },\n      component: () => import('pages/app/views/Skeleton.vue')\n    },\n    {\n      path: '/components/spin',\n      meta: {\n        title: '加载中'\n      },\n      component: () => import('pages/app/views/Spin.vue')\n    },\n    {\n      path: '/components/steps',\n      meta: {\n        title: '步骤条'\n      },\n      component: () => import('pages/app/views/Steps.vue')\n    },\n    {\n      path: '/components/switch',\n      meta: {\n        title: '开关'\n      },\n      component: () => import('pages/app/views/Switch.vue')\n    },\n    {\n      path: '/components/tabs',\n      meta: {\n        title: '选项卡'\n      },\n      component: () => import('pages/app/views/Tabs.vue')\n    },\n    {\n      path: '/components/tag',\n      meta: {\n        title: '标签'\n      },\n      component: () => import('pages/app/views/Tag.vue')\n    },\n    {\n      path: '/components/time',\n      meta: {\n        title: '相对时间'\n      },\n      component: () => import('pages/app/views/Time.vue')\n    },\n    {\n      path: '/components/timeline',\n      meta: {\n        title: '时间轴'\n      },\n      component: () => import('pages/app/views/Timeline.vue')\n    },\n    {\n      path: '/components/tooltip',\n      meta: {\n        title: '文字提示'\n      },\n      component: () => import('pages/app/views/Tooltip.vue')\n    }\n  ]\n})\n\nexport default router\n\nrouter.beforeEach((to, from, next) => {\n  if (to.meta.title) {\n    document.title = to.meta.title as string\n  }\n  Loading.start()\n  next()\n})\nrouter.afterEach(() => {\n  Loading.finish()\n  window.scrollTo(0, 0)\n})\n"
  },
  {
    "path": "site/src/shims-vue.d.ts",
    "content": "declare module '*.vue' {\n  import { DefineComponent } from 'vue'\n  const component: DefineComponent<{}, {}, any>\n  export default component\n}\n"
  },
  {
    "path": "site/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"esnext\",\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"strict\": true,\n    \"jsx\": \"preserve\",\n    \"sourceMap\": true,\n    \"resolveJsonModule\": true,\n    \"esModuleInterop\": true,\n    \"lib\": [\"esnext\", \"dom\"],\n    \"types\": [\"vite/client\"]\n  },\n  \"include\": [\"src/**/*.ts\", \"src/**/*.d.ts\", \"src/**/*.tsx\", \"src/**/*.vue\"]\n}\n"
  },
  {
    "path": "site/vite.config.ts",
    "content": "import vue from '@vitejs/plugin-vue'\nimport path from 'path'\nimport { defineConfig } from 'vite'\nimport viteCompression from 'vite-plugin-compression'\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  base: '/',\n  build: {\n    rollupOptions: {\n      output: {\n        manualChunks(id) {\n          if (id.includes('node_modules')) {\n            // 让每个插件都打包成独立的文件\n            return id.toString().split('node_modules/')[1].split('/')[0].toString()\n          }\n        }\n      },\n      plugins: [\n        viteCompression({\n          verbose: true, // 是否在控制台中输出压缩结果\n          disable: false,\n          threshold: 10240, // 如果体积大于阈值，将被压缩，单位为b，体积过小时请不要压缩，以免适得其反\n          algorithm: 'gzip', // 压缩算法，可选['gzip'，' brotliccompress '，'deflate '，'deflateRaw']\n          ext: '.gz',\n          deleteOriginFile: true // 源文件压缩后是否删除(我为了看压缩后的效果，先选择了true)\n        })\n      ]\n    }\n  },\n  resolve: {\n    alias: {\n      '@': path.resolve(__dirname, 'src'),\n      pages: path.resolve(__dirname, 'src/pages')\n    }\n  },\n  plugins: [vue()]\n})\n"
  },
  {
    "path": "some-log.md",
    "content": "## 设计思路\n\n- 整个项目使用的设计模式主要是构造函数模式（创建一个对象使这个对象指向实例对象的类）\n\n\n\n- 组件标签命名方式为 `<r-component></r-component>`\n\n\n\n- 每个组件都有它自己的实例类，在使用前需要先实例化，也有个别特殊的不需要先实例化\n\n\n\n- 实例方式为 `new Rabbit.Xxx()`，如果是按需引入的则为 `new Xxx()`\n\n\n\n- 大部分组件都设有响应式的api，用于异步更新该dom的内容（尤其是在进度条这类需要异步更新数值的组件），其内部通过class的代理(get set)实现\n\n\n\n- 组件实例的 `config` 方法的参数为传入对应组件的选择器，单独进行配置操作，提供的配置项的数据一旦发生变动除了函数方法，就会实时更新到DOM中\n\n## 优化总结：\n\n- 1.时间组件原本使用的是`monent.js`，但是由于该库体积较大并且要使用到的功能也不多，所以改用体积小并且很好的支持按需引入 的`day.js`，以此减少整个项目体积\n\n  \n\n- 2.`message`和`notice`组件原本关闭后的回调事件是通过在配置对象里的`onClose`选项，但这会造成回调过多的问题，promise解决\n\n  \n\n- 3.更新元素的时候有个问题，当字符串模板里的动态数据发生变动时，会导致整个模板重新渲染造成频繁的`innerHTML`插入，使性能下降，为了解决这个问题：*1.字符串模板里不应添加有动态变量，而是将固定不变的结构插入DOM中，这样就不会受到每次变量改变而重新渲染的问题；`  `2.结构插入页面后，通过元素选择器精准的获取某个节点并对其进行DOM操作，这样只对整体里的某一下部分进行改变，而不涉及整体。*\n\n  \n\n- 4.项目最初的时候所有组件的实例化都在内部帮使用者完成了，但是有问题：*不管组件有没有使用到其对应的内部方法都会执行，增加了不必要的代码执行降低了性能，解决办法是让使用者手动去实例化。*\n\n\n\n- 5.整个库的尺寸上利用`Tree-shaking`，确保当一些代码和第三方依赖没有使用的时候就不会被打包到最终的代码里"
  },
  {
    "path": "src/build-umd.ts",
    "content": "/**\n * 用于打包构建 umd 模块，\n * 导出含有 Rabbit 的全局变量，使得相关 api 能够被调用，\n * 主要用于浏览器环境下通过 script 标签引入的方式使用。\n */\n\nimport * as Rabbit from './rabbit-simple-ui';\nimport './styles/index.less';\n\n// @ts-ignore\nexport default window.Rabbit = Rabbit;\n"
  },
  {
    "path": "src/components/affix/affix.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    createElem,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    removeAttrs,\n    setCss\n} from '../../dom-utils';\nimport { type } from '../../utils';\nimport PREFIX from '../prefix';\n\nfunction getScroll(target: Window, top?: boolean): number {\n    const prop = top ? 'pageYOffset' : 'pageXOffset';\n    const method = top ? 'scrollTop' : 'scrollLeft';\n\n    let ret = target[prop];\n\n    if (typeof ret !== 'number') {\n        ret = window.document.documentElement[method];\n    }\n\n    return ret;\n}\n\nfunction getOffset(\n    element: HTMLElement\n): {\n    top: number;\n    left: number;\n} {\n    const rect = element.getBoundingClientRect();\n\n    const scrollTop = getScroll(window, true);\n    const scrollLeft = getScroll(window);\n\n    const docEl = window.document.body;\n    const clientTop = docEl.clientTop || 0;\n    const clientLeft = docEl.clientLeft || 0;\n\n    return {\n        top: rect.top + scrollTop - clientTop,\n        left: rect.left + scrollLeft - clientLeft\n    };\n}\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        events({ onChange }: AffixEvent): void;\n    };\n}\n\ninterface AffixEvent {\n    onChange?: (affixed: boolean) => void;\n}\n\nclass Affix implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<HTMLElement>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-affix', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        events({ onChange }: AffixEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n        const { offsetTop, offsetBottom } = Affix.prototype._attrs(target);\n\n        const elOffset = getOffset(target);\n        const elHeight = target.offsetHeight;\n        const windowHeight = window.innerHeight;\n\n        let affixed = false,\n            offsetType = 'top';\n\n        if (offsetBottom >= 0) {\n            offsetType = 'bottom';\n        }\n\n        return {\n            events({ onChange }) {\n                const handler = () => {\n                    const isAffix: boolean = target.classList.contains(`${PREFIX.affix}`);\n                    const scrollTop = getScroll(window, true);\n\n                    // 固定到顶部时触发事件\n                    if (elOffset.top - offsetTop < scrollTop && offsetType == 'top' && !isAffix) {\n                        affixed = true;\n                        onChange && type.isFn(onChange, affixed);\n                    } else if (\n                        elOffset.top - offsetTop > scrollTop &&\n                        offsetType == 'top' &&\n                        affixed\n                    ) {\n                        affixed = false;\n                        onChange && type.isFn(onChange, affixed);\n                    }\n\n                    // 固定到底部时触发事件\n                    if (\n                        elOffset.top + offsetBottom + elHeight > scrollTop + windowHeight &&\n                        offsetType == 'bottom' &&\n                        !affixed\n                    ) {\n                        affixed = true;\n                        onChange && type.isFn(onChange, affixed);\n                    } else if (\n                        elOffset.top + offsetBottom + elHeight < scrollTop + windowHeight &&\n                        offsetType == 'bottom' &&\n                        affixed\n                    ) {\n                        affixed = false;\n                        onChange && type.isFn(onChange, affixed);\n                    }\n                };\n\n                handler();\n\n                // 这里 useCapture 选项设置为 true 解决了被下面同样的滚动监听覆盖的 bug\n                // 相当于提高了事件触发优先级\n                window.addEventListener('scroll', handler, true);\n                window.addEventListener('resize', handler, true);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<HTMLElement>): void {\n        COMPONENTS.forEach((node) => {\n            const { offsetTop, offsetBottom, useCapture } = this._attrs(node);\n\n            const wrapper = createElem('div');\n            const cloneElm = this._createCloneElm(wrapper);\n\n            node.after(wrapper);\n            wrapper.appendChild(node);\n\n            this._handleScroll(node, cloneElm, offsetTop, offsetBottom, useCapture);\n\n            removeAttrs(node, ['offset-top', 'offset-bottom', 'use-capture']);\n        });\n    }\n\n    private _createCloneElm(node: HTMLElement): HTMLElement {\n        const element = createElem('div');\n        setCss(element, 'display', 'none');\n        node.after(element);\n        return element;\n    }\n\n    private _handleScroll(\n        node: HTMLElement,\n        cloneElm: HTMLElement,\n        offsetTop: number,\n        offsetBottom: number,\n        useCapture: boolean\n    ): void {\n        const container = node.parentElement!;\n\n        const elOffset = getOffset(node);\n        const elHeight = node.offsetHeight;\n\n        const windowHeight = window.innerHeight;\n\n        let affix = false,\n            top: string,\n            left: string,\n            width: string,\n            bottom: string,\n            offsetType = 'top',\n            cloneElmWidth: string,\n            cloneElmHeight: string,\n            display: string;\n\n        if (offsetBottom >= 0) {\n            offsetType = 'bottom';\n        }\n\n        const scroll = () => {\n            const isAffix: boolean = node.classList.contains(`${PREFIX.affix}`);\n            const scrollTop = getScroll(window, true);\n\n            // 固定到顶部\n            if (elOffset.top - offsetTop < scrollTop && offsetType == 'top' && !isAffix) {\n                affix = true;\n                display = '';\n                top = `${offsetTop}px`;\n                left = `${elOffset.left}px`;\n                width = `${container.offsetWidth}px`;\n                cloneElmWidth = `${node.clientWidth}px`;\n                cloneElmHeight = `${node.clientHeight}px`;\n                node.classList.add(`${PREFIX.affix}`);\n            } else if (elOffset.top - offsetTop > scrollTop && offsetType == 'top' && affix) {\n                top = '';\n                left = '';\n                width = '';\n                affix = false;\n                display = 'none';\n                cloneElmWidth = '';\n                cloneElmHeight = '';\n                node.classList.remove(`${PREFIX.affix}`);\n            }\n\n            // 固定到底部\n            if (\n                elOffset.top + offsetBottom + elHeight > scrollTop + windowHeight &&\n                offsetType == 'bottom' &&\n                !affix\n            ) {\n                affix = true;\n                left = `${elOffset.left}px`;\n                width = `${container.offsetWidth}px`;\n                bottom = `${offsetBottom}px`;\n                node.classList.add(`${PREFIX.affix}`);\n            } else if (\n                elOffset.top + offsetBottom + elHeight < scrollTop + windowHeight &&\n                offsetType == 'bottom' &&\n                affix\n            ) {\n                affix = false;\n                left = '';\n                width = '';\n                bottom = '';\n                node.classList.remove(`${PREFIX.affix}`);\n            }\n\n            setCss(node, 'top', top);\n            setCss(node, 'left', left);\n            setCss(node, 'width', width);\n            setCss(node, 'bottom', bottom);\n\n            setCss(cloneElm, 'width', cloneElmWidth);\n            setCss(cloneElm, 'height', cloneElmHeight);\n            setCss(cloneElm, 'display', display);\n        };\n\n        scroll();\n\n        window.addEventListener('scroll', scroll, useCapture);\n        window.addEventListener('resize', scroll, useCapture);\n    }\n\n    private _attrs(node: HTMLElement) {\n        return {\n            offsetTop: getNumTypeAttr(node, 'offset-top', 0),\n            offsetBottom: getNumTypeAttr(node, 'offset-bottom'),\n            useCapture: getBooleanTypeAttr(node, 'use-capture')\n        };\n    }\n}\n\nexport default Affix;\n"
  },
  {
    "path": "src/components/affix/index.ts",
    "content": "import Affix from './affix';\nexport default Affix;\n"
  },
  {
    "path": "src/components/alert/alert.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    createElem,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setHtml\n} from '../../dom-utils';\nimport { moreThanOneNode, warn } from '../../mixins';\nimport { destroyElem, type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        title: string;\n        icon: string;\n        events({ onClose }: AlertEvent): void;\n    };\n}\n\ninterface AlertEvent {\n    onClose?: (event: MouseEvent) => void;\n}\n\nclass Alert implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-alert', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        title: string;\n        icon: string;\n        events({ onClose }: AlertEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'alert');\n\n        const AlertTitle = target.querySelector(`.${PREFIX.alert}-title`)!;\n        const AlertIcon = target.querySelector(`.${PREFIX.alert}-icon`)!;\n\n        return {\n            get title() {\n                return setHtml(AlertTitle);\n            },\n            set title(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n                setHtml(AlertTitle, newVal);\n            },\n\n            get icon() {\n                return setHtml(AlertIcon);\n            },\n            set icon(newVal: string) {\n                if (!AlertIcon) {\n                    warn(`You need to set the \"show-icon\" attribute to \"true\" --> \"${el}\"`);\n                    return;\n                }\n                if (newVal && !type.isStr(newVal)) return;\n                setHtml(AlertIcon, newVal);\n            },\n\n            events({ onClose }: AlertEvent) {\n                const AlertClose = target.querySelector(`.${PREFIX.alert}-close`)!;\n                if (!AlertClose) return;\n                bind(AlertClose, 'click', (event: Event) => onClose && type.isFn(onClose, event));\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            if (moreThanOneNode(node)) return;\n\n            const { icon, type, title, closable, banner, showIcon, closeText } = this._attrs(node);\n            const placeholderNode = node.firstElementChild;\n\n            this._setMainTemplate(node, title);\n            this._setBanner(node, banner);\n            this._setIconType(node, type, showIcon, icon, placeholderNode);\n            this._setDescription(node, placeholderNode);\n            this._setClosable(node, closable, closeText);\n            this._handleClose(node);\n\n            removeAttrs(node, ['title', 'icon', 'banner', 'closable', 'close-text', 'show-icon']);\n        });\n    }\n\n    private _setMainTemplate(node: Element, title: string) {\n        const template = `\n         <div class=\"${PREFIX.alert}-title\">${title}</div>\n         <div class=\"${PREFIX.alert}-desc\"></div>\n        `;\n        setHtml(node, template);\n    }\n\n    private _setBanner(node: Element, banner: boolean): void {\n        if (!banner) return;\n        node.classList.add(`${PREFIX.alert}-with-banner`);\n    }\n\n    private _setIconType(\n        node: Element,\n        type: string,\n        showIcon: boolean,\n        icon: string,\n        desc: Element | null\n    ): void {\n        if (!showIcon) return;\n\n        node.classList.add(`${PREFIX.alert}-with-icon`);\n\n        const AlertIconWrap = createElem('span');\n        AlertIconWrap.className = `${PREFIX.alert}-icon`;\n\n        if (icon) {\n            setHtml(AlertIconWrap, icon);\n        } else {\n            // 默认为 info 图标\n            let iconType = 'information-circle';\n\n            switch (type) {\n                case 'success':\n                    iconType = 'checkmark-circle';\n                    break;\n                case 'warning':\n                    iconType = 'alert';\n                    break;\n                case 'error':\n                    iconType = 'close-circle';\n                    break;\n            }\n\n            if (desc) {\n                iconType += '-outline';\n            }\n\n            const AlertIcon = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-${iconType}\"></i>`;\n\n            setHtml(AlertIconWrap, AlertIcon);\n        }\n\n        node.appendChild(AlertIconWrap);\n    }\n\n    private _setDescription(node: Element, placeholderNode: Element | null) {\n        if (!placeholderNode) return;\n\n        node.classList.add(`${PREFIX.alert}-with-desc`);\n\n        const AlertDesc = node.querySelector(`.${PREFIX.alert}-desc`)!;\n        AlertDesc.appendChild(placeholderNode);\n    }\n\n    private _setClosable(node: Element, closable: boolean, closeText: string): void {\n        if (!closable) return;\n\n        const AlertClose = `\n        <a class=\"${PREFIX.alert}-close\">\n          ${!closeText ? ` <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-close\"></i>` : closeText}\n        </a>`;\n\n        node.insertAdjacentHTML('beforeend', AlertClose);\n    }\n\n    private _handleClose(node: Element): void {\n        const AlertIcon = node.querySelector(`.${PREFIX.alert}-close`);\n        if (!AlertIcon) return;\n        bind(AlertIcon, 'click', () => destroyElem(node, { fadeOut: true, destroy: true }));\n    }\n\n    private _attrs(node: Element) {\n        return {\n            icon: getStrTypeAttr(node, 'icon', ''),\n            type: getStrTypeAttr(node, 'type', 'info'),\n            title: getStrTypeAttr(node, 'title', ''),\n            closeText: getStrTypeAttr(node, 'close-text', ''),\n            banner: getBooleanTypeAttr(node, 'banner'),\n            closable: getBooleanTypeAttr(node, 'closable'),\n            showIcon: getBooleanTypeAttr(node, 'show-icon')\n        };\n    }\n}\n\nexport default Alert;\n"
  },
  {
    "path": "src/components/alert/index.ts",
    "content": "import Alert from './alert';\nexport default Alert;\n"
  },
  {
    "path": "src/components/avatar/avatar.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { $el, bind, getStrTypeAttr, removeAttrs, setCss, setHtml } from '../../dom-utils';\nimport { warn } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        events({ onError }: AvatarEvent): void;\n    };\n}\n\ninterface AvatarEvent {\n    onError: (event: Event) => void;\n}\n\nclass Avatar implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-avatar', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        events({ onError }: AvatarEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'avatar');\n\n        const AvatarImage = target.querySelector('img');\n\n        return {\n            events({ onError }: AvatarEvent) {\n                if (!AvatarImage) {\n                    warn(\n                        `Unable to add an event where the image failed to load for the current avatar --> \"${el}\"`\n                    );\n                    return;\n                }\n\n                bind(AvatarImage, 'error', (event: Event) => onError && type.isFn(onError, event));\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { icon, src, alt, size } = this._attrs(node);\n\n            this._setSize(node, size);\n            this._setIcon(node, icon);\n            this._setImage(node, src, alt);\n            this._setText(node, icon, src);\n\n            removeAttrs(node, ['icon', 'src', 'alt']);\n        });\n    }\n\n    private _setSize(node: Element, size: string): void {\n        if (!size) return;\n\n        const _size = Number(size);\n\n        if (!_size) return;\n\n        setCss(node, 'width', `${_size}px`);\n        setCss(node, 'height', `${_size}px`);\n        setCss(node, 'fontSize', `${_size / 2}px`);\n\n        node.removeAttribute('size');\n    }\n\n    private _setIcon(node: Element, icon: string): void {\n        if (!icon) return;\n\n        node.classList.add(`${PREFIX.avatar}-icon`);\n\n        const AvatarIcon = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-${icon}\"></i>`;\n        setHtml(node, AvatarIcon);\n    }\n\n    private _setImage(node: Element, src: string, alt: string): void {\n        if (!src) return;\n\n        node.classList.add(`${PREFIX.avatar}-image`);\n\n        const AvatarImage = `<img src=\"${src}\" alt=\"${alt}\" />`;\n        setHtml(node, AvatarImage);\n    }\n\n    private _setText(node: Element, icon: string, src: string): void {\n        if (icon || src) return;\n\n        if (!setHtml(node)) return;\n\n        const text = setHtml(node);\n\n        const AvatarText = `<span class=\"${PREFIX.avatar}-string\">${text}</span>`;\n\n        setHtml(node, AvatarText);\n\n        this._setScale(node);\n    }\n\n    // 防止字符型头像的字体溢出边界\n    private _setScale(node: Element) {\n        const children = node.querySelector(`.${PREFIX.avatar}-string`)! as HTMLElement;\n\n        if (!children) return;\n\n        const avatarWidth = node.getBoundingClientRect().width;\n        const childrenWidth = children.offsetWidth;\n\n        if (avatarWidth - 8 < childrenWidth) {\n            const newScale = `scale(${(avatarWidth - 8) / childrenWidth}) translateX(-50%)`;\n            setCss(children, 'transform', `${newScale}`);\n        } else {\n            setCss(children, 'transform', 'scale(1) translateX(-50%)');\n        }\n    }\n\n    private _attrs(node: Element) {\n        return {\n            icon: getStrTypeAttr(node, 'icon', ''),\n            src: getStrTypeAttr(node, 'src', ''),\n            alt: getStrTypeAttr(node, 'alt', ''),\n            size: getStrTypeAttr(node, 'size', '')\n        };\n    }\n}\n\nexport default Avatar;\n"
  },
  {
    "path": "src/components/avatar/index.ts",
    "content": "import Avatar from './avatar';\nexport default Avatar;\n"
  },
  {
    "path": "src/components/back-top/back-top.ts",
    "content": "import { $el, bind, getNumTypeAttr, removeAttrs, setCss, setHtml } from '../../dom-utils';\nimport PREFIX from '../prefix';\n\nclass BackTop {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-back-top', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { right, bottom, height, duration } = this._attrs(node);\n\n            this._setRight(node, right);\n            this._setBottom(node, bottom);\n            this._setAppearance(node);\n\n            this._handleScroll(node, height);\n            this._handleClick(node, duration);\n\n            removeAttrs(node, ['right', 'bottom', 'height', 'duration']);\n        });\n    }\n\n    private _setRight(node: Element, right: number): void {\n        setCss(node, 'right', `${right}px`);\n    }\n\n    private _setBottom(node: Element, bottom: number): void {\n        setCss(node, 'bottom', `${bottom}px`);\n    }\n\n    private _setAppearance(node: Element): void {\n        if (setHtml(node) && setHtml(node) !== ' ') {\n            setHtml(node, node.innerHTML);\n        } else {\n            const template = `<div class=\"${PREFIX.backtop}-inner\">\n                                  <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-arrow-up\"></i>\n                              </div>`;\n\n            setHtml(node, template);\n        }\n    }\n\n    private _handleScroll(node: Element, height: number): void {\n        const visable = (y: number) => {\n            const scrollY = Math.floor(y);\n            const visibilityHeight = Math.floor(height);\n\n            // 判断页面是否滚动到指定显示的高度\n            scrollY >= visibilityHeight\n                ? setCss(node, 'display', 'block')\n                : setCss(node, 'display', '');\n        };\n\n        bind(window, 'scroll', () => {\n            visable(window.scrollY);\n        });\n    }\n\n    private _handleClick(node: Element, duration: number): void {\n        bind(node, 'click', () => {\n            const sTop: number = document.documentElement.scrollTop || document.body.scrollTop;\n            this._scrollTop(window, sTop, 0, duration);\n        });\n    }\n\n    private _scrollTop(el: any, from: number, to: number, duration: number) {\n        if (!window.requestAnimationFrame) {\n            window.requestAnimationFrame =\n                window.webkitRequestAnimationFrame ||\n                // @ts-ignore\n                window.mozRequestAnimationFrame ||\n                // @ts-ignore\n                window.msRequestAnimationFrame ||\n                function (callback) {\n                    return window.setTimeout(callback, 1000 / 60);\n                };\n        }\n\n        const difference = Math.abs(from - to);\n        const step = Math.ceil((difference / duration) * 25);\n\n        const scroll = (start: number, end: number, step: number) => {\n            let d = start + step > end ? end : start + step;\n\n            if (start <= end && d == 0) return;\n\n            d = start - step < end ? end : start - step;\n\n            el === window ? window.scrollTo(d, d) : (el.scrollTop = d);\n\n            window.requestAnimationFrame(() => scroll(d, end, step));\n        };\n\n        scroll(from, to, step);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            right: getNumTypeAttr(node, 'right', 30),\n            bottom: getNumTypeAttr(node, 'bottom', 30),\n            height: getNumTypeAttr(node, 'height', 400),\n            duration: getNumTypeAttr(node, 'duration', 500)\n        };\n    }\n}\n\nexport default BackTop;\n"
  },
  {
    "path": "src/components/back-top/index.ts",
    "content": "import BackTop from './back-top';\nexport default BackTop;\n"
  },
  {
    "path": "src/components/badge/badge.ts",
    "content": "import { warn } from '../../mixins';\nimport { $el, createElem, removeAttrs, setCss, setHtml, setText } from '../../dom-utils';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        count: number;\n        text: string;\n        dot: boolean;\n    };\n}\n\nclass Badge implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-badge', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        count: number;\n        text: string;\n        dot: boolean;\n    } {\n        const target = $el(el);\n\n        validComps(target, 'badge');\n\n        const countContainer = target.querySelector(`.${PREFIX.badge}-count`);\n        const dotContainer = target.querySelector(`.${PREFIX.badge}-dot`);\n\n        const { _getMaxCount, _showZero, _setMaxCount } = Badge.prototype;\n\n        const maxCount = _getMaxCount(target);\n        const showZero = _showZero(target);\n\n        return {\n            get count() {\n                return countContainer?.textContent;\n            },\n            set count(newVal: number) {\n                if (countContainer && type.isNum(newVal)) {\n                    if (newVal > maxCount) {\n                        _setMaxCount(countContainer, maxCount);\n                    } else {\n                        setText(countContainer, `${newVal}`);\n\n                        if (newVal <= 0 && !showZero) {\n                            setCss(countContainer, 'display', 'none');\n                        } else {\n                            setCss(countContainer, 'display', '');\n                        }\n                    }\n                } else {\n                    warn(`The count value of this badge cannot be set --> \"${el}\"`);\n                }\n            },\n            get text() {\n                return countContainer?.textContent;\n            },\n            set text(newVal: string) {\n                if (!type.isStr(newVal)) {\n                    warn(`The text value of this badge cannot be set --> \"${el}\"`);\n                    return;\n                }\n\n                setText(countContainer, newVal);\n            },\n            get dot() {\n                return dotContainer;\n            },\n            set dot(newVal: boolean) {\n                if (!dotContainer) {\n                    warn(`Unable to set this badge to dot --> \"${el}\"`);\n                    return;\n                }\n\n                if (type.isBol(newVal) && newVal) {\n                    setCss(dotContainer, 'display', '');\n                } else {\n                    setCss(dotContainer, 'display', 'none');\n                }\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            this._setCount(node);\n            this._setStatusWithColor(node);\n\n            removeAttrs(node, [\n                'count',\n                'text',\n                'status',\n                'color',\n                'show-zero',\n                'max-count',\n                'dot'\n            ]);\n        });\n    }\n\n    private _setCount(node: Element): void {\n        const count = this._getCount(node);\n        const maxCount = this._getMaxCount(node);\n\n        const BadgeCount = createElem('sup');\n        BadgeCount.className = `${PREFIX.badge}-count`;\n\n        if (count || count === 0) {\n            // 显示的数字大于maxCount时，显示${maxCount}+\n            if (count > maxCount) {\n                this._setMaxCount(BadgeCount, maxCount);\n            } else {\n                // 数字为 0 时隐藏或者展示 Badge\n                if (count <= 0 && !this._showZero(node)) {\n                    setCss(BadgeCount, 'display', 'none');\n                } else {\n                    setText(BadgeCount, `${count}`);\n                }\n            }\n            this._setDot(node, BadgeCount);\n        }\n\n        if (!this._getStatus(node) && !this._getColor(node)) {\n            node.appendChild(BadgeCount);\n            // 状态点外观不需要设置为独立展示\n            this._setAlone(BadgeCount);\n        }\n\n        this._setText(node, BadgeCount);\n        this._setOffset(node, BadgeCount);\n    }\n\n    private _setMaxCount(node: Element, maxCount: number): void {\n        setText(node, `${maxCount}+`);\n    }\n\n    private _setDot(node: Element, children: HTMLElement): void {\n        if (!this._showDot(node)) return;\n\n        // 设置为小红点则不显示任何计数内容\n        setHtml(children, '');\n        setCss(children, 'display', '');\n\n        children.className = `${PREFIX.badge}-dot`;\n    }\n\n    private _setText(parent: Element, children: HTMLElement): void {\n        // 区分与标签属性 status 或 color 配合的 text 属性\n        if (!this._getStatus(parent) && !this._getColor(parent)) {\n            const text = this._getText(parent);\n            if (text) {\n                setCss(children, 'display', '');\n                setText(children, text);\n            }\n        }\n    }\n\n    private _setAlone(children: Element): void {\n        if (!children.previousElementSibling) {\n            children.classList.add(`${PREFIX.badge}-count-alone`);\n        }\n    }\n\n    private _setOffset(parent: Element, children: HTMLElement) {\n        const offset = this._getOffset(parent);\n\n        setCss(children, 'marginTop', `${offset?.x}px`);\n        setCss(children, 'marginRight', `${offset?.y}px`);\n    }\n\n    private _setStatusWithColor(node: Element): void {\n        const status = this._getStatus(node);\n        const color = this._getColor(node);\n        const text = this._getText(node);\n\n        if (!status && !color) return;\n\n        const BadgeStatusDot = createElem('span');\n        const BadgeStatusText = createElem('span');\n\n        if ((text && status) || (text && color)) setText(BadgeStatusText, text);\n\n        let statusCls: string;\n        let colorCls = '';\n\n        status ? (statusCls = `${PREFIX.badge}-status-${status}`) : (statusCls = '');\n\n        // 设置更多预设的状态点颜色，或者自定义颜色\n        const colorType = [\n            'blue',\n            'green',\n            'red',\n            'yellow',\n            'magenta',\n            'volcano',\n            'orange',\n            'gold',\n            'lime',\n            'cyan',\n            'geekblue',\n            'purple'\n        ];\n\n        if (colorType.includes(color)) {\n            colorCls = `${PREFIX.badge}-status-${color}`;\n        } else {\n            setCss(BadgeStatusDot, 'backgroundColor', color);\n        }\n\n        BadgeStatusDot.className = `${PREFIX.badge}-status-dot ${statusCls} ${colorCls}`;\n        BadgeStatusText.className = `${PREFIX.badge}-status-text`;\n\n        node.append(BadgeStatusDot, BadgeStatusText);\n    }\n\n    private _getCount(node: Element) {\n        return Number(node.getAttribute('count'));\n    }\n\n    private _getMaxCount(node: Element): number {\n        return Number(node.getAttribute('max-count')) || 99;\n    }\n\n    private _getOffset(\n        node: Element\n    ):\n        | {\n              x: any | number;\n              y: any | number;\n          }\n        | undefined {\n        // 转为真实数组，如果赋值是 offset = ['0','1'] 这样的则会报错\n        const offset = JSON.parse(node.getAttribute('offset') || '[]');\n\n        // 如果是数组，那么不论写了多少个值都只返回前两个\n        if (type.isArr(offset) && offset.length > 0) {\n            return {\n                x: offset[0],\n                y: offset[1]\n            };\n        }\n    }\n\n    private _getStatus(node: Element): string {\n        return node.getAttribute('status') || '';\n    }\n\n    private _getColor(node: Element): string {\n        return node.getAttribute('color') || '';\n    }\n\n    private _getText(node: Element): string {\n        return node.getAttribute('text') || '';\n    }\n\n    private _showZero(node: Element): boolean {\n        return node.getAttribute('show-zero') === 'true';\n    }\n\n    private _showDot(node: Element): boolean {\n        return node.getAttribute('dot') === 'true';\n    }\n}\n\nexport default Badge;\n"
  },
  {
    "path": "src/components/badge/index.ts",
    "content": "import Badge from './badge';\nexport default Badge;\n"
  },
  {
    "path": "src/components/breadcrumb/breadcrumb.ts",
    "content": "import { $el, createElem, getStrTypeAttr, removeAttrs, setCss, setHtml } from '../../dom-utils';\nimport PREFIX from '../prefix';\n\nclass Breadcrumb {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-breadcrumb', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            const { separator } = this._attrs(node);\n\n            this._createItem(node, separator);\n\n            removeAttrs(node, ['separator']);\n        });\n    }\n\n    private _createItem(node: Element, separator: string): void {\n        const { children } = node;\n        const Fragment = document.createDocumentFragment();\n\n        Array.from(children).forEach((child) => {\n            const Wrapper = createElem('span');\n            const Separator = createElem('span');\n\n            Separator.className = `${PREFIX.breadcrumb}-item-separator`;\n            // 设置分隔符\n            setHtml(Separator, `${separator}`);\n\n            child.classList.add(`${PREFIX.breadcrumb}-item-link`);\n            // 初始化为行内块样式\n            setCss(child, 'display', 'inline-block');\n\n            Wrapper.append(child, Separator);\n            Fragment.appendChild(Wrapper);\n        });\n\n        node.appendChild(Fragment);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            separator: getStrTypeAttr(node, 'separator', '/')\n        };\n    }\n}\n\nexport default Breadcrumb;\n"
  },
  {
    "path": "src/components/breadcrumb/index.ts",
    "content": "import Breadcrumb from './breadcrumb';\nexport default Breadcrumb;\n"
  },
  {
    "path": "src/components/button/button.ts",
    "content": "import {\n    $el,\n    createElem,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string | Element\n    ): {\n        loading: boolean;\n    };\n}\n\nclass Button implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = '1.1.1';\n        this.COMPONENTS = $el(`.${PREFIX.button}`, { all: true });\n        this._getAllBtns(this.COMPONENTS);\n    }\n\n    public config(\n        el: string | Element\n    ): {\n        loading: boolean;\n    } {\n        const target = typeof el === 'string' ? $el(el) : el;\n        validComps(target, 'button');\n\n        return {\n            get loading() {\n                return this.loading;\n            },\n            set loading(newVal) {\n                if (newVal && !type.isBol(newVal)) return;\n                Button.prototype._setLoading(target, false, newVal);\n            }\n        };\n    }\n\n    private _getAllBtns(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { icon, loading } = this._attrs(node);\n            this._setIcon(node, icon);\n            this._setLoading(node, true, loading);\n            removeAttrs(node, ['icon', 'loading']);\n        });\n    }\n\n    private _setIcon(node: Element, icon: string): void {\n        if (!icon) return;\n        if (node.innerHTML === '') {\n            node.classList.add(`${PREFIX.button}-icon-only`);\n            const ButtonIcon = `\n              <i class=\"${PREFIX.icon} ${PREFIX.icon}-${icon}\"></i>\n            `;\n            setHtml(node, ButtonIcon);\n        } else {\n            const Icon = createElem('i');\n            Icon.className = `${PREFIX.icon} ${PREFIX.icon}-${icon}`;\n            node.prepend(Icon);\n        }\n    }\n\n    // 2021.5.23\n    // v1.1.0 修复按钮 loading 状态下加载中图标和原有图标并列显示的 bug\n    private _setLoading(node: Element, firstRender: boolean, loading: boolean): void {\n        const OriginalIcon = node.querySelector('.rab-icon');\n        const LoadingIcon = createElem('i');\n        LoadingIcon.className = `rab-load-loop ${PREFIX.icon} ${PREFIX.icon}-loading-solid`;\n        if (loading) {\n            if (OriginalIcon) setCss(OriginalIcon, 'display', 'none');\n            if (node.innerHTML === '') node.classList.add(`${PREFIX.button}-icon-only`);\n            node.classList.add(`${PREFIX.button}-loading`);\n            node.prepend(LoadingIcon);\n        } else {\n            if (firstRender) return;\n            // 2021.6.18\n            // v1.1.1 修复在没有图标仅有文本的状态下，切换为loading状态并在状态结束后无法切换为原样 bug\n            // setCss(node.children[1], 'display', '');\n            if (node.children[1]) setCss(node.children[1], 'display', '');\n            if (node.classList.contains(`${PREFIX.button}-loading`))\n                node.classList.remove(`${PREFIX.button}-loading`);\n            if (node.classList.contains(`${PREFIX.button}-icon-only`))\n                node.classList.remove(`${PREFIX.button}-icon-only`);\n            node.firstElementChild?.remove();\n        }\n    }\n\n    private _attrs(node: Element) {\n        return {\n            icon: getStrTypeAttr(node, 'icon', ''),\n            loading: getBooleanTypeAttr(node, 'loading')\n        };\n    }\n}\n\nexport default Button;\n"
  },
  {
    "path": "src/components/button/index.ts",
    "content": "import Button from './button';\nexport default Button;\n"
  },
  {
    "path": "src/components/card/card.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    createElem,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setHtml\n} from '../../dom-utils';\nimport { moreThanOneNode } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        title: string;\n        extra: string;\n    };\n}\n\nclass Card implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-card', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        title: string;\n        extra: string;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'card');\n\n        const CardHead = target.querySelector(`.${PREFIX.card}-head`)!;\n        const CardExtra = target.querySelector(`.${PREFIX.card}-extra`)!;\n\n        return {\n            get title() {\n                return setHtml(CardHead);\n            },\n            set title(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n                setHtml(CardHead, newVal);\n            },\n            get extra() {\n                return setHtml(CardExtra);\n            },\n            set extra(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n                setHtml(CardExtra, newVal);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            if (moreThanOneNode(node)) return;\n\n            const placeholderNode = node.firstElementChild!;\n            const { title, extra, shadow, noBorder, disHover } = this._attrs(node);\n\n            this._isShowBordered(node, noBorder);\n            this._isShowShadow(node, shadow);\n            this._isDisHover(node, disHover);\n\n            this._setHead(node, title);\n            this._setBody(node, placeholderNode);\n            this._setExtra(node, extra);\n\n            removeAttrs(node, ['title', 'extra', 'shadow', 'dis-hover', 'bordered']);\n        });\n    }\n\n    private _isShowBordered(node: Element, noBorder: boolean): void {\n        if (!noBorder) return;\n        node.classList.add(`${PREFIX.card}-no-border`);\n    }\n\n    private _isShowShadow(node: Element, shadow: boolean): void {\n        if (!shadow) return;\n        node.classList.add(`${PREFIX.card}-shadow`);\n    }\n\n    private _isDisHover(node: Element, disHover: boolean): void {\n        if (!disHover) return;\n        node.classList.add(`${PREFIX.card}-dis-hover`);\n    }\n\n    private _setHead(node: Element, title: string): void {\n        if (!title) return;\n\n        const CardHeadTemplate = `<div class=\"${PREFIX.card}-head\">${title}</div>`;\n        node.insertAdjacentHTML('afterbegin', CardHeadTemplate);\n    }\n\n    private _setBody(node: Element, placeholderNode: Element): void {\n        const Fragment = document.createDocumentFragment();\n        const CardBody = createElem('div');\n\n        CardBody.className = `${PREFIX.card}-body`;\n        CardBody.appendChild(placeholderNode);\n\n        Fragment.appendChild(CardBody);\n        node.appendChild(Fragment);\n    }\n\n    private _setExtra(node: Element, extra: string): void {\n        if (!extra) return;\n\n        const CardExtraTemplate = `<div class=\"${PREFIX.card}-extra\">${extra}</div>`;\n        node.insertAdjacentHTML('beforeend', CardExtraTemplate);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            title: getStrTypeAttr(node, 'title', ''),\n            extra: getStrTypeAttr(node, 'extra', ''),\n            shadow: getBooleanTypeAttr(node, 'shadow'),\n            disHover: getBooleanTypeAttr(node, 'dis-hover'),\n            noBorder: getBooleanTypeAttr(node, 'no-border')\n        };\n    }\n}\n\nexport default Card;\n"
  },
  {
    "path": "src/components/card/index.ts",
    "content": "import Card from './card';\nexport default Card;\n"
  },
  {
    "path": "src/components/carousel/carousel.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    createElem,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml,\n    siblings\n} from '../../dom-utils';\nimport { moreThanOneNode } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        events({ onClick, onChange }: CarouselEvents): void;\n    };\n}\n\ninterface CarouselEvents {\n    // 点击幻灯片时触发，返回索引值\n    onClick?: (index: number) => void;\n    // 幻灯片切换时触发，目前激活的幻灯片的索引，原幻灯片的索引\n    onChange?: ([oldValue, value]: [number, number]) => void;\n}\n\nconst AUTOPLAYSPEED = 2000;\nconst DURATION = 520;\n\nclass Carousel implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-carousel', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        events({ onClick, onChange }: CarouselEvents): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'carousel');\n\n        const { _attrs } = Carousel.prototype;\n        const { autoplay, autoplaySpeed, hoverPause } = _attrs(target);\n\n        return {\n            events({ onClick, onChange }: CarouselEvents) {\n                const elems = target.querySelectorAll(`.${PREFIX.carousel}-item`);\n                const LeftArrow = target.querySelector(`.${PREFIX.carousel}-arrow.left`);\n                const RightArrow = target.querySelector(`.${PREFIX.carousel}-arrow.right`);\n                const lastIndex = elems.length - 1;\n\n                const handleChange = (\n                    siblingType: 'nextElementSibling' | 'previousElementSibling',\n                    newSetElem: Element\n                ) => {\n                    const oldActiveElem = target.querySelector(\n                        `.${PREFIX.carousel}-item.active`\n                    )! as HTMLElement;\n\n                    const activeElem = oldActiveElem[siblingType] || newSetElem;\n\n                    const oldValue = Number(oldActiveElem.dataset['index']);\n                    // @ts-ignore\n                    const value = Number(activeElem.dataset['index']);\n\n                    onChange && type.isFn(onChange, [oldValue, value]);\n                };\n\n                const autoPlayUseChangeEvent = () => {\n                    if (!autoplay) return;\n\n                    let eventTimer: any = null;\n\n                    const startEvent = () => {\n                        eventTimer = window.setInterval(() => {\n                            handleChange('nextElementSibling', elems[0]);\n                        }, autoplaySpeed);\n                    };\n\n                    const pauseEvent = () =>\n                        eventTimer ? window.clearInterval(eventTimer) : false;\n\n                    startEvent();\n\n                    if (hoverPause === 'false') return;\n\n                    bind(target, 'mouseenter', () => pauseEvent());\n                    bind(target, 'mouseleave', () => startEvent());\n                };\n\n                const handleClick = () => {\n                    elems.forEach((elem, index) => {\n                        bind(elem, 'click', () => onClick && type.isFn(onClick, index));\n                    });\n                };\n\n                bind(LeftArrow, 'click', () =>\n                    handleChange('previousElementSibling', elems[lastIndex])\n                );\n                bind(RightArrow, 'click', () => handleChange('nextElementSibling', elems[0]));\n\n                handleClick();\n                autoPlayUseChangeEvent();\n            }\n        };\n    }\n\n    private _create(components: NodeListOf<Element>): void {\n        components.forEach((node) => {\n            if (moreThanOneNode(node)) return;\n\n            const placeholderNode = node.firstElementChild;\n\n            if (!placeholderNode) return;\n\n            const carouselItemCount = placeholderNode.childElementCount;\n\n            const {\n                dots,\n                arrow,\n                effect,\n                easing,\n                radiusDot,\n                trigger,\n                autoplay,\n                hoverPause,\n                autoplaySpeed\n            } = this._attrs(node);\n\n            this._setMainTemplate(node, dots, arrow);\n            this._setFadeCls(node, effect);\n            this._setItem(node, placeholderNode, carouselItemCount, easing);\n            this._setIndicators(node, carouselItemCount, radiusDot, trigger);\n\n            this._autoPlay(autoplay, node, hoverPause, autoplaySpeed);\n            this._handleArrowClick(node, arrow);\n\n            removeAttrs(node, [\n                'dots',\n                'arrow',\n                'effect',\n                'easing',\n                'trigger',\n                'radius-dot',\n                'autoplay',\n                'hover-pause',\n                'autoplay-speed'\n            ]);\n        });\n    }\n\n    private _setMainTemplate(node: Element, dots: string, arrow: string): void {\n        const template = `\n        <button type=\"button\" class=\"left ${PREFIX.carousel}-arrow ${PREFIX.carousel}-arrow-${arrow}\">\n           <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-arrow-back\"></i>\n        </button>\n        <div class=\"${PREFIX.carousel}-list\"></div>\n        <button type=\"button\" class=\"right ${PREFIX.carousel}-arrow ${PREFIX.carousel}-arrow-${arrow}\">\n           <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-arrow-forward\"></i>\n        </button>\n        <ul class=\"${PREFIX.carousel}-dots ${PREFIX.carousel}-dots-${dots}\"></ul>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _setFadeCls(node: Element, effect: string): void {\n        effect === 'fade' ? node.classList.add(`${PREFIX.carousel}-${effect}`) : '';\n    }\n\n    private _setItem(\n        node: Element,\n        placeholderNode: Element,\n        carouselItemCount: number,\n        esaing: string\n    ): void {\n        const CarouselList = node.querySelector(`.${PREFIX.carousel}-list`);\n        const Fragment = document.createDocumentFragment();\n        const children = Array.from(placeholderNode.children);\n\n        let i = 0;\n        for (; i < carouselItemCount; i++) {\n            const CarouselItem = createElem('div');\n\n            CarouselItem.dataset['index'] = `${i}`;\n            CarouselItem.className = `${PREFIX.carousel}-item`;\n            CarouselItem.appendChild(children[i]);\n\n            this._setEasing(CarouselItem, esaing);\n\n            Fragment.appendChild(CarouselItem);\n            Fragment.firstElementChild?.classList.add('active');\n        }\n\n        CarouselList?.appendChild(Fragment);\n    }\n\n    private _setEasing(item: HTMLElement, easing: string): void {\n        if (!easing) return;\n        setCss(item, 'transitionTimingFunction', easing);\n    }\n\n    private _setIndicators(\n        node: Element,\n        carouselItemCount: number,\n        radiusDot: boolean,\n        trigger: string\n    ): void {\n        const CarouselDots = node.querySelector(`.${PREFIX.carousel}-dots`);\n        const Fragment = document.createDocumentFragment();\n\n        let i = 0;\n        for (; i < carouselItemCount; i++) {\n            const CarouselDot = createElem('li');\n\n            CarouselDot.dataset['slideTo'] = `${i}`;\n\n            setHtml(\n                CarouselDot,\n                `<button type=\"button\" class=${radiusDot ? 'radius' : ''}></button>`\n            );\n\n            this._handleDotChange(trigger, node, CarouselDot);\n\n            Fragment.appendChild(CarouselDot);\n            Fragment.firstElementChild?.classList.add(`${PREFIX.carousel}-active`);\n        }\n\n        CarouselDots?.appendChild(Fragment);\n    }\n\n    private _autoPlay(\n        autoplay: boolean,\n        node: Element,\n        hoverPause: string,\n        autoplaySpeed: number\n    ): void {\n        if (!autoplay) return;\n\n        let autoPlayTimer: any = null;\n\n        const play = () => {\n            let speed = autoplaySpeed;\n\n            // 当轮播图自动播放的切换速度低于 650ms 会出现问题，\n            // 因此低于这个数值的都会被重置为 650ms。\n            if (speed < 650) {\n                speed = 650;\n                console.warn(\n                    `[Rabbit warn] Please do not set the sliding speed of carousel to less than 650ms. There are known problems with doing so, so it has been reset to 650ms. --> ${autoplaySpeed}ms`\n                );\n            }\n\n            autoPlayTimer = window.setInterval(() => this._slide('next', node), speed);\n        };\n\n        play();\n\n        if (hoverPause === 'false') return;\n\n        const pause = () => (autoPlayTimer ? window.clearInterval(autoPlayTimer) : false);\n\n        bind(node, 'mouseenter', () => pause());\n        bind(node, 'mouseleave', () => play());\n    }\n\n    private _handleArrowClick(node: Element, arrow: string): void {\n        if (arrow === 'none') return;\n\n        const LeftArrow = node.querySelector(`.${PREFIX.carousel}-arrow.left`);\n        const RightArrow = node.querySelector(`.${PREFIX.carousel}-arrow.right`);\n\n        bind(LeftArrow, 'click', () => this._slide('prev', node));\n        bind(RightArrow, 'click', () => this._slide('next', node));\n    }\n\n    private _handleDotChange(trigger: string, node: Element, dot: HTMLElement): void {\n        let activeIndex: number, activeElem: Element;\n\n        const _C = () => {\n            activeIndex = Number(dot.dataset['slideTo']);\n            activeElem = node.querySelector(\n                `.${PREFIX.carousel}-item[data-index=\"${activeIndex}\"]`\n            )!;\n\n            if (activeElem.classList.contains('active')) return;\n\n            this._dotChange(node, activeIndex);\n            this._showActiveItem(activeElem);\n\n            siblings(activeElem).forEach((otherElem: HTMLElement) =>\n                otherElem.classList.contains('active') ? this._hideOldActiveItem(otherElem) : ''\n            );\n        };\n\n        if (trigger === 'hover') {\n            bind(dot, 'mouseenter', () => _C());\n        } else {\n            bind(dot, 'click', () => _C());\n        }\n    }\n\n    private _slide(type: 'prev' | 'next', node: Element): void {\n        const direction = type === 'prev' ? 'right' : 'left';\n\n        const CarouselList = node.querySelector(`.${PREFIX.carousel}-list`)!;\n\n        const firstIndex = 0;\n        const lastIndex = CarouselList.childElementCount - 1;\n\n        const ActiveItem = node.querySelector(`.${PREFIX.carousel}-item.active`)! as HTMLElement;\n        const PrevItem = ActiveItem.previousElementSibling || CarouselList.children[lastIndex];\n        const NextItem = ActiveItem.nextElementSibling || CarouselList.children[firstIndex];\n\n        const __change = (elem: Element) => this._change(type, direction, node, ActiveItem, elem);\n        type === 'prev' ? __change(PrevItem) : __change(NextItem);\n    }\n\n    private _change(\n        type: string,\n        direction: string,\n        node: Element,\n        oldActiveItem: Element,\n        curActiveItem: Element\n    ): void {\n        // @ts-ignore\n        const activeIndex = Number(curActiveItem.dataset['index']);\n\n        this._dotChange(node, activeIndex);\n        this._showActiveItem(curActiveItem, type, direction);\n        this._hideOldActiveItem(oldActiveItem, direction);\n    }\n\n    private _dotChange(node: Element, activeIndex: number): void {\n        const CarouselDots = node.querySelector(`.${PREFIX.carousel}-dots`)!;\n        const ActiveDot = CarouselDots.children[activeIndex];\n\n        ActiveDot.classList.add(`${PREFIX.carousel}-active`);\n\n        siblings(ActiveDot).forEach((dot: HTMLElement) =>\n            dot.classList.contains(`${PREFIX.carousel}-active`)\n                ? dot.classList.remove(`${PREFIX.carousel}-active`)\n                : ''\n        );\n    }\n\n    private _showActiveItem(activeElem: Element, type = 'next', direction = 'left'): void {\n        activeElem.classList.add(`${PREFIX.carousel}-item-${type}`);\n        setTimeout(() => activeElem.classList.add(`${PREFIX.carousel}-item-${direction}`), 20);\n        setTimeout(() => {\n            activeElem.classList.add('active');\n            activeElem.classList.remove(`${PREFIX.carousel}-item-${type}`);\n            activeElem.classList.remove(`${PREFIX.carousel}-item-${direction}`);\n        }, DURATION);\n    }\n\n    private _hideOldActiveItem(oldElem: Element, direction = 'left'): void {\n        setTimeout(() => oldElem.classList.add(`${PREFIX.carousel}-item-${direction}`), 20);\n        setTimeout(() => {\n            oldElem.classList.remove('active');\n            oldElem.classList.remove(`${PREFIX.carousel}-item-${direction}`);\n        }, DURATION);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            dots: getStrTypeAttr(node, 'dots', 'inside'),\n            arrow: getStrTypeAttr(node, 'arrow', 'hover'),\n            effect: getStrTypeAttr(node, 'effect', ''),\n            easing: getStrTypeAttr(node, 'easing', ''),\n            trigger: getStrTypeAttr(node, 'trigger', 'click'),\n            hoverPause: getStrTypeAttr(node, 'hover-pause', 'true'),\n            radiusDot: getBooleanTypeAttr(node, 'radius-dot'),\n            autoplay: getBooleanTypeAttr(node, 'autoplay'),\n            autoplaySpeed: getNumTypeAttr(node, 'autoplay-speed', AUTOPLAYSPEED)\n        };\n    }\n}\n\nexport default Carousel;\n"
  },
  {
    "path": "src/components/carousel/index.ts",
    "content": "import Carousel from './carousel';\nexport default Carousel;\n"
  },
  {
    "path": "src/components/checkbox/checkbox.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getArrTypeAttr,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setHtml\n} from '../../dom-utils';\nimport { warn } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        value: (string | number)[];\n        checked: boolean;\n        indeterminate: boolean;\n        events({ onChange }: CheckboxEvent): void;\n    };\n}\n\ninterface CheckboxEvent {\n    onChange: (checked: any) => void;\n}\n\nclass Checkbox implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-checkbox', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        value: (string | number)[];\n        checked: boolean;\n        disabled: boolean;\n        indeterminate: boolean;\n        events({ onChange }: CheckboxEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n        const isGroup = target.tagName.toLowerCase() == 'r-checkbox-group';\n\n        // 排除 group 项\n        if (!isGroup) {\n            validComps(target, 'checkbox');\n        } else {\n            validComps(target, 'checkbox-group');\n        }\n\n        const {\n            _attrs,\n            _setChecked,\n            _setIndeterminate,\n            _setMultipleChecks,\n            _isDisabled\n        } = Checkbox.prototype;\n\n        const { value } = _attrs(target);\n\n        return {\n            get value() {\n                return value;\n            },\n            set value(newVal) {\n                if (!isGroup) {\n                    warn(`This checkbox is not a child of a group element -->\"${el}\"`);\n                    return;\n                }\n\n                if (newVal && !type.isArr(newVal)) return;\n\n                _setMultipleChecks(target, newVal);\n            },\n\n            get checked() {\n                return target.dataset['value'] === 'true';\n            },\n            set checked(newVal) {\n                if (newVal && !type.isBol(newVal)) return;\n                _setChecked(target, newVal);\n            },\n\n            get disabled() {\n                return _isDisabled(target);\n            },\n            set disabled(newVal) {\n                if (newVal && !type.isBol(newVal)) return;\n                if (isGroup) return;\n\n                newVal\n                    ? target.setAttribute('disabled', 'disabled')\n                    : target.removeAttribute('disabled');\n\n                const CheckBoxInput = target.querySelector(\n                    `.${PREFIX.checkbox}-input`\n                ) as HTMLInputElement;\n\n                CheckBoxInput.disabled = newVal;\n            },\n\n            get indeterminate() {\n                const isIndeterminate: boolean = target\n                    .querySelector(`.${PREFIX.checkbox}`)!\n                    .classList.contains(`${PREFIX.checkbox}-indeterminate`)!;\n\n                return isIndeterminate;\n            },\n            set indeterminate(newVal) {\n                if (newVal && !type.isBol(newVal)) return;\n                if (isGroup) return;\n\n                _setIndeterminate(target, newVal);\n            },\n\n            events({ onChange }: CheckboxEvent) {\n                let CheckBox: any, checked: any;\n\n                isGroup ? (CheckBox = target.querySelectorAll('r-checkbox')) : (CheckBox = target);\n\n                const fn = () => {\n                    if (isGroup) {\n                        checked = [];\n\n                        CheckBox.forEach((elm: HTMLElement) => {\n                            elm.dataset['value'] === 'true'\n                                ? checked.push(elm.dataset['label'])\n                                : '';\n                        });\n                    } else {\n                        checked = target.dataset['value'] === 'true';\n                    }\n\n                    onChange && type.isFn(onChange, checked);\n                };\n\n                bind(target, 'click', fn);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            const { icon, name, checked, label, indeterminate } = this._attrs(node);\n            const CheckboxGroupWrapper = this._getGroupWrapper(node);\n\n            this._setChecked(node, checked);\n            this._setMainTemplate(node, name);\n            this._setLabel(node, label);\n            this._setDisabled(node);\n            this._setIcon(node, icon);\n            this._setIndeterminate(node, indeterminate);\n            this._handleChange(node);\n\n            if (CheckboxGroupWrapper) {\n                const { value } = this._attrs(CheckboxGroupWrapper);\n                this._setMultipleChecks(CheckboxGroupWrapper, value);\n                removeAttrs(CheckboxGroupWrapper, ['value']);\n            }\n\n            removeAttrs(node, ['icon', 'name', 'checked', 'label']);\n        });\n    }\n\n    private _setChecked(node: Element, checked: boolean): void {\n        // @ts-ignore\n        node.dataset['value'] = `${checked}`;\n\n        if (!checked) {\n            if (node.classList.contains(`${PREFIX.checkbox}-checked`)) {\n                node.classList.remove(`${PREFIX.checkbox}-checked`);\n            }\n        } else {\n            node.classList.add(`${PREFIX.checkbox}-checked`);\n        }\n    }\n\n    private _setMainTemplate(node: Element, name: string) {\n        const content = setHtml(node);\n\n        const template = `\n         <span class=\"${PREFIX.checkbox}\">\n            <span class=\"${PREFIX.checkbox}-inner\"></span>\n                <input type=\"checkbox\" class=\"${PREFIX.checkbox}-input\" name=\"${name}\">\n            </span>\n         <span>${content}</span>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _setLabel(node: Element, label: string): void {\n        if (!this._getGroupWrapper(node)) return;\n        // @ts-ignore\n        node.dataset['label'] = label;\n    }\n\n    private _setDisabled(node: Element): void {\n        if (!this._isDisabled(node)) return;\n\n        const CheckBoxInput = node.querySelector(`.${PREFIX.checkbox}-input`)! as HTMLInputElement;\n\n        CheckBoxInput.disabled = true;\n    }\n\n    private _setIcon(node: Element, icon: string): void {\n        if (!icon) return;\n\n        const template = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-${icon}\"></i>`;\n        node.querySelector(`.${PREFIX.checkbox}`)!.insertAdjacentHTML('afterend', template);\n    }\n\n    private _setIndeterminate(node: Element, indeterminate: boolean) {\n        const Checkbox = node.querySelector(`.${PREFIX.checkbox}`)!;\n\n        if (!indeterminate) {\n            if (Checkbox.classList.contains(`${PREFIX.checkbox}-indeterminate`)) {\n                Checkbox.classList.remove(`${PREFIX.checkbox}-indeterminate`);\n            }\n        } else {\n            Checkbox.classList.add(`${PREFIX.checkbox}-indeterminate`);\n        }\n    }\n\n    private _setMultipleChecks(checkboxGroupWrapper: Element, value: (string | number)[]): void {\n        const { _setChecked } = Checkbox.prototype;\n        const Checkboxs = checkboxGroupWrapper.querySelectorAll('r-checkbox')!;\n        const { length } = value;\n\n        if (length == 0) {\n            Checkboxs.forEach((elm) => _setChecked(elm, false));\n        } else {\n            let i = 0;\n            for (; i < length; i++) {\n                const currentCheckbox = checkboxGroupWrapper.querySelector(\n                    `[data-label=\"${value[i]}\"]`\n                );\n                currentCheckbox ? _setChecked(currentCheckbox, true) : '';\n            }\n        }\n    }\n\n    private _handleChange(node: Element): void {\n        const addFocusedState = () => {\n            const CheckBoxInner = node.querySelector(`.${PREFIX.checkbox}-inner`)!;\n\n            CheckBoxInner.classList.add(`${PREFIX.checkbox}-focus`);\n\n            setTimeout(() => CheckBoxInner.classList.remove(`${PREFIX.checkbox}-focus`), 1500);\n        };\n\n        const toogle = () => {\n            // @ts-ignore\n            const isChecked = node.dataset['value'] === 'true' ? false : true;\n            const isDisabled = this._isDisabled(node);\n\n            if (isDisabled) return false;\n\n            addFocusedState();\n\n            this._setChecked(node, isChecked);\n        };\n\n        bind(node, 'click', toogle);\n    }\n\n    private _isDisabled(node: Element): boolean {\n        return node.getAttribute('disabled') == '' || node.getAttribute('disabled') == 'true';\n    }\n\n    private _getGroupWrapper(node: Element): Element | null {\n        const parent = node.parentElement;\n        return parent?.tagName.toLowerCase() === 'r-checkbox-group' ? parent : null;\n    }\n\n    private _attrs(node: Element) {\n        return {\n            icon: getStrTypeAttr(node, 'icon', ''),\n            name: getStrTypeAttr(node, 'name', ''),\n            label: getStrTypeAttr(node, 'label', ''),\n            value: getArrTypeAttr(node, 'value'),\n            checked: getBooleanTypeAttr(node, 'checked'),\n            indeterminate: getBooleanTypeAttr(node, 'indeterminate')\n        };\n    }\n}\n\nexport default Checkbox;\n"
  },
  {
    "path": "src/components/checkbox/index.ts",
    "content": "import Checkbox from './checkbox';\nexport default Checkbox;\n"
  },
  {
    "path": "src/components/circle/circle.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    createElem,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { moreThanOneNode, warn } from '../../mixins';\nimport { randomStr, type } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        percent: number;\n        strokeColor: string | string[];\n    };\n}\n\nclass Circle implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<HTMLElement>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-circle', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        percent: number;\n        strokeColor: string | string[];\n    } {\n        const target = $el(el) as HTMLElement;\n        const InnerCircle = target.querySelectorAll('path')[1] as SVGPathElement;\n\n        const { _attrs, _setPercent, _setStrokeColor } = Circle.prototype;\n        const { percent, strokeWidth, dashboard, strokeColor } = _attrs(target);\n\n        return {\n            get percent() {\n                return percent;\n            },\n            set percent(newVal: number) {\n                if (newVal && !type.isNum(newVal)) return;\n                _setPercent(InnerCircle, newVal, strokeWidth, dashboard);\n            },\n            get strokeColor() {\n                return strokeColor;\n            },\n            set strokeColor(newVal: string | string[]) {\n                if (newVal && !type.isStr(newVal) && !type.isArr(newVal)) return;\n                _setStrokeColor(InnerCircle, newVal);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<HTMLElement>): void {\n        COMPONENTS.forEach((node) => {\n            if (moreThanOneNode(node)) return;\n            const CircleContent = node.firstElementChild;\n\n            const {\n                size,\n                percent,\n                strokeLinecap,\n                strokeWidth,\n                strokeColor,\n                trailColor,\n                trailWidth,\n                dashboard\n            } = this._attrs(node);\n\n            this._setSize(node, size);\n            this._setMainTemplate(\n                node,\n                percent,\n                trailColor,\n                trailWidth,\n                strokeLinecap,\n                strokeWidth,\n                strokeColor,\n                dashboard\n            );\n\n            const InnerCircle = node.querySelectorAll('path')[1]! as SVGPathElement;\n\n            this._setPercent(InnerCircle, percent, strokeWidth, dashboard);\n            this._setStrokeColor(InnerCircle, strokeColor);\n            this._setInnerContent(node, CircleContent);\n\n            removeAttrs(node, [\n                'percent',\n                'size',\n                'stroke-linecap',\n                'stroke-width',\n                'stroke-color',\n                'trail-width',\n                'trail-color',\n                'dashboard'\n            ]);\n        });\n    }\n\n    private _setSize(node: HTMLElement, size: number): void {\n        setCss(node, 'width', `${size}px`);\n        setCss(node, 'height', `${size}px`);\n    }\n\n    private _setMainTemplate(\n        node: HTMLElement,\n        percent: number,\n        trailColor: string,\n        trailWidth: number,\n        strokeLinecap: string,\n        strokeWidth: number,\n        strokeColor: string,\n        dashboard: boolean\n    ): void {\n        const pathString = this._getPathString(strokeWidth, dashboard);\n        const { trailStyle, pathStyle } = this._getStyle(strokeWidth, dashboard);\n        const computedStrokeWidth = percent === 0 && dashboard ? 0 : strokeWidth;\n\n        const template = `\n        <svg viewBox=\"0 0 100 100\">\n          <path\n            d=\"${pathString}\"\n            stroke=\"${trailColor}\"\n            stroke-width=\"${trailWidth}\"\n            fill-opacity=\"0\"\n            stroke-linecap=\"${strokeLinecap}\"\n            style=\"${trailStyle}\"\n          ></path>\n          <path\n            d=\"${pathString}\"\n            stroke-linecap=\"${strokeLinecap}\"\n            stroke-width=\"${computedStrokeWidth}\"\n            fill-opacity=\"0\"\n            style=\"${pathStyle}\"\n          ></path>\n        </svg>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _radius(strokeWidth: number): number {\n        return 50 - strokeWidth / 2;\n    }\n\n    private _setPercent(\n        innerCircle: SVGPathElement,\n        percent: number,\n        strokeWidth: number,\n        dashboard: boolean\n    ): void {\n        const { _radius } = Circle.prototype;\n        const len = Math.floor(Math.PI * 2 * _radius(strokeWidth));\n\n        if (dashboard) {\n            setCss(innerCircle, 'strokeDasharray', `${(percent / 100) * (len - 75)}px ${len}px`);\n        } else {\n            setCss(innerCircle, 'strokeDashoffset', `${((100 - percent) / 100) * len}px`);\n        }\n    }\n\n    private _setStrokeColor(innerCircle: SVGPathElement, color: string | string[]): void {\n        const id = `${PREFIX.circle}-${randomStr(3)}`;\n\n        const addDefs = (color: string[]) => {\n            if (color.length > 2) {\n                warn(\n                    '👇 The stroke-color attribute of circle cannot pass an array of length greater than 2'\n                );\n                console.error(innerCircle.parentElement!.parentElement);\n\n                return;\n            }\n            strokeValue = `url(#${id})`;\n            const defs = Circle.prototype.showDefs(id, color);\n            innerCircle.parentElement!.insertAdjacentHTML('beforeend', defs);\n        };\n\n        let strokeValue: string;\n        if (typeof color === 'string') {\n            if (color.startsWith('[') && color.endsWith(']')) {\n                addDefs(JSON.parse(color));\n            } else {\n                strokeValue = color;\n            }\n        } else if (Array.isArray(color)) {\n            addDefs(color);\n        }\n\n        innerCircle.setAttribute('stroke', strokeValue!);\n    }\n\n    private _getPathString(strokeWidth: number, dashboard: boolean): string {\n        const radius = this._radius(strokeWidth);\n        if (dashboard) {\n            return `M 50,50 m 0,${radius}\n          a ${radius},${radius} 0 1 1 0,-${2 * radius}\n          a ${radius},${radius} 0 1 1 0,${2 * radius}`;\n        } else {\n            return `M 50,50 m 0,-${radius}\n          a ${radius},${radius} 0 1 1 0,${2 * radius}\n          a ${radius},${radius} 0 1 1 0,-${2 * radius}`;\n        }\n    }\n\n    private _getStyle(\n        strokeWidth: number,\n        dashboard: boolean\n    ): {\n        trailStyle: string;\n        pathStyle: string;\n    } {\n        const len = Math.floor(Math.PI * 2 * this._radius(strokeWidth));\n\n        let trailStyle: string, pathStyle: string;\n        if (dashboard) {\n            trailStyle = `\n            stroke-dasharray: ${len - 75}px ${len}px;\n            stroke-dashoffset: -${75 / 2}px;\n            transition: stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s\n            `;\n            pathStyle = `\n            stroke-dashoffset: -${75 / 2}px;\n            transition:stroke-dashoffset .3s ease 0s, stroke-dasharray .6s ease 0s, stroke .6s, stroke-width .06s ease .6s\n            `;\n        } else {\n            trailStyle = '';\n            pathStyle = `\n              stroke-dasharray: ${len}px ${len}px;\n              transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease\n              `;\n        }\n\n        return { trailStyle, pathStyle };\n    }\n\n    private showDefs(id: string, color: string[]) {\n        return `<defs>\n                 <linearGradient id=\"${id}\" x1=\"100%\" y1=\"0%\" x2=\"0%\" y2=\"0%\">\n                     <stop offset=\"0%\" stop-color=\"${color[0]}\"></stop>\n                     <stop offset=\"100%\" stop-color=\"${color[1]}\"></stop>\n                 </linearGradient>\n              </defs>\n              `;\n    }\n\n    private _setInnerContent(node: HTMLElement, content: Element | null): void {\n        if (!content) return;\n\n        const CircleInner = createElem('div');\n\n        CircleInner.className = `${PREFIX.circle}-inner`;\n\n        CircleInner.appendChild(content);\n        node.appendChild(CircleInner);\n    }\n\n    private _attrs(node: HTMLElement) {\n        return {\n            size: getNumTypeAttr(node, 'size', 120),\n            percent: getNumTypeAttr(node, 'percent', 0),\n            strokeWidth: getNumTypeAttr(node, 'stroke-width', 6),\n            trailWidth: getNumTypeAttr(node, 'trail-width', 5),\n            trailColor: getStrTypeAttr(node, 'trail-color', '#eaeef2'),\n            strokeColor: getStrTypeAttr(node, 'stroke-color', '#1890ff'),\n            strokeLinecap: getStrTypeAttr(node, 'stroke-linecap', 'round'),\n            dashboard: getBooleanTypeAttr(node, 'dashboard')\n        };\n    }\n}\n\nexport default Circle;\n"
  },
  {
    "path": "src/components/circle/index.ts",
    "content": "import Circle from './circle';\nexport default Circle;\n"
  },
  {
    "path": "src/components/collapse/collapse.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { $el, bind, removeAttrs, siblings, slider } from '../../dom-utils';\nimport {\n    getArrTypeAttr,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    setCss,\n    setHtml\n} from '../../dom-utils/elem';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface CollapseEvents {\n    onChange?: (index: []) => void;\n}\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        activeIndex: string | number | string[] | number[];\n        events({ onChange }: CollapseEvents): void;\n    };\n}\n\nclass Collapse implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-collapse', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        activeIndex: string | number | string[] | number[];\n        events({ onChange }: { onChange: (key: []) => void }): void;\n    } {\n        const target = $el(el);\n\n        validComps(target, 'collapse');\n\n        const { _attrs, _dataSetActiveKey, _openByKey } = Collapse.prototype;\n\n        const activeIndex = JSON.parse(target.dataset['activeIndex']);\n\n        return {\n            get activeIndex() {\n                return activeIndex;\n            },\n            set activeIndex(newVal: string | number | string[] | number[]) {\n                if (newVal == activeIndex) return;\n\n                _dataSetActiveKey(target, newVal);\n                _openByKey(target, newVal, target.getAttribute('accordion'));\n            },\n            events({ onChange }) {\n                const panels = target.querySelectorAll('r-collapse-panel');\n\n                // 储存已展开面板的 key\n                const key: string[] = [];\n\n                const pushKey = (el: Element, toggle: boolean) => {\n                    const { accordion } = _attrs(target);\n                    // @ts-ignore\n                    const panelKey = el.dataset.panelKey;\n\n                    if (el.classList.contains(`${PREFIX.collapse}-item-active`)) {\n                        key.push(panelKey);\n                    } else if (toggle) {\n                        const idx = key.indexOf(panelKey);\n                        idx > -1 ? key.splice(idx, 1) : '';\n                    }\n\n                    // 手风琴模式下每展开一个面板就删除其他的 key\n                    if (accordion) {\n                        siblings(el).forEach((o) => {\n                            const otherIdx = key.indexOf(o.dataset.panelKey);\n                            otherIdx > -1 ? key.splice(otherIdx, 1) : '';\n                        });\n                    }\n                };\n\n                panels.forEach((panel: Element) => {\n                    const header = panel.querySelector(`.${PREFIX.collapse}-header`);\n\n                    // 存放初始化面板时默认已展开的 key\n                    pushKey(panel, false);\n\n                    bind(header, 'click', () => {\n                        // 这里用定时器是为了跟移除显示面板样式类名的时机同步\n                        setTimeout(() => {\n                            pushKey(panel, true);\n                            onChange && type.isFn(onChange, key);\n                        }, 150);\n                    });\n                });\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { simple, ghost, activekey, accordion } = this._attrs(node);\n\n            this._dataSetActiveKey(node, activekey);\n            this._setGhost(node, ghost);\n            this._setSimple(node, simple);\n            this._createChildNodes(node);\n            this._openByKey(node, activekey, accordion);\n\n            removeAttrs(node, ['simple', 'ghost', 'active-key']);\n        });\n    }\n\n    private _dataSetActiveKey(\n        node: Element,\n        activeIndex: string | number | string[] | number[]\n    ): void {\n        if (activeIndex) {\n            // @ts-ignore\n            node.dataset['activeIndex'] = Array.isArray(activeIndex)\n                ? `[${activeIndex}]`\n                : activeIndex;\n        }\n    }\n\n    private _setGhost(node: Element, ghost: boolean): void {\n        ghost ? node.classList.add(`${PREFIX.collapse}-ghost`) : '';\n    }\n\n    private _setSimple(node: Element, simple: boolean): void {\n        simple ? node.classList.add(`${PREFIX.collapse}-simple`) : '';\n    }\n\n    private _createChildNodes(node: Element): void {\n        const collapsePanels = node.querySelectorAll('r-collapse-panel');\n        this._setPanel(node, collapsePanels);\n    }\n\n    private _setPanel(parent: Element, panels: NodeListOf<Element>): void {\n        // 遍历所有面板节点\n        panels.forEach((panel, index) => {\n            const { index: key, title, hideArrow } = this._attrs(panel);\n\n            // @ts-ignore\n            // 面板的 key 如果没填则默认为索引值\n            panel.dataset.panelKey = !key ? index : key;\n\n            // 保存面板原先的第一个节点，也就是要填充的内容\n            const content = panel.firstElementChild;\n\n            const arrowIcon = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-arrow-forward\"></i>`;\n\n            const template = `\n                 <div class=\"${PREFIX.collapse}-header\">\n                    ${!hideArrow ? arrowIcon : ''} ${title}\n                 </div>\n                 <div class=\"${PREFIX.collapse}-content\">\n                    <div class=\"${PREFIX.collapse}-content-box\"></div>\n                 </div>`;\n\n            // 清空面板原先的所有内容\n            setHtml(panel, '');\n            // 追加html模板\n            setHtml(panel, template);\n\n            // 将原先的占位内容填充至面板内容盒子\n            const panelContentBox = panel.querySelector(`.${PREFIX.collapse}-content-box`);\n\n            content ? panelContentBox?.appendChild(content) : null;\n\n            setCss(panel, 'display', 'block');\n\n            this._handleToggle(parent, panel);\n\n            removeAttrs(panel, ['index', 'title', 'hide-arrow']);\n        });\n    }\n\n    private _handleToggle(parent: Element, panel: Element): void {\n        const { accordion } = this._attrs(parent);\n\n        const collapseHeader = panel.querySelector(`.${PREFIX.collapse}-header`);\n        const collapseContent = panel.querySelector(`.${PREFIX.collapse}-content`);\n\n        bind(collapseHeader, 'click', () => this._slide(panel, collapseContent!, accordion));\n    }\n\n    private _slide(p: Element, c: Element, accordion: boolean): void {\n        const activeCls = `${PREFIX.collapse}-item-active`;\n\n        const slideUp = (arg1: Element, arg2: Element) => {\n            slider.slideUp(arg2, 150);\n            setTimeout(() => {\n                arg1.classList.remove(activeCls);\n            }, 150);\n        };\n\n        if (p.classList.contains(activeCls)) {\n            slideUp(p, c);\n        } else {\n            slider.slideDown(c, 150);\n            p.classList.add(activeCls);\n        }\n\n        // 手风琴模式\n        if (accordion) {\n            // 获取除了已展开的面板外的所有其他面板\n            siblings(p).forEach((otherP) => {\n                const otherC = otherP.querySelector(`.${PREFIX.collapse}-content`);\n                slideUp(otherP, otherC);\n            });\n        }\n    }\n\n    private _openByKey(\n        node: Element,\n        key: string | number | string[] | number[],\n        accordion: boolean\n    ): void {\n        // 获取选中的 key 的面板\n        let selected: Element | null;\n\n        const open = () => {\n            if (selected) {\n                selected.classList.add(`${PREFIX.collapse}-item-active`);\n\n                if (accordion) {\n                    siblings(selected).forEach((o) => {\n                        o.classList.remove(`${PREFIX.collapse}-item-active`);\n                    });\n                }\n            }\n        };\n\n        // 如果 activeIndex 是数组则对其进行遍历获取所有面板\n        // 且如果是手风琴模式则只选取数组的第一项，只展开一个面板\n        if (Array.isArray(key)) {\n            const { length } = key;\n            // length == 1 说明数组只有一项所以不必对其进行遍历\n            if (accordion || length == 1) {\n                selected = node.querySelector(`[data-panel-key=\"${key[0]}\"]`);\n                open();\n            } else {\n                let i = 0;\n                for (; i < length; i++) {\n                    selected = node.querySelector(`[data-panel-key=\"${key[i]}\"]`);\n                    open();\n                }\n            }\n        } else {\n            selected = node.querySelector(`[data-panel-key=\"${key}\"]`);\n            open();\n        }\n    }\n\n    private _attrs(node: Element) {\n        return {\n            index: getStrTypeAttr(node, 'index', ''),\n            title: getStrTypeAttr(node, 'title', ''),\n            ghost: getBooleanTypeAttr(node, 'ghost'),\n            simple: getBooleanTypeAttr(node, 'simple'),\n            hideArrow: getBooleanTypeAttr(node, 'hide-arrow'),\n            accordion: getBooleanTypeAttr(node, 'accordion'),\n            activekey:\n                getStrTypeAttr(node, 'active-index', '') && getArrTypeAttr(node, 'active-index')\n        };\n    }\n}\n\nexport default Collapse;\n"
  },
  {
    "path": "src/components/collapse/index.ts",
    "content": "import Collapse from './collapse';\nexport default Collapse;\n"
  },
  {
    "path": "src/components/count-down/count-down.ts",
    "content": "import { $el, bind, getStrTypeAttr, removeAttrs } from '../../dom-utils';\nimport { type, validComps } from '../../utils';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        endTime: string;\n        events({ onStop }: CountDownEvent): void;\n    };\n}\n\ninterface CountDownEvent {\n    onStop: (endTime: boolean) => void;\n}\n\nclass CountDown implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-count-down', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        endTime: string;\n        events({ onStop }: CountDownEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'count-down');\n\n        const { _countTime } = CountDown.prototype;\n\n        return {\n            get endTime() {\n                return '';\n            },\n            set endTime(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n                _countTime(target, newVal);\n            },\n\n            events({ onStop }: CountDownEvent) {\n                if (!onStop) return;\n\n                bind(target, 'DOMNodeInserted', (e: any) => {\n                    if (e.target.textContent === '00:00:00') {\n                        type.isFn(onStop, true);\n                    }\n                });\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            const { endTime } = this._attrs(node);\n\n            this._countTime(node, endTime);\n\n            removeAttrs(node, ['endTime']);\n        });\n    }\n\n    private _countTime(node: Element, endTime: string): void {\n        if (!endTime) return;\n\n        let timer: any = null;\n\n        const countDown = () => {\n            //获取当前时间\n            const date = new Date();\n            const now = date.getTime();\n\n            //设置截止时间\n            const endDate = new Date(endTime);\n            const _endTime = endDate.getTime();\n\n            //时间差\n            const diff = _endTime - now;\n\n            //定义变量 d,h,m,s保存倒计时的时间\n            let d = 0,\n                h = 0,\n                m = 0,\n                s = 0;\n\n            if (diff >= 0) {\n                d = Math.floor(diff / 1000 / 60 / 60 / 24);\n                h = Math.floor((diff / 1000 / 60 / 60) % 24);\n                m = Math.floor((diff / 1000 / 60) % 60);\n                s = Math.floor((diff / 1000) % 60);\n            }\n\n            const checkTime = (t: any) => {\n                if (t < 10) t = `0${t}`;\n                return t;\n            };\n\n            //将0-9的数字前面加上0，例1变为01\n            d = checkTime(d);\n            h = checkTime(h);\n            m = checkTime(m);\n            s = checkTime(s);\n\n            node.textContent = `${h}:${m}:${s}`;\n        };\n\n        countDown();\n\n        timer = window.setInterval(countDown, 1000);\n\n        bind(node, 'DOMNodeInserted', (e: any) => {\n            if (e.target.textContent === '00:00:00') {\n                window.clearInterval(timer);\n                return;\n            }\n        });\n    }\n\n    private _attrs(node: Element) {\n        return {\n            endTime: getStrTypeAttr(node, 'end-time', '')\n        };\n    }\n}\n\nexport default CountDown;\n"
  },
  {
    "path": "src/components/count-down/index.ts",
    "content": "import CountDown from './count-down';\nexport default CountDown;\n"
  },
  {
    "path": "src/components/divider/divider.ts",
    "content": "import PREFIX from '../prefix';\nimport { $el, createElem, getBooleanTypeAttr, getStrTypeAttr, removeAttrs } from '../../dom-utils';\n\nclass Divider {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-divider', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            this._setType(node);\n            this._setDashed(node);\n            this._setPlain(node);\n            this._setTitle(node);\n            removeAttrs(node, ['dashed', 'plain', 'orientation']);\n        });\n    }\n\n    private _setType(node: Element): void {\n        const { type } = this._attrs(node);\n        node.setAttribute('type', `${type}`);\n    }\n\n    private _setDashed(node: Element): void {\n        const { dashed } = this._attrs(node);\n        if (dashed) {\n            node.classList.add(`${PREFIX.divider}-dashed`);\n        }\n    }\n\n    private _setPlain(node: Element): void {\n        const { plain } = this._attrs(node);\n        if (plain) {\n            node.classList.add(`${PREFIX.divider}-plain`);\n        }\n    }\n\n    private _setOrientation(node: Element): void {\n        const { orientation } = this._attrs(node);\n        node.classList.add(`${PREFIX.divider}-with-text-${orientation}`);\n    }\n\n    private _setTitle(node: Element): void {\n        if (node.innerHTML == '' || node.innerHTML == ' ') return;\n\n        this._setOrientation(node);\n\n        const DividerText = createElem('span');\n\n        DividerText.className = `${PREFIX.divider}-inner-text`;\n        DividerText.innerHTML = node.innerHTML;\n\n        node.classList.add(`${PREFIX.divider}-with-text`);\n        node.innerHTML = '';\n        node.appendChild(DividerText);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            type: getStrTypeAttr(node, 'type', 'horizontal'),\n            orientation: getStrTypeAttr(node, 'orientation', 'center'),\n            dashed: getBooleanTypeAttr(node, 'dashed'),\n            plain: getBooleanTypeAttr(node, 'plain')\n        };\n    }\n}\n\nexport default Divider;\n"
  },
  {
    "path": "src/components/divider/index.ts",
    "content": "import Divider from './divider';\nexport default Divider;\n"
  },
  {
    "path": "src/components/drawer/drawer.ts",
    "content": "import PREFIX from '../prefix';\nimport {\n    $el,\n    bind,\n    createElem,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { CssTransition, moreThanOneNode, Scrollable } from '../../mixins';\nimport { type, validComps } from '../../utils';\n\ninterface DrawerEvents {\n    onClose?: () => void;\n}\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        title: string;\n        visable: boolean;\n        events: ({ onClose }: DrawerEvents) => void;\n    };\n}\n\nclass Drawer implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.1.1';\n        this.COMPONENTS = $el('r-drawer', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        title: string;\n        visable: boolean;\n        events: ({ onClose }: DrawerEvents) => void;\n    } {\n        const target = $el(el);\n\n        validComps(target, 'drawer');\n\n        const { _handleVisable, _attrs } = Drawer.prototype;\n\n        const DrawerMask = target.querySelector(`.${PREFIX.drawer}-mask`);\n        const DrawerWrap = target.querySelector(`.${PREFIX.drawer}-wrap`);\n        const _Drawer = target.querySelector(`.${PREFIX.drawer}`);\n        const DrawerTitle = target.querySelector(`.${PREFIX.drawer}-header-inner`);\n        const DrawerClose = target.querySelector(`.${PREFIX.drawer}-close`);\n\n        return {\n            get title() {\n                return setHtml(DrawerTitle);\n            },\n            set title(newVal: string) {\n                if (!type.isStr(newVal)) return;\n                setHtml(DrawerTitle, newVal);\n            },\n            get visable() {\n                return false;\n            },\n            set visable(newVal: boolean) {\n                if (!type.isBol(newVal)) return;\n\n                _handleVisable(newVal, target, [DrawerMask, DrawerWrap, _Drawer]);\n            },\n            events({ onClose }) {\n                // v1.0.1 改用on事件绑定，防止触发回调事件的次数随着每次点击而不断的重复叠加\n                if (DrawerClose) DrawerClose.onclick = () => onClose && type.isFn(onClose);\n                if (_attrs(target).maskClosable === 'true')\n                    DrawerWrap.onclick = () => onClose && type.isFn(onClose);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            this._createDrawerNodes(node);\n\n            setCss(node, 'display', 'block');\n\n            removeAttrs(node, [\n                'title',\n                'width',\n                'height',\n                'mask',\n                'visible',\n                'closable',\n                'scrollable',\n                'lock-scroll'\n            ]);\n        });\n    }\n\n    private _createDrawerNodes(node: Element): void {\n        const DrawerMask = createElem('div');\n        const DrawerWrap = createElem('div');\n        const Drawer = createElem('div');\n        const DrawerContent = createElem('div');\n        const DrawerClose = createElem('a');\n        const DrawerHeader = createElem('div');\n        const DrawerHeaderInner = createElem('div');\n        const DrawerBody = createElem('div');\n\n        this._setCls([\n            DrawerMask,\n            DrawerWrap,\n            Drawer,\n            DrawerContent,\n            DrawerClose,\n            DrawerHeader,\n            DrawerHeaderInner,\n            DrawerBody\n        ]);\n\n        this._setSize(node, Drawer);\n        this._setPlacement(node, Drawer);\n        this._setOpenInContainer(node, DrawerMask, DrawerWrap, Drawer);\n\n        this._initVisible(node, DrawerMask, DrawerWrap, Drawer);\n        this._handleClose(node, [DrawerMask, DrawerWrap, Drawer], DrawerClose);\n\n        DrawerWrap.appendChild(Drawer);\n        Drawer.appendChild(DrawerContent);\n\n        this._setClosable(node, DrawerContent, DrawerClose);\n        this._setHeader(node, DrawerContent, DrawerHeader, DrawerHeaderInner);\n\n        DrawerContent.appendChild(DrawerBody);\n\n        this._setBodyContent(node, DrawerBody);\n        this._setMask(node, DrawerMask, DrawerWrap, DrawerContent);\n\n        node.appendChild(DrawerWrap);\n    }\n\n    private _setCls(elms: HTMLElement[]): void {\n        const elmsCls = [\n            `${PREFIX.drawer}-mask`,\n            `${PREFIX.drawer}-wrap`,\n            `${PREFIX.drawer}`,\n            `${PREFIX.drawer}-content`,\n            `${PREFIX.drawer}-close`,\n            `${PREFIX.drawer}-header`,\n            `${PREFIX.drawer}-header-inner`,\n            `${PREFIX.drawer}-body`\n        ];\n\n        let i = 0;\n        const { length } = elms;\n        for (; i < length; i++) {\n            const elm = elms[i];\n            elm.className = elmsCls[i];\n        }\n    }\n\n    private _setSize(parent: Element, children: HTMLElement): void {\n        const { width, height, placement } = this._attrs(parent);\n\n        if (placement === 'top' || placement === 'bottom') {\n            setCss(children, 'height', height);\n        } else if (placement === 'left' || placement === 'right') {\n            children.style.width = width;\n            setCss(children, 'width', width);\n        }\n    }\n\n    private _setPlacement(parent: Element, children: HTMLElement): void {\n        const { placement } = this._attrs(parent);\n\n        children.classList.add(`${PREFIX.drawer}-${placement}`);\n    }\n\n    private _setOpenInContainer(\n        parent: Element,\n        drawerMask: HTMLElement,\n        drawerWrap: HTMLElement,\n        drawer: HTMLElement\n    ): void {\n        const { inner } = this._attrs(parent);\n\n        if (!inner) return;\n\n        drawerMask.classList.add(`${PREFIX.drawer}-mask-inner`);\n        drawerWrap.classList.add(`${PREFIX.drawer}-wrap-inner`);\n        drawer.classList.add(`${PREFIX.drawer}-inner`);\n    }\n\n    private _setMask(\n        parent: Element,\n        drawerMask: HTMLElement,\n        drawerWrap: HTMLElement,\n        drawerContent: HTMLElement\n    ): void {\n        let { mask } = this._attrs(parent);\n\n        if (parent.getAttribute('mask') == null) mask = true;\n\n        if (!mask) {\n            drawerWrap.classList.add(`${PREFIX.drawer}-no-mask`);\n            drawerContent.classList.add(`${PREFIX.drawer}-content-no-mask`);\n            return;\n        }\n\n        parent.appendChild(drawerMask);\n    }\n\n    private _setClosable(parent: Element, children: HTMLElement, drawerClose: HTMLElement): void {\n        const { closable } = this._attrs(parent);\n\n        if (!closable) return;\n\n        setHtml(drawerClose, `<i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-close\"></i>`);\n\n        children.appendChild(drawerClose);\n    }\n\n    private _setHeader(\n        parent: Element,\n        drawerContent: HTMLElement,\n        drawerHeader: HTMLElement,\n        drawerTitle: HTMLElement\n    ): void {\n        const { title } = this._attrs(parent);\n\n        if (!title) {\n            drawerContent.parentElement?.classList.add(`${PREFIX.drawer}-no-header`);\n            return;\n        }\n\n        setHtml(drawerTitle, title);\n\n        drawerHeader.appendChild(drawerTitle);\n        drawerContent.appendChild(drawerHeader);\n    }\n\n    private _setBodyContent(parent: Element, children: HTMLElement): void {\n        // v1.1.1 增加占位节点的组成数量判断\n        if (moreThanOneNode(parent)) return;\n\n        const placeholderNode = parent.firstElementChild;\n        if (placeholderNode) children.appendChild(placeholderNode);\n    }\n\n    private _initVisible(\n        parent: Element,\n        drawerMask: HTMLElement,\n        drawerWrap: HTMLElement,\n        drawer: HTMLElement\n    ): void {\n        const { visible } = this._attrs(parent);\n\n        // @ts-ignore\n        parent.dataset.drawerVisable = `${visible}`;\n\n        if (visible) return;\n\n        drawerWrap.classList.add(`${PREFIX.drawer}-hidden`);\n\n        setCss(drawerMask, 'display', 'none');\n        setCss(drawer, 'display', 'none');\n    }\n\n    private _handleVisable(visable: boolean, target: Element, children: Element[]): void {\n        const { _show, _hide } = Drawer.prototype;\n        visable ? _show(target, children) : _hide(target, children);\n    }\n\n    private _handleClose(parent: Element, hiddenElm: Element[], triggerElm: HTMLElement): void {\n        const { _hide } = Drawer.prototype;\n\n        // triggerElm 表示右上角关闭按钮\n        bind(triggerElm, 'click', () => _hide(parent, hiddenElm));\n        bind(hiddenElm[1], 'click', () => _hide(parent, hiddenElm));\n        bind(hiddenElm[2], 'click', (e: any) => e.stopPropagation());\n    }\n\n    private _show(parent: Element, showElm: Element[]): void {\n        const { _attrs } = Drawer.prototype;\n        const { inner, placement, scrollable } = _attrs(parent);\n\n        let { lockScroll } = _attrs(parent);\n        !parent.getAttribute('lock-scroll') ? (lockScroll = true) : lockScroll;\n\n        // 设置为在当前 dom 里打开则不隐藏 body 滚动条\n        if (!inner) Scrollable({ scroll: scrollable, lock: lockScroll });\n\n        // @ts-ignore\n        // 设置当前为显示状态\n        parent.dataset.drawerVisable = 'true';\n\n        // showElm[0] 表示遮盖层\n        // showElm[1] 表示抽屉的父容器wrap\n        // showElm[2] 表示抽屉主体\n\n        showElm[1].classList.contains(`${PREFIX.drawer}-hidden`) &&\n            showElm[1].classList.remove(`${PREFIX.drawer}-hidden`);\n\n        CssTransition(showElm[0], {\n            inOrOut: 'in',\n            enterCls: 'rab-fade-in',\n            rmCls: true,\n            timeout: 250\n        });\n\n        CssTransition(showElm[2], {\n            inOrOut: 'in',\n            enterCls: `${PREFIX.drawer}-${placement}-move-enter`,\n            rmCls: true,\n            timeout: 550\n        });\n    }\n\n    private _hide(parent: Element, hiddenElm: Element[]): void {\n        const { placement } = Drawer.prototype._attrs(parent);\n\n        // @ts-ignore\n        // 设置为隐藏状态\n        parent.dataset.drawerVisable = 'false';\n\n        // hiddenElm[0] 表示遮盖层\n        // hiddenElm[1] 表示抽屉的父容器wrap\n        // hiddenElm[2] 表示抽屉主体\n        CssTransition(hiddenElm[0], {\n            inOrOut: 'out',\n            leaveCls: 'rab-fade-out',\n            rmCls: true,\n            timeout: 250\n        });\n\n        CssTransition(hiddenElm[2], {\n            inOrOut: 'out',\n            leaveCls: `${PREFIX.drawer}-${placement}-move-leave`,\n            rmCls: true,\n            timeout: 490\n        });\n\n        setTimeout(() => {\n            hiddenElm[1].classList.add(`${PREFIX.drawer}-hidden`);\n            setCss(hiddenElm[2], 'display', 'none');\n            Scrollable({ scroll: true, lock: true, node: parent, tagName: 'drawer' });\n        }, 490);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            title: getStrTypeAttr(node, 'title', ''),\n            width: getStrTypeAttr(node, 'width', '256px'),\n            height: getStrTypeAttr(node, 'height', '256px'),\n            placement: getStrTypeAttr(node, 'placement', 'right'),\n            mask: getBooleanTypeAttr(node, 'mask'),\n            inner: getBooleanTypeAttr(node, 'inner'),\n            visible: getBooleanTypeAttr(node, 'visible'),\n            closable: getBooleanTypeAttr(node, 'closable'),\n            scrollable: getBooleanTypeAttr(node, 'scrollable'),\n            lockScroll: getBooleanTypeAttr(node, 'lock-scroll'),\n            maskClosable: getStrTypeAttr(node, 'mask-closable', 'true')\n        };\n    }\n}\n\nexport default Drawer;\n"
  },
  {
    "path": "src/components/drawer/index.ts",
    "content": "import Drawer from './drawer';\nexport default Drawer;\n"
  },
  {
    "path": "src/components/dropdown/dropdown.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss\n} from '../../dom-utils';\nimport { clickoutside, CssTransition, warn, _Popper } from '../../mixins';\nimport { type, validComps } from '../../utils';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        visible: boolean;\n        events: ({ onClick, onVisibleChange }: DropdownEvents) => void;\n    };\n}\n\ninterface DropdownEvents {\n    onClick?: (key: string) => void;\n    onVisibleChange?: (visible: boolean) => void;\n    onClickOutside?: (event: Event) => void;\n}\n\nconst DEFAULTDELAY = 80;\nconst STATEKEY = 'visibleState';\nconst ITEMKEY = 'itemKey';\nconst DROPENTERCLS = 'transition-drop-enter';\nconst DROPLEAVECLS = 'transition-drop-leave';\n\nlet VISIBLETIMER: any = null,\n    EVENTTIMER: any = null;\n\nclass Dropdown implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v2.0';\n        this.COMPONENTS = $el('r-dropdown', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        visible: boolean;\n        events({ onClick, onVisibleChange, onClickOutside }: DropdownEvents): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'dropdown');\n\n        const { _attrs, _setVisible, _getChildDisabled } = Dropdown.prototype;\n        const { trigger, placement } = _attrs(target);\n\n        const DropdownRefElm = target.firstElementChild!;\n        const DropdownMenu = target.querySelector('r-dropdown-menu')! as HTMLElement;\n        const DropdownItem = DropdownMenu.querySelectorAll('r-dropdown-item');\n\n        return {\n            get visible() {\n                return DropdownMenu.dataset[STATEKEY] === 'visible';\n            },\n            set visible(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n                _setVisible(target, DropdownMenu, newVal, placement);\n            },\n\n            events({ onClick, onVisibleChange, onClickOutside }) {\n                // onVisibleChange\n                const visibleChange = () => {\n                    setTimeout(() => {\n                        const visible = DropdownMenu.dataset[STATEKEY] === 'visible';\n                        onVisibleChange && type.isFn(onVisibleChange, visible);\n                    }, DEFAULTDELAY);\n                };\n                // onClick\n                const itemClickEv = (elem: Element) => {\n                    if (_getChildDisabled(elem)) return false;\n                    // @ts-ignore\n                    const key = elem.dataset[ITEMKEY];\n                    visibleChange();\n                    onClick && type.isFn(onClick, key);\n                };\n\n                if (trigger === 'hover') {\n                    bind(target, 'mouseenter', () => {\n                        if (EVENTTIMER) clearTimeout(EVENTTIMER);\n                        EVENTTIMER = setTimeout(visibleChange, DEFAULTDELAY);\n                    });\n                    bind(target, 'mouseleave', () => {\n                        if (EVENTTIMER) clearTimeout(EVENTTIMER);\n                        if (DropdownMenu.dataset[STATEKEY] === 'visible')\n                            setTimeout(visibleChange, DEFAULTDELAY);\n                    });\n                }\n                if (trigger === 'click' || trigger === 'contextMenu') {\n                    onClickOutside &&\n                        clickoutside(target, onClickOutside, DropdownMenu, STATEKEY, 'visible');\n                }\n                if (trigger === 'click') {\n                    bind(DropdownRefElm, 'click', visibleChange);\n                }\n                if (trigger === 'contextMenu') {\n                    bind(DropdownRefElm, 'contextmenu', visibleChange);\n                }\n\n                DropdownItem.forEach((child) => bind(child, 'click', () => itemClickEv(child)));\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            if (!this._correctCompositionNodes(node)) return;\n\n            const { trigger, placement, visible, stopPropagation } = this._attrs(node);\n\n            const DropdownMenu = node.querySelector('r-dropdown-menu')! as HTMLElement;\n            const DropdownItem = DropdownMenu.querySelector('r-dropdown-item')! as HTMLElement;\n\n            const { key } = this._attrs(DropdownItem);\n\n            this._setVisible(node, DropdownMenu, visible, placement);\n            this._setChildKey(DropdownItem, key);\n            this._setStopPropagation(stopPropagation, node, DropdownMenu);\n            this._handleTrigger(trigger, placement, node, DropdownMenu);\n            this._handleItemClick(trigger, node, DropdownMenu, placement);\n\n            removeAttrs(node, ['key', 'trigger', 'placement', 'visible', 'stop-propagation']);\n        });\n    }\n\n    private _correctCompositionNodes(node: Element): boolean {\n        if (node.firstElementChild?.tagName === 'R-DROPDOWN-MENU') {\n            warn(\n                '👇 The first child element must be the reference element used to trigger the menu display hidden, not r-dropdown-menu'\n            );\n            console.error(node);\n            return false;\n        }\n        if (node.lastElementChild!.tagName !== 'R-DROPDOWN-MENU') {\n            warn('👇 The last child element tag must be made up of r-dropdown-menu');\n            console.error(node);\n            return false;\n        }\n        if (node.childElementCount > 2) {\n            warn('👇 The number of child element nodes in this r-dropdown tag cannot exceed two');\n            console.error(node);\n            return false;\n        }\n\n        return true;\n    }\n\n    private _setStopPropagation(stop: boolean, node: Element, child: HTMLElement): void {\n        if (!stop) return;\n        bind(node, 'click', (e: MouseEvent) => e.stopPropagation());\n        bind(child, 'click', (e: MouseEvent) => e.stopPropagation());\n    }\n\n    private _handleTrigger(\n        type: string,\n        placement: string,\n        node: Element,\n        child: HTMLElement\n    ): void {\n        if (type === 'custom') return;\n\n        const referenceElem = node.firstElementChild!;\n\n        // 触发菜单显示隐藏的引用元素如果是禁用状态则不做操作\n        if (/disabled/.test(referenceElem.className)) return;\n        if (this._getChildDisabled(referenceElem)) return;\n\n        const showMenu = () => {\n            if (VISIBLETIMER) clearTimeout(VISIBLETIMER);\n            if (child.dataset[STATEKEY] === 'visible') return;\n\n            VISIBLETIMER = setTimeout(\n                () => this._setVisible(node, child, true, placement),\n                DEFAULTDELAY\n            );\n        };\n        const hidenMenu = () => {\n            if (VISIBLETIMER) clearTimeout(VISIBLETIMER);\n            if (child.dataset[STATEKEY] === 'visible') {\n                setTimeout(() => this._setVisible(node, child, false, placement), DEFAULTDELAY);\n            }\n        };\n        const clickIsShow = (e: MouseEvent) => {\n            e.stopPropagation();\n\n            if (child.dataset[STATEKEY] === 'hidden') {\n                showMenu();\n            } else {\n                hidenMenu();\n            }\n        };\n\n        if (type === 'hover') {\n            bind(node, 'mouseenter', showMenu);\n            bind(node, 'mouseleave', hidenMenu);\n        }\n        // 点击菜单栏以外的地方隐藏\n        if (type === 'click' || type === 'contextMenu') {\n            clickoutside(node, hidenMenu);\n        }\n        if (type === 'click') {\n            bind(referenceElem, 'click', (e: MouseEvent) => clickIsShow(e));\n        }\n        if (type === 'contextMenu') {\n            bind(referenceElem, 'contextmenu', (e: MouseEvent) => {\n                e.preventDefault();\n                clickIsShow(e);\n            });\n        }\n    }\n\n    private _handleItemClick(\n        type: string,\n        node: Element,\n        child: HTMLElement,\n        placement: string\n    ): void {\n        if (type === 'custom') return;\n\n        const DropdownItems = child.querySelectorAll('r-dropdown-item');\n\n        DropdownItems.forEach((item) =>\n            bind(item, 'click', () => {\n                if (this._getChildDisabled(item)) return;\n                this._setVisible(node, child, false, placement);\n            })\n        );\n    }\n\n    private _setChildKey(child: HTMLElement, key: string): void {\n        if (key) {\n            child.dataset[ITEMKEY] = key;\n            child.removeAttribute('key');\n        }\n    }\n\n    private _setVisible(\n        node: Element,\n        child: HTMLElement,\n        visible: boolean,\n        placement: string\n    ): void {\n        const { _setPlacement, _setTransitionDrop } = Dropdown.prototype;\n\n        if (visible) {\n            child.dataset[STATEKEY] = 'visible';\n            _setPlacement(node, child, placement);\n            _setTransitionDrop('in', child);\n        } else {\n            child.dataset[STATEKEY] = 'hidden';\n            setTimeout(() => {\n                child.dataset[STATEKEY] === 'hidden' && _setTransitionDrop('out', child);\n            }, 0);\n        }\n    }\n\n    private _setPlacement(node: Element, child: HTMLElement, placement: string): void {\n        const popperPlacement = child.dataset['popperPlacement'] || placement;\n\n        if (/^top|right-end|left-end/.test(popperPlacement)) {\n            setCss(child, 'transformOrigin', 'center bottom');\n        }\n        if (/^bottom|right-start|left-start/.test(popperPlacement)) {\n            setCss(child, 'transformOrigin', 'center top');\n        }\n\n        _Popper._newCreatePopper(node, child, placement, 0);\n    }\n\n    private _setTransitionDrop(type: 'in' | 'out', child: HTMLElement): void {\n        const transitionCls =\n            type === 'in' ? { enterCls: DROPENTERCLS } : { leaveCls: DROPLEAVECLS };\n\n        CssTransition(child, {\n            inOrOut: type,\n            ...transitionCls,\n            rmCls: true,\n            timeout: 290\n        });\n    }\n\n    private _getChildDisabled(elem: Element): boolean {\n        if (\n            elem.getAttribute('disabled') === 'disabled' ||\n            elem.getAttribute('disabled') === 'true' ||\n            elem.getAttribute('disabled') === ''\n        ) {\n            return true;\n        }\n        return false;\n    }\n\n    private _attrs(node: Element) {\n        return {\n            key: getStrTypeAttr(node, 'key', ''),\n            trigger: getStrTypeAttr(node, 'trigger', 'hover'),\n            placement: getStrTypeAttr(node, 'placement', 'bottom'),\n            visible: getBooleanTypeAttr(node, 'visible'),\n            stopPropagation: getBooleanTypeAttr(node, 'stop-propagation')\n        };\n    }\n}\n\nexport default Dropdown;\n"
  },
  {
    "path": "src/components/dropdown/index.ts",
    "content": "import Dropdown from './dropdown';\nexport default Dropdown;\n"
  },
  {
    "path": "src/components/empty/empty.ts",
    "content": "import { $el, getStrTypeAttr, setHtml, removeAttrs } from '../../dom-utils';\nimport PREFIX from '../prefix';\nimport DefaultImage from '../../../assets/empty.svg';\n\nclass Empty {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-empty', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            const { desc, image, imageStyle } = this._attrs(node);\n            const footerElm = node.firstElementChild;\n\n            this._setMainTemplate(node, desc, image, imageStyle);\n            this._setFooter(node, footerElm);\n\n            removeAttrs(node, ['desc', 'image', 'image-style']);\n        });\n    }\n\n    private _setMainTemplate(node: Element, desc: string, image: string, imageStyle: string): void {\n        const template = ` \n         <div class=\"${PREFIX.empty}-image\" style=\"${imageStyle}\">\n            <img src=\"${image}\" alt=\"empty\" />\n         </div>\n         <div class=\"${PREFIX.empty}-description\">${desc == 'false' ? '' : desc}</div>`;\n\n        setHtml(node, template);\n    }\n\n    private _setFooter(node: Element, footerElm: Element | null): void {\n        if (!footerElm) return;\n\n        const footerTpl = `<div class=\"${PREFIX.empty}-footer\"></div>`;\n\n        node.insertAdjacentHTML('beforeend', footerTpl);\n\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        node.querySelector(`.${PREFIX.empty}-footer`)!.appendChild(footerElm);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            desc: getStrTypeAttr(node, 'desc', '暂无数据'),\n            image: getStrTypeAttr(node, 'image', `${DefaultImage}`),\n            imageStyle: getStrTypeAttr(node, 'image-style', '')\n        };\n    }\n}\n\nexport default Empty;\n"
  },
  {
    "path": "src/components/empty/index.ts",
    "content": "import Empty from './empty';\nexport default Empty;\n"
  },
  {
    "path": "src/components/input-number/index.ts",
    "content": "import InputNumber from './input-number';\nexport default InputNumber;\n"
  },
  {
    "path": "src/components/input-number/input-number.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setHtml\n} from '../../dom-utils';\nimport { warn } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        value: number;\n        step: number;\n        disabled: boolean;\n        readOnly: boolean;\n        editable: boolean;\n        events({ onChange, onFocus, onBlur }: InputNumberEvents): void;\n    };\n}\n\ninterface InputNumberEvents {\n    onChange?: (value: number) => void;\n    onFocus?: (event: InputEvent) => void;\n    onBlur?: () => void;\n}\n\nfunction addNum(num1: number, num2: number): number {\n    let sq1: number, sq2: number;\n\n    try {\n        sq1 = num1.toString().split('.')[1].length;\n    } catch (e) {\n        sq1 = 0;\n    }\n    try {\n        sq2 = num2.toString().split('.')[1].length;\n    } catch (e) {\n        sq2 = 0;\n    }\n\n    const m = Math.pow(10, Math.max(sq1, sq2));\n    return (Math.round(num1 * m) + Math.round(num2 * m)) / m;\n}\n\nclass InputNumber implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<HTMLElement>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-input-number', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        value: number;\n        step: number;\n        disabled: boolean;\n        readOnly: boolean;\n        editable: boolean;\n        events({ onChange, onFocus, onBlur }: InputNumberEvents): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'input-number');\n\n        const { _attrs, _setValue, _setDisabled } = InputNumber.prototype;\n        const { min, max, step, disabled, readOnly, editable, precision, formatter } = _attrs(\n            target\n        );\n\n        const Input = target.querySelector(`.${PREFIX.inputnb}-input`)! as HTMLInputElement;\n        const ArrowUp = target.querySelector(`.${PREFIX.inputnb}-handler-up`);\n        const ArrowDown = target.querySelector(`.${PREFIX.inputnb}-handler-down`);\n        const BtnUp = target.querySelector(`.${PREFIX.inputnb}-controls-outside-up`);\n        const BtnDown = target.querySelector(`.${PREFIX.inputnb}-controls-outside-down`);\n\n        return {\n            get value() {\n                return Number(Input.value);\n            },\n            set value(newVal: number) {\n                if (newVal && !type.isNum(newVal)) return;\n                _setValue(Input, newVal, formatter, precision, min, max);\n            },\n            get step() {\n                return step;\n            },\n            set step(newVal: number) {\n                if (newVal && !type.isNum(newVal)) return;\n                Input.step = step;\n            },\n            get disabled() {\n                return disabled;\n            },\n            set disabled(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n                _setDisabled(target, Input, newVal);\n            },\n            get readOnly() {\n                return readOnly;\n            },\n            set readOnly(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n\n                Input.readOnly = newVal;\n\n                const disableArrow = (elem1: Element | null, elem2: Element | null) => {\n                    if (elem1) {\n                        // @ts-ignore\n                        elem1.style.pointerEvents = newVal ? 'none' : '';\n                        // @ts-ignore\n                        elem2.style.pointerEvents = newVal ? 'none' : '';\n                    }\n                };\n\n                disableArrow(ArrowUp, ArrowDown);\n                disableArrow(BtnUp, BtnDown);\n            },\n            get editable() {\n                return editable;\n            },\n            set editable(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n                Input.style.pointerEvents = !newVal ? 'none' : '';\n            },\n            events({ onChange, onFocus, onBlur }) {\n                let value: number;\n\n                const changeEv = (e: Event) => {\n                    e.stopPropagation();\n                    value = Number(Input.value);\n                    if (!isNaN(value)) {\n                        onChange && type.isFn(onChange, value);\n                    } else {\n                        warn(`Invalid input value --> '${Input.value}' at '${el}'`);\n                        return;\n                    }\n                };\n\n                if (ArrowUp) {\n                    bind(ArrowUp, 'click', changeEv);\n                    bind(ArrowDown, 'click', changeEv);\n                }\n                if (BtnUp) {\n                    bind(BtnUp, 'click', changeEv);\n                    bind(BtnDown, 'click', changeEv);\n                }\n\n                bind(Input, 'keydown', (e: KeyboardEvent) => {\n                    if (e.key === 'ArrowUp' || e.key === 'ArrowDown') changeEv(e);\n                });\n                bind(Input, 'input', (e: InputEvent) => changeEv(e));\n                bind(Input, 'focus', (e: InputEvent) => {\n                    e.stopPropagation();\n                    onFocus && type.isFn(onFocus, e);\n                });\n                bind(Input, 'blur', (e: InputEvent) => {\n                    e.stopPropagation();\n                    onBlur && type.isFn(onBlur);\n                });\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<HTMLElement>) {\n        COMPONENTS.forEach((node) => {\n            const {\n                min,\n                max,\n                step,\n                value,\n                name,\n                inputId,\n                parser,\n                formatter,\n                precision,\n                disabled,\n                editable,\n                readOnly,\n                size,\n                placeholder,\n                controlsOutside\n            } = this._attrs(node);\n\n            this._setMainTemplate(node);\n            this._setOutSide(node, controlsOutside);\n\n            const Input = node.querySelector(`.${PREFIX.inputnb}-input`)! as HTMLInputElement;\n            const ArrowUp = node.querySelector(`.${PREFIX.inputnb}-handler-up`);\n            const ArrowDown = node.querySelector(`.${PREFIX.inputnb}-handler-down`);\n            const BtnUp = node.querySelector(`.${PREFIX.inputnb}-controls-outside-up`);\n            const BtnDown = node.querySelector(`.${PREFIX.inputnb}-controls-outside-down`);\n\n            this._setInput(Input, min, max, step, name, inputId, placeholder);\n            this._setValue(Input, value, formatter, precision, min, max);\n            this._setSize(node, size);\n            this._setDisabled(node, Input, disabled);\n            this._setReadonlyAndEditable(Input, readOnly, editable);\n            this._setHandler(ArrowUp, ArrowDown, BtnUp, BtnDown, value, min, max);\n            this._handleChange(\n                Input,\n                ArrowUp,\n                ArrowDown,\n                BtnUp,\n                BtnDown,\n                min,\n                max,\n                step,\n                precision,\n                readOnly,\n                parser,\n                formatter\n            );\n\n            removeAttrs(node, [\n                'min',\n                'max',\n                'step',\n                'value',\n                'precision',\n                'size',\n                'name',\n                'parser',\n                'formatter',\n                'input-id',\n                'placeholder',\n                'disabled',\n                'editable',\n                'readOnly',\n                'controls-outside'\n            ]);\n        });\n    }\n\n    private _setMainTemplate(node: HTMLElement): void {\n        node.classList.add(`${PREFIX.inputnb}`);\n\n        const template = `\n        <div class=\"${PREFIX.inputnb}-handler-wrap\">\n            <a class=\"${PREFIX.inputnb}-handler ${PREFIX.inputnb}-handler-up\">\n                <span class=\"${PREFIX.inputnb}-handler-up-inner ${PREFIX.icon} ${PREFIX.icon}-ios-arrow-up\"></span>\n            </a>\n            <a class=\"${PREFIX.inputnb}-handler ${PREFIX.inputnb}-handler-down\">\n                <span class=\"${PREFIX.inputnb}-handler-down-inner ${PREFIX.icon} ${PREFIX.icon}-ios-arrow-down\"></span>\n            </a>\n        </div>\n        <div class=\"${PREFIX.inputnb}-input-wrap\">\n           <input autocomplete=\"off\" spellcheck=\"false\" class=\"${PREFIX.inputnb}-input\">\n        </div>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _setOutSide(node: HTMLElement, controlsOutside: boolean): void {\n        if (!controlsOutside) return;\n\n        node.classList.add(`${PREFIX.inputnb}-controls-outside`);\n\n        const handlerWrap = node.querySelector(`.${PREFIX.inputnb}-handler-wrap`)!;\n\n        const template = `\n         <div class=\"${PREFIX.inputnb}-controls-outside-btn ${PREFIX.inputnb}-controls-outside-down\">\n            <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-remove\"></i>\n         </div>\n         <div class=\"${PREFIX.inputnb}-controls-outside-btn ${PREFIX.inputnb}-controls-outside-up\">\n            <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-add\"></i>\n         </div>\n        `;\n\n        handlerWrap.insertAdjacentHTML('afterend', template);\n        handlerWrap.remove();\n    }\n\n    private _setInput(\n        input: HTMLInputElement,\n        min: number,\n        max: number,\n        step: number,\n        name: string,\n        inputId: string,\n        placeholder: string\n    ): void {\n        isNaN(min) || min === 0 ? (input.min = `${min}`) : '';\n        isNaN(max) || min === 0 ? (input.max = `${max}`) : '';\n        isNaN(step) && step !== 1 ? (input.step = `${step}`) : '';\n\n        name ? (input.name = name) : '';\n        inputId ? (input.id = inputId) : '';\n        placeholder ? (input.placeholder = placeholder) : '';\n    }\n\n    private _formatterVal(input: HTMLInputElement, formatter: string, val: number): void {\n        // `约定的 ${value}`替换为 `${val}`\n        const resVal = formatter.replace('value', 'val');\n        input.value = `${formatter ? eval(resVal) : val}`;\n    }\n\n    private _parserVal(parser: string, val: string): string {\n        if (parser) {\n            const _parser = eval(parser) as any[];\n            return val.replace(_parser[0], _parser[1]);\n        } else {\n            // 如果没有指定从 formatter 里转换回数字的方式，则使用默认正则方式\n            return val.replace(/[^\\d.-]/g, '');\n        }\n    }\n\n    private _handleChange(\n        input: HTMLInputElement,\n        aUp: Element | null,\n        aDown: Element | null,\n        btnUp: Element | null,\n        btnDown: Element | null,\n        min: number,\n        max: number,\n        step: number,\n        precision: number,\n        readOnly: boolean,\n        parser: string,\n        formatter: string\n    ): void {\n        if (readOnly) return;\n\n        const setValue = (val: number) => {\n            this._setValue(input, val, formatter, precision, min, max);\n            this._setHandler(aUp, aDown, btnUp, btnDown, val, min, max);\n        };\n\n        const changeStep = (type: 'up' | 'down'): false | undefined => {\n            // 如果指定了输入框展示值的格式，那么这里就要用 parser 的值转换为原来的值\n            const val = this._parserVal(parser, input.value);\n            const targetVal = Number(val);\n\n            if (type === 'up') {\n                if (addNum(targetVal, step) <= max) {\n                    setValue(targetVal);\n                } else {\n                    return false;\n                }\n\n                setValue(addNum(targetVal, step));\n            } else if (type === 'down') {\n                if (addNum(targetVal, step) >= min) {\n                    setValue(targetVal);\n                } else {\n                    return false;\n                }\n\n                setValue(addNum(targetVal, -step));\n            }\n        };\n\n        const handleKeyBoardChange = () => {\n            bind(input, 'keydown', (e: KeyboardEvent) => {\n                if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown') return false;\n\n                if (e.key === 'ArrowUp') {\n                    e.preventDefault();\n                    changeStep('up');\n                }\n                if (e.key === 'ArrowDown') {\n                    e.preventDefault();\n                    changeStep('down');\n                }\n            });\n        };\n\n        const handleInputChange = () => {\n            bind(input, 'input', (e: InputEvent) => {\n                e.stopPropagation();\n                // 当输入框输入时只匹配数字、小数点和减号\n                const val = input.value.replace(/[^\\d.-]/g, '');\n                setValue(Number(val));\n            });\n        };\n\n        const handleArrowChange = () => {\n            if (aUp && aDown) {\n                bind(aUp, 'click', () => changeStep('up'));\n                bind(aDown, 'click', () => changeStep('down'));\n            }\n            if (btnUp && btnDown) {\n                bind(btnUp, 'click', () => changeStep('up'));\n                bind(btnDown, 'click', () => changeStep('down'));\n            }\n        };\n\n        handleKeyBoardChange();\n        handleInputChange();\n        handleArrowChange();\n    }\n\n    private _setValue(\n        input: HTMLInputElement,\n        value: number,\n        formatter: string,\n        precision: number,\n        min: number,\n        max: number\n    ): void {\n        let targetVal: any = !isNaN(precision) ? value.toFixed(precision) : value;\n\n        if ((targetVal && !isNaN(targetVal)) || targetVal === 0) {\n            if (targetVal > max && !isNaN(max)) {\n                targetVal = max;\n            } else if (targetVal < min && !isNaN(min)) {\n                targetVal = min;\n            }\n            // 如果指定了输入框展示值的格式则使用它，否则反之\n            this._formatterVal(input, formatter, targetVal);\n        }\n    }\n\n    private _setSize(node: Element, size: string): void {\n        if (!size) return;\n        node.classList.add(`${PREFIX.inputnb}-${size}`);\n    }\n\n    private _setReadonlyAndEditable(\n        input: HTMLInputElement,\n        readOnly: boolean,\n        editable: string\n    ): void {\n        if (readOnly) input.readOnly = true;\n        if (readOnly || editable === 'false') input.style.pointerEvents = 'none';\n    }\n\n    private _setDisabled(node: HTMLElement, input: HTMLInputElement, disabled: boolean): void {\n        if (!disabled) {\n            node.classList.remove(`${PREFIX.inputnb}-disabled`);\n            input.disabled = false;\n        } else {\n            node.classList.add(`${PREFIX.inputnb}-disabled`);\n            input.disabled = true;\n        }\n    }\n\n    private _setHandler(\n        aUp: Element | null,\n        aDown: Element | null,\n        btnUp: Element | null,\n        btnDown: Element | null,\n        value: number,\n        min: number,\n        max: number\n    ): void {\n        const isSetDisable = (elm1: Element, elm2: Element, outside: boolean) => {\n            const upDisabledCls = outside ? 'controls-outside-btn' : 'handler-up';\n            const downDisabledCls = outside ? 'controls-outside-btn' : 'handler-down';\n\n            if (Math.ceil(value) >= max) {\n                elm1.classList.add(`${PREFIX.inputnb}-${upDisabledCls}-disabled`);\n            } else {\n                elm1.classList.remove(`${PREFIX.inputnb}-${upDisabledCls}-disabled`);\n            }\n            if (Math.ceil(value) <= min) {\n                elm2.classList.add(`${PREFIX.inputnb}-${downDisabledCls}-disabled`);\n            } else {\n                elm2.classList.remove(`${PREFIX.inputnb}-${downDisabledCls}-disabled`);\n            }\n        };\n\n        if (aUp && aDown) isSetDisable(aUp, aDown, false);\n        if (btnUp && btnDown) isSetDisable(btnUp, btnDown, true);\n    }\n\n    private _attrs(node: HTMLElement) {\n        return {\n            min: getNumTypeAttr(node, 'min', -Infinity),\n            max: getNumTypeAttr(node, 'max', Infinity),\n            step: getNumTypeAttr(node, 'step', 1),\n            value: getNumTypeAttr(node, 'value', 0),\n            precision: getNumTypeAttr(node, 'precision'),\n            size: getStrTypeAttr(node, 'size', ''),\n            name: getStrTypeAttr(node, 'name', ''),\n            inputId: getStrTypeAttr(node, 'input-id', ''),\n            parser: getStrTypeAttr(node, 'parser', ''),\n            formatter: getStrTypeAttr(node, 'formatter', ''),\n            placeholder: getStrTypeAttr(node, 'placeholder', ''),\n            disabled: getBooleanTypeAttr(node, 'disabled'),\n            readOnly: getBooleanTypeAttr(node, 'readonly'),\n            editable: getStrTypeAttr(node, 'editable', 'true'),\n            controlsOutside: getBooleanTypeAttr(node, 'controls-outside')\n        };\n    }\n}\n\nexport default InputNumber;\n"
  },
  {
    "path": "src/components/jumbotron/index.ts",
    "content": "import Jumbotron from './jumbotron';\nexport default Jumbotron;\n"
  },
  {
    "path": "src/components/jumbotron/jumbotron.ts",
    "content": "import { $el, getStrTypeAttr, removeAttrs, setHtml } from '../../dom-utils';\nimport { moreThanOneNode } from '../../mixins';\nimport PREFIX from '../prefix';\n\nclass Jumbotron {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-jumbotron', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            if (moreThanOneNode(node)) return;\n\n            const placeholderNode = node.firstElementChild;\n            const { title, subTitle } = this._attrs(node);\n\n            this._setMainTemplate(node, title, subTitle);\n            this._setExtraContent(node, placeholderNode);\n\n            removeAttrs(node, ['title', 'sub-title']);\n        });\n    }\n\n    private _setMainTemplate(node: Element, title: string, subTitle: string): void {\n        const template = `\n         <div class=\"${PREFIX.jumbotron}-container\">\n             <h1 class=\"${PREFIX.jumbotron}-title\">${title}</h1>\n             <div class=\"${PREFIX.jumbotron}-subtitle\">${subTitle}</div>\n         </div>`;\n\n        setHtml(node, template);\n    }\n\n    private _setExtraContent(node: Element, placeholderNode: Element | null): void {\n        if (!placeholderNode) return;\n\n        const JumbotronContainer = node.querySelector(`.${PREFIX.jumbotron}-container`);\n        JumbotronContainer?.appendChild(placeholderNode);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            title: getStrTypeAttr(node, 'title', ''),\n            subTitle: getStrTypeAttr(node, 'sub-title', '')\n        };\n    }\n}\n\nexport default Jumbotron;\n"
  },
  {
    "path": "src/components/loading-bar/index.ts",
    "content": "import $LoadingBar from './loading-bar';\n\nconst Loading = new $LoadingBar();\nexport default Loading;\n"
  },
  {
    "path": "src/components/loading-bar/loading-bar.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { $el, createElem, setCss } from '../../dom-utils';\nimport { CssTransition } from '../../mixins';\nimport { type } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface UpdatelobalAPI {\n    color?: string; // 进度条的颜色\n    height?: number; // 进度条高度，单位 px\n    duration?: number; // 隐藏时的持续时间，单位 ms\n    failedColor?: string; // 失败时的进度条颜色\n}\n\n// 私有方法的接口\ninterface UpdateAPI {\n    percent?: number; // 进度条进度\n    status?: 'primary' | 'success' | 'error'; // 进度状态颜色\n    show?: boolean; // 是否显示进度条\n}\n\ninterface Events {\n    start(): void;\n    finish(): void;\n    error(): void;\n    update(percent: number): void;\n    destroy(): void;\n}\n\n// 全局配置\nconst DEFAULT_LOADINGBAR: {\n    color: string;\n    height: number;\n    duration: number;\n    failedColor: string;\n} = {\n    color: 'primary',\n    height: 2,\n    duration: 800,\n    failedColor: 'error'\n};\n\nlet timer: any;\n\nfunction createLoadingBarInstance(): HTMLElement {\n    const LoadingBar = createElem('div');\n    const LoadingBarInner = createElem('div');\n\n    LoadingBar.className = `${PREFIX.loadingBar}`;\n    LoadingBarInner.className = `${PREFIX.loadingBar}-inner`;\n\n    setColor('primary', LoadingBarInner);\n\n    // 初始进度\n    setCss(LoadingBarInner, 'width', '0%');\n\n    // 设置进度条高度为全局配置的高度\n    window.setTimeout(() => {\n        const height = `${DEFAULT_LOADINGBAR.height}px`;\n        setCss(LoadingBar, 'height', height);\n    }, 0);\n\n    LoadingBar.appendChild(LoadingBarInner);\n    document.body.appendChild(LoadingBar);\n\n    return LoadingBar;\n}\n\n// 设置进度函数\nfunction r_update(options: UpdateAPI): void {\n    const LBar = $el(`.${PREFIX.loadingBar}`)!;\n    const LBarInner = $el(`.${PREFIX.loadingBar}-inner`)!;\n\n    // 设置进度\n    setCss(LBarInner, 'width', `${options.percent}%`);\n\n    const transitionConfig = {\n        rmCls: true,\n        timeout: 200,\n        enterCls: 'rab-fade-in',\n        leaveCls: 'rab-fade-out',\n        hiddenParent: LBar\n    };\n\n    // 是否显示隐藏\n    if (options.show) {\n        CssTransition(LBarInner, {\n            inOrOut: 'in',\n            ...transitionConfig\n        });\n    } else {\n        CssTransition(LBarInner, {\n            inOrOut: 'out',\n            ...transitionConfig\n        });\n    }\n\n    setColor(options.status!, LBarInner);\n}\n\n// 隐藏进度条\nfunction hide() {\n    window.setTimeout(() => {\n        r_update({\n            show: false\n        });\n        window.setTimeout(() => {\n            r_update({\n                percent: 0\n            });\n        }, 200);\n    }, DEFAULT_LOADINGBAR.duration);\n}\n\nfunction clearTimer() {\n    if (timer) {\n        window.clearInterval(timer);\n        timer = null;\n    }\n}\n\n// 设置进度条状态背景颜色\nfunction setColor(status: string, elem: any): void {\n    if (status === 'error') {\n        // 是否使用全局配置的 failedColor\n        if (DEFAULT_LOADINGBAR.failedColor && DEFAULT_LOADINGBAR.failedColor !== 'error') {\n            setCss(elem, 'backgroundColor', DEFAULT_LOADINGBAR.failedColor);\n\n            // 在隐藏的持续时间后初始化背景色\n            window.setTimeout(() => {\n                setCss(elem, 'backgroundColor', '');\n            }, DEFAULT_LOADINGBAR.duration);\n        } else {\n            elem.classList.add(`${PREFIX.loadingBar}-inner-failed-color-error`);\n\n            // 在隐藏的持续时间后设为初始颜色\n            window.setTimeout(() => {\n                elem.classList.remove(`${PREFIX.loadingBar}-inner-failed-color-error`);\n            }, DEFAULT_LOADINGBAR.duration + 200);\n        }\n    } else if (status === 'primary') {\n        // 是否使用全局配置的 color\n        if (DEFAULT_LOADINGBAR.color && DEFAULT_LOADINGBAR.color !== 'primary') {\n            setCss(elem, 'backgroundColor', DEFAULT_LOADINGBAR.color);\n        } else {\n            elem.classList.add(`${PREFIX.loadingBar}-inner-color-primary`);\n        }\n    }\n}\n\nclass $LoadingBar implements Events {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el(`.${PREFIX.loadingBar}`);\n        createLoadingBarInstance();\n    }\n\n    public start(): void {\n        if (timer) return;\n\n        let percent = 0;\n\n        timer = window.setInterval(() => {\n            // 计算随机进度\n            percent += Math.floor(Math.random() * 3 + 1);\n            // 终止\n            if (percent > 95) {\n                clearTimer();\n            }\n            r_update({\n                percent,\n                status: 'primary',\n                show: true\n            });\n        }, 200);\n    }\n\n    public update(percent: number): void {\n        clearTimer();\n        r_update({\n            percent,\n            status: 'success',\n            show: true\n        });\n    }\n\n    public finish(): void {\n        clearTimer();\n        r_update({\n            percent: 100,\n            status: 'primary',\n            show: true\n        });\n        hide();\n    }\n\n    public error(): void {\n        clearTimer();\n        r_update({\n            percent: 100,\n            status: 'error',\n            show: true\n        });\n        hide();\n    }\n\n    public config(options: UpdatelobalAPI): void {\n        if (options.color && type.isStr(options.color)) {\n            DEFAULT_LOADINGBAR.color = options.color;\n        }\n        if (options.height && type.isNum(options.height)) {\n            DEFAULT_LOADINGBAR.height = options.height;\n        }\n        if (options.duration && type.isNum(options.duration)) {\n            DEFAULT_LOADINGBAR.duration = options.duration;\n        }\n        if (options.failedColor && type.isStr(options.failedColor)) {\n            DEFAULT_LOADINGBAR.failedColor = options.failedColor;\n        }\n    }\n\n    public destroy(): void {\n        clearTimer();\n        // @ts-ignore\n        document.body.removeChild($el(`.${PREFIX.loadingBar}`));\n    }\n}\n\nexport default $LoadingBar;\n"
  },
  {
    "path": "src/components/message/index.ts",
    "content": "import R_Message from './message';\n\nconst Message = new R_Message();\nexport default Message;\n"
  },
  {
    "path": "src/components/message/instance.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport PREFIX from '../prefix';\nimport { $el, bind, createElem, setCss, setHtml } from '../../dom-utils';\nimport { destroyElem, type, useHTMLString } from '../../utils';\nimport { CssTransition } from '../../mixins';\n\nexport type KeyType = string | number;\nexport type MessageType = 'info' | 'success' | 'warning' | 'error' | 'loading';\nexport type MessageConfig = string | Options;\nexport const PREFIX_KEY = 'rab-message-instance';\nexport const EnterClass = `${PREFIX.message}-move-enter`;\nexport const LeaveClass = `${PREFIX.message}-move-leave`;\n\ninterface Options {\n    key?: string | number;\n    content?: string;\n    duration?: number;\n    onClose?: () => void;\n    closable?: boolean;\n    background?: boolean;\n    dangerouslyUseHTMLString?: boolean;\n}\n\nconst ICONTYPES = {\n    info: 'ios-information-circle',\n    success: 'ios-checkmark-circle',\n    warning: 'ios-alert',\n    error: 'ios-close-circle',\n    loading: 'loading-solid'\n};\nlet zIndex = 1010;\nlet name = 0;\n\nexport class CreateInstance {\n    protected INSTANCES: HTMLElement[];\n    constructor() {\n        this.INSTANCES = [];\n    }\n    public _init(top: number): void {\n        const Wrapper = createElem('div');\n        setCss(Wrapper, 'zIndex', `${zIndex}`);\n        Wrapper.setAttribute('class', `${PREFIX.message}`);\n        document.body.appendChild(Wrapper);\n        setTimeout(() => setCss(Wrapper, 'top', `${top}px`), 0);\n    }\n    protected _create(type: MessageType, config: MessageConfig, duration: number): void {\n        const Message = this._setMainTemplate(type);\n        const MessageContent = Message.querySelector(`.${PREFIX.messageChild}-content`)!;\n        this._autoAddZIndex();\n        this._setIcon(type, Message);\n        this._setContent(Message, config);\n        if (typeof config === 'object') {\n            const { key, closable, onClose, background } = config;\n            this._setKey(Message, key);\n            this._setClosable(Message, MessageContent, closable, onClose);\n            this._setBackground(Message, MessageContent, background);\n        }\n        this.INSTANCES.push(Message);\n        $el(`.${PREFIX.message}`).appendChild(Message);\n        this._autoClose(Message, config, duration);\n    }\n    private _setMainTemplate(type: MessageType): HTMLElement {\n        const MessageNotice = createElem('div');\n        const template = `\n        <div class=\"${PREFIX.messageChild}-content ${PREFIX.messageChild}-content-${type}\">\n            <div class=\"${PREFIX.messageChild}-content-text\">\n                <div class=\"${PREFIX.message}-${type}\">\n                    <i class=\"${PREFIX.icon}\"></i>\n                    <span id=\"${PREFIX.messageChild}-text\"></span>\n                </div>\n            </div>\n        </div>\n      `;\n        MessageNotice.dataset['thisName'] = `${name++}`;\n        MessageNotice.className = `${PREFIX.message}-notice`;\n        setHtml(MessageNotice, template);\n        CssTransition(MessageNotice, {\n            inOrOut: 'in',\n            enterCls: EnterClass,\n            rmCls: true,\n            timeout: 250\n        });\n        return MessageNotice;\n    }\n    private _setIcon(type: MessageType, elem: HTMLElement): void {\n        const MessageIcon = elem.querySelector(`.${PREFIX.icon}`)!;\n        if (type === 'loading') {\n            MessageIcon.classList.add('rab-load-loop');\n        }\n        MessageIcon.classList.add(`${PREFIX.icon}-${ICONTYPES[type]}`);\n    }\n    private _setContent(elem: HTMLElement, content: MessageConfig): void {\n        const MessageText = elem.querySelector(`#${PREFIX.messageChild}-text`)!;\n        if (typeof content === 'string') {\n            useHTMLString(MessageText, content, false);\n        } else if (typeof content === 'object' && content.content) {\n            useHTMLString(MessageText, content.content, content.dangerouslyUseHTMLString);\n        }\n    }\n    private _setKey(elem: HTMLElement, key?: KeyType): void {\n        if (!key || (key && !type.isStr(key) && !type.isNum(key))) return;\n        elem.setAttribute(`${PREFIX_KEY}-key`, `${key}`);\n    }\n    private _setClosable(\n        elem: HTMLElement,\n        child: Element,\n        closable?: boolean,\n        onClose?: () => void\n    ): void {\n        if (!closable || (closable && !type.isBol(closable))) return;\n        const template = `\n        <a class=\"${PREFIX.messageChild}-close\">\n          <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-close\"></i>\n        </a>\n        `;\n        elem.classList.add(`${PREFIX.messageChild}-closable`);\n        child.insertAdjacentHTML('beforeend', template);\n        this._handleClose(elem, onClose);\n    }\n    private _handleClose(elem: HTMLElement, onClose?: () => void): void {\n        const MessageCloseBtn = elem.querySelector(`.${PREFIX.messageChild}-close`)!;\n        bind(MessageCloseBtn, 'click', () => {\n            this._destroy(elem);\n            onClose && type.isFn(onClose);\n        });\n    }\n    private _setBackground(elem: HTMLElement, child: Element, background?: boolean): void {\n        if (!background || (background && !type.isBol(background))) return;\n        elem.classList.add(`${PREFIX.messageChild}-with-background`);\n        child.classList.add(`${PREFIX.messageChild}-content-background`);\n    }\n    private _autoAddZIndex(): void {\n        zIndex++;\n        setCss($el(`.${PREFIX.message}`), 'zIndex', `${zIndex}`);\n    }\n    private _autoClose(elem: HTMLElement, config: MessageConfig, duration: number): void {\n        if (duration || duration === 0 || !config) {\n            if (duration === 0) return;\n            setTimeout(() => {\n                this._destroy(elem);\n            }, duration * 1000);\n        } else {\n            if (typeof config === 'object' && config.duration) {\n                setTimeout(() => {\n                    this._destroy(elem);\n                }, config.duration * 1000);\n            }\n        }\n    }\n    private _destroy(elem: HTMLElement): void {\n        destroyElem(elem, {\n            duration: 0.1,\n            clsEnter: EnterClass,\n            clsLeave: LeaveClass\n        });\n        this.INSTANCES.splice(Number(elem.dataset['thisName']), 1);\n    }\n}\n"
  },
  {
    "path": "src/components/message/message.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { usePromiseCallback } from '../../mixins';\nimport { destroyElem, destroyElemByKey, type } from '../../utils';\nimport { CreateInstance, MessageConfig, KeyType, PREFIX_KEY, LeaveClass } from './instance';\n\ninterface GlobalConfigs {\n    top?: number;\n    duration?: number;\n}\ninterface InstanceMethods {\n    info(config: MessageConfig): Promise<void>;\n    success(config: MessageConfig): Promise<void>;\n    warning(config: MessageConfig): Promise<void>;\n    error(config: MessageConfig): Promise<void>;\n    loading(config: MessageConfig): Promise<void>;\n    config(options: GlobalConfigs): void;\n    destroy(key?: KeyType): void;\n}\n\nconst DEFAULTS = {\n    top: 24,\n    duration: 3\n};\n\nclass Message extends CreateInstance implements InstanceMethods {\n    readonly VERSION: string;\n    constructor() {\n        super();\n        this.VERSION = '2.0';\n        setTimeout(() => this._init(DEFAULTS.top), 0);\n    }\n    public info(config: MessageConfig): Promise<void> {\n        this._create('info', config, DEFAULTS.duration);\n        return usePromiseCallback(DEFAULTS.duration, config);\n    }\n    public success(config: MessageConfig): Promise<void> {\n        this._create('success', config, DEFAULTS.duration);\n        return usePromiseCallback(DEFAULTS.duration, config);\n    }\n    public warning(config: MessageConfig): Promise<void> {\n        this._create('warning', config, DEFAULTS.duration);\n        return usePromiseCallback(DEFAULTS.duration, config);\n    }\n    public error(config: MessageConfig): Promise<void> {\n        this._create('error', config, DEFAULTS.duration);\n        return usePromiseCallback(DEFAULTS.duration, config);\n    }\n    public loading(config: MessageConfig): Promise<void> {\n        this._create('loading', config, DEFAULTS.duration);\n        return usePromiseCallback(DEFAULTS.duration, config);\n    }\n    public config(options: GlobalConfigs): void {\n        if (options.top && type.isNum(options.top)) {\n            DEFAULTS.top = options.top;\n        }\n        if ((options.duration && type.isNum(options.duration)) || options.duration === 0) {\n            DEFAULTS.duration = options.duration;\n        }\n    }\n    public destroy(key?: KeyType): void {\n        if (key && (type.isStr(key) || type.isNum(key))) {\n            destroyElemByKey({\n                key,\n                duration: 0.1,\n                prefixKey: PREFIX_KEY,\n                clsLeave: LeaveClass\n            });\n        } else {\n            this.INSTANCES.forEach((instance) => {\n                destroyElem(instance, {\n                    duration: 0.1,\n                    clsLeave: LeaveClass\n                });\n            });\n            this.INSTANCES.length = 0;\n        }\n    }\n}\nexport default Message;\n"
  },
  {
    "path": "src/components/mini-modal/index.ts",
    "content": "import MiniModal from './mini-modal';\nexport default new MiniModal();\n"
  },
  {
    "path": "src/components/mini-modal/mini-modal.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { $el, bind } from '../../dom-utils';\nimport { CssTransition, Scrollable } from '../../mixins';\nimport { type, useHTMLString } from '../../utils';\nimport Button from '../button';\nimport PREFIX from '../prefix';\n\nconst MiniModalBtn = new Button();\n\nconst ICONTYPE = {\n    info: 'ios-information-circle',\n    success: 'ios-checkmark-circle',\n    warning: 'ios-alert',\n    error: 'ios-close-circle',\n    confirm: 'ios-help-circle',\n    loading: 'loading-solid'\n};\n\nlet DEFAULT_ZINDEX = 1010;\n\ninterface MinModalOptions {\n    width?: string | number;\n    title?: string;\n    content?: string;\n    okText?: string;\n    cancelText?: string;\n    loading?: boolean;\n    keyboard?: boolean;\n    scrollable?: boolean;\n    lockScroll?: boolean;\n    dangerouslyUseHTMLString?: boolean;\n    onOk?: () => void;\n    onCancel?: () => void;\n}\n\nclass MiniModal {\n    readonly VERSION: string;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n    }\n\n    public info(config: MinModalOptions): void {\n        this._create('info', config);\n    }\n\n    public success(config: MinModalOptions): void {\n        this._create('success', config);\n    }\n\n    public warning(config: MinModalOptions): void {\n        this._create('warning', config);\n    }\n\n    public error(config: MinModalOptions): void {\n        this._create('error', config);\n    }\n\n    public confirm(config: MinModalOptions): void {\n        this._create('confirm', config);\n    }\n\n    public remove(): void {\n        const { ModalParent, ModalMask, ModalWrap } = this._getNode();\n        this._destroy(ModalParent, ModalMask, ModalWrap);\n    }\n\n    private _create(type: string, config: MinModalOptions): void {\n        DEFAULT_ZINDEX++;\n\n        const {\n            width = 416,\n            title = '',\n            content = '',\n            okText = '确定',\n            cancelText = '取消',\n            loading = false,\n            keyboard = false,\n            scrollable = false,\n            lockScroll = true,\n            onOk,\n            onCancel,\n            dangerouslyUseHTMLString = false\n        } = config;\n\n        // @ts-ignore\n        const icon = ICONTYPE[type];\n\n        const isShowCancelBtn =\n            type === 'confirm'\n                ? `<button type=\"button\" class=\"${PREFIX.button} ${PREFIX.button}-text\">${cancelText}</button>`\n                : '';\n\n        const template = `\n        <div class=\"${PREFIX.modal}-mini-modal\">\n          <div class=\"${PREFIX.modal}-mask\" style=\"z-index: ${DEFAULT_ZINDEX};\"></div>\n          <div class=\"${PREFIX.modal}-wrap\" style=\"z-index: ${DEFAULT_ZINDEX};\">\n              <div class=\"${PREFIX.modal}\" style=\"width: ${width}px;\">\n                  <div class=\"${PREFIX.modal}-content\">\n                      <div class=\"${PREFIX.modal}-body\">\n                          <div class=\"${PREFIX.modal}-confirm\">\n                              <div class=\"${PREFIX.modal}-confirm-head\">\n                                  <div class=\"${PREFIX.modal}-confirm-head-icon ${PREFIX.modal}-confirm-head-icon-${type}\">\n                                      <i class=\"${PREFIX.icon} ${PREFIX.icon}-${icon}\"></i>\n                                  </div>\n                                  <div class=\"${PREFIX.modal}-confirm-head-title\"></div>\n                              </div>\n                              <div class=\"${PREFIX.modal}-confirm-body\"></div>\n                              <div class=\"${PREFIX.modal}-confirm-footer\">\n                                  ${isShowCancelBtn}\n                                  <button type=\"button\" class=\"${PREFIX.button} ${PREFIX.button}-primary\"><span>${okText}</span></button>\n                              </div>\n                          </div>\n                      </div>\n                  </div>\n              </div>\n          </div>\n        </div>`;\n\n        document.body.insertAdjacentHTML('beforeend', template);\n\n        const { ModalParent, ModalMask, ModalWrap, Modal } = this._getNode();\n\n        this._setMainContent(Modal, title, content, dangerouslyUseHTMLString);\n        this._setAnimation('in', ModalMask, ModalWrap);\n        this._setScrollable(scrollable, lockScroll);\n        this._handleBtnClick(ModalParent, ModalMask, ModalWrap, Modal, loading, onOk, onCancel);\n        this._keyboardClosed(type, keyboard, ModalParent, ModalMask, ModalWrap, onCancel);\n    }\n\n    private _setMainContent(\n        modal: Element,\n        title: string,\n        content: string,\n        isUseHTML: boolean\n    ): void {\n        const ModalHead = modal.querySelector(`.${PREFIX.modal}-confirm-head-title`)!;\n        const ModalBody = modal.querySelector(`.${PREFIX.modal}-confirm-body`)!;\n        useHTMLString(ModalHead, title, isUseHTML);\n        useHTMLString(ModalBody, content, isUseHTML);\n    }\n\n    private _handleBtnClick(\n        parent: HTMLElement,\n        mask: Element,\n        wrap: Element,\n        modal: Element,\n        loading: boolean,\n        onOk: any,\n        onCancel: any\n    ): void {\n        const ModalOkBtn = modal.querySelector(`.${PREFIX.button}-primary`)!;\n        const ModalCacnelBtn = modal.querySelector(`.${PREFIX.button}-text`);\n\n        const remove = () => this._destroy(parent, mask, wrap);\n        const okEv = () => {\n            onOk && type.isFn(onOk);\n            if (loading) {\n                MiniModalBtn.config(ModalOkBtn).loading = loading;\n                return;\n            }\n            remove();\n        };\n        const cancelEv = () => {\n            remove();\n            onCancel && type.isFn(onCancel);\n        };\n\n        bind(ModalOkBtn, 'click', okEv);\n        if (ModalCacnelBtn) bind(ModalCacnelBtn, 'click', cancelEv);\n    }\n\n    private _keyboardClosed(\n        _type: string,\n        keyboard: boolean,\n        parent: HTMLElement,\n        mask: Element,\n        wrap: Element,\n        onCancel: any\n    ): void {\n        if (!keyboard) return;\n\n        const event = (e: KeyboardEvent) => {\n            if (e.key === 'Escape') {\n                e.stopPropagation();\n                // 判断页面是否有modal实例，如果有才执行事件，避免重复执行\n                if (document.body.contains(parent)) {\n                    // 取消的回调，只在MinModal.confirm()下有效\n                    if (_type === 'confirm') onCancel && type.isFn(onCancel);\n                    setTimeout(() => this._destroy(parent, mask, wrap), 0);\n                }\n            }\n        };\n\n        window.onkeydown = (e: KeyboardEvent) => event(e);\n    }\n\n    private _destroy(parent: HTMLElement, mask: Element, wrap: Element): void {\n        this._setAnimation('out', mask, wrap);\n        setTimeout(() => {\n            parent.remove();\n            this._setScrollable(true, false);\n        }, 150);\n    }\n\n    private _setAnimation(type: 'in' | 'out', elem1: Element, elem2: Element): void {\n        const maskAniCls =\n            type === 'in' ? { enterCls: 'rab-fade-in' } : { leaveCls: 'rab-fade-out' };\n        const modalAniCls =\n            type === 'in' ? { enterCls: 'zoom-big-enter' } : { leaveCls: 'zoom-big-leave' };\n\n        CssTransition(elem1, {\n            inOrOut: type,\n            ...maskAniCls,\n            timeout: 250,\n            rmCls: true\n        });\n        CssTransition(elem2, {\n            inOrOut: type,\n            ...modalAniCls,\n            timeout: 200,\n            rmCls: true\n        });\n    }\n\n    private _setScrollable(scrollable: boolean, lockScroll: boolean): void {\n        Scrollable({ scroll: scrollable, lock: lockScroll });\n    }\n\n    private _getNode(): {\n        ModalParent: HTMLElement;\n        ModalMask: Element;\n        ModalWrap: Element;\n        Modal: Element;\n    } {\n        const ModalParent = $el(`.${PREFIX.modal}-mini-modal`) as HTMLElement;\n        const ModalMask = ModalParent.querySelector(`.${PREFIX.modal}-mask`)!;\n        const ModalWrap = ModalParent.querySelector(`.${PREFIX.modal}-wrap`)!;\n        const Modal = ModalWrap.querySelector(`.${PREFIX.modal}`)!;\n        return {\n            ModalParent,\n            ModalMask,\n            ModalWrap,\n            Modal\n        };\n    }\n}\n\nexport default MiniModal;\n"
  },
  {
    "path": "src/components/modal/index.ts",
    "content": "import Modal from './modal';\nexport default Modal;\n"
  },
  {
    "path": "src/components/modal/modal.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { CssTransition, moreThanOneNode, Scrollable } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport Button from '../button';\nimport PREFIX from '../prefix';\n\ninterface ModalEvents {\n    onOk?: () => void;\n    onCancel?: () => void;\n}\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        title: string;\n        visible: boolean;\n        events({ onOk, onCancel }: ModalEvents): void;\n    };\n}\n\nconst RABBIT_BTN = new Button();\n\nclass Modal implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.1';\n        this.COMPONENTS = $el('r-modal', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        title: string;\n        visible: boolean;\n        events({ onOk, onCancel }: ModalEvents): void;\n    } {\n        const target = $el(el);\n\n        validComps(target, 'modal');\n\n        const { _attrs, _getModalNode, _handleVisable } = Modal.prototype;\n        const { loading } = _attrs(target);\n        const M_Child = _getModalNode(target);\n\n        return {\n            get title() {\n                return setHtml(M_Child.modalTitle);\n            },\n            set title(newVal: string) {\n                if (type.isStr(newVal)) setHtml(M_Child.modalTitle, newVal);\n            },\n            get visible() {\n                return false;\n            },\n            set visible(newVal: boolean) {\n                if (type.isBol(newVal)) {\n                    // 当设置modal为隐藏状态并且确定按钮是加载中的状态则初始化它\n                    if (!newVal) {\n                        if (loading) RABBIT_BTN.config(M_Child.modalOkBtn).loading = newVal;\n                    }\n\n                    _handleVisable(newVal, target, [\n                        M_Child.modalMask,\n                        M_Child.modalWrap,\n                        M_Child.modal\n                    ]);\n                }\n            },\n            events({ onOk, onCancel }: ModalEvents) {\n                const { closable, maskClosable } = _attrs(target);\n\n                const okEv = () => {\n                    // 是否设置按钮为加载中状态\n                    if (loading) RABBIT_BTN.config(M_Child.modalOkBtn).loading = loading;\n\n                    onOk && type.isFn(onOk);\n                };\n\n                const cancelEv = () => {\n                    // 如果按钮为加载中状态则初始化其状态\n                    if (loading) RABBIT_BTN.config(M_Child.modalOkBtn).loading = !loading;\n\n                    // 防止关闭modal后按键esc依然可以触发事件\n                    window.onkeydown = (e: any) => (e.key === 'Escape' ? false : '');\n\n                    onCancel && type.isFn(onCancel);\n                };\n\n                // 由于内部的_handleClose方法使用addEventListener为触发关闭模态框的元素绑定点击事件，\n                // 从而与这里绑定的事件造成冲突，一个回调事件同时多次触发的问题\n                // 因此使用on事件绑定，防止触发回调事件的次数随着每次点击而不断的重复叠加\n                if (maskClosable === 'true') {\n                    // @ts-ignore\n                    M_Child.modalWrap.onclick = () => cancelEv();\n                    // @ts-ignore\n                    M_Child.modal.onclick = (e: any) => e.stopPropagation();\n                }\n\n                if (closable === 'true') {\n                    // @ts-ignore\n                    M_Child.modalClose.onclick = () => cancelEv();\n\n                    window.onkeydown = (e: any) => (e.key === 'Escape' ? cancelEv() : '');\n                }\n                // @ts-ignore\n                M_Child.modalOkBtn.onclick = () => okEv();\n                // @ts-ignore\n                M_Child.modalCancelBtn.onclick = () => cancelEv();\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            this._createTemplate(node);\n\n            setCss(node, 'display', 'block');\n\n            removeAttrs(node, [\n                'width',\n                'title',\n                'ok-text',\n                'class-name',\n                'cancel-text',\n                'mask',\n                'visible',\n                'scrollable',\n                'fullscreen',\n                'lock-scroll',\n                'footer-hide'\n            ]);\n        });\n    }\n\n    private _createTemplate(node: Element): void {\n        // v1.1 增加占位节点的组成数量判断\n        if (moreThanOneNode(node)) return;\n\n        // 获取最初 modal容器下的占位内容\n        const placeholderNode = node.firstElementChild;\n\n        const { width, title, zIndex, okText, cancelText, className } = this._attrs(node);\n\n        const template = `\n          <div class=\"${PREFIX.modal}-mask\" style=\"z-index:${zIndex}\"></div>\n          <div class=\"${PREFIX.modal}-wrap ${className}\" style=\"z-index:${zIndex}\">\n              <div class=\"${PREFIX.modal}\" style=\"width: ${width}\">\n                  <div class=\"${PREFIX.modal}-content\">\n                      <a class=\"${PREFIX.modal}-close\">\n                        <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-close\"></i>\n                      </a>\n                      <div class=\"${PREFIX.modal}-header\">\n                          <div class=\"${PREFIX.modal}-header-inner\">${title}</div>\n                      </div>\n                      <div class=\"${PREFIX.modal}-body\"></div>\n                      <div class=\"${PREFIX.modal}-footer\">\n                          <button type=\"button\" class=\"rab-btn rab-btn-text\" id=\"modalBtn1\">${cancelText}</button>\n                          <button type=\"button\" class=\"rab-btn rab-btn-primary\" id=\"modalBtn2\">${okText}</button>\n                      </div>\n                  </div>\n              </div>\n          </div>\n      `;\n\n        setHtml(node, template);\n\n        this._initVisable(node);\n        this._setHeader(node);\n        // @ts-ignore\n        this._setContent(node, placeholderNode);\n        this._setMask(node);\n        this._setFullScreen(node);\n        this._setClosable(node);\n        this._setFooterHide(node);\n        this._handleClose(node);\n    }\n\n    private _initVisable(node: Element): void {\n        const { visible, scrollable } = this._attrs(node);\n\n        const { modalMask, modalWrap, modal } = this._getModalNode(node);\n\n        let { lockScroll } = this._attrs(node);\n        !node.getAttribute('lock-scroll') ? (lockScroll = true) : lockScroll;\n\n        if (visible) {\n            setCss(modalMask, 'display', '');\n            modalWrap.classList.remove(`${PREFIX.modal}-hidden`);\n            setCss(modal, 'display', '');\n            Scrollable({ scroll: scrollable, lock: lockScroll });\n        } else {\n            setCss(modalMask, 'display', 'none');\n            modalWrap.classList.add(`${PREFIX.modal}-hidden`);\n            setCss(modal, 'display', 'none');\n        }\n\n        // @ts-ignore\n        // 设置初始显示状态\n        node.dataset.modalVisable = visible;\n    }\n\n    private _setHeader(node: Element): void {\n        const { title } = this._attrs(node);\n\n        if (!title) {\n            const modalHeader = node.querySelector(`.${PREFIX.modal}-header`);\n            modalHeader?.remove();\n        }\n    }\n\n    private _setContent(node: Element, content: Element): void {\n        const modalBody = node.querySelector(`.${PREFIX.modal}-body`);\n        if (content) modalBody?.appendChild(content);\n    }\n\n    private _setMask(node: Element): void {\n        const { _attrs, _getModalNode } = this;\n        const { mask } = _attrs(node);\n\n        if (mask === 'false') {\n            const { modalMask, modalWrap, modal } = _getModalNode(node);\n\n            modalMask.remove();\n            modalWrap.classList.add(`${PREFIX.modal}-no-mask`);\n            modal.classList.add(`${PREFIX.modal}-content-no-mask`);\n        }\n    }\n\n    private _setFullScreen(node: Element): void {\n        const { fullscreen } = this._attrs(node);\n\n        if (fullscreen) {\n            const { modal } = this._getModalNode(node);\n            modal.classList.add(`${PREFIX.modal}-fullscreen`);\n        }\n    }\n\n    private _setClosable(node: Element): void {\n        const { closable } = this._attrs(node);\n\n        if (closable === 'false') {\n            const { modalClose } = this._getModalNode(node);\n            modalClose.remove();\n        }\n    }\n\n    private _setFooterHide(node: Element): void {\n        const { footerHide } = this._attrs(node);\n\n        if (footerHide) {\n            const modalFooter = node.querySelector(`.${PREFIX.modal}-footer`);\n            modalFooter?.remove();\n        }\n    }\n\n    private _handleVisable(visible: boolean, target: Element, children: Element[]): void {\n        const { _show, _hide } = Modal.prototype;\n        visible ? _show(target, children) : _hide(target, children);\n    }\n\n    private _handleClose(parent: Element): void {\n        const { _attrs, _hide, _getModalNode } = this;\n\n        const { closable, maskClosable, loading } = _attrs(parent);\n\n        const {\n            modalMask,\n            modalWrap,\n            modal,\n            modalClose,\n            modalOkBtn,\n            modalCancelBtn\n        } = _getModalNode(parent);\n\n        const hidden = () => _hide(parent, [modalMask, modalWrap, modal]);\n\n        // 右上角关闭按钮\n        // ESC 键关闭\n        if (closable === 'true') {\n            bind(modalClose, 'click', () => hidden());\n            bind(window, 'keydown', (e: any) => (e.key === 'Escape' ? hidden() : ''));\n        }\n\n        // 遮盖层关闭\n        if (maskClosable === 'true') {\n            bind(modalWrap, 'click', () => hidden());\n            bind(modal, 'click', (e: any) => e.stopPropagation());\n        }\n\n        // 确定和取消按钮关闭\n        //非加载中状态可以点击关闭模态框\n        if (!loading) bind(modalOkBtn, 'click', () => hidden());\n\n        bind(modalCancelBtn, 'click', () => hidden());\n    }\n\n    private _show(parent: Element, showElm: Element[]): void {\n        const { _attrs } = Modal.prototype;\n        const { scrollable } = _attrs(parent);\n\n        let { lockScroll } = _attrs(parent);\n        !parent.getAttribute('lock-scroll') ? (lockScroll = true) : lockScroll;\n\n        // @ts-ignore\n        // 设置当前为显示状态\n        parent.dataset.modalVisable = 'true';\n\n        // showElm[0] 表示遮盖层\n        // showElm[1] 表示模态框的父容器wrap\n        // showElm[2] 表示模态框主体\n\n        showElm[1].classList.contains(`${PREFIX.modal}-hidden`) &&\n            showElm[1].classList.remove(`${PREFIX.modal}-hidden`);\n\n        CssTransition(showElm[0], {\n            inOrOut: 'in',\n            enterCls: 'rab-fade-in',\n            timeout: 250,\n            rmCls: true\n        });\n\n        CssTransition(showElm[2], {\n            inOrOut: 'in',\n            enterCls: 'zoom-big-enter',\n            timeout: 250,\n            rmCls: true\n        });\n\n        Scrollable({ scroll: scrollable, lock: lockScroll });\n    }\n\n    private _hide(parent: Element, hiddenElm: Element[]): void {\n        // @ts-ignore\n        // 设置当前为隐藏状态\n        parent.dataset.modalVisable = 'false';\n\n        // hiddenElm[0] 表示遮盖层\n        // hiddenElm[1] 表示模态框的父容器wrap\n        // hiddenElm[2] 表示模态框主体\n\n        CssTransition(hiddenElm[0], {\n            inOrOut: 'out',\n            leaveCls: 'rab-fade-out',\n            rmCls: true,\n            timeout: 250\n        });\n\n        CssTransition(hiddenElm[2], {\n            inOrOut: 'out',\n            leaveCls: 'zoom-big-leave',\n            rmCls: true,\n            timeout: 250\n        });\n\n        setTimeout(() => {\n            hiddenElm[1].classList.add(`${PREFIX.modal}-hidden`);\n            setCss(hiddenElm[2], 'display', 'none');\n            Scrollable({ scroll: true, lock: true, node: parent, tagName: 'modal' });\n        }, 240);\n    }\n\n    private _getModalNode(node: Element) {\n        const modalMask = node.querySelector(`.${PREFIX.modal}-mask`)!;\n        const modalWrap = node.querySelector(`.${PREFIX.modal}-wrap`)!;\n        const modal = modalWrap.querySelector(`.${PREFIX.modal}`)!;\n        const modalClose = modalWrap.querySelector(`.${PREFIX.modal}-close`)!;\n        const modalTitle = modal.querySelector(`.${PREFIX.modal}-header-inner`)!;\n        const modalOkBtn = modal.querySelector('#modalBtn2')!;\n        const modalCancelBtn = modal.querySelector('#modalBtn1')!;\n        return {\n            modalMask,\n            modalWrap,\n            modal,\n            modalClose,\n            modalTitle,\n            modalOkBtn,\n            modalCancelBtn\n        };\n    }\n\n    private _attrs(node: Element) {\n        return {\n            mask: getStrTypeAttr(node, 'mask', 'true'),\n            width: getStrTypeAttr(node, 'width', '520px'),\n            title: getStrTypeAttr(node, 'title', ''),\n            okText: getStrTypeAttr(node, 'ok-text', '确定'),\n            closable: getStrTypeAttr(node, 'closable', 'true'),\n            className: getStrTypeAttr(node, 'class-name', ''),\n            cancelText: getStrTypeAttr(node, 'cancel-text', '取消'),\n            maskClosable: getStrTypeAttr(node, 'mask-closable', 'true'),\n            zIndex: getNumTypeAttr(node, 'z-index', 1000),\n            visible: getBooleanTypeAttr(node, 'visible'),\n            loading: getBooleanTypeAttr(node, 'loading'),\n            scrollable: getBooleanTypeAttr(node, 'scrollable'),\n            lockScroll: getBooleanTypeAttr(node, 'lock-scroll'),\n            fullscreen: getBooleanTypeAttr(node, 'fullscreen'),\n            footerHide: getBooleanTypeAttr(node, 'footer-hide')\n        };\n    }\n}\n\nexport default Modal;\n"
  },
  {
    "path": "src/components/notice/index.ts",
    "content": "import $Notice from './notice';\n\nconst Notice = new $Notice();\nexport default Notice;\n"
  },
  {
    "path": "src/components/notice/notice.ts",
    "content": "import { CssTransition, warn } from '../../mixins';\nimport { type, destroyElem, destroyElemByKey, useHTMLString } from '../../utils';\nimport { usePromiseCallback } from '../../mixins';\nimport PREFIX from '../prefix';\nimport { $el, createElem, setCss, setHtml } from '../../dom-utils';\n\ninterface NoticeGlobalAPI {\n    top?: number; // 通知组件距离顶端的距离，单位像素\n    duration?: number; // 默认自动关闭的延时，单位秒\n}\n\ninterface NoticeOptions {\n    key?: string | number; // 当前通知的唯一标识\n    icon?: string; // 自定义图标\n    title?: string; // 通知提醒的标题\n    desc?: string; // 通知提醒的内容，为空或不填时，自动应用仅标题模式下的样式\n    style?: string; // 自定义内联样式\n    onClose?: () => void; // 点击通知关闭按钮时的回调\n    onClick?: () => void; // 点击通知时触发的回调函数\n    duration?: number; // 自动关闭的延时，单位秒，不关闭可以写 0\n    closable?: boolean; // 是否显示右上角关闭按钮，默认为 true\n    className?: string; // 自定义 CSS class\n    dangerouslyUseHTMLString?: boolean;\n}\n\ninterface Events {\n    open(config: NoticeOptions): Promise<void>;\n    info(config: NoticeOptions): Promise<void>;\n    success(config: NoticeOptions): Promise<void>;\n    warning(config: NoticeOptions): Promise<void>;\n    error(config: NoticeOptions): Promise<void>;\n    close(key: string): void;\n    destroy(): void;\n}\n\nconst NotPrefixKey = 'rab-notice';\n\nconst NotMoveEnter = `${PREFIX.notice}-move-enter`;\nconst NotMoveLeave = `${PREFIX.notice}-move-leave`;\n\nconst iconTypes = {\n    info: 'ios-information-circle',\n    success: 'ios-checkmark-circle',\n    warning: 'ios-alert',\n    error: 'ios-close-circle',\n    loading: 'loading-solid'\n};\n\nconst DEFAULT_NOTICE: {\n    top: number;\n    duration: number;\n} = {\n    top: 24,\n    duration: 4.5\n};\n\nlet zIndex = 1180;\n\n// 创建实例的最外层父容器\nfunction createNoticeInsanceWrapper(): HTMLElement {\n    const NoticeWrapper = createElem('div');\n\n    NoticeWrapper.className = `${PREFIX.notice}`;\n\n    setCss(NoticeWrapper, 'zIndex', `${zIndex}`);\n    setCss(NoticeWrapper, 'right', '0');\n\n    setTimeout(() => setCss(NoticeWrapper, 'top', `${DEFAULT_NOTICE.top}px`), 0);\n\n    document.body.appendChild(NoticeWrapper);\n\n    return NoticeWrapper;\n}\n\nclass $Notice implements Events {\n    readonly VERSION: string;\n    readonly instances: Array<HTMLElement>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        // 存储已经创建的实例，在 destroy方法里需要用到\n        this.instances = [];\n        createNoticeInsanceWrapper();\n    }\n\n    public open(config: NoticeOptions): Promise<void> {\n        this._createInstance('normal', config);\n        return usePromiseCallback(DEFAULT_NOTICE.duration, config.duration);\n    }\n\n    public info(config: NoticeOptions): Promise<void> {\n        this._createInstance('info', config);\n        return usePromiseCallback(DEFAULT_NOTICE.duration, config.duration);\n    }\n\n    public success(config: NoticeOptions): Promise<void> {\n        this._createInstance('success', config);\n        return usePromiseCallback(DEFAULT_NOTICE.duration, config.duration);\n    }\n\n    public warning(config: NoticeOptions): Promise<void> {\n        this._createInstance('warning', config);\n        return usePromiseCallback(DEFAULT_NOTICE.duration, config.duration);\n    }\n\n    public error(config: NoticeOptions): Promise<void> {\n        this._createInstance('error', config);\n        return usePromiseCallback(DEFAULT_NOTICE.duration, config.duration);\n    }\n\n    public config(options: NoticeGlobalAPI): void {\n        if (options.top) {\n            DEFAULT_NOTICE.top = options.top;\n        }\n        if (options.duration || options.duration === 0) {\n            DEFAULT_NOTICE.duration = options.duration;\n        }\n    }\n\n    public close(key: string): void {\n        destroyElemByKey({\n            key,\n            duration: 0.1,\n            clsLeave: NotMoveLeave,\n            prefixKey: NotPrefixKey\n        });\n    }\n\n    public destroy(): void {\n        this.instances.forEach((instance) => {\n            destroyElem(instance, {\n                clsLeave: NotMoveLeave,\n                duration: 0.1\n            });\n        });\n        // 清空存放的所有实例\n        this.instances.length = 0;\n    }\n\n    private _autoSetZindex(): void {\n        zIndex++;\n        setCss($el(`.${PREFIX.notice}`), 'zIndex', `${zIndex}`);\n    }\n\n    private _createInstance(type: string, config: NoticeOptions): HTMLElement {\n        this._autoSetZindex();\n\n        const Notice = createElem('div');\n        const NoticeContent = createElem('div');\n        const NoticeCustomContent = createElem('div');\n        const NoticeTitle = createElem('div');\n        const NoticeDesc = createElem('div');\n\n        this._setCls(\n            type,\n            [Notice, NoticeContent, NoticeCustomContent, NoticeTitle, NoticeDesc],\n            config.className\n        );\n        this._setKey(Notice, config.key);\n        this._setTitle(NoticeTitle, config.title, config.dangerouslyUseHTMLString);\n        this._setDesc(\n            Notice,\n            NoticeCustomContent,\n            NoticeDesc,\n            config.desc,\n            config.dangerouslyUseHTMLString\n        );\n        this._setIcon(type, NoticeCustomContent, NoticeDesc, config.icon);\n        this._setClosable(Notice, config.closable, config.onClose);\n        this._customStyle(Notice, config.style);\n\n        NoticeCustomContent.append(NoticeTitle, NoticeDesc);\n        NoticeContent.appendChild(NoticeCustomContent);\n        Notice.appendChild(NoticeContent);\n        document.querySelector(`.${PREFIX.notice}`)?.appendChild(Notice);\n\n        CssTransition(Notice, {\n            inOrOut: 'in',\n            enterCls: NotMoveEnter\n        });\n\n        this.instances.push(Notice);\n\n        this._handleNoticeClick(Notice, config.onClick);\n        this._autoClose(Notice, config.duration);\n\n        return Notice;\n    }\n\n    private _setCls(type: string, nodes: Array<HTMLElement>, customCls?: string): void {\n        const nodesCls = [\n            `${PREFIX.noticeChild} ${customCls ? customCls : ''}`,\n            `${PREFIX.noticeChild}-content`,\n            `${PREFIX.noticeChild}-custom-content ${PREFIX.notice}-with-${type}`,\n            `${PREFIX.notice}-title`,\n            `${PREFIX.notice}-desc`\n        ];\n\n        let i = 0;\n\n        const { length } = nodes;\n\n        for (; i < length; i++) {\n            const node = nodes[i];\n            node.className = nodesCls[i];\n        }\n    }\n\n    private _setKey(node: HTMLElement, key: any): void {\n        if (!key) return;\n        node.setAttribute(`${NotPrefixKey}-key`, key);\n    }\n\n    private _setTitle(node: HTMLElement, title?: string, dangerouslyUseHTMLString?: boolean): void {\n        // 必须设置一个通知提醒标题\n        if (!title) {\n            warn('You must set a notification to remind the title');\n            return;\n        }\n\n        // 是否支持传入 HTML 片段\n        useHTMLString(node, title, dangerouslyUseHTMLString);\n    }\n\n    private _setDesc(\n        parent: HTMLElement,\n        children_custm: HTMLElement,\n        child_desc: HTMLElement,\n        desc?: string,\n        dangerouslyUseHTMLString?: boolean\n    ): void {\n        if (!desc) return;\n\n        parent.classList.add(`${PREFIX.noticeChild}-with-desc`);\n\n        children_custm.classList.add(`${PREFIX.notice}-with-desc`);\n\n        // 是否支持传入 HTML 片段\n        useHTMLString(child_desc, desc, dangerouslyUseHTMLString);\n    }\n\n    private _setIcon(\n        type: string,\n        child_custom: HTMLElement,\n        child_desc: HTMLElement,\n        customIcon?: string\n    ): void {\n        // 不带状态图标的类型\n        if (type === 'noraml') return;\n        if (type !== 'normal' || customIcon) {\n            child_custom.classList.add(`${PREFIX.notice}-with-icon`);\n        }\n\n        let isOutline = '';\n\n        // 带有状态图标并且是否带有提示内容，如果有则将图标设为 outline 外观\n        if (child_desc.innerHTML) isOutline = '-outline';\n\n        const NoticeIcon = createElem('span');\n        NoticeIcon.className = `${PREFIX.notice}-icon ${PREFIX.notice}-icon-${type}`;\n\n        // 是否自定义状态图标\n        if (customIcon) {\n            setHtml(NoticeIcon, customIcon);\n        } else {\n            // @ts-ignore\n            const defaultIcon = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-${iconTypes[type]}${isOutline}\"></i>`;\n            setHtml(NoticeIcon, defaultIcon);\n        }\n\n        child_custom.prepend(NoticeIcon);\n    }\n\n    private _setClosable(parent: HTMLElement, closable?: boolean, onClose?: () => void): void {\n        // 默认显示右上角关闭按钮\n        type.isUndef(closable) ? (closable = true) : closable;\n\n        if (!closable) return;\n\n        parent.classList.add(`${PREFIX.noticeChild}-closable`);\n\n        const NoticeClose = createElem('a');\n        const closeIcon = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-close\"></i>`;\n\n        NoticeClose.className = `${PREFIX.noticeChild}-close`;\n\n        setHtml(NoticeClose, closeIcon);\n\n        this._handleClose(parent, NoticeClose, onClose);\n\n        parent.appendChild(NoticeClose);\n    }\n\n    // 自定义内联样式\n    private _customStyle(node: HTMLElement, style?: string): void {\n        if (!style) return;\n\n        setCss(node, 'cssText', style);\n    }\n\n    // 点击通知时触发的回调函数\n    private _handleNoticeClick(parent: HTMLElement, onClick?: () => void): void {\n        parent.onclick = (e) => {\n            e.stopPropagation();\n\n            if (onClick) type.isFn(onClick);\n        };\n    }\n\n    private _handleClose(parent: HTMLElement, closeBtn: HTMLElement, onClose?: () => void): void {\n        closeBtn.onclick = (e) => {\n            e.stopPropagation();\n\n            if (onClose) type.isFn(onClose);\n\n            destroyElem(parent, {\n                clsLeave: NotMoveLeave,\n                duration: 0.1\n            });\n        };\n    }\n\n    private _autoClose(instance: HTMLElement, duration?: number): void {\n        // 为每个实例自己的 duration参数设置默认值，如果有传入值则使用自定义的值\n        type.isUndef(duration) ? (duration = DEFAULT_NOTICE.duration) : duration;\n\n        destroyElem(instance, {\n            duration,\n            clsLeave: NotMoveLeave\n        });\n    }\n}\n\nexport default $Notice;\n"
  },
  {
    "path": "src/components/page-header/index.ts",
    "content": "import PageHeader from './page-header';\nexport default PageHeader;\n"
  },
  {
    "path": "src/components/page-header/page-header.ts",
    "content": "import { type, validComps } from '../../utils';\nimport { $el, bind, getStrTypeAttr, removeAttrs, setHtml } from '../../dom-utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        events({ onBack }: PHEvent): void;\n    };\n}\n\ninterface PHEvent {\n    onBack: () => void;\n}\n\nclass PageHeader implements Config {\n    readonly VERSION: string;\n    private COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-page-header', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        events({ onBack }: PHEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'page-header');\n\n        const backButton = target.querySelector(`.${PREFIX.pageHeader}-back`);\n\n        return {\n            events({ onBack }) {\n                bind(backButton, 'click', () => {\n                    type.isFn(onBack);\n                });\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { title, subTitle } = this._attrs(node);\n\n            this._setMainTemplate(node, title, subTitle);\n\n            removeAttrs(node, ['title', 'sub-title']);\n        });\n    }\n\n    private _setMainTemplate(node: Element, title: string, subTitle: string): void {\n        const template = `\n        <div class=\"${PREFIX.pageHeader}-heading\">\n            <div class=\"${PREFIX.pageHeader}-back\">\n                <i class=\"${PREFIX.icon} ${PREFIX.icon}-md-arrow-back\"></i>\n            </div>\n            <span class=\"${PREFIX.pageHeader}-heading-title\">${title}</span>\n            <span class=\"${PREFIX.pageHeader}-heading-sub-title\">${subTitle}</span>\n        </div>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            title: getStrTypeAttr(node, 'title', ''),\n            subTitle: getStrTypeAttr(node, 'sub-title', '')\n        };\n    }\n}\n\nexport default PageHeader;\n"
  },
  {
    "path": "src/components/poptip/index.ts",
    "content": "import Poptip from './poptip';\nexport default Poptip;\n"
  },
  {
    "path": "src/components/poptip/poptip.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { clickoutside, CssTransition, _arrow, _Popper } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        visible: boolean;\n        disabled: boolean;\n        title: string;\n        content: string;\n        events: ({ onPopperShow, onPopperHide, onOk, onCancel }: PoptipEvents) => void;\n    };\n}\n\ninterface PoptipEvents {\n    onPopperShow?: () => void;\n    onPopperHide?: () => void;\n    onOk?: () => void;\n    onCancel?: () => void;\n}\n\nconst STATEKEY = 'visibleState';\nconst DEFAULTDELAY = 80;\n\nlet VISIBLETIMER: any = null,\n    EVENTTIMER: any = null;\n\nclass Poptip implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v2.0';\n        this.COMPONENTS = $el('r-poptip', { all: true });\n        this._create(this.COMPONENTS);\n        _arrow.scrollUpdate();\n    }\n\n    public config(\n        el: string\n    ): {\n        visible: boolean;\n        disabled: boolean;\n        title: string;\n        content: string;\n        events: ({ onPopperShow, onPopperHide, onOk, onCancel }: PoptipEvents) => void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'poptip');\n\n        const { _attrs, _setVisible, _handleTrigger } = Poptip.prototype;\n        const { trigger, title, content, disabled, placement, offset, confirm } = _attrs(target);\n\n        const PoptipRefElem = target.querySelector(`.${PREFIX.poptip}-rel`)! as HTMLElement;\n        const PoptipPopper = target.querySelector(`.${PREFIX.poptip}-popper`)! as HTMLElement;\n        const PoptipTitle = target.querySelector(`.${PREFIX.poptip}-title`)!;\n        const PoptipContent = target.querySelector(`.${PREFIX.poptip}-body-content`)!;\n\n        return {\n            get visible() {\n                return PoptipPopper.dataset[STATEKEY] === 'show';\n            },\n            set visible(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n                _setVisible(newVal, PoptipRefElem, PoptipPopper, placement, offset);\n            },\n            get disabled() {\n                return disabled;\n            },\n            set disabled(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n                _handleTrigger(\n                    trigger,\n                    confirm,\n                    newVal,\n                    target,\n                    PoptipRefElem,\n                    PoptipPopper,\n                    placement,\n                    offset\n                );\n            },\n            get title() {\n                return title;\n            },\n            set title(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n                setHtml(PoptipTitle, newVal);\n            },\n            get content() {\n                return content;\n            },\n            set content(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n                setHtml(PoptipContent, newVal);\n            },\n            events({ onPopperShow, onPopperHide, onOk, onCancel }) {\n                const visibleEvent = (show: boolean) => {\n                    if (show) {\n                        onPopperShow && type.isFn(onPopperShow);\n                    } else {\n                        onPopperHide && type.isFn(onPopperHide);\n                    }\n                };\n                const toogleEv = () => {\n                    setTimeout(() => {\n                        PoptipPopper.dataset[STATEKEY] === 'show'\n                            ? visibleEvent(true)\n                            : visibleEvent(false);\n                    }, 200);\n                };\n                const clickoutsideEv = () => {\n                    if (PoptipPopper.style.visibility === 'visible') {\n                        setTimeout(() => visibleEvent(false), DEFAULTDELAY);\n                    }\n                };\n\n                if (!confirm) {\n                    if (trigger === 'hover') {\n                        bind(target, 'mouseenter', () => {\n                            if (EVENTTIMER) clearTimeout(EVENTTIMER);\n                            EVENTTIMER = setTimeout(() => visibleEvent(true), DEFAULTDELAY);\n                        });\n                        bind(target, 'mouseleave', () => {\n                            if (EVENTTIMER) clearTimeout(EVENTTIMER);\n                            if (PoptipPopper.dataset[STATEKEY] === 'show')\n                                setTimeout(() => visibleEvent(false), DEFAULTDELAY);\n                        });\n                    }\n                    if (trigger === 'focus') {\n                        bind(PoptipRefElem, 'mousedown', () => visibleEvent(true));\n                        bind(PoptipRefElem, 'mouseup', () => visibleEvent(false));\n                    }\n                }\n                if (trigger === 'click' || trigger === 'focus') {\n                    clickoutside(target, clickoutsideEv);\n                }\n                if (trigger === 'click') {\n                    bind(PoptipRefElem, 'click', toogleEv);\n                }\n                if (confirm) {\n                    const PoptipOkBtn = PoptipPopper.querySelector(`.${PREFIX.button}-primary`);\n                    const PoptipCancelBtn = PoptipPopper.querySelector(`.${PREFIX.button}-text`);\n                    bind(PoptipOkBtn, 'click', () => onOk && type.isFn(onOk));\n                    bind(PoptipCancelBtn, 'click', () => onCancel && type.isFn(onCancel));\n                }\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const ReferenceElem = node.firstElementChild || node.innerHTML;\n\n            const {\n                trigger,\n                title,\n                content,\n                placement,\n                padding,\n                offset,\n                confirm,\n                visible,\n                width,\n                wordWrap,\n                disabled,\n                okText,\n                cancelText\n            } = this._attrs(node);\n\n            this.setMainTemplate(node, title, content, placement);\n\n            const PoptipRel = node.querySelector(`.${PREFIX.poptip}-rel`)!;\n            const PoptipPopper = node.querySelector(\n                `.${PREFIX.poptip}-popper`\n            )! as HTMLEmbedElement;\n\n            this.addReferenceElem(PoptipRel, ReferenceElem);\n            this.setConfirmTemplate(confirm, node, title, okText, cancelText);\n            this._setPlacement(PoptipRel, PoptipPopper, placement, offset);\n            this._setVisible(visible, PoptipRel, PoptipPopper, placement, offset);\n            this._setPadding(node, padding);\n            this._setWidthAndWordWrap(PoptipPopper, width, wordWrap);\n            this._handleTrigger(\n                trigger,\n                confirm,\n                disabled,\n                node,\n                PoptipRel,\n                PoptipPopper,\n                placement,\n                offset\n            );\n            this._handleBtnClick(PoptipRel, PoptipPopper, placement, offset);\n\n            removeAttrs(node, [\n                'width',\n                'title',\n                'offset',\n                'content',\n                'confirm',\n                'visible',\n                'padding',\n                'disabled',\n                'trigger',\n                'placement',\n                'word-wrap',\n                'ok-text',\n                'cancel-text'\n            ]);\n        });\n    }\n\n    private setMainTemplate(\n        node: Element,\n        title: string,\n        content: string,\n        placement: string\n    ): void {\n        const template = `\n         <div class=\"${PREFIX.poptip}-rel\"></div>\n         <div class=\"${PREFIX.poptip}-popper\" x-placement=\"${placement}\">\n             <div class=\"${PREFIX.poptip}-content\">\n                 <div class=\"${PREFIX.poptip}-arrow\"></div>\n                 <div class=\"${PREFIX.poptip}-inner\">\n                    ${title ? `<div class=\"${PREFIX.poptip}-title\">${title}</div>` : ''}\n                     <div class=\"${PREFIX.poptip}-body\">\n                         <div class=\"${PREFIX.poptip}-body-content\">${content}</div>\n                     </div>\n                 </div>\n             </div>\n         </div>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private addReferenceElem(child: Element, ReferenceElem: string | Element): void {\n        if (typeof ReferenceElem === 'string') {\n            setHtml(child, ReferenceElem);\n        } else if (ReferenceElem instanceof Element) {\n            child.appendChild(ReferenceElem);\n        }\n    }\n\n    private setConfirmTemplate(\n        confirm: boolean,\n        node: Element,\n        title: string,\n        okText: string,\n        cancelText: string\n    ): void {\n        if (!confirm) return;\n\n        const template = `\n         <i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-help-circle\"></i>\n         <div class=\"${PREFIX.poptip}-body-message\">${title}</div>\n         <div class=\"${PREFIX.poptip}-footer\">\n            <button type=\"button\" class=\"${PREFIX.button} ${PREFIX.button}-text ${PREFIX.button}-sm\">${cancelText}</button>\n            <button type=\"button\" class=\"${PREFIX.button} ${PREFIX.button}-primary ${PREFIX.button}-sm\">${okText}</button>\n         </div>\n        `;\n\n        const PoptipBody = node.querySelector(`.${PREFIX.poptip}-body`)!;\n\n        setHtml(PoptipBody, template);\n\n        node.querySelector(`.${PREFIX.poptip}-title`)!.remove();\n        node.classList.add(`${PREFIX.poptip}-confirm`);\n    }\n\n    private _handleTrigger(\n        type: string,\n        confirm: boolean,\n        disabled: boolean,\n        node: Element,\n        refElem: Element,\n        popper: HTMLElement,\n        placement: string,\n        offset: number\n    ): void {\n        if (disabled) return;\n\n        const show = (show: boolean, e?: MouseEvent) => {\n            if (e) e.stopPropagation();\n            this._setVisible(show, refElem, popper, placement, offset);\n        };\n\n        if (!confirm) {\n            if (type === 'hover') {\n                bind(node, 'mouseenter', (e: MouseEvent) => {\n                    if (VISIBLETIMER) clearTimeout(VISIBLETIMER);\n                    if (popper.dataset[STATEKEY] === 'show') return;\n                    VISIBLETIMER = setTimeout(() => show(true, e), DEFAULTDELAY);\n                });\n                bind(node, 'mouseleave', (e: MouseEvent) => {\n                    if (VISIBLETIMER) clearTimeout(VISIBLETIMER);\n                    if (popper.dataset[STATEKEY] === 'show')\n                        setTimeout(() => show(false, e), DEFAULTDELAY);\n                });\n            }\n            if (type === 'focus') {\n                bind(refElem, 'mousedown', (e: MouseEvent) => show(true, e));\n                bind(refElem, 'mouseup', (e: MouseEvent) => show(false, e));\n            }\n        }\n\n        if (type === 'click') {\n            const hide = () => {\n                if (popper.dataset[STATEKEY] === 'close') return;\n                show(false);\n            };\n            const clickEv = (e: MouseEvent) => {\n                const poppers = document.querySelectorAll(`.${PREFIX.poptip}-popper`);\n                poppers.forEach((child) => {\n                    const otherPopper = child as HTMLElement;\n                    if (otherPopper.dataset[STATEKEY] === 'show') {\n                        this._setVisible(false, refElem, otherPopper, placement, offset);\n                    }\n                });\n                popper.style.visibility === 'visible' ? show(false, e) : show(true, e);\n            };\n\n            clickoutside(node, hide);\n            bind(refElem, 'click', (e: MouseEvent) => clickEv(e));\n        }\n    }\n\n    private _handleBtnClick(\n        refElem: Element,\n        popper: HTMLElement,\n        placement: string,\n        offset: number\n    ): void {\n        const PoptipOkBtn = popper.querySelector(`.${PREFIX.button}-primary`);\n        const PoptipCancelBtn = popper.querySelector(`.${PREFIX.button}-text`);\n\n        if (!PoptipOkBtn) return;\n\n        const hidden = () => this._setVisible(false, refElem, popper, placement, offset);\n\n        bind(PoptipOkBtn, 'click', hidden);\n        bind(PoptipCancelBtn, 'click', hidden);\n    }\n\n    private _setVisible(\n        visible: boolean,\n        refElem: Element,\n        popper: HTMLElement,\n        placement: string,\n        offset: number\n    ): void {\n        const { _setPlacement, _visibleTransition } = Poptip.prototype;\n\n        if (visible) {\n            popper.dataset[STATEKEY] = 'show';\n            _visibleTransition('in', popper);\n            _setPlacement(refElem, popper, placement, offset);\n        } else {\n            popper.dataset[STATEKEY] = 'close';\n            setTimeout(() => {\n                popper.dataset[STATEKEY] === 'close' && _visibleTransition('out', popper);\n            }, 0);\n        }\n    }\n\n    private _setPlacement(\n        refElem: Element,\n        popper: HTMLElement,\n        placement: string,\n        offset: number\n    ): void {\n        _Popper._newCreatePopper(refElem, popper, placement, offset);\n    }\n\n    private _visibleTransition(type: 'in' | 'out', popper: HTMLElement): void {\n        const aniCls =\n            type === 'in'\n                ? { enterCls: 'zoom-big-fast-enter' }\n                : { leaveCls: 'zoom-big-fast-leave' };\n\n        CssTransition(popper, {\n            inOrOut: type,\n            ...aniCls,\n            rmCls: true,\n            timeout: 190\n        });\n    }\n\n    private _setWidthAndWordWrap(child: Element, width: number, wordWrap: boolean): void {\n        setCss(child, 'width', `${width}px`);\n\n        if (!wordWrap) return;\n\n        const PoptipBodyContent = child.querySelector(`.${PREFIX.poptip}-body-content`)!;\n        PoptipBodyContent.classList.add(`${PREFIX.poptip}-body-content-word-wrap`);\n    }\n\n    private _setPadding(node: Element, padding: string): void {\n        if (!padding) return;\n        setCss(node.querySelector(`.${PREFIX.poptip}-title`)!, 'padding', padding);\n        setCss(node.querySelector(`.${PREFIX.poptip}-body`)!, 'padding', padding);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            width: getNumTypeAttr(node, 'width', -1),\n            offset: getNumTypeAttr(node, 'offset', 0),\n            title: getStrTypeAttr(node, 'title', ''),\n            okText: getStrTypeAttr(node, 'ok-text', '确定'),\n            content: getStrTypeAttr(node, 'content', ''),\n            trigger: getStrTypeAttr(node, 'trigger', 'click'),\n            padding: getStrTypeAttr(node, 'padding', ''),\n            placement: getStrTypeAttr(node, 'placement', 'top'),\n            cancelText: getStrTypeAttr(node, 'cancel-text', '取消'),\n            confirm: getBooleanTypeAttr(node, 'confirm'),\n            visible: getBooleanTypeAttr(node, 'visible'),\n            disabled: getBooleanTypeAttr(node, 'disabled'),\n            wordWrap: getBooleanTypeAttr(node, 'word-wrap')\n        };\n    }\n}\n\nexport default Poptip;\n"
  },
  {
    "path": "src/components/prefix.ts",
    "content": "const prefixCls = 'rab-';\n\nexport default {\n    affix: `${prefixCls}affix`,\n    alert: `${prefixCls}alert`,\n    avatar: `${prefixCls}avatar`,\n    backtop: `${prefixCls}back-top`,\n    badge: `${prefixCls}badge`,\n    breadcrumb: `${prefixCls}breadcrumb`,\n    button: `${prefixCls}btn`,\n    card: `${prefixCls}card`,\n    carousel: `${prefixCls}carousel`,\n    checkbox: `${prefixCls}checkbox`,\n    circle: `${prefixCls}chart-circle`,\n    collapse: `${prefixCls}collapse`,\n    divider: `${prefixCls}divider`,\n    drawer: `${prefixCls}drawer`,\n    dropdown: `${prefixCls}dropdown`,\n    empty: `${prefixCls}empty`,\n    jumbotron: `${prefixCls}jumbotron`,\n    inputnb: `${prefixCls}input-number`,\n    icon: `${prefixCls}icon`,\n    loadingBar: `${prefixCls}loading-bar`,\n    message: `${prefixCls}message`,\n    messageChild: `${prefixCls}message-notice`,\n    modal: `${prefixCls}modal`,\n    notice: `${prefixCls}notice`,\n    pageHeader: `${prefixCls}page-header`,\n    poptip: `${prefixCls}poptip`,\n    noticeChild: `${prefixCls}notice-notice`,\n    progress: `${prefixCls}progress`,\n    radio: `${prefixCls}radio`,\n    rate: `${prefixCls}rate`,\n    result: `${prefixCls}result`,\n    select: `${prefixCls}select`,\n    skeleton: `${prefixCls}skeleton`,\n    switch: `${prefixCls}switch`,\n    tabs: `${prefixCls}tabs`,\n    tag: `${prefixCls}tag`,\n    spin: `${prefixCls}spin`,\n    steps: `${prefixCls}steps`,\n    time: `${prefixCls}time`,\n    timeline: `${prefixCls}timeline`,\n    tooltip: `${prefixCls}tooltip`\n};\n"
  },
  {
    "path": "src/components/progress/index.ts",
    "content": "import Progress from './progress';\nexport default Progress;\n"
  },
  {
    "path": "src/components/progress/progress.ts",
    "content": "import { type, validComps } from '../../utils';\nimport { $el, createElem, removeAttrs, setCss, setHtml, setText } from '../../dom-utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        percent: number;\n        successPercent: number;\n    };\n}\n\nconst PrgesIconType = {\n    success: '<i class=\"rab-icon rab-icon-ios-checkmark-circle\"></i>',\n    warning: '<i class=\"rab-icon rab-icon-ios-alert\"></i>',\n    wrong: '<i class=\"rab-icon rab-icon-ios-close-circle\"></i>'\n};\n\nclass Progress implements Config {\n    readonly VERSION: string;\n    private COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-progress', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        percent: number;\n        successPercent: number;\n    } {\n        const target = $el(el);\n\n        validComps(target, 'progress');\n\n        const progress = target.querySelector(`.${PREFIX.progress}-bg`);\n        const progressSucs = target.querySelector(`.${PREFIX.progress}-success-bg`);\n        const progressText = target.querySelector(`.${PREFIX.progress}-inner-text`);\n\n        return {\n            get percent() {\n                return progress;\n            },\n\n            set percent(newVal: number) {\n                if (!type.isNum(newVal) || newVal == progress.style.width) return;\n\n                if (progressText) setHtml(progressText, `${newVal}%`);\n\n                setCss(progress, 'width', `${newVal}%`);\n            },\n\n            get successPercent() {\n                return progressSucs;\n            },\n\n            set successPercent(newVal) {\n                if (!type.isNum(newVal) || newVal == progressSucs.style.width) return;\n\n                setCss(progressSucs, 'width', `${newVal}%`);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            this._createChildNodes(node);\n\n            removeAttrs(node, [\n                'percent',\n                'show-text',\n                'text-inside',\n                'stroke-width',\n                'stroke-color',\n                'success-percent'\n            ]);\n        });\n    }\n\n    private _createChildNodes(wrapper: Element): void {\n        const PgrsOuter = createElem('div');\n        const PgrsInner = createElem('div');\n        const PgrsBar = createElem('div');\n        const PgrsBarSucess = createElem('div');\n\n        PgrsOuter.className = `${PREFIX.progress}-outer`;\n        PgrsInner.className = `${PREFIX.progress}-inner`;\n        PgrsBar.className = `${PREFIX.progress}-bg`;\n        PgrsBarSucess.className = `${PREFIX.progress}-success-bg`;\n\n        this._setPercent(wrapper, PgrsBar, PgrsBarSucess);\n        this._setStrokeWidth(wrapper, PgrsBar, PgrsBarSucess);\n        this._setStrokeColor(wrapper, PgrsBar);\n\n        PgrsInner.append(PgrsBar, PgrsBarSucess);\n        PgrsOuter.appendChild(PgrsInner);\n        wrapper.appendChild(PgrsOuter);\n\n        this._showText(wrapper, PgrsBar);\n    }\n\n    private _setPercent(wrapper: Element, bar: HTMLElement, successBar: HTMLElement): void {\n        const percent = `${this._getPercent(wrapper)}%`;\n        const successPercent = `${this._getSuccessPercent(wrapper)}%`;\n\n        setCss(bar, 'width', percent);\n        setCss(successBar, 'width', successPercent);\n    }\n\n    private _setStrokeWidth(wrapper: Element, bar: HTMLElement, successBar: HTMLElement): void {\n        const strokeWidth = `${this._getStrokeWidth(wrapper)}px`;\n\n        setCss(bar, 'height', strokeWidth);\n        setCss(successBar, 'height', strokeWidth);\n    }\n\n    private _showText(wrapper: Element, PgrsBar: HTMLElement): void {\n        if (!this._isShowText(wrapper)) return;\n\n        const PgrsTextWrapper = createElem('div');\n        const PgresText = createElem('span');\n\n        PgrsTextWrapper.className = `${PREFIX.progress}-text`;\n        PgresText.className = `${PREFIX.progress}-inner-text`;\n\n        const percentText = `${this._getPercent(wrapper)}%`;\n\n        setText(PgresText, percentText);\n\n        if (!this._isTextInside(wrapper)) {\n            wrapper.className = `${PREFIX.progress}-show-info`;\n\n            if (this._getStatus(wrapper) === 'success') {\n                setHtml(PgresText, PrgesIconType.success);\n            } else if (this._getStatus(wrapper) === 'warning') {\n                setHtml(PgresText, PrgesIconType.warning);\n            } else if (this._getStatus(wrapper) === 'wrong') {\n                setHtml(PgresText, PrgesIconType.wrong);\n            }\n\n            PgrsTextWrapper.appendChild(PgresText);\n\n            wrapper.appendChild(PgrsTextWrapper);\n        } else {\n            PgrsBar.appendChild(PgresText);\n        }\n    }\n\n    private _setStrokeColor(wrapper: Element, PgrsBar: HTMLElement): void {\n        const { from, to } = this._getStrokeColor(wrapper);\n\n        if (from.length || to.length) {\n            const strokeColor = `linear-gradient(to right, ${from} 0%, ${to} 100%)`;\n\n            setCss(PgrsBar, 'backgroundImage', strokeColor);\n        }\n    }\n\n    private _getStatus(node: Element): string | null {\n        return node.getAttribute('status');\n    }\n\n    private _getPercent(node: Element): string {\n        return node.getAttribute('percent') || '0';\n    }\n\n    private _getSuccessPercent(node: Element): string {\n        return node.getAttribute('success-percent') || '0';\n    }\n\n    private _getStrokeWidth(node: Element): string {\n        return node.getAttribute('stroke-width') || '10';\n    }\n\n    private _getStrokeColor(\n        node: Element\n    ): {\n        from: Array<string>;\n        to: Array<string>;\n    } {\n        if (!node.getAttribute('stroke-color')) {\n            return {\n                from: [],\n                to: []\n            };\n        } else {\n            /**\n             * 转为真实数组\n             * \"['','']\" -> ['','']\n             */\n            const strArr: string = node.getAttribute('stroke-color')?.replace(/'/g, '\"') || '';\n            const colorArr = JSON.parse(strArr);\n\n            return {\n                from: colorArr[0],\n                to: colorArr[1]\n            };\n        }\n    }\n\n    private _isTextInside(node: Element): boolean {\n        return node.getAttribute('text-inside') === 'true';\n    }\n\n    private _isShowText(node: Element): boolean {\n        if (node.getAttribute('show-text') === 'false') return false;\n        else return true;\n    }\n}\n\nexport default Progress;\n"
  },
  {
    "path": "src/components/radio/index.ts",
    "content": "import Radio from './radio';\nexport default Radio;\n"
  },
  {
    "path": "src/components/radio/radio.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { type, validComps } from '../../utils';\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setHtml,\n    siblings\n} from '../../dom-utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        checked: boolean;\n        value: string;\n        events({ onChange }: RadioEvent): void;\n    };\n}\n\ninterface ItemData {\n    index: number;\n    label: string;\n    current: Element;\n}\n\ninterface RadioEvent {\n    onChange: (param: boolean & ItemData) => void;\n}\n\nclass Radio implements Config {\n    readonly VERSION: string;\n    private COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-radio', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        checked: boolean;\n        value: string;\n        events({ onChange }: RadioEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n        const isGroup = target.tagName.toLowerCase() == 'r-radio-group';\n\n        // 排除 group 项\n        if (!isGroup) {\n            validComps(target, 'radio');\n        } else {\n            validComps(target, 'radio-group');\n        }\n\n        const {\n            _isChecked,\n            _isDisabled,\n            _setSingleChecked,\n            _setCurrentlyChecked\n        } = Radio.prototype;\n\n        return {\n            get checked() {\n                return !isGroup && _isChecked(target);\n            },\n\n            set checked(newVal: boolean) {\n                if (isGroup || !type.isBol(newVal)) return;\n                _setSingleChecked(target, newVal);\n            },\n\n            get value() {\n                // @ts-ignore\n                return isGroup && target.getAttribute('value');\n            },\n\n            set value(newVal: string) {\n                if (!isGroup && !type.isStr(newVal)) return;\n\n                Array.from(target.children).forEach((child) => {\n                    const label = child.getAttribute('label')!;\n                    _setCurrentlyChecked(child, newVal, label);\n                });\n            },\n\n            events({ onChange }) {\n                if (!isGroup) {\n                    bind(target, 'click', () => {\n                        if (_isDisabled(target)) return false;\n                        onChange && type.isFn(onChange, true);\n                    });\n                } else {\n                    const data = Object.create(null);\n\n                    bind(target, 'click', () => {\n                        Array.from(target.children).forEach((child, index) => {\n                            if (_isDisabled(child)) return false;\n\n                            data['index'] = index;\n                            data['label'] = child.getAttribute('label');\n                            data['current'] = child;\n\n                            if (_isChecked(child)) onChange && type.isFn(onChange, data);\n                        });\n                    });\n                }\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            const { checked, label, icon, name } = this._attrs(node);\n            const content = setHtml(node);\n            const RadioGroupWrapper = this._getGroupElm(node);\n\n            if (RadioGroupWrapper) {\n                const { value } = this._attrs(RadioGroupWrapper);\n                this._setCurrentlyChecked(node, value, label);\n            }\n\n            this._setMainTemplate(node, content, name);\n            this._setSingleChecked(node, checked, RadioGroupWrapper);\n            this._setIcon(node, icon);\n            this._handleClick(node, RadioGroupWrapper);\n\n            removeAttrs(node, ['checked', 'icon']);\n        });\n    }\n\n    private _setMainTemplate(node: Element, content: string, name: string): void {\n        const template = `\n        <span class=\"${PREFIX.radio}\">\n          <span class=\"${PREFIX.radio}-inner\"></span>\n          <input type=\"radio\" name=\"${name}\" class=\"${PREFIX.radio}-input\" />\n        </span> ${content}\n      `;\n\n        setHtml(node, template);\n    }\n\n    // 设置单个radio选中\n    private _setSingleChecked(\n        node: Element,\n        checked: boolean,\n        groupWrapper?: Element | null\n    ): void {\n        if (groupWrapper) return;\n\n        checked\n            ? node.classList.add(`${PREFIX.radio}-checked`)\n            : node.classList.remove(`${PREFIX.radio}-checked`);\n    }\n\n    // 设置radio组的当前选中项\n    private _setCurrentlyChecked(node: Element, value: string, label: string): void {\n        if (value !== label) return;\n\n        node.classList.add(`${PREFIX.radio}-wrapper-checked`);\n        node.classList.add(`${PREFIX.radio}-checked`);\n\n        siblings(node).forEach((o: Element) => {\n            o.classList.remove(`${PREFIX.radio}-wrapper-checked`);\n            o.classList.remove(`${PREFIX.radio}-checked`);\n        });\n    }\n\n    private _setIcon(node: Element, icon: string): void {\n        if (!icon) return;\n\n        const template = `<i class=\"${PREFIX.icon} ${PREFIX.icon}-${icon}\"></i>`;\n        node.querySelector(`.${PREFIX.radio}`)?.insertAdjacentHTML('afterend', template);\n    }\n\n    private _handleClick(node: Element, groupWrapper: Element | null): void {\n        if (this._isDisabled(node)) return;\n\n        const changeStatus = () => {\n            if (groupWrapper) {\n                node.classList.add(`${PREFIX.radio}-wrapper-checked`);\n\n                siblings(node).forEach((o: Element) => {\n                    if (this._isChecked(o)) {\n                        o.classList.remove(`${PREFIX.radio}-checked`);\n                        o.classList.remove(`${PREFIX.radio}-wrapper-checked`);\n                        o.classList.remove(`${PREFIX.radio}-focus`);\n                    }\n                });\n            }\n\n            node.classList.add(`${PREFIX.radio}-checked`);\n        };\n\n        bind(node, 'click', () => changeStatus());\n        bind(node, 'mousedown', () => {\n            node.classList.add(`${PREFIX.radio}-focus`);\n        });\n        bind(node, 'mouseup', () => {\n            setTimeout(() => node.classList.remove(`${PREFIX.radio}-focus`), 1000);\n        });\n    }\n\n    private _getGroupElm(node: Element): Element | null {\n        const tag = node.parentElement;\n        return tag?.tagName.toLowerCase() === 'r-radio-group' ? tag : null;\n    }\n\n    private _isDisabled(node: Element) {\n        return node.getAttribute('disabled') == '' || node.getAttribute('disabled') == 'true';\n    }\n\n    private _isChecked(node: Element) {\n        return node.classList.contains(`${PREFIX.radio}-checked`);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            value: getStrTypeAttr(node, 'value', ''),\n            name: getStrTypeAttr(node, 'name', ''),\n            label: getStrTypeAttr(node, 'label', ''),\n            icon: getStrTypeAttr(node, 'icon', ''),\n            checked: getBooleanTypeAttr(node, 'checked')\n        };\n    }\n}\n\nexport default Radio;\n"
  },
  {
    "path": "src/components/result/index.ts",
    "content": "import Result from './result';\nexport default Result;\n"
  },
  {
    "path": "src/components/result/result.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport Image403 from '../../../assets/result-403.svg';\nimport Image404 from '../../../assets/result-404.svg';\nimport Image500 from '../../../assets/result-500.svg';\nimport { $el, getStrTypeAttr, removeAttrs, setHtml } from '../../dom-utils';\nimport { moreThanOneNode } from '../../mixins';\nimport PREFIX from '../prefix';\n\nclass Result {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.1';\n        this.COMPONENTS = $el('r-result', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            // v1.1 增加占位节点的组成数量判断\n            if (moreThanOneNode(node)) return;\n\n            const { status, title, subTitle, icon, extra } = this._attrs(node);\n\n            const placeholderNode = node.firstElementChild;\n\n            this._setMainTemplate(node);\n            this._setStatus(node, status);\n            this._setTitle(node, title, subTitle);\n            this._setExtraContent(node, extra);\n            this._setComplexDesc(node, placeholderNode!);\n            this._setCustomIcon(node, icon);\n\n            removeAttrs(node, ['title', 'subtitle', 'status', 'icon', 'extra']);\n        });\n    }\n\n    private _setMainTemplate(node: Element): void {\n        const template = `\n          <div class=\"${PREFIX.result}-icon\">\n             <i class=\"${PREFIX.icon}\"></i>\n          </div>\n          <div class=\"${PREFIX.result}-title\"></div>\n          <div class=\"${PREFIX.result}-subtitle\"></div> \n          <div class=\"${PREFIX.result}-content\"></div>\n          <div class=\"${PREFIX.result}-extra\"></div>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _setStatus(node: Element, status: string): void {\n        node.classList.add(`${PREFIX.result}-${status}`);\n\n        const ResultIcon = node.querySelector(`.${PREFIX.result}-icon`)!;\n        const I = ResultIcon.querySelector('i')!;\n        const iconType = this._getStatusIcon(status);\n        const otherStatus = ['403', '404', '500'];\n\n        if (otherStatus.includes(status)) {\n            ResultIcon.classList.add(`${PREFIX.result}-image`);\n            ResultIcon.removeChild(I);\n            setHtml(ResultIcon, `<img src=\"${iconType}\" alt=\"result\" />`);\n        } else {\n            I.classList.add(`${PREFIX.icon}-${iconType}`);\n        }\n    }\n\n    private _setTitle(node: Element, title: string, subTitle: string): void {\n        const ResultTitle = node.querySelector(`.${PREFIX.result}-title`);\n        const ResultSubTitle = node.querySelector(`.${PREFIX.result}-subtitle`);\n\n        setHtml(ResultTitle!, title);\n        setHtml(ResultSubTitle!, subTitle);\n    }\n\n    private _setExtraContent(node: Element, content: string): void {\n        const ResultExtra = node.querySelector(`.${PREFIX.result}-extra`);\n        setHtml(ResultExtra!, content);\n    }\n\n    private _setCustomIcon(node: Element, icon: string): void {\n        if (!icon) return;\n\n        const ResultIcon = node.querySelector(`.${PREFIX.result}-icon > i`)!;\n        ResultIcon.className = `${PREFIX.icon} ${PREFIX.icon}-${icon}`;\n    }\n\n    private _setComplexDesc(node: Element, child: Element): void {\n        const ResultContent = node.querySelector(`.${PREFIX.result}-content`)!;\n\n        if (!child) {\n            node.removeChild(ResultContent);\n            return;\n        }\n\n        ResultContent?.appendChild(child);\n    }\n\n    private _getStatusIcon(status: string): string {\n        const icons = {\n            info: 'ios-alert',\n            success: 'ios-checkmark-circle',\n            warning: 'ios-warning',\n            error: 'ios-close-circle',\n            '403': Image403,\n            '404': Image404,\n            '500': Image500\n        };\n\n        // @ts-ignore\n        return icons[status] || icons.info;\n    }\n\n    private _attrs(node: Element) {\n        return {\n            status: getStrTypeAttr(node, 'status', 'info'),\n            icon: getStrTypeAttr(node, 'icon', ''),\n            title: getStrTypeAttr(node, 'title', ''),\n            extra: getStrTypeAttr(node, 'extra', ''),\n            subTitle: getStrTypeAttr(node, 'subtitle', '')\n        };\n    }\n}\n\nexport default Result;\n"
  },
  {
    "path": "src/components/skeleton/index.ts",
    "content": "import Skeleton from './skeleton';\nexport default Skeleton;\n"
  },
  {
    "path": "src/components/skeleton/skeleton.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    createElem,\n    getArrTypeAttr,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport PREFIX from '../prefix';\n\nclass Skeleton {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-skeleton', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const {\n                active,\n                title,\n                paragraph,\n                avatar,\n                titleWidth,\n                paragraphRows,\n                paragraphWidth,\n                avatarSize,\n                avatarShape\n            } = this._attrs(node);\n\n            this._setActive(node, active);\n            this._setMainTemplate(node);\n            this._setTitle(node, title, titleWidth);\n            this._showParagraph(node, paragraph, paragraphRows, paragraphWidth);\n            this._showAvatar(node, avatar, avatarSize, avatarShape);\n\n            removeAttrs(node, [\n                'active',\n                'title',\n                'paragraph',\n                'avatar',\n                'title-width',\n                'paragraph-width',\n                'paragraph-rows',\n                'avatar-shape',\n                'avatar-size'\n            ]);\n        });\n    }\n\n    private _setActive(node: Element, active: boolean): void {\n        if (!active) return;\n\n        node.classList.add(`${PREFIX.skeleton}-active`);\n    }\n\n    private _setMainTemplate(node: Element): void {\n        const template = `\n        <div class=\"${PREFIX.skeleton}-content\">\n            <h3 class=\"${PREFIX.skeleton}-title\" style=\"width: 38%\"></h3>\n            <ul class=\"${PREFIX.skeleton}-paragraph\">\n                <li></li>\n                <li></li>\n                <li></li>\n            </ul>\n        </div>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _setTitle(node: Element, isShow: string, width: number): void {\n        const Title = node.querySelector(`.${PREFIX.skeleton}-title`)!;\n\n        this._setTitleWidth(Title, width);\n\n        if (isShow === 'false') {\n            node.removeChild(Title);\n        }\n    }\n\n    private _setTitleWidth(titleElm: Element, titleWidth: number): void {\n        setCss(titleElm, 'width', `${titleWidth}%`);\n    }\n\n    private _showParagraph(node: Element, isShow: string, rows: number, rowsWidth: any): void {\n        const Paragraph = node.querySelector(`.${PREFIX.skeleton}-paragraph`)!;\n\n        this._setParagraphRows(Paragraph, rows);\n        this._setParagraphRowsWidth(Paragraph, rowsWidth);\n\n        if (isShow === 'false') {\n            node.removeChild(Paragraph!);\n        }\n    }\n\n    private _setParagraphRows(pgELm: Element, rows: number): void {\n        if (!rows) return;\n\n        const Fragment = document.createDocumentFragment();\n\n        let i = 0;\n        for (; i < rows; i++) {\n            const Row = createElem('li');\n            Fragment.appendChild(Row);\n        }\n\n        setHtml(pgELm, '');\n\n        pgELm.appendChild(Fragment);\n    }\n\n    private _setParagraphRowsWidth(pgELm: Element, width: number | number[] | string[]): void {\n        if (typeof width === 'number') {\n            setCss(pgELm.querySelector(`.${PREFIX.skeleton}-paragraph > li`), 'width', `${width}%`);\n        }\n\n        if (Array.isArray(width) && width.length) {\n            const Rows = pgELm.querySelectorAll(`.${PREFIX.skeleton}-paragraph > li`);\n\n            let i = 0;\n            for (; i < width.length; i++) {\n                const rowWidth = width[i];\n                const Row = Rows[i];\n                Row ? setCss(Row, 'width', `${rowWidth}%`) : null;\n            }\n        }\n    }\n\n    private _showAvatar(node: Element, avatar: boolean, size: string, shape: string): void {\n        if (!avatar) return;\n\n        const template = `\n        <div class=\"${PREFIX.skeleton}-header\">\n        <span class=\"${PREFIX.skeleton}-avatar ${PREFIX.skeleton}-avatar-${size} ${PREFIX.skeleton}-avatar-${shape}\"></span>\n        </div>\n        `;\n\n        node.insertAdjacentHTML('afterbegin', template);\n\n        node.classList.add(`${PREFIX.skeleton}-with-avatar`);\n\n        setCss(node.querySelector(`.${PREFIX.skeleton}-title`), 'width', '50%');\n    }\n\n    private _attrs(node: Element) {\n        return {\n            active: getBooleanTypeAttr(node, 'active'),\n            avatar: getBooleanTypeAttr(node, 'avatar'),\n            title: getStrTypeAttr(node, 'title', 'true'),\n            paragraph: getStrTypeAttr(node, 'paragraph', 'true'),\n            avatarSize: getStrTypeAttr(node, 'avatar-size', 'large'),\n            avatarShape: getStrTypeAttr(node, 'avatar-shape', 'circle'),\n            titleWidth: getNumTypeAttr(node, 'title-width'),\n            paragraphWidth:\n                getNumTypeAttr(node, 'paragraph-width', 0) ||\n                getArrTypeAttr(node, 'paragraph-width'),\n            paragraphRows: getNumTypeAttr(node, 'paragraph-rows')\n        };\n    }\n}\n\nexport default Skeleton;\n"
  },
  {
    "path": "src/components/spin/index.ts",
    "content": "import Spin from './spin';\nexport default Spin;\n"
  },
  {
    "path": "src/components/spin/spin.ts",
    "content": "import PREFIX from '../prefix';\nimport { $el, setHtml } from '../../dom-utils';\nimport { CssTransition, Scrollable } from '../../mixins';\nimport { destroyElem } from '../../utils';\n\nlet spinZIndex = 2010;\n\nclass Spin {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-spin', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public show({ content = '' } = {}): void {\n        Scrollable({ scroll: false, lock: false });\n\n        const template = `\n        <div class=\"${PREFIX.spin}-fullscreen ${PREFIX.spin}-fullscreen-wrapper\"\n         style=\"z-index: ${spinZIndex++}\">\n          <r-spin fix class=\"${PREFIX.spin}-fullscreen \n           ${content ? `${PREFIX.spin}-show-text` : ''}\" size=\"large\">\n            ${this._createChildTemplate(content)}\n          </r-spin>\n         </div>\n         `;\n\n        const fragment = document.createRange().createContextualFragment(template);\n\n        document.body.appendChild(fragment);\n\n        CssTransition($el(`.${PREFIX.spin}-fullscreen`), {\n            inOrOut: 'in',\n            enterCls: 'rab-fade-in'\n        });\n    }\n\n    public hide(): void {\n        Scrollable({ scroll: true, lock: true });\n\n        const spinElem = $el(`.${PREFIX.spin}-fullscreen`);\n\n        if (spinElem) destroyElem(spinElem, { fadeOut: true });\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const customContent = setHtml(node);\n\n            customContent ? node.classList.add(`${PREFIX.spin}-show-text`) : '';\n\n            setHtml(node, this._createChildTemplate(customContent));\n        });\n    }\n\n    private _createChildTemplate(content: string): string {\n        const template = `\n          <div class=\"${PREFIX.spin}-main\">\n            <span class=\"${PREFIX.spin}-dot\"></span>\n            <div class=\"${PREFIX.spin}-text\">${content}</div>\n          </div>\n        `;\n\n        return template;\n    }\n}\n\nexport default Spin;\n"
  },
  {
    "path": "src/components/steps/index.ts",
    "content": "import Steps from './steps';\nexport default Steps;\n"
  },
  {
    "path": "src/components/steps/steps.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    nextAll,\n    prevAll,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { warn } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        current: number;\n        title: string;\n        content: string;\n        status: string;\n        itemStatus: string[];\n    };\n}\n\nclass Steps implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = $el('r-steps', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        current: number;\n        title: string;\n        content: string;\n        status: string;\n        itemStatus: string[];\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'steps');\n\n        const { _setCurrentStep, _setStatus, _setStatusIcon } = Steps.prototype;\n\n        const _current = target.dataset['current']!;\n        const StepsTitle = target.querySelector(`.${PREFIX.steps}-title`)!;\n        const StepsContent = target.querySelector(`.${PREFIX.steps}-content`)!;\n        const StepsStep = target.querySelectorAll('r-step')!;\n\n        const setTitleOrContent = (elem: Element, val: string) => {\n            if (val && !type.isStr(val)) return;\n            setHtml(elem, val);\n        };\n\n        return {\n            get current() {\n                return Number(target.dataset['current']);\n            },\n            set current(newVal: number) {\n                if (!type.isNum(newVal)) return;\n                _setCurrentStep(target, newVal, target.dataset['status']!);\n            },\n\n            get title() {\n                return setHtml(StepsTitle);\n            },\n\n            set title(newVal: string) {\n                setTitleOrContent(StepsTitle, newVal);\n            },\n\n            get content() {\n                return setHtml(StepsContent);\n            },\n            set content(newVal: string) {\n                setTitleOrContent(StepsContent, newVal);\n            },\n\n            get status() {\n                return target.dataset['status']!;\n            },\n            set status(newVal: string) {\n                if (newVal && !type.isStr(newVal)) return;\n\n                const currentStep = target.querySelector(`r-step[data-index=\"${_current}\"]`)!;\n\n                _setStatus(target, currentStep, newVal);\n            },\n\n            get itemStatus() {\n                return [];\n            },\n            set itemStatus(newVal: string[]) {\n                if (newVal && !type.isArr(newVal)) return;\n\n                const changeStatus = (elem: Element, status: string) => {\n                    elem.setAttribute('status', status);\n                    _setStatusIcon(status, elem);\n                };\n\n                if (newVal.length == 1) {\n                    const step = StepsStep[0];\n                    changeStatus(step, newVal[0]);\n                    return;\n                }\n\n                StepsStep.forEach((step, idx) =>\n                    newVal[idx] ? changeStatus(step, newVal[idx]) : ''\n                );\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { current, status, direction } = this._attrs(node);\n            const StepsStepItem = node.querySelectorAll('r-step');\n\n            this._setDirection(node, direction);\n            this._setStepChildren(StepsStepItem);\n            this._setCurrentStep(node, current, status);\n\n            removeAttrs(node, ['current', 'status']);\n        });\n    }\n\n    private _setDirection(node: Element, direction: string): void {\n        node.setAttribute('direction', `${direction}`);\n    }\n\n    private _setStepChildren(stepItem: NodeListOf<Element>): void {\n        stepItem.forEach((step, idx) => {\n            // @ts-ignore\n            step.dataset['index'] = `${idx}`;\n\n            this._setStatusFlag(step);\n\n            const { icon, title, content } = this._attrs(step);\n\n            const stepsText = idx + 1;\n\n            const template = `\n             <div class=\"${PREFIX.steps}-tail\"><i></i></div>\n             <div class=\"${PREFIX.steps}-head\">\n                <div class=\"${PREFIX.steps}-head-inner\">\n                   <span id=\"stepsIcon\"></span>\n                   <span id=\"stepsText\">${stepsText}</span>\n                </div>\n             </div>\n             <div class=\"${PREFIX.steps}-main\">\n                <div class=\"${PREFIX.steps}-title\">${title}</div>\n                <div class=\"${PREFIX.steps}-content\">${content}</div>\n             </div>\n            `;\n\n            setHtml(step, template);\n\n            this._setCustomIcon(step, icon);\n\n            removeAttrs(step, ['title', 'content', 'icon']);\n        });\n    }\n\n    private _setStatusFlag(step: Element): void {\n        const status = step.getAttribute('status');\n\n        // 如果用户在步骤项设置了status则为该项打上标记，避免被自动设置的默认状态覆盖\n        if (status) {\n            // @ts-ignore\n            step.dataset['specifiesStatus'] = status;\n        }\n    }\n\n    private _setCurrentStep(node: Element, current: number, status: string): void {\n        const len = node.childElementCount - 1;\n        // 防止溢出边界\n        if (current > len) {\n            warn(\n                `The currently active step item you set does not exist in the <r-steps>. --> \"${current}\"`\n            );\n            console.error(node);\n            current = len;\n        }\n\n        // @ts-ignore\n        node.dataset['current'] = current;\n\n        const { _setStatus } = Steps.prototype;\n        const currentStep = node.querySelector(`r-step[data-index=\"${current}\"]`)!;\n\n        _setStatus(node, currentStep, status);\n    }\n\n    private _setStatus(node: Element, currentStep: Element, status: string): void {\n        // @ts-ignore\n        node.dataset['status'] = status;\n\n        const { _setStatusIcon, _setPrevAndNextStatus, _setNextError } = Steps.prototype;\n\n        // @ts-ignore\n        const isAutoStatus = currentStep.dataset['autoStatus'];\n        const selfStatus = currentStep.getAttribute('status');\n\n        // 1.如果步骤项设置了status则优先使用该状态，不包括打上autoStatus的标记项。\n        // 2.如果步骤项父容器指定了某项步骤项为活跃状态，并且指定了 status 则使用该状态。\n        if (selfStatus && isAutoStatus !== '') {\n            currentStep.setAttribute('status', selfStatus);\n            _setStatusIcon(selfStatus, currentStep);\n        } else {\n            currentStep.setAttribute('status', status);\n            _setStatusIcon(status, currentStep);\n        }\n\n        _setPrevAndNextStatus('prev', currentStep, _setStatusIcon);\n        _setPrevAndNextStatus('next', currentStep, _setStatusIcon);\n        _setNextError(node);\n    }\n\n    private _setPrevAndNextStatus(\n        type: 'prev' | 'next',\n        currentStep: Element,\n        setStatusIcon: any\n    ): void {\n        // @ts-ignore\n        const func = type === 'prev' ? prevAll : nextAll;\n        const defaultStatus = type === 'prev' ? 'finish' : 'wait';\n\n        func(currentStep).forEach((step) => {\n            // @ts-ignore\n            const hasSetStatus = step.dataset['specifiesStatus'];\n\n            // 当前步骤项位置的其他节点如果没有提示设置status，则默认设置为 finish / wait，并打上标记\n            // 如果其中有某个设置了则略过\n            if (!hasSetStatus) {\n                // @ts-ignore\n                step.dataset['autoStatus'] = '';\n                step.setAttribute('status', defaultStatus);\n\n                setStatusIcon(defaultStatus, step);\n            } else {\n                setStatusIcon(hasSetStatus, step);\n            }\n        });\n    }\n\n    private _setStatusIcon(status: string, step: Element): void {\n        // @ts-ignore\n        const isUseCustomIcon: boolean = step.dataset['useIcon'] === 'true';\n\n        // 如果使用了自定义图标则略过\n        if (isUseCustomIcon) return;\n\n        const StepsIcon = step.querySelector('#stepsIcon')!;\n        const StepsText = StepsIcon.nextElementSibling!;\n\n        // 步骤项状态不为finish或error则显示步骤数字、隐藏图标容器，反之。\n        if (status !== 'finish' && status !== 'error') {\n            setCss(StepsIcon, 'display', 'none');\n            setCss(StepsText, 'display', '');\n            return;\n        }\n\n        setCss(StepsIcon, 'display', '');\n        setCss(StepsText, 'display', 'none');\n\n        let iconType = '';\n\n        if (status === 'finish') {\n            iconType = 'ios-checkmark';\n        }\n        if (status === 'error') {\n            iconType = 'ios-close';\n        }\n\n        StepsIcon.className = `${PREFIX.steps}-icon ${PREFIX.icon} ${PREFIX.icon}-${iconType}`;\n    }\n\n    private _setCustomIcon(step: Element, icon: string): void {\n        if (!icon) return;\n\n        // @ts-ignore\n        step.dataset['useIcon'] = 'true';\n        step.classList.add(`${PREFIX.steps}-custom`);\n\n        const StepsIcon = step.querySelector('#stepsIcon')!;\n\n        StepsIcon.classList.add(`${PREFIX.icon}`);\n        StepsIcon.classList.add(`${PREFIX.icon}-${icon}`);\n\n        setCss(StepsIcon.nextElementSibling!, 'display', 'none');\n    }\n\n    private _setNextError(node: Element): void {\n        const StepsStep = node.querySelectorAll('r-step');\n\n        StepsStep.forEach((step, idx) => {\n            if (step.getAttribute('status') === 'error' && idx !== 0) {\n                const prevStep = StepsStep[idx - 1];\n\n                if (prevStep.getAttribute('status') === 'error') {\n                    prevStep.classList.add(`${PREFIX.steps}-next-error`);\n                } else {\n                    prevStep.classList.remove(`${PREFIX.steps}-next-error`);\n                }\n            }\n        });\n    }\n\n    private _attrs(node: Element) {\n        return {\n            current: getNumTypeAttr(node, 'current', 0),\n            icon: getStrTypeAttr(node, 'icon', ''),\n            title: getStrTypeAttr(node, 'title', ''),\n            status: getStrTypeAttr(node, 'status', 'process'),\n            content: getStrTypeAttr(node, 'content', ''),\n            direction: getStrTypeAttr(node, 'direction', 'horizontal')\n        };\n    }\n}\n\nexport default Steps;\n"
  },
  {
    "path": "src/components/switch/index.ts",
    "content": "import Switch from './switch';\nexport default Switch;\n"
  },
  {
    "path": "src/components/switch/switch.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        checked: boolean;\n        disabled: boolean;\n        loading: boolean;\n        events({ onChange }: SwitchEvent): void;\n    };\n}\n\ninterface SwitchEvent {\n    onChange?: (checked: boolean) => void;\n}\n\nclass Switch implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = $el('r-switch', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        checked: boolean;\n        disabled: boolean;\n        loading: boolean;\n        events({ onChange }: SwitchEvent): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'switch');\n\n        const Input = target.querySelector('input[type=\"hidden\"]') as HTMLInputElement;\n        const isChecked: boolean = Input.value === 'true';\n        const isDisabled: boolean = target.classList.contains(`${PREFIX.switch}-disabled`);\n        const isLoading: boolean = target.classList.contains(`${PREFIX.switch}-loading`);\n\n        const changeState = (flag: boolean, state: boolean, cls: string) => {\n            if (flag && !type.isBol(flag)) return;\n\n            if (flag && state) return;\n            else target.classList.add(`${PREFIX.switch}-${cls}`);\n\n            if (flag == false) target.classList.remove(`${PREFIX.switch}-${cls}`);\n        };\n\n        return {\n            get checked() {\n                return isChecked;\n            },\n            set checked(newVal: boolean) {\n                changeState(newVal, isChecked, 'checked');\n            },\n\n            get disabled() {\n                return isDisabled;\n            },\n            set disabled(newVal: boolean) {\n                changeState(newVal, isDisabled, 'disabled');\n            },\n\n            get loading() {\n                return isLoading;\n            },\n            set loading(newVal: boolean) {\n                changeState(newVal, isLoading, 'loading');\n            },\n\n            events({ onChange }: SwitchEvent) {\n                let checked: boolean;\n                const handler = () => {\n                    checked = JSON.parse(Input.value);\n                    onChange && type.isFn(onChange, checked);\n                };\n                bind(target, 'click', handler);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>) {\n        COMPONENTS.forEach((node) => {\n            node.setAttribute('tabindex', '0');\n\n            const {\n                checked,\n                loading,\n                disabled,\n                size,\n                open,\n                close,\n                trueColor,\n                falseColor\n            } = this._attrs(node);\n\n            this._setSize(node, size);\n            this._setMainTemplate(node);\n            this._setDisabled(node, disabled);\n            this._setLoading(node, loading);\n            this._setStatusBgc(node, checked, trueColor, falseColor);\n\n            const SwitchInner = node.querySelector(`.${PREFIX.switch}-inner`)!;\n            const HiddenInput = node.querySelector('input[type=\"hidden\"]') as HTMLInputElement;\n\n            this._setChecked(node, HiddenInput, checked);\n            this._setStatusText(SwitchInner, checked, open, close);\n\n            this._handleChange(node, HiddenInput, SwitchInner, {\n                open,\n                close,\n                trueColor,\n                falseColor\n            });\n\n            removeAttrs(node, [\n                'checked',\n                'loading',\n                'disabled',\n                'size',\n                'open',\n                'close',\n                'true-color',\n                'false-color'\n            ]);\n        });\n    }\n\n    private _setDisabled(node: Element, disabled: boolean) {\n        if (!disabled) return;\n        node.classList.add(`${PREFIX.switch}-disabled`);\n    }\n\n    private _setLoading(node: Element, loading: boolean): void {\n        if (!loading) return;\n        node.classList.add(`${PREFIX.switch}-loading`);\n    }\n\n    private _setSize(node: Element, size: string): void {\n        if (!size || size === 'default') return;\n        node.classList.add(`${PREFIX.switch}-${size}`);\n    }\n\n    private _setMainTemplate(node: Element): void {\n        const template = `\n        <input type=\"hidden\" /> \n        <span class=\"${PREFIX.switch}-inner\"></span>\n        `;\n\n        setHtml(node, template);\n    }\n\n    private _handleChange(\n        node: Element,\n        input: HTMLInputElement,\n        textContainer: Element,\n        options: { open: string; close: string; trueColor: string; falseColor: string }\n    ): void {\n        const handler = () => {\n            const isLoading: boolean = node.classList.contains(`${PREFIX.switch}-loading`);\n            const isDisabled: boolean = node.classList.contains(`${PREFIX.switch}-disabled`);\n\n            if (isDisabled || isLoading) return false;\n\n            const isChecked: boolean = node.classList.contains(`${PREFIX.switch}-checked`);\n\n            let flag = false;\n            if (isChecked) {\n                node.classList.remove(`${PREFIX.switch}-checked`);\n            } else {\n                flag = !flag;\n                node.classList.add(`${PREFIX.switch}-checked`);\n            }\n\n            this._setChecked(node, input, flag);\n            this._setStatusBgc(node, flag, options.trueColor, options.falseColor);\n            this._setStatusText(textContainer, flag, options.open, options.close);\n        };\n\n        bind(node, 'click', handler);\n    }\n\n    private _setChecked(node: Element, input: HTMLInputElement, checked: boolean): void {\n        if (checked) {\n            node.classList.add(`${PREFIX.switch}-checked`);\n        }\n\n        input.value = `${checked}`;\n    }\n\n    private _setStatusText(elem: Element, checked: boolean, open: string, close: string): void {\n        const changeText = (text: string, flag: boolean) => {\n            if (text) {\n                if (flag) {\n                    setHtml(elem, text);\n                } else {\n                    setHtml(elem, text);\n                }\n            }\n        };\n        changeText(open, checked);\n        changeText(close, !checked);\n\n        checked ? setHtml(elem, open) : setHtml(elem, close);\n    }\n\n    private _setStatusBgc(\n        node: Element,\n        checked: boolean,\n        trueColor: string,\n        falseColor: string\n    ): void {\n        if (trueColor) {\n            if (checked) {\n                setCss(node, 'backgroundColor', trueColor);\n                setCss(node, 'borderColor', trueColor);\n            }\n        }\n        if (falseColor) {\n            if (!checked) {\n                setCss(node, 'backgroundColor', falseColor);\n                setCss(node, 'borderColor', falseColor);\n            }\n        }\n    }\n\n    private _attrs(node: Element) {\n        return {\n            checked: getBooleanTypeAttr(node, 'checked'),\n            loading: getBooleanTypeAttr(node, 'loading'),\n            disabled: getBooleanTypeAttr(node, 'disabled'),\n            size: getStrTypeAttr(node, 'size', 'default'),\n            open: getStrTypeAttr(node, 'open', ''),\n            close: getStrTypeAttr(node, 'close', ''),\n            trueColor: getStrTypeAttr(node, 'true-color', ''),\n            falseColor: getStrTypeAttr(node, 'false-color', '')\n        };\n    }\n}\n\nexport default Switch;\n"
  },
  {
    "path": "src/components/tabs/index.ts",
    "content": "import Tabs from './tabs';\nexport default Tabs;\n"
  },
  {
    "path": "src/components/tabs/tabs.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    createElem,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml,\n    siblings\n} from '../../dom-utils';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        activeIndex: string;\n        events: ({ onClick, onTabRemove }: TabsEvents) => void;\n    };\n}\n\ninterface TabsEvents {\n    onClick?: (index?: string) => void;\n    onTabRemove?: (index?: string) => void;\n}\n\nclass Tabs implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = $el('r-tabs', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        activeIndex: string;\n        events({ onClick, onTabRemove }: TabsEvents): void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'tabs');\n\n        const TabTabs = target.querySelectorAll(`.${PREFIX.tabs}-tab`);\n        const TabPanes = target.querySelectorAll('r-tab-pane');\n\n        const { _attrs, _changeTab, _changePane } = Tabs.prototype;\n        const { activeIndex } = _attrs(target);\n        return {\n            get activeIndex() {\n                return activeIndex;\n            },\n\n            set activeIndex(newVal: string) {\n                if (!type.isStr(newVal)) return;\n\n                TabPanes.forEach((pane, i) => {\n                    const p = pane as HTMLElement;\n\n                    if (newVal !== p.dataset.paneKey) return;\n\n                    _changeTab(TabTabs[i], true);\n                    _changePane([false, p.parentElement!, i, 'true', p]);\n                });\n            },\n\n            events({ onClick, onTabRemove }) {\n                TabTabs.forEach((tab, i) => {\n                    const tabClose = tab.querySelector(`.${PREFIX.tabs}-close`);\n\n                    const clickEv = () => {\n                        const TabPane = TabPanes[i] as HTMLElement;\n                        const key = TabPane.dataset.paneKey;\n\n                        onClick && type.isFn(onClick, key);\n\n                        if (!tabClose) return;\n                        onTabRemove && type.isFn(onTabRemove, key);\n                    };\n\n                    bind(tab, 'click', clickEv);\n\n                    if (!tabClose) return;\n                    bind(tabClose, 'click', clickEv);\n                });\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const tabPanes = node.querySelectorAll('r-tab-pane');\n            const { activeIndex, size, type, closable, animated } = this._attrs(node);\n\n            this._setType(node, type);\n            this._setSize(node, type, size);\n            this._setNoAnimation(node, animated);\n            this._setBodyTemplate(node);\n            this._setTabPane([node, tabPanes, activeIndex, type, animated, closable]);\n\n            removeAttrs(node, ['active-index', 'type', 'size', 'closable', 'animated']);\n        });\n    }\n\n    private _setType(node: Element, type: string): void {\n        if (type !== 'card') return;\n        node.classList.add(`${PREFIX.tabs}-${type}`);\n    }\n\n    private _setSize(node: Element, type: string, size: string): void {\n        if (type !== 'line' || size !== 'small') return;\n        node.classList.add(`${PREFIX.tabs}-mini`);\n    }\n\n    private _setNoAnimation(node: Element, animated: string): void {\n        if (animated === 'true') return;\n        node.classList.add(`${PREFIX.tabs}-no-animation`);\n    }\n\n    private _setBodyTemplate(node: Element): void {\n        const template = `\n          <div class=\"${PREFIX.tabs}-bar\">\n              <div tabindex=\"0\" class=\"${PREFIX.tabs}-nav-container\">\n                  <div class=\"${PREFIX.tabs}-nav-wrap\">\n                     <div class=\"${PREFIX.tabs}-nav\"></div>\n                  </div>\n              </div>\n          </div>\n          <div class=\"${PREFIX.tabs}-content ${PREFIX.tabs}-content-animated\"></div>`;\n\n        setHtml(node, template);\n    }\n\n    private _setTabPane(\n        args: [Element, NodeListOf<Element>, string, string, string, boolean]\n    ): void {\n        const [node, panes, activekey, type, animated, closable] = args;\n\n        const TabNav = node.querySelector(`.${PREFIX.tabs}-nav`);\n        const TabPaneContainer = node.querySelector(`.${PREFIX.tabs}-content`);\n\n        const Fragment = document.createDocumentFragment();\n\n        panes.forEach((pane, idx) => {\n            const { index: key, tab, icon, closable: separateClose, disabled } = this._paneAttrs(\n                pane\n            );\n\n            const TabsTab: HTMLElement = this._setTab(TabNav!, tab);\n\n            this._setTabIcon(TabsTab, icon);\n            this._setTabClosable([TabsTab, type, closable, separateClose]);\n            this._setTabDisabled(TabsTab, disabled);\n\n            setCss(pane, 'display', `${animated === 'true' ? 'block' : 'none'}`);\n\n            this._setPaneKey(pane, key, idx);\n            this._setActive([closable, TabPaneContainer!, TabsTab, pane, activekey, idx, animated]);\n\n            this._handleToggle([closable, TabsTab, pane, idx, disabled, animated]);\n            this._handleRemove(TabsTab, pane);\n\n            Fragment.appendChild(pane);\n\n            removeAttrs(pane, ['index', 'tab', 'icon', 'disabled', 'closable']);\n        });\n\n        TabPaneContainer?.appendChild(Fragment);\n    }\n\n    private _setTab(tabsNav: Element, content: string): HTMLElement {\n        const TabsTab = createElem('div');\n\n        TabsTab.className = `${PREFIX.tabs}-tab`;\n\n        setHtml(TabsTab, content);\n\n        tabsNav.appendChild(TabsTab);\n\n        return TabsTab;\n    }\n\n    private _setTabIcon(tabElm: Element, icon: string): void {\n        if (!icon) return;\n\n        const Icon = createElem('i');\n\n        Icon.className = `${PREFIX.icon} ${PREFIX.icon}-${icon}`;\n        tabElm.prepend(Icon);\n    }\n\n    private _setTabClosable(args: [Element, string, boolean, string]): void {\n        const [tabElm, type, closable, separateClose] = args;\n\n        if (!closable || type !== 'card') return;\n\n        const CloseIcon = createElem('icon');\n\n        CloseIcon.className = `${PREFIX.icon} ${PREFIX.icon}-ios-close ${PREFIX.tabs}-close`;\n\n        // 单独设置当前选项是否可以关闭页签\n        if (separateClose === 'false') return;\n\n        tabElm.appendChild(CloseIcon);\n    }\n\n    private _setTabDisabled(tabsTab: Element, disabled: boolean): void {\n        if (!disabled) return;\n        tabsTab.classList.add(`${PREFIX.tabs}-tab-disabled`);\n    }\n\n    private _setPaneKey(pane: Element, key: string, idx: number): void {\n        // 当前面板的 key 如果不填则默认为其索引值\n        // @ts-ignore\n        pane.dataset.paneKey = !key ? idx : key;\n    }\n\n    private _setActive(args: [boolean, Element, Element, Element, string, number, string]): void {\n        const [closable, paneContainer, tabsTab, pane, activekey, idx, animated] = args;\n\n        // @ts-ignore\n        const isEqual = activekey === pane.dataset.paneKey;\n\n        if (isEqual) {\n            this._changeTab(tabsTab);\n            this._changePane([closable, paneContainer, idx]);\n        }\n\n        setCss(pane, 'visibility', `${isEqual ? 'visible' : 'hidden'}`);\n\n        if (animated === 'false') {\n            setCss(pane, 'display', `${isEqual ? 'block' : 'none'}`);\n        }\n    }\n\n    private _handleToggle(args: [boolean, Element, Element, number, boolean, string]): void {\n        const [closable, tabsTab, pane, idx, disabled, animated] = args;\n\n        bind(tabsTab, 'click', () => {\n            if (disabled) return false;\n\n            this._changeTab(tabsTab);\n            this._changePane([closable, pane.parentElement!, idx, animated, pane]);\n        });\n    }\n\n    private _handleRemove(tabsTab: Element, pane: Element): void {\n        const TabClose = tabsTab.querySelector(`.${PREFIX.tabs}-close`);\n\n        if (!TabClose) return;\n\n        /**\n         * @param elm1 tabs的选项\n         * @param elm2 tabs的面板\n         */\n        const changeActive = (elm1: Element, elm2: Element) => {\n            if (tabsTab.classList.contains(`${PREFIX.tabs}-tab-active`)) {\n                this._changeTab(elm1, false);\n            }\n\n            setCss(elm2, 'display', 'block');\n            setCss(elm2, 'visibility', 'visible');\n        };\n\n        const removeEv = () => {\n            const prevTab = tabsTab.previousElementSibling;\n            const nextTab = tabsTab.nextElementSibling;\n            const prevPane = pane.previousElementSibling;\n            const nextPane = pane.nextElementSibling;\n\n            if (nextTab && nextPane) {\n                changeActive(nextTab, nextPane);\n            } else if (prevTab && prevPane) {\n                changeActive(prevTab, prevPane);\n            }\n\n            tabsTab.remove();\n            pane.remove();\n        };\n\n        bind(TabClose, 'click', (e: Event) => {\n            e.stopPropagation();\n            removeEv();\n        });\n    }\n\n    private _changeTab(tabsTab: Element, siblingsChange = true): void {\n        tabsTab.classList.add(`${PREFIX.tabs}-tab-active`);\n        tabsTab.classList.add(`${PREFIX.tabs}-tab-focused`);\n\n        if (!siblingsChange) return;\n\n        siblings(tabsTab).forEach((o) => {\n            o.classList.remove(`${PREFIX.tabs}-tab-active`);\n            o.classList.remove(`${PREFIX.tabs}-tab-focused`);\n        });\n    }\n\n    private _changePane(args: [boolean, Element, number, string?, Element?]): void {\n        const [closable, paneContainer, idx, animated, pane] = args;\n\n        // 如果选项卡启用了可关闭功能，则不使用动画切换，这为了减少 tab 删除操作的工作量\n        if (!closable) {\n            const translateX = idx * 100;\n            setCss(paneContainer, 'transform', `translateX(-${translateX}%)`);\n        }\n\n        // 是否要一并更改面板项\n        if (!pane) return;\n\n        setCss(pane, 'display', 'block');\n        setCss(pane, 'visibility', 'visible');\n\n        siblings(pane).forEach((o) => {\n            if (animated === 'false' || closable) setCss(o, 'display', 'none');\n\n            setCss(o, 'visibility', 'hidden');\n        });\n    }\n\n    private _attrs(node: Element) {\n        return {\n            activeIndex: getStrTypeAttr(node, 'active-index', '0'),\n            type: getStrTypeAttr(node, 'type', 'line'),\n            size: getStrTypeAttr(node, 'size', 'default'),\n            animated: getStrTypeAttr(node, 'animated', 'true'),\n            closable: getBooleanTypeAttr(node, 'closable')\n        };\n    }\n\n    private _paneAttrs(pane: Element) {\n        return {\n            tab: getStrTypeAttr(pane, 'tab', ''),\n            index: getStrTypeAttr(pane, 'index', ''),\n            icon: getStrTypeAttr(pane, 'icon', ''),\n            closable: getStrTypeAttr(pane, 'closable', 'true'),\n            disabled: getBooleanTypeAttr(pane, 'disabled')\n        };\n    }\n}\n\nexport default Tabs;\n"
  },
  {
    "path": "src/components/tag/index.ts",
    "content": "import Tag from './tag';\nexport default Tag;\n"
  },
  {
    "path": "src/components/tag/tag.ts",
    "content": "import {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { destroyElem, validComps } from '../../utils';\nimport { isFn } from '../../utils/check-type';\nimport PREFIX from '../prefix';\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        events({ onClose, onChange }: TagEvents): void;\n    };\n}\n\ninterface TagEvents {\n    onClose?: ($this: Element) => void;\n    onChange?: (checked: boolean) => void;\n}\n\nclass Tag implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = $el('r-tag', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    public config(\n        el: string\n    ): {\n        events({ onClose, onChange }: TagEvents): void;\n    } {\n        const target = $el(el);\n\n        validComps(target, 'tag');\n\n        const CloseIcon = target.querySelector(`.${PREFIX.icon}-ios-close`);\n\n        const $this = target;\n        let checked: boolean;\n\n        return {\n            events({ onClose, onChange }: TagEvents) {\n                bind(target, 'click', () => {\n                    checked = target.dataset.checked === 'true' ? true : false;\n                    onChange && isFn(onChange, checked);\n                });\n\n                if (!CloseIcon) return;\n\n                bind(CloseIcon, 'click', (e: Event) => {\n                    e.stopPropagation();\n                    onClose && isFn(onClose, $this);\n                });\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { type, size, color, checked, checkable, closable } = this._attrs(node);\n\n            this._setMainTemplate(node);\n            this._setType(node, type);\n            this._setIsChecked(node, checked);\n            this._setSize(node, size);\n            this._setColor(node, type, checkable, color);\n            this._setClosable(node, closable);\n            this._setCheckable(node, checkable);\n            this._handleClose(node, closable);\n\n            removeAttrs(node, ['type', 'size', 'color', 'checked', 'checkable', 'closable']);\n        });\n    }\n\n    private _setMainTemplate(node: Element): void {\n        const content = setHtml(node);\n        setHtml(node, `<span class=\"${PREFIX.tag}-text\">${content}</span>`);\n    }\n\n    private _setType(node: Element, type: string) {\n        if (type) node.classList.add(`${PREFIX.tag}-${type}`);\n\n        if (type === 'dot') {\n            node.insertAdjacentHTML('afterbegin', `<span class=\"${PREFIX.tag}-dot-inner\"></span>`);\n        }\n    }\n\n    private _setIsChecked(node: Element, checkable: string): void {\n        if (checkable !== 'true') return;\n        node.classList.add(`${PREFIX.tag}-checked`);\n    }\n\n    private _setColor(node: Element, type: string, checkable: boolean, color: string): void {\n        const { _defaultColors } = this;\n        const isUseDefaultColor = _defaultColors().includes(color);\n        const TagText = node.querySelector(`.${PREFIX.tag}-text`);\n\n        if (!color) return;\n\n        if (isUseDefaultColor) {\n            node.classList.add(`${PREFIX.tag}-${color}`);\n        } else {\n            setCss(node, 'background', `${color}`);\n            setCss(node, 'borderColor', `${color}`);\n        }\n\n        if (color !== 'default' && type !== 'dot' && type !== 'border' && !checkable) {\n            TagText?.classList.add(`${PREFIX.tag}-color-white`);\n        }\n\n        if (isUseDefaultColor && type === 'border') {\n            TagText?.classList.add(`${PREFIX.tag}-color-${color}`);\n        } else {\n            setCss(TagText, 'color', `${color}`);\n        }\n    }\n\n    private _setSize(node: Element, size: string): void {\n        if (!size) return;\n        node.classList.add(`${PREFIX.tag}-size-${size}`);\n    }\n\n    private _setClosable(node: Element, closable: boolean): void {\n        if (!closable) return;\n\n        node.classList.add(`${PREFIX.tag}-closable`);\n        node.insertAdjacentHTML(\n            'beforeend',\n            `<i class=\"${PREFIX.icon} ${PREFIX.icon}-ios-close\"></i>`\n        );\n    }\n\n    private _setCheckable(node: Element, checkable: boolean): void {\n        if (!checkable) return;\n\n        node.classList.remove(`${PREFIX.tag}-checked`);\n\n        const TagText = node.querySelector(`.${PREFIX.tag}-text`);\n\n        bind(node, 'click', () => {\n            const isChecked = node.classList.contains(`${PREFIX.tag}-checked`);\n            // @ts-ignore\n            node.dataset.checked = !isChecked;\n            node.classList[isChecked ? 'remove' : 'add'](`${PREFIX.tag}-checked`);\n            TagText?.classList[isChecked ? 'remove' : 'add'](`${PREFIX.tag}-color-white`);\n        });\n    }\n\n    private _handleClose(node: Element, closable: boolean): void {\n        if (!closable) return;\n\n        const CloseIcon = node.querySelector(`.${PREFIX.icon}-ios-close`);\n        bind(CloseIcon, 'click', () => {\n            destroyElem(node, { fadeOut: true });\n        });\n    }\n\n    private _defaultColors(): string[] {\n        const COLORS = [\n            'default',\n            'primary',\n            'success',\n            'warning',\n            'error',\n            'blue',\n            'green',\n            'red',\n            'yellow',\n            'pink',\n            'magenta',\n            'volcano',\n            'orange',\n            'gold',\n            'lime',\n            'cyan',\n            'geekblue',\n            'purple'\n        ];\n        return COLORS;\n    }\n\n    private _attrs(node: Element) {\n        return {\n            type: getStrTypeAttr(node, 'type', ''),\n            size: getStrTypeAttr(node, 'size', ''),\n            color: getStrTypeAttr(node, 'color', 'default'),\n            checked: getStrTypeAttr(node, 'checked', 'true'),\n            closable: getBooleanTypeAttr(node, 'closable'),\n            checkable: getBooleanTypeAttr(node, 'checkable')\n        };\n    }\n}\n\nexport default Tag;\n"
  },
  {
    "path": "src/components/time/index.ts",
    "content": "import Time from './time';\nexport default Time;\n"
  },
  {
    "path": "src/components/time/time.ts",
    "content": "import dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport PREFIX from '../prefix';\nimport { $el, getNumTypeAttr, getStrTypeAttr, removeAttrs, setText } from '../../dom-utils';\n\nimport 'dayjs/locale/zh-cn';\n\nclass Time {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n    public locale: (str: string) => string;\n\n    constructor() {\n        this.VERSION = 'v1.0';\n        this.COMPONENTS = $el('r-time', { all: true });\n\n        // 配置默认语言 (全局)\n        dayjs.locale('zh-cn');\n\n        // 改变语言配置 (全局)，需自行引入 dayjs 语言包\n        // 注意！通过 script 标签引入 rabbitjs 的情况下，通过这个函数设置语言是无效的\n        this.locale = (str) => dayjs.locale(str);\n\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const { type, time, interval, hash } = this._attrs(node);\n\n            this._setTime(node, type, time, interval);\n            this._handleClick(node, hash);\n\n            removeAttrs(node, ['time', 'type', 'hash', 'interval']);\n        });\n    }\n\n    private _setTime(node: Element, type: string, time: string, interval: number): void {\n        const timeStamp = eval(time);\n\n        let seconds = 0;\n\n        const timer = () => {\n            if (type === 'relative') {\n                dayjs.extend(relativeTime);\n\n                let _relativeTime = dayjs(timeStamp).fromNow();\n\n                // 如果自动更新的间隔小于60则是要通过秒更新时间而不是分钟\n                // 当秒数走到60秒后就转换为 “x分钟前” 显示\n                if (interval < 60) {\n                    const Chinese = ['zh', 'zh-cn', 'zh-hk', 'zh-tw'];\n                    // 语言环境为中文才进行并显示秒级别更新\n                    if (Chinese.includes(dayjs.locale())) {\n                        seconds++;\n                        setText(node, `${seconds}秒前`);\n                    }\n                } else {\n                    setText(node, _relativeTime);\n                }\n\n                // 这段为设置中文状态下的情景\n                if (_relativeTime === '几秒前') {\n                    _relativeTime = '刚刚';\n                } else {\n                    setText(node, _relativeTime);\n                }\n            } else if (type === 'date') {\n                const date = dayjs(timeStamp).format('YYYY-MM-DD');\n                setText(node, date);\n            } else if (type === 'datetime') {\n                const dataTime = dayjs(timeStamp).format('YYYY-MM-DD-HH:mm:ss');\n                setText(node, dataTime);\n            }\n\n            return timer;\n        };\n\n        setTimeout(() => {\n            window.setInterval(timer(), interval * 1000);\n        }, 0);\n    }\n\n    private _handleClick(node: Element, hash: string): void {\n        if (!hash) return;\n\n        node.classList.add(`${PREFIX.time}-with-hash`);\n        node.addEventListener('click', () => (window.location.hash = hash));\n    }\n\n    private _attrs(node: Element) {\n        return {\n            time: getStrTypeAttr(node, 'time', ''),\n            type: getStrTypeAttr(node, 'type', 'relative'),\n            hash: getStrTypeAttr(node, 'hash', ''),\n            interval: getNumTypeAttr(node, 'interval', 60)\n        };\n    }\n}\n\nexport default Time;\n"
  },
  {
    "path": "src/components/timeline/index.ts",
    "content": "import Timeline from './timeline';\nexport default Timeline;\n"
  },
  {
    "path": "src/components/timeline/timeline.ts",
    "content": "import { $el, createElem, removeAttrs, setCss, setHtml } from '../../dom-utils';\nimport PREFIX from '../prefix';\n\nclass Timeline {\n    readonly VERSION: string;\n    readonly COMPONENTS: any;\n\n    constructor() {\n        this.VERSION = '1.0';\n        this.COMPONENTS = $el('r-timeline > r-timeline-item', { all: true });\n        this._create(this.COMPONENTS);\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const TimelineItem = node;\n\n            const TimelineTail = createElem('div');\n            const TimelineHead = createElem('div');\n            const TimelineContent = createElem('div');\n\n            this._setCls(TimelineTail, TimelineHead, TimelineContent);\n            this._setColor(TimelineItem, TimelineHead);\n            this._setDot(TimelineItem, TimelineHead);\n            this._setContent(TimelineItem, TimelineContent);\n\n            TimelineItem.append(TimelineTail, TimelineHead, TimelineContent);\n\n            removeAttrs(TimelineItem, ['dot']);\n        });\n    }\n\n    private _setCls(node1: HTMLElement, node2: HTMLElement, node3: HTMLElement): void {\n        node1.className = `${PREFIX.timeline}-item-tail`;\n        node2.className = `${PREFIX.timeline}-item-head`;\n        node3.className = `${PREFIX.timeline}-item-content`;\n    }\n\n    private _setContent(parent: Element, node1: HTMLElement): void {\n        setHtml(node1, parent.innerHTML);\n        // 清空原先的内容\n        setHtml(parent, '');\n    }\n\n    private _setColor(parent: Element, node: HTMLElement): void {\n        const colors = this._getStatusColor(parent);\n\n        // 设置预设颜色或者自定义颜色\n        if (colors === 'blue' || colors === 'red' || colors === 'gray' || colors === 'green') {\n            node.classList.add(`${PREFIX.timeline}-item-head-${colors}`);\n        } else {\n            setCss(node, 'color', colors);\n            setCss(node, 'borderColor', colors);\n        }\n    }\n\n    // 自定义时间轴点的内容\n    private _setDot(parent: Element, node: HTMLElement): void {\n        if (!this._getDotContent(parent)) return;\n\n        node.classList.add(`${PREFIX.timeline}-item-head-custom`);\n\n        const content = this._getDotContent(parent);\n        setHtml(node, content);\n    }\n\n    private _getStatusColor(node: Element): string {\n        return node.getAttribute('color') || 'blue';\n    }\n\n    private _getDotContent(parent: Element): string {\n        return parent.getAttribute('dot') || '';\n    }\n}\n\nexport default Timeline;\n"
  },
  {
    "path": "src/components/tooltip/index.ts",
    "content": "import Tooltip from './tooltip';\nexport default Tooltip;\n"
  },
  {
    "path": "src/components/tooltip/tooltip.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n    $el,\n    bind,\n    getBooleanTypeAttr,\n    getNumTypeAttr,\n    getStrTypeAttr,\n    removeAttrs,\n    setCss,\n    setHtml\n} from '../../dom-utils';\nimport { CssTransition, _arrow, _Popper } from '../../mixins';\nimport { type, validComps } from '../../utils';\nimport PREFIX from '../prefix';\n\nconst STATEKEY = 'tooltipState';\nconst DEFAULTDELAY = 80;\nconst EnterCls = 'zoom-big-fast-enter';\nconst LeaveCls = 'zoom-big-fast-leave';\nconst CssTransitonCommonConfig = {\n    rmCls: true,\n    timeout: 80,\n    enterCls: EnterCls,\n    leaveCls: LeaveCls\n};\n\nlet VISIBLETIMER: any, EVENTTIMER: any;\n\ninterface Config {\n    config(\n        el: string\n    ): {\n        content: string | number;\n        always: boolean;\n        disabled: boolean;\n        events: ({ onVisibleChange }: TooltipEvent) => void;\n    };\n}\n\ninterface TooltipEvent {\n    onVisibleChange?: (visable: boolean) => void;\n}\n\nclass Tooltip implements Config {\n    readonly VERSION: string;\n    readonly COMPONENTS: NodeListOf<Element>;\n\n    constructor() {\n        this.VERSION = 'v2.0';\n        this.COMPONENTS = $el('r-tooltip', { all: true });\n        this._create(this.COMPONENTS);\n        _arrow.scrollUpdate();\n    }\n\n    public config(\n        el: string\n    ): {\n        content: string | number;\n        always: boolean;\n        disabled: boolean;\n        events: ({ onVisibleChange }: TooltipEvent) => void;\n    } {\n        const target = $el(el) as HTMLElement;\n\n        validComps(target, 'tooltip');\n\n        const { _attrs, _setAlwaysShow, _handleMouseEv } = Tooltip.prototype;\n        const { delay, always, disabled, offset, placement } = _attrs(target);\n\n        const TooltipPopper = target.querySelector(`.${PREFIX.tooltip}-popper`)! as HTMLElement;\n        const TooltipInner = target.querySelector(`.${PREFIX.tooltip}-inner`)!;\n\n        return {\n            get content() {\n                return setHtml(TooltipInner);\n            },\n            set content(newVal: string | number) {\n                if (newVal && !type.isStr(newVal) && !type.isNum(newVal)) return;\n                setHtml(TooltipInner, `${newVal}`);\n            },\n\n            get always() {\n                return always;\n            },\n            set always(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n                _setAlwaysShow(TooltipPopper, newVal);\n            },\n\n            get disabled() {\n                return disabled;\n            },\n            set disabled(newVal: boolean) {\n                if (newVal && !type.isBol(newVal)) return;\n\n                _handleMouseEv(\n                    target,\n                    TooltipPopper,\n                    delay,\n                    offset,\n                    placement,\n                    this.always,\n                    newVal\n                );\n            },\n\n            events({ onVisibleChange }) {\n                const event = () => {\n                    const visable: boolean = TooltipPopper.dataset[STATEKEY] === 'show';\n                    onVisibleChange && type.isFn(onVisibleChange, visable);\n                };\n                const show = () => {\n                    if (EVENTTIMER) clearTimeout(EVENTTIMER);\n                    EVENTTIMER = setTimeout(event, delay);\n                };\n                const close = () => {\n                    if (EVENTTIMER) clearTimeout(EVENTTIMER);\n                    // 当鼠标移出tooltip后判断当前状态如果为 show，\n                    // 那么说明气泡显示过了，该执行移出事件了。\n                    // 避免了即使鼠标移出但没有显示过气泡而依然执行事件。\n                    if (TooltipPopper.dataset[STATEKEY] === 'show') setTimeout(event, DEFAULTDELAY);\n                };\n\n                bind(target, 'mouseenter', show);\n                bind(target, 'mouseleave', close);\n            }\n        };\n    }\n\n    private _create(COMPONENTS: NodeListOf<Element>): void {\n        COMPONENTS.forEach((node) => {\n            const {\n                content,\n                theme,\n                placement,\n                offset,\n                maxWidth,\n                delay,\n                always,\n                disabled\n            } = this._attrs(node);\n\n            const children = !node.firstElementChild\n                ? node.innerHTML.trim()\n                : node.firstElementChild;\n\n            this._setMainTemplate(node, content, theme, placement);\n\n            const TooltipPopper = node.querySelector(`.${PREFIX.tooltip}-popper`)! as HTMLElement;\n\n            this._setReferencesElem(node, children);\n            this._setPopper(node, TooltipPopper, placement, offset);\n            this._setMaxWidth(node, maxWidth);\n            this._setAlwaysShow(TooltipPopper, always);\n            this._handleMouseEv(node, TooltipPopper, delay, offset, placement, always, disabled);\n\n            removeAttrs(node, ['content', 'theme', 'delay', 'max-width', 'disabled', 'offset']);\n        });\n    }\n\n    private _setMainTemplate(\n        node: Element,\n        content: string,\n        theme: string,\n        placement: string\n    ): void {\n        const template = `\n         <div class=\"${PREFIX.tooltip}-rel\"></div>\n         <div class=\"${PREFIX.tooltip}-popper ${PREFIX.tooltip}-${theme}\" x-placement=\"${placement}\">\n             <div class=\"${PREFIX.tooltip}-content\">\n                 <div class=\"${PREFIX.tooltip}-arrow\"></div>\n                 <div class=\"${PREFIX.tooltip}-inner\">${content}</div>\n             </div>\n         </div>\n       `;\n\n        setHtml(node, template);\n    }\n\n    private _setReferencesElem(node: Element, children: Element | string): void {\n        const TooltipRel = node.querySelector(`.${PREFIX.tooltip}-rel`)!;\n\n        if (children instanceof Element) {\n            TooltipRel.appendChild(children);\n        } else {\n            setHtml(TooltipRel, children);\n        }\n    }\n\n    private _setMaxWidth(node: Element, width: string): void {\n        if (!width) return;\n\n        const TooltipInner = node.querySelector(`.${PREFIX.tooltip}-inner`)!;\n\n        TooltipInner.classList.add(`${PREFIX.tooltip}-with-width`);\n        setCss(TooltipInner, 'maxWidth', `${width}px`);\n    }\n\n    private _setAlwaysShow(children: HTMLElement, always: boolean): void {\n        if (!always) setCss(children, 'display', 'none');\n        children.dataset[STATEKEY] = 'pending';\n    }\n\n    private _handleMouseEv(\n        node: Element,\n        children: HTMLElement,\n        delay: number,\n        offset: number,\n        placement: string,\n        always: boolean,\n        disabled: boolean\n    ): void {\n        if (always || disabled) return;\n\n        const setVisable = (mode: 'in' | 'out') => {\n            if (mode === 'in') this._setPopper(node, children, placement, offset);\n            children.dataset[STATEKEY] = mode === 'in' ? 'show' : 'close';\n            CssTransition(children, {\n                inOrOut: mode,\n                ...CssTransitonCommonConfig\n            });\n        };\n        const show = () => {\n            if (VISIBLETIMER) clearTimeout(VISIBLETIMER);\n            VISIBLETIMER = setTimeout(() => setVisable('in'), delay);\n        };\n        const hide = () => {\n            if (VISIBLETIMER) clearTimeout(VISIBLETIMER);\n            if (children.dataset[STATEKEY] === 'show')\n                setTimeout(() => setVisable('out'), DEFAULTDELAY);\n        };\n\n        bind(node, 'mouseenter', show);\n        bind(node, 'mouseleave', hide);\n    }\n\n    private _setPopper(\n        node: Element,\n        children: HTMLElement,\n        placement: string,\n        offset: number\n    ): any {\n        return _Popper._newCreatePopper(node, children, placement, offset);\n    }\n\n    private _attrs(node: Element) {\n        return {\n            theme: getStrTypeAttr(node, 'theme', 'dark'),\n            content: getStrTypeAttr(node, 'content', ''),\n            maxWidth: getStrTypeAttr(node, 'max-width', ''),\n            placement: getStrTypeAttr(node, 'placement', 'top'),\n            delay: getNumTypeAttr(node, 'delay', DEFAULTDELAY),\n            offset: getNumTypeAttr(node, 'offset', 0),\n            always: getBooleanTypeAttr(node, 'always'),\n            disabled: getBooleanTypeAttr(node, 'disabled')\n        };\n    }\n}\n\nexport default Tooltip;\n"
  },
  {
    "path": "src/dom-utils/bind.ts",
    "content": "/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * 解决事件监听兼容性问题\n * @param {Object} obj对象\n * @param {String} type事件类型,不带'on'前缀\n * @param {Function} callback事件处理程序\n */\nexport function bind(obj: Element | HTMLElement | Window | any, type: string, callback: any): void {\n    if (obj.addEventListener) {\n        // W3C内核\n        obj.addEventListener(type, callback);\n    } else {\n        // IE内核\n        obj.attachEvent(`on${type}`, callback);\n    }\n}\n\n/**\n * 解决移除事件监听兼容性问题\n * @param {Object} obj对象\n * @param {String} type事件类型,不带'on'前缀\n * @param {Function} callback事件处理程序\n */\nexport function unbind(obj: Element | HTMLElement | Window | any, type: string, callback: any) {\n    if (obj.removeEventListener) {\n        // W3C内核\n        obj.removeEventListener(type, callback);\n    } else {\n        // IE内核\n        obj.detachEvent(`on${type}`, callback);\n    }\n}\n"
  },
  {
    "path": "src/dom-utils/elem.ts",
    "content": "/**\n * 获取元素\n * @param node\n * @param options 选项 all 表示是否获取所有节点\n */\nexport function $el(\n    node: string | Element | any,\n    options?: { all: boolean }\n): Element | HTMLElement | null | NodeListOf<any> | NodeListOf<Element> | any {\n    if (options?.all) {\n        return document.querySelectorAll(node);\n    } else {\n        return document.querySelector(node);\n    }\n}\n\nexport function createElem(tagName: string): HTMLElement {\n    return document.createElement(tagName);\n}\n\nexport function setCss(node: Element | HTMLElement | any, styeName: string, value: string): string {\n    return (node.style[styeName] = value);\n}\n\nexport function setHtml(node: Element, value?: string): string {\n    if (value || value === '') {\n        return (node.innerHTML = value);\n    } else {\n        return node.innerHTML;\n    }\n}\n\nexport function setText(node: Element, value?: string): string {\n    if (value || value === '') {\n        return (node.textContent = value);\n    } else {\n        return node.textContent || '';\n    }\n}\n\n// 通用的标签属性获取方法\n// 获取后的值由原先的字符串类型转换成对应类型\n\n// Return String type\nexport function getStrTypeAttr(node: Element, attrName: string, defaultVal: string): string | any {\n    return node.getAttribute(attrName) || defaultVal;\n}\n\n// Return Boolean type\nexport function getBooleanTypeAttr(node: Element, attrName: string): boolean {\n    return node.getAttribute(attrName) === 'true';\n}\n\n// Return Number type\nexport function getNumTypeAttr(node: Element, attrName: string, defaultVal?: number): number | any {\n    return Number(node.getAttribute(attrName)) || defaultVal;\n}\n\n// Return Array type\nexport function getArrTypeAttr(node: Element, attrName: string): Array<string | number> {\n    const attr = node.getAttribute(attrName)?.replace(/'/g, '\"') || '[]';\n    const array: [string | number] = JSON.parse(attr);\n\n    return array;\n}\n"
  },
  {
    "path": "src/dom-utils/index.ts",
    "content": "import { bind, unbind } from './bind';\n\nimport {\n    $el,\n    createElem,\n    setCss,\n    setHtml,\n    setText,\n    getStrTypeAttr,\n    getNumTypeAttr,\n    getArrTypeAttr,\n    getBooleanTypeAttr\n} from './elem';\n\nimport { prevAll, nextAll } from './prev&next';\nimport removeAttrs from './remove-attrs';\nimport siblings from './siblings';\nimport slider from './slide';\n\nexport {\n    bind,\n    unbind,\n    $el,\n    createElem,\n    setCss,\n    setHtml,\n    setText,\n    prevAll,\n    nextAll,\n    removeAttrs,\n    siblings,\n    slider,\n    getStrTypeAttr,\n    getNumTypeAttr,\n    getArrTypeAttr,\n    getBooleanTypeAttr\n};\n"
  },
  {
    "path": "src/dom-utils/prev&next.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nexport function prevAll(el: Element): Element[] {\n    const Parent = el.parentElement;\n    const Child = Parent!.children;\n    const prevChildren = [];\n\n    let i = 0;\n    const { length } = Child;\n\n    for (; i < length; i++) {\n        const _child = Child[i];\n        if (_child == el) {\n            break;\n        }\n        prevChildren.push(_child);\n    }\n    return prevChildren;\n}\n\nexport function nextAll(el: Element): Element[] {\n    const Parent = el.parentElement;\n    const Child = Parent!.children;\n    const nextChildren = [];\n\n    const { length } = Child;\n    const start = 0;\n    let i = length - 1;\n\n    for (; i >= start; i--) {\n        const _child = Child[i];\n        if (_child == el) {\n            break;\n        }\n        nextChildren.unshift(_child);\n    }\n    return nextChildren;\n}\n"
  },
  {
    "path": "src/dom-utils/remove-attrs.ts",
    "content": "/**\n * 移除组件标签的自定义属性\n * 1.非关联css的属性\n * 2.仅取值属性\n * 3.非业务逻辑代码要用的属性\n */\nexport default function removeAttrs(elem: Element, attrs: Array<string>): void {\n    const len = attrs.length;\n    let i = 0,\n        attrName = '';\n    for (; i < len; i++) {\n        attrName = attrs[i];\n        if (elem.hasAttribute(attrName)) {\n            elem.removeAttribute(attrName);\n        }\n    }\n}\n"
  },
  {
    "path": "src/dom-utils/siblings.ts",
    "content": "export default function siblings(elem: Element): any[] {\n    const r = [];\n    let n = elem.parentNode?.firstChild;\n    for (; n; n = n.nextSibling) {\n        if (n.nodeType === 1 && n !== elem) {\n            r.push(n);\n        }\n    }\n    return r;\n}\n"
  },
  {
    "path": "src/dom-utils/slide.ts",
    "content": "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable prefer-rest-params */\n// @ts-nocheck\n\nexport default window.Slider = (() => {\n    // 定义Slider对象\n    const Slider = {\n        slideDown: (el: Element, time: number) => {\n            void 0;\n        },\n        slideUp: (el: Element, time: number) => {\n            void 0;\n        }\n    };\n\n    // I.定义一个TimerManager类\n\n    // 1）构造函数\n    function TimerManager() {\n        this.timers = []; // 保存定时器\n        this.args = []; // 保存定时器的参数\n        this.isFiring = false;\n    }\n\n    // 2）静态方法：为element添加一个TimerManager实例\n    TimerManager.makeInstance = function (element) {\n        // 如果element.__TimerManager__上没有TimerManager，就为其添加一个\n        if (!element.__TimerManager__ || element.__TimerManager__.constructor != TimerManager) {\n            element.__TimerManager__ = new TimerManager();\n        }\n    };\n\n    // 3）扩展TimerManager原型，分别实现add，fire，next方法\n    TimerManager.prototype.add = function (timer, args) {\n        this.timers.push(timer);\n        this.args.push(args);\n        this.fire();\n    };\n\n    TimerManager.prototype.fire = function () {\n        if (!this.isFiring) {\n            const timer = this.timers.shift(), // 取出定时器\n                args = this.args.shift(); // 取出定时器参数\n            if (timer && args) {\n                this.isFiring = true;\n                // 传入参数，执行定时器函数\n                timer(args[0], args[1]);\n            }\n        }\n    };\n\n    TimerManager.prototype.next = function () {\n        this.isFiring = false;\n        this.fire();\n    };\n\n    // II. 修改动画函数并在定时器结束后调用element.__TimerManager__.next()\n\n    // 1）下滑函数\n    function fnSlideDown(element, time) {\n        if (element.offsetHeight == 0) {\n            //如果当前高度为0，则执行下拉动画\n            // 获取元素总高度\n            element.style.display = 'block'; // 1.显示元素，元素变为可见\n            const totalHeight = element.offsetHeight; // 2.保存总高度\n            element.style.height = '0px'; // 3.再将元素高度设置为0，元素又变为不可见\n            // 定义一个变量保存元素当前高度\n            let currentHeight = 0; // 当前元素高度为0\n            // 计算每次增加的值\n            const increment = totalHeight / (time / 10);\n            // 开始循环定时器\n            const timer = setInterval(() => {\n                // 增加一部分高度\n                currentHeight += increment;\n                // 把当前高度赋值给height属性\n                element.style.height = `${currentHeight}px`;\n                // 如果当前高度大于或等于总高度则关闭定时器\n                if (currentHeight >= totalHeight) {\n                    // 关闭定时器\n                    clearInterval(timer);\n                    // 把高度设置为总高度\n                    element.style.height = `${totalHeight}px`;\n                    if (\n                        element.__TimerManager__ &&\n                        element.__TimerManager__.constructor == TimerManager\n                    ) {\n                        element.__TimerManager__.next();\n                    }\n                }\n            }, 10);\n        } else {\n            // 如果当前高度不为0，则直接执行队列里的下一个函数\n            if (element.__TimerManager__ && element.__TimerManager__.constructor == TimerManager) {\n                element.__TimerManager__.next();\n            }\n        }\n    }\n\n    // 2）上拉函数\n    function fnSlideUp(element, time) {\n        if (element.offsetHeight > 0) {\n            // 如果当前高度不为0，则执行上滑动画\n            // 获取元素总高度\n            const totalHeight = element.offsetHeight;\n            // 定义一个变量保存元素当前高度\n            let currentHeight = totalHeight;\n            // 计算每次减去的值\n            const decrement = totalHeight / (time / 10);\n            // 开始循环定时器\n            const timer = setInterval(() => {\n                // 减去当前高度的一部分\n                currentHeight -= decrement;\n                // 把当前高度赋值给height属性\n                element.style.height = `${currentHeight}px`;\n                // 如果当前高度小于等于0，就关闭定时器\n                if (currentHeight <= 0) {\n                    // 关闭定时器\n                    clearInterval(timer);\n                    // 把元素display设置为none\n                    element.style.display = 'none';\n                    // 把元素高度值还原\n                    element.style.height = `${totalHeight}px`;\n                    if (\n                        element.__TimerManager__ &&\n                        element.__TimerManager__.constructor == TimerManager\n                    ) {\n                        element.__TimerManager__.next();\n                    }\n                }\n            }, 10);\n        } else {\n            // 如果当前高度为0， 则直接执行队列里的下一个函数\n            if (element.__TimerManager__ && element.__TimerManager__.constructor == TimerManager) {\n                element.__TimerManager__.next();\n            }\n        }\n    }\n\n    // III.定义外部访问接口\n\n    // 1）下拉接口\n    Slider.slideDown = function (element, time) {\n        TimerManager.makeInstance(element);\n        element.__TimerManager__.add(fnSlideDown, arguments);\n        return this;\n    };\n\n    // 2）上滑接口\n    Slider.slideUp = function (element, time) {\n        TimerManager.makeInstance(element);\n        element.__TimerManager__.add(fnSlideUp, arguments);\n        return this;\n    };\n\n    // 返回Slider对象\n    return Slider;\n})();\n"
  },
  {
    "path": "src/images.d.ts",
    "content": "declare module '*.svg';\ndeclare module '*.png';\ndeclare module '*.jpg';\ndeclare module '*.jpeg';\ndeclare module '*.gif';\ndeclare module '*.bmp';\ndeclare module '*.tiff';\n"
  },
  {
    "path": "src/index.ts",
    "content": "import * as Rabbit from './rabbit-simple-ui';\nexport default Rabbit;\n"
  },
  {
    "path": "src/mixins/arrow.ts",
    "content": "// 更新popver弹窗或下拉菜单的箭头方向\n\nimport { $el } from '../dom-utils';\n\nexport function scrollUpdate(): void {\n    const tooltips = $el('.rab-tooltip-popper', { all: true });\n    const poptips = $el('.rab-poptip-popper', { all: true });\n\n    const scrollEv = (target: NodeListOf<HTMLElement>) => {\n        target.forEach((node: HTMLElement) => {\n            const { popperPlacement } = node.dataset;\n            const xPlacement = node.getAttribute('x-placement');\n\n            if (xPlacement != popperPlacement) {\n                node.setAttribute('x-placement', popperPlacement!);\n            }\n        });\n    };\n\n    // 当页面有这些组件存在时才做滚动监听\n    if (tooltips.length > 0) {\n        window.addEventListener('scroll', () => scrollEv(tooltips));\n    }\n    if (poptips.length > 0) {\n        window.addEventListener('scroll', () => scrollEv(poptips));\n    }\n}\n"
  },
  {
    "path": "src/mixins/cb-promise.ts",
    "content": "/**\n * 用于实例组件关闭后返回 promise，提供 then 接口在关闭后运行 callback\n * @param duration 组件关闭的时间，这里是用于组件没自己的配置项时，设为全局时间\n * @param compConfig 组件的配置项，这里是用于是否切换为组件自己设置的时间\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport default function usePromiseCallback(duration: number, compConfig?: any): Promise<void> {\n    // promise 触发的时机为默认时间\n    let timeout: number = duration;\n\n    // 当组件参数以对象形式传递，并且设置了自己的 duration则修改 promise的触发时机\n    if (compConfig && typeof compConfig === 'object') {\n        if (compConfig.duration || compConfig.duration === 0) {\n            timeout = compConfig.duration;\n        } else {\n            timeout = duration;\n        }\n    }\n\n    return promiseCb(timeout);\n}\n\nfunction promiseCb(duration: number): Promise<void> {\n    let timer = null;\n    return new Promise((afterClose) => {\n        timer = setTimeout(afterClose, duration * 1000);\n        // duration 为 0 则说明当前组件不自动关闭\n        duration === 0 ? clearTimeout(timer) : timer;\n    });\n}\n"
  },
  {
    "path": "src/mixins/clickoutside.ts",
    "content": "import { bind } from '../dom-utils';\n\n/**\n * 用于点击外部关闭下拉菜单或气泡提示框\n * @param elem\n * @param callback 关闭事件回调\n * @param child\n * @param datasetKey\n * @param datasetVal 要被关闭的对象状态是否已经处于打开状态，如果是那么点击其以外的区域才执行事件回调\n */\nexport default function clickOutside(\n    elem: Element,\n    callback: (arg?: any) => any,\n    child?: Element,\n    datasetKey?: string,\n    datasetVal?: string\n): void {\n    const ev = (e: Event) => {\n        if (datasetKey) {\n            if (child) {\n                // @ts-ignore\n                child.dataset[datasetKey] === datasetVal && callback(e);\n            } else {\n                // @ts-ignore\n                child.dataset[datasetKey] === datasetVal && callback(e);\n            }\n        } else {\n            callback();\n        }\n    };\n\n    bind(document, 'click', (e: Event) => ev(e));\n    bind(elem, 'click', (e: MouseEvent) => e.stopPropagation());\n}\n"
  },
  {
    "path": "src/mixins/css-transition.ts",
    "content": "/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\ninterface Config {\n    inOrOut?: 'in' | 'out'; // 进场或者出场\n    enterCls?: 'rab-fade-in' | string; // 进场动画\n    leaveCls?: 'rab-fade-out' | string; // 出场动画\n    rmCls?: boolean; // 动画结束后是否移除动画类名\n    timeout?: number; // 过渡效果的持续时间\n    hiddenParent?: Element | HTMLElement | any; // 是否将父元素一起隐藏\n}\n\nexport default function CssTransition(\n    elem: any,\n    { enterCls, leaveCls, inOrOut, rmCls, timeout, hiddenParent }: Config\n): void {\n    const removeClassAfterTransition = (aniClassName: string): void => {\n        if (rmCls) {\n            setTimeout(() => {\n                aniClassName ? elem.classList.remove(aniClassName) : '';\n            }, timeout);\n        }\n    };\n\n    if (inOrOut === 'in') {\n        // 如果父元素被隐藏则变为显示\n        if (hiddenParent) {\n            hiddenParent.style.display = '';\n            hiddenParent.style.opacity = '1';\n            hiddenParent.style.visibility = 'visible';\n        }\n\n        // if (elem.style.display === 'none') elem.style.display = '';\n        // if (elem.style.opacity === '0') elem.style.opacity = '1';\n        // if (elem.style.visibility === 'hidden') elem.style.visibility = 'visible';\n\n        elem.style.display = '';\n        elem.style.opacity = '1';\n        elem.style.visibility = 'visible';\n\n        elem.classList.add(enterCls);\n\n        removeClassAfterTransition(enterCls!);\n    } else if (inOrOut === 'out') {\n        if (elem.classList.contains(enterCls)) {\n            elem.classList.replace(enterCls, leaveCls);\n        } else {\n            elem.classList.add(leaveCls);\n        }\n\n        removeClassAfterTransition(leaveCls!);\n\n        // 过渡效果持续时间后隐藏元素\n        setTimeout(() => {\n            if (hiddenParent) hiddenParent.style.display = 'none';\n            elem.style.display = 'none';\n            elem.style.opacity = '0';\n            elem.style.visibility = 'hidden';\n        }, timeout);\n    }\n}\n"
  },
  {
    "path": "src/mixins/index.ts",
    "content": "import * as _arrow from './arrow';\nimport usePromiseCallback from './cb-promise';\nimport clickoutside from './clickoutside';\nimport CssTransition from './css-transition';\nimport moreThanOneNode from './one-node';\nimport Scrollable from './scrollable';\nimport * as _Popper from './tooltip';\nimport warn from './warn';\n\nexport {\n    warn,\n    _arrow,\n    CssTransition,\n    moreThanOneNode,\n    Scrollable,\n    usePromiseCallback,\n    clickoutside,\n    _Popper\n};\n"
  },
  {
    "path": "src/mixins/one-node.ts",
    "content": "import { warn } from '.';\n\n/**\n * 检查组件标签下是否具有一个父元素，\n * 不允许组件下有多个子节点用于添加额外内容，只有由一个节点组成。\n */\nexport default function moreThanOneNode(node: Element): boolean {\n    if (node.childElementCount > 1) {\n        warn(`The <${node.tagName.toLowerCase()}> tag must have a parent element`);\n        return true;\n    }\n    return false;\n}\n"
  },
  {
    "path": "src/mixins/scrollable.ts",
    "content": "import { setCss } from '../dom-utils';\n\ninterface Options {\n    scroll?: boolean;\n    lock?: boolean;\n    node?: Element;\n    tagName?: string;\n}\n\nexport default function scrollable({ scroll = false, lock = false, node, tagName }: Options): void {\n    // 是否禁止对页面滚动条的修改\n    // 页面是否可以滚动\n    if (lock && !scroll) {\n        setCss(document.body, 'paddingRight', '17px');\n        setCss(document.body, 'overflow', 'hidden');\n    } else {\n        setCss(document.body, 'paddingRight', '');\n        setCss(document.body, 'overflow', '');\n    }\n\n    const prevNode = node?.previousElementSibling;\n    // 解决抽屉或对话框组件在同时打开多个的情况下，只关闭了一个窗口而页面滚动条恢复出现的bug\n    if (prevNode) {\n        const prevTagName = prevNode.tagName.toLocaleLowerCase().replace(/r-/, '');\n        if (prevTagName === tagName) {\n            // @ts-ignore\n            if (prevNode.dataset[`${prevTagName}Visable`] === 'true') {\n                scrollable({ scroll: false, lock: true });\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/mixins/tooltip.ts",
    "content": "import { createPopper } from '@popperjs/core';\n\nexport function _newCreatePopper(\n    reference: Element,\n    popper: HTMLElement,\n    placement: string | any,\n    offset: number\n): any {\n    return createPopper(reference, popper, {\n        placement: placement, // 设置位置\n        modifiers: [\n            {\n                name: 'computeStyles',\n                options: {\n                    gpuAcceleration: false // 使用top/left属性。否则会和弹出器动画冲突\n                }\n            },\n            {\n                name: 'computeStyles',\n                options: {\n                    adaptive: false // 避免重新计算弹出器位置从而造成位置牛头不对马嘴\n                }\n            },\n            {\n                name: 'offset',\n                options: {\n                    offset: [offset] // 自定义弹出器出现位置的偏移量\n                }\n            }\n        ]\n    });\n}\n"
  },
  {
    "path": "src/mixins/warn.ts",
    "content": "export default function warn(msg: unknown): void {\n    console.error(`[Rabbit] Error: ${msg}`);\n    return;\n}\n"
  },
  {
    "path": "src/rabbit-simple-ui.ts",
    "content": "import Affix from './components/affix';\nimport Alert from './components/alert';\nimport Avatar from './components/avatar';\nimport BackTop from './components/back-top';\nimport Badge from './components/badge';\nimport Breadcrumb from './components/breadcrumb';\nimport Button from './components/button';\nimport Card from './components/card';\nimport Carousel from './components/carousel';\nimport Checkbox from './components/checkbox';\nimport Circle from './components/circle';\nimport Collapse from './components/collapse';\nimport CountDown from './components/count-down';\nimport Divider from './components/divider';\nimport Drawer from './components/drawer';\nimport Dropdown from './components/dropdown';\nimport Empty from './components/empty';\nimport InputNumber from './components/input-number';\nimport Jumbotron from './components/jumbotron';\nimport Loading from './components/loading-bar';\nimport Message from './components/message';\nimport Modal from './components/modal';\nimport MiniModal from './components/mini-modal';\nimport Notice from './components/notice';\nimport PageHeader from './components/page-header';\nimport Poptip from './components/poptip';\nimport Progress from './components/progress';\nimport Radio from './components/radio';\nimport Result from './components/result';\nimport Skeleton from './components/skeleton';\nimport Spin from './components/spin';\nimport Steps from './components/steps';\nimport Switch from './components/switch';\nimport Tabs from './components/tabs';\nimport Tag from './components/tag';\nimport Time from './components/time';\nimport Timeline from './components/timeline';\nimport Tooltip from './components/tooltip';\n\nexport {\n    Affix,\n    Alert,\n    Avatar,\n    BackTop,\n    Badge,\n    Breadcrumb,\n    Button,\n    Card,\n    Carousel,\n    Checkbox,\n    Circle,\n    Collapse,\n    CountDown,\n    Divider,\n    Drawer,\n    Dropdown,\n    Empty,\n    InputNumber,\n    Jumbotron,\n    Loading,\n    Message,\n    Modal,\n    MiniModal,\n    Notice,\n    PageHeader,\n    Poptip,\n    Progress,\n    Radio,\n    Result,\n    Skeleton,\n    Spin,\n    Steps,\n    Switch,\n    Tabs,\n    Tag,\n    Time,\n    Timeline,\n    Tooltip\n};\n"
  },
  {
    "path": "src/styles/README.md",
    "content": "# 样式库说明\n\n## 目录\n\n|-- animation  (动画)\n\n|-- common  (全局样式)\n\n|-- components  (组件样式)\n\n|-- mixins  (混入)\n\n## 相关链接\n\n- 感谢 [ViewUI](https://github.com/view-design/ViewUI) 提供的相关代码\n\n- [阿里巴巴矢量图标库](https://www.iconfont.cn/)"
  },
  {
    "path": "src/styles/animation/ease.less",
    "content": "@-webkit-keyframes rabEaseIn {\n  0% {\n    opacity: 0;\n    transform: scale(0.9);\n  }\n  100% {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@keyframes rabEaseIn {\n  0% {\n    opacity: 0;\n    transform: scale(0.9);\n  }\n  100% {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@-webkit-keyframes rabEaseOut {\n  0% {\n    opacity: 1;\n    transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    transform: scale(0.9);\n  }\n}\n\n@keyframes rabEaseOut {\n  0% {\n    opacity: 1;\n    transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    transform: scale(0.9);\n  }\n}\n"
  },
  {
    "path": "src/styles/animation/fade.less",
    "content": ".fade(@className,@keyframes) {\n  .rab-fade-@{className} {\n    -webkit-animation: @keyframes 0.3s ease-in-out;\n            animation: @keyframes 0.3s ease-in-out;\n  }\n}\n\n.fade(in,rabFadeIn);\n.fade(out,rabFadeOut);\n\n@-webkit-keyframes rabFadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n\n@keyframes rabFadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n\n@-webkit-keyframes rabFadeOut {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n@keyframes rabFadeOut {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n"
  },
  {
    "path": "src/styles/animation/index.less",
    "content": "@import 'fade';\n@import 'move';\n@import 'ease';\n@import 'slide';\n"
  },
  {
    "path": "src/styles/animation/move.less",
    "content": "// @className 动画类名\n// @keyframes 动画\n// @direction 动画方向\n// @duration 持续时间\n// @time-function 过渡效果函数\n.move(@className, @keyframes, @direction, @duration, @time-function) {\n  .@{css-prefix}@{className}-move-@{direction} {\n    animation: @keyframes @duration @time-function;\n  }\n}\n\n// message组件的动画\n@-webkit-keyframes rabMessageMoveIn {\n  0% {\n    opacity: 0;\n    padding: 0;\n    transform: translateY(-40%);\n  }\n\n  100% {\n    opacity: 1;\n    padding: 8px;\n  }\n}\n\n@keyframes rabMessageMoveIn {\n  0% {\n    opacity: 0;\n    padding: 0;\n    transform: translateY(-40%);\n  }\n\n  100% {\n    opacity: 1;\n    padding: 8px;\n  }\n}\n\n@-webkit-keyframes rabMessageMoveOut {\n  0% {\n    max-height: 150px;\n    padding: 8px;\n    opacity: 1;\n  }\n\n  100% {\n    max-height: 0;\n    padding: 0;\n    opacity: 0;\n  }\n}\n\n@keyframes rabMessageMoveOut {\n  0% {\n    max-height: 150px;\n    padding: 8px;\n    opacity: 1;\n  }\n\n  100% {\n    max-height: 0;\n    padding: 0;\n    opacity: 0;\n  }\n}\n\n// notice组件的动画\n@-webkit-keyframes rabNoticeMoveIn {\n  0% {\n    opacity: 0;\n    transform-origin: 0 0;\n    transform: translateX(100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform-origin: 0 0;\n    transform: translateX(0%);\n  }\n}\n\n@keyframes rabNoticeMoveIn {\n  0% {\n    opacity: 0;\n    transform-origin: 0 0;\n    transform: translateX(100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform-origin: 0 0;\n    transform: translateX(0%);\n  }\n}\n\n@-webkit-keyframes rabNoticeMoveOut {\n  0% {\n    opacity: 1;\n    transform-origin: 0 0;\n    transform: translateX(0);\n  }\n\n  70% {\n    transform-origin: 0 0;\n    transform: translateX(100%);\n    height: auto;\n    padding: 16px;\n    margin-bottom: 10px;\n    opacity: 0;\n  }\n\n  100% {\n    transform-origin: 0 0;\n    transform: translateX(100%);\n    height: 0;\n    padding: 0;\n    margin-bottom: 0;\n    opacity: 0;\n  }\n}\n\n@keyframes rabNoticeMoveOut {\n  0% {\n    transform-origin: 0 0;\n    opacity: 1;\n    transform: translateX(0);\n  }\n\n\n  70% {\n    transform-origin: 0 0;\n    transform: translateX(100%);\n    height: auto;\n    padding: 16px;\n    margin-bottom: 10px;\n    opacity: 0;\n  }\n\n  100% {\n    transform-origin: 0 0;\n    transform: translateX(100%);\n    height: 0;\n    padding: 0;\n    margin-bottom: 0;\n    opacity: 0;\n  }\n}\n\n// drawer组件的动画\n@-webkit-keyframes rabDrawerMoveRightIn {\n  0% {\n    opacity: 0;\n    transform: translateX(100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n\n@keyframes rabDrawerMoveRightIn {\n  0% {\n    opacity: 0;\n    transform: translateX(100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n\n@-webkit-keyframes rabDrawerMoveRightOut {\n  0% {\n    opacity: 1;\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateX(100%);\n  }\n}\n\n@keyframes rabDrawerMoveRightOut {\n  0% {\n    opacity: 1;\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateX(100%);\n  }\n}\n\n// drawer left\n@-webkit-keyframes rabDrawerMoveLeftIn {\n  0% {\n    opacity: 0;\n    transform: translateX(-100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n\n@keyframes rabDrawerMoveLeftIn {\n  0% {\n    opacity: 0;\n    transform: translateX(-100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n\n@-webkit-keyframes rabDrawerMoveLeftOut {\n  0% {\n    opacity: 1;\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateX(-100%);\n  }\n}\n\n@keyframes rabDrawerMoveLeftOut {\n  0% {\n    opacity: 1;\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateX(-100%);\n  }\n}\n\n// drawer top\n@-webkit-keyframes rabDrawerMoveTopIn {\n  0% {\n    opacity: 0;\n    transform: translateY(-100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@keyframes rabDrawerMoveTopIn {\n  0% {\n    opacity: 0;\n    transform: translateY(-100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@-webkit-keyframes rabDrawerMoveTopOut {\n  0% {\n    opacity: 1;\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateY(-100%);\n  }\n}\n\n@keyframes rabDrawerMoveTopOut {\n  0% {\n    opacity: 1;\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateY(-100%);\n  }\n}\n\n// drawer bottom\n@-webkit-keyframes rabDrawerMoveBottomIn {\n  0% {\n    opacity: 0;\n    transform: translateY(100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@keyframes rabDrawerMoveBottomIn {\n  0% {\n    opacity: 0;\n    transform: translateY(100%);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@-webkit-keyframes rabDrawerMoveBottomOut {\n  0% {\n    opacity: 1;\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateY(100%);\n  }\n}\n\n@keyframes rabDrawerMoveBottomOut {\n  0% {\n    opacity: 1;\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    transform: translateY(100%);\n  }\n}"
  },
  {
    "path": "src/styles/animation/slide.less",
    "content": "@-webkit-keyframes rabTransitionDropIn {\n  0% {\n    opacity: 0;\n    transform: scaleY(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform: scaleY(1);\n  }\n}\n\n@keyframes rabTransitionDropIn {\n  0% {\n    opacity: 0;\n    transform: scaleY(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform: scaleY(1);\n  }\n}\n\n@-webkit-keyframes rabTransitionDropOut {\n  0% {\n    opacity: 1;\n    transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    transform: scaleY(0.8);\n  }\n}\n\n@keyframes rabTransitionDropOut {\n  0% {\n    opacity: 1;\n    transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    transform: scaleY(0.8);\n  }\n}\n\n@-webkit-keyframes rabSlideUpIn {\n  0% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleY(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleY(1);\n  }\n}\n\n@keyframes rabSlideUpIn {\n  0% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleY(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleY(1);\n  }\n}\n\n@-webkit-keyframes rabSlideUpOut {\n  0% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleY(0.8);\n  }\n}\n\n@keyframes rabSlideUpOut {\n  0% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleY(0.8);\n  }\n}\n\n@-webkit-keyframes rabSlideDownIn {\n  0% {\n    opacity: 0;\n    transform-origin: 100% 100%;\n    transform: scaleY(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 100% 100%;\n    transform: scaleY(1);\n  }\n}\n\n@keyframes rabSlideDownIn {\n  0% {\n    opacity: 0;\n    transform-origin: 100% 100%;\n    transform: scaleY(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 100% 100%;\n    transform: scaleY(1);\n  }\n}\n\n@-webkit-keyframes rabSlideDownOut {\n  0% {\n    opacity: 1;\n    transform-origin: 100% 100%;\n    transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 100% 100%;\n    transform: scaleY(0.8);\n  }\n}\n\n@keyframes rabSlideDownOut {\n  0% {\n    opacity: 1;\n    transform-origin: 100% 100%;\n    transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 100% 100%;\n    transform: scaleY(0.8);\n  }\n}\n\n@-webkit-keyframes rabSlideLeftIn {\n  0% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleX(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleX(1);\n  }\n}\n\n@keyframes rabSlideLeftIn {\n  0% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleX(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleX(1);\n  }\n}\n\n@-webkit-keyframes rabSlideLeftOut {\n  0% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleX(0.8);\n  }\n}\n\n@keyframes rabSlideLeftOut {\n  0% {\n    opacity: 1;\n    transform-origin: 0% 0%;\n    transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 0% 0%;\n    transform: scaleX(0.8);\n  }\n}\n\n@-webkit-keyframes rabSlideRightIn {\n  0% {\n    opacity: 0;\n    transform-origin: 100% 0%;\n    transform: scaleX(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 100% 0%;\n    transform: scaleX(1);\n  }\n}\n\n@keyframes rabSlideRightIn {\n  0% {\n    opacity: 0;\n    transform-origin: 100% 0%;\n    transform: scaleX(0.8);\n  }\n  100% {\n    opacity: 1;\n    transform-origin: 100% 0%;\n    transform: scaleX(1);\n  }\n}\n\n@-webkit-keyframes rabSlideRightOut {\n  0% {\n    opacity: 1;\n    transform-origin: 100% 0%;\n    transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 100% 0%;\n    transform: scaleX(0.8);\n  }\n}\n\n@keyframes rabSlideRightOut {\n  0% {\n    opacity: 1;\n    transform-origin: 100% 0%;\n    transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    transform-origin: 100% 0%;\n    transform: scaleX(0.8);\n  }\n}\n"
  },
  {
    "path": "src/styles/animation/zoom.less",
    "content": ".zoom(@className, @keyframes) {\n    .zoom-big-@{className} {\n        -webkit-animation: @keyframes 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);\n        animation: @keyframes 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);\n    }\n}\n\n.zoom(enter, rabZoomBigIn);\n.zoom(leave, rabZoomBigOut);\n.zoom(fast-enter, rabZoomBigFastIn);\n.zoom(fast-leave, rabZoomBigFastOut);\n\n@-webkit-keyframes rabZoomBigIn {\n    0% {\n        -webkit-transform: scale(0.7);\n        transform: scale(0.7);\n        opacity: 0;\n    }\n\n    100% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n        opacity: 1;\n    }\n}\n\n@keyframes rabZoomBigIn {\n    0% {\n        -webkit-transform: scale(0.7);\n        transform: scale(0.7);\n        opacity: 0;\n    }\n\n    100% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n        opacity: 1;\n    }\n}\n\n@-webkit-keyframes rabZoomBigOut {\n    0% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n    }\n\n    100% {\n        -webkit-transform: scale(0.7);\n        transform: scale(0.7);\n        opacity: 0;\n    }\n}\n\n@keyframes rabZoomBigOut {\n    0% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n    }\n\n    100% {\n        -webkit-transform: scale(0.7);\n        transform: scale(0.7);\n        opacity: 0;\n    }\n}\n\n@-webkit-keyframes rabZoomBigFastIn {\n    0% {\n        -webkit-transform: scale(0.6);\n        transform: scale(0.6);\n        opacity: 0;\n    }\n\n    100% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n        opacity: 1;\n    }\n}\n\n@keyframes rabZoomBigFastIn {\n    0% {\n        -webkit-transform: scale(0.6);\n        transform: scale(0.6);\n        opacity: 0;\n    }\n\n    100% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n        opacity: 1;\n    }\n}\n\n@-webkit-keyframes rabZoomBigFastOut {\n    0% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n    }\n\n    100% {\n        -webkit-transform: scale(0.85);\n        transform: scale(0.85);\n        opacity: 0;\n    }\n}\n\n@keyframes rabZoomBigFastOut {\n    0% {\n        -webkit-transform: scale(1);\n        transform: scale(1);\n    }\n\n    100% {\n        -webkit-transform: scale(0.85);\n        transform: scale(0.85);\n        opacity: 0;\n    }\n}\n"
  },
  {
    "path": "src/styles/color/bezierEasing.less",
    "content": "/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n.bezierEasingMixin() {\n@functions: ~`(function() {\n  var NEWTON_ITERATIONS = 4;\n  var NEWTON_MIN_SLOPE = 0.001;\n  var SUBDIVISION_PRECISION = 0.0000001;\n  var SUBDIVISION_MAX_ITERATIONS = 10;\n\n  var kSplineTableSize = 11;\n  var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n  var float32ArraySupported = typeof Float32Array === 'function';\n\n  function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\n  function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\n  function C (aA1)      { return 3.0 * aA1; }\n\n  // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n  function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; }\n\n  // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n  function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); }\n\n  function binarySubdivide (aX, aA, aB, mX1, mX2) {\n    var currentX, currentT, i = 0;\n    do {\n      currentT = aA + (aB - aA) / 2.0;\n      currentX = calcBezier(currentT, mX1, mX2) - aX;\n      if (currentX > 0.0) {\n        aB = currentT;\n      } else {\n        aA = currentT;\n      }\n    } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n    return currentT;\n  }\n\n  function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {\n   for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n     var currentSlope = getSlope(aGuessT, mX1, mX2);\n     if (currentSlope === 0.0) {\n       return aGuessT;\n     }\n     var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n     aGuessT -= currentX / currentSlope;\n   }\n   return aGuessT;\n  }\n\n  var BezierEasing = function (mX1, mY1, mX2, mY2) {\n    if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {\n      throw new Error('bezier x values must be in [0, 1] range');\n    }\n\n    // Precompute samples table\n    var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n    if (mX1 !== mY1 || mX2 !== mY2) {\n      for (var i = 0; i < kSplineTableSize; ++i) {\n        sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n      }\n    }\n\n    function getTForX (aX) {\n      var intervalStart = 0.0;\n      var currentSample = 1;\n      var lastSample = kSplineTableSize - 1;\n\n      for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n        intervalStart += kSampleStepSize;\n      }\n      --currentSample;\n\n      // Interpolate to provide an initial guess for t\n      var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n      var guessForT = intervalStart + dist * kSampleStepSize;\n\n      var initialSlope = getSlope(guessForT, mX1, mX2);\n      if (initialSlope >= NEWTON_MIN_SLOPE) {\n        return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n      } else if (initialSlope === 0.0) {\n        return guessForT;\n      } else {\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    }\n\n    return function BezierEasing (x) {\n      if (mX1 === mY1 && mX2 === mY2) {\n        return x; // linear\n      }\n      // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n      if (x === 0) {\n        return 0;\n      }\n      if (x === 1) {\n        return 1;\n      }\n      return calcBezier(getTForX(x), mY1, mY2);\n    };\n  };\n\n  this.colorEasing = BezierEasing(0.26, 0.09, 0.37, 0.18);\n  // less 3 requires a return\n  return '';\n})()`;\n}\n// It is hacky way to make this function will be compiled preferentially by less\n// resolve error: `ReferenceError: colorPalette is not defined`\n// https://github.com/ant-design/ant-motion/issues/44\n.bezierEasingMixin();\n"
  },
  {
    "path": "src/styles/color/colorPalette.less",
    "content": "/* stylelint-disable no-duplicate-selectors */\n@import \"bezierEasing\";\n@import \"tinyColor\";\n\n// We create a very complex algorithm which take the place of original tint/shade color system\n// to make sure no one can understand it 👻\n// and create an entire color palette magicly by inputing just a single primary color.\n// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin\n.colorPaletteMixin() {\n@functions: ~`(function() {\n  var hueStep = 2;\n  var saturationStep = 16;\n  var saturationStep2 = 5;\n  var brightnessStep1 = 5;\n  var brightnessStep2 = 15;\n  var lightColorCount = 5;\n  var darkColorCount = 4;\n\n  var getHue = function(hsv, i, isLight) {\n    var hue;\n    if (hsv.h >= 60 && hsv.h <= 240) {\n      hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i;\n    } else {\n      hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i;\n    }\n    if (hue < 0) {\n      hue += 360;\n    } else if (hue >= 360) {\n      hue -= 360;\n    }\n    return Math.round(hue);\n  };\n  var getSaturation = function(hsv, i, isLight) {\n    var saturation;\n    if (isLight) {\n      saturation = Math.round(hsv.s * 100) - saturationStep * i;\n    } else if (i == darkColorCount) {\n      saturation = Math.round(hsv.s * 100) + saturationStep;\n    } else {\n      saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n    }\n    if (saturation > 100) {\n      saturation = 100;\n    }\n    if (isLight && i === lightColorCount && saturation > 10) {\n      saturation = 10;\n    }\n    if (saturation < 6) {\n      saturation = 6;\n    }\n    return Math.round(saturation);\n  };\n  var getValue = function(hsv, i, isLight) {\n    if (isLight) {\n      return Math.round(hsv.v * 100) + brightnessStep1 * i;\n    }\n    return Math.round(hsv.v * 100) - brightnessStep2 * i;\n  };\n\n  this.colorPalette = function(color, index) {\n    var isLight = index <= 6;\n    var hsv = tinycolor(color).toHsv();\n    var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1;\n    return tinycolor({\n      h: getHue(hsv, i, isLight),\n      s: getSaturation(hsv, i, isLight),\n      v: getValue(hsv, i, isLight),\n    }).toHexString();\n  };\n})()`;\n}\n// It is hacky way to make this function will be compiled preferentially by less\n// resolve error: `ReferenceError: colorPalette is not defined`\n// https://github.com/ant-design/ant-motion/issues/44\n.colorPaletteMixin();\n"
  },
  {
    "path": "src/styles/color/colors.less",
    "content": "@import 'colorPalette';\n\n// color palettes\n@blue-1: color(~`colorPalette(\"@{blue-6}\", 1)`);\n@blue-2: color(~`colorPalette(\"@{blue-6}\", 2)`);\n@blue-3: color(~`colorPalette(\"@{blue-6}\", 3)`);\n@blue-4: color(~`colorPalette(\"@{blue-6}\", 4)`);\n@blue-5: color(~`colorPalette(\"@{blue-6}\", 5)`);\n@blue-6: #1890ff;\n@blue-7: color(~`colorPalette(\"@{blue-6}\", 7)`);\n@blue-8: color(~`colorPalette(\"@{blue-6}\", 8)`);\n@blue-9: color(~`colorPalette(\"@{blue-6}\", 9)`);\n@blue-10: color(~`colorPalette(\"@{blue-6}\", 10)`);\n\n@purple-1: color(~`colorPalette(\"@{purple-6}\", 1)`);\n@purple-2: color(~`colorPalette(\"@{purple-6}\", 2)`);\n@purple-3: color(~`colorPalette(\"@{purple-6}\", 3)`);\n@purple-4: color(~`colorPalette(\"@{purple-6}\", 4)`);\n@purple-5: color(~`colorPalette(\"@{purple-6}\", 5)`);\n@purple-6: #722ed1;\n@purple-7: color(~`colorPalette(\"@{purple-6}\", 7)`);\n@purple-8: color(~`colorPalette(\"@{purple-6}\", 8)`);\n@purple-9: color(~`colorPalette(\"@{purple-6}\", 9)`);\n@purple-10: color(~`colorPalette(\"@{purple-6}\", 10)`);\n\n@cyan-1: color(~`colorPalette(\"@{cyan-6}\", 1)`);\n@cyan-2: color(~`colorPalette(\"@{cyan-6}\", 2)`);\n@cyan-3: color(~`colorPalette(\"@{cyan-6}\", 3)`);\n@cyan-4: color(~`colorPalette(\"@{cyan-6}\", 4)`);\n@cyan-5: color(~`colorPalette(\"@{cyan-6}\", 5)`);\n@cyan-6: #13c2c2;\n@cyan-7: color(~`colorPalette(\"@{cyan-6}\", 7)`);\n@cyan-8: color(~`colorPalette(\"@{cyan-6}\", 8)`);\n@cyan-9: color(~`colorPalette(\"@{cyan-6}\", 9)`);\n@cyan-10: color(~`colorPalette(\"@{cyan-6}\", 10)`);\n\n@green-1: color(~`colorPalette(\"@{green-6}\", 1)`);\n@green-2: color(~`colorPalette(\"@{green-6}\", 2)`);\n@green-3: color(~`colorPalette(\"@{green-6}\", 3)`);\n@green-4: color(~`colorPalette(\"@{green-6}\", 4)`);\n@green-5: color(~`colorPalette(\"@{green-6}\", 5)`);\n@green-6: #52c41a;\n@green-7: color(~`colorPalette(\"@{green-6}\", 7)`);\n@green-8: color(~`colorPalette(\"@{green-6}\", 8)`);\n@green-9: color(~`colorPalette(\"@{green-6}\", 9)`);\n@green-10: color(~`colorPalette(\"@{green-6}\", 10)`);\n\n@magenta-1: color(~`colorPalette(\"@{magenta-6}\", 1)`);\n@magenta-2: color(~`colorPalette(\"@{magenta-6}\", 2)`);\n@magenta-3: color(~`colorPalette(\"@{magenta-6}\", 3)`);\n@magenta-4: color(~`colorPalette(\"@{magenta-6}\", 4)`);\n@magenta-5: color(~`colorPalette(\"@{magenta-6}\", 5)`);\n@magenta-6: #eb2f96;\n@magenta-7: color(~`colorPalette(\"@{magenta-6}\", 7)`);\n@magenta-8: color(~`colorPalette(\"@{magenta-6}\", 8)`);\n@magenta-9: color(~`colorPalette(\"@{magenta-6}\", 9)`);\n@magenta-10: color(~`colorPalette(\"@{magenta-6}\", 10)`);\n\n// alias of magenta\n@pink-1: color(~`colorPalette(\"@{pink-6}\", 1)`);\n@pink-2: color(~`colorPalette(\"@{pink-6}\", 2)`);\n@pink-3: color(~`colorPalette(\"@{pink-6}\", 3)`);\n@pink-4: color(~`colorPalette(\"@{pink-6}\", 4)`);\n@pink-5: color(~`colorPalette(\"@{pink-6}\", 5)`);\n@pink-6: #eb2f96;\n@pink-7: color(~`colorPalette(\"@{pink-6}\", 7)`);\n@pink-8: color(~`colorPalette(\"@{pink-6}\", 8)`);\n@pink-9: color(~`colorPalette(\"@{pink-6}\", 9)`);\n@pink-10: color(~`colorPalette(\"@{pink-6}\", 10)`);\n\n@red-1: color(~`colorPalette(\"@{red-6}\", 1)`);\n@red-2: color(~`colorPalette(\"@{red-6}\", 2)`);\n@red-3: color(~`colorPalette(\"@{red-6}\", 3)`);\n@red-4: color(~`colorPalette(\"@{red-6}\", 4)`);\n@red-5: color(~`colorPalette(\"@{red-6}\", 5)`);\n@red-6: #f5222d;\n@red-7: color(~`colorPalette(\"@{red-6}\", 7)`);\n@red-8: color(~`colorPalette(\"@{red-6}\", 8)`);\n@red-9: color(~`colorPalette(\"@{red-6}\", 9)`);\n@red-10: color(~`colorPalette(\"@{red-6}\", 10)`);\n\n@orange-1: color(~`colorPalette(\"@{orange-6}\", 1)`);\n@orange-2: color(~`colorPalette(\"@{orange-6}\", 2)`);\n@orange-3: color(~`colorPalette(\"@{orange-6}\", 3)`);\n@orange-4: color(~`colorPalette(\"@{orange-6}\", 4)`);\n@orange-5: color(~`colorPalette(\"@{orange-6}\", 5)`);\n@orange-6: #fa8c16;\n@orange-7: color(~`colorPalette(\"@{orange-6}\", 7)`);\n@orange-8: color(~`colorPalette(\"@{orange-6}\", 8)`);\n@orange-9: color(~`colorPalette(\"@{orange-6}\", 9)`);\n@orange-10: color(~`colorPalette(\"@{orange-6}\", 10)`);\n\n@yellow-1: color(~`colorPalette(\"@{yellow-6}\", 1)`);\n@yellow-2: color(~`colorPalette(\"@{yellow-6}\", 2)`);\n@yellow-3: color(~`colorPalette(\"@{yellow-6}\", 3)`);\n@yellow-4: color(~`colorPalette(\"@{yellow-6}\", 4)`);\n@yellow-5: color(~`colorPalette(\"@{yellow-6}\", 5)`);\n@yellow-6: #fadb14;\n@yellow-7: color(~`colorPalette(\"@{yellow-6}\", 7)`);\n@yellow-8: color(~`colorPalette(\"@{yellow-6}\", 8)`);\n@yellow-9: color(~`colorPalette(\"@{yellow-6}\", 9)`);\n@yellow-10: color(~`colorPalette(\"@{yellow-6}\", 10)`);\n\n@volcano-1: color(~`colorPalette(\"@{volcano-6}\", 1)`);\n@volcano-2: color(~`colorPalette(\"@{volcano-6}\", 2)`);\n@volcano-3: color(~`colorPalette(\"@{volcano-6}\", 3)`);\n@volcano-4: color(~`colorPalette(\"@{volcano-6}\", 4)`);\n@volcano-5: color(~`colorPalette(\"@{volcano-6}\", 5)`);\n@volcano-6: #fa541c;\n@volcano-7: color(~`colorPalette(\"@{volcano-6}\", 7)`);\n@volcano-8: color(~`colorPalette(\"@{volcano-6}\", 8)`);\n@volcano-9: color(~`colorPalette(\"@{volcano-6}\", 9)`);\n@volcano-10: color(~`colorPalette(\"@{volcano-6}\", 10)`);\n\n@geekblue-1: color(~`colorPalette(\"@{geekblue-6}\", 1)`);\n@geekblue-2: color(~`colorPalette(\"@{geekblue-6}\", 2)`);\n@geekblue-3: color(~`colorPalette(\"@{geekblue-6}\", 3)`);\n@geekblue-4: color(~`colorPalette(\"@{geekblue-6}\", 4)`);\n@geekblue-5: color(~`colorPalette(\"@{geekblue-6}\", 5)`);\n@geekblue-6: #2f54eb;\n@geekblue-7: color(~`colorPalette(\"@{geekblue-6}\", 7)`);\n@geekblue-8: color(~`colorPalette(\"@{geekblue-6}\", 8)`);\n@geekblue-9: color(~`colorPalette(\"@{geekblue-6}\", 9)`);\n@geekblue-10: color(~`colorPalette(\"@{geekblue-6}\", 10)`);\n\n@lime-1: color(~`colorPalette(\"@{lime-6}\", 1)`);\n@lime-2: color(~`colorPalette(\"@{lime-6}\", 2)`);\n@lime-3: color(~`colorPalette(\"@{lime-6}\", 3)`);\n@lime-4: color(~`colorPalette(\"@{lime-6}\", 4)`);\n@lime-5: color(~`colorPalette(\"@{lime-6}\", 5)`);\n@lime-6: #a0d911;\n@lime-7: color(~`colorPalette(\"@{lime-6}\", 7)`);\n@lime-8: color(~`colorPalette(\"@{lime-6}\", 8)`);\n@lime-9: color(~`colorPalette(\"@{lime-6}\", 9)`);\n@lime-10: color(~`colorPalette(\"@{lime-6}\", 10)`);\n\n@gold-1: color(~`colorPalette(\"@{gold-6}\", 1)`);\n@gold-2: color(~`colorPalette(\"@{gold-6}\", 2)`);\n@gold-3: color(~`colorPalette(\"@{gold-6}\", 3)`);\n@gold-4: color(~`colorPalette(\"@{gold-6}\", 4)`);\n@gold-5: color(~`colorPalette(\"@{gold-6}\", 5)`);\n@gold-6: #faad14;\n@gold-7: color(~`colorPalette(\"@{gold-6}\", 7)`);\n@gold-8: color(~`colorPalette(\"@{gold-6}\", 8)`);\n@gold-9: color(~`colorPalette(\"@{gold-6}\", 9)`);\n@gold-10: color(~`colorPalette(\"@{gold-6}\", 10)`);\n"
  },
  {
    "path": "src/styles/color/tinyColor.less",
    "content": "/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.tinyColorMixin() {\n@functions: ~`(function() {\n// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// 2016-07-07, Brian Grinstead, MIT License\nvar trimLeft = /^\\s+/,\n    trimRight = /\\s+$/,\n    tinyCounter = 0,\n    mathRound = Math.round,\n    mathMin = Math.min,\n    mathMax = Math.max,\n    mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n    color = (color) ? color : '';\n    opts = opts || { };\n\n    // If input is already a tinycolor, return itself\n    if (color instanceof tinycolor) {\n       return color;\n    }\n    // If we are called as a function, call using new instead\n    if (!(this instanceof tinycolor)) {\n        return new tinycolor(color, opts);\n    }\n\n    var rgb = inputToRGB(color);\n    this._originalInput = color,\n    this._r = rgb.r,\n    this._g = rgb.g,\n    this._b = rgb.b,\n    this._a = rgb.a,\n    this._roundA = mathRound(100*this._a) / 100,\n    this._format = opts.format || rgb.format;\n    this._gradientType = opts.gradientType;\n\n    // Don't let the range of [0,255] come back in [0,1].\n    // Potentially lose a little bit of precision here, but will fix issues where\n    // .5 gets interpreted as half of the total, instead of half of 1\n    // If it was supposed to be 128, this was already taken care of by inputToRgb\n    if (this._r < 1) { this._r = mathRound(this._r); }\n    if (this._g < 1) { this._g = mathRound(this._g); }\n    if (this._b < 1) { this._b = mathRound(this._b); }\n\n    this._ok = rgb.ok;\n    this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n    isDark: function() {\n        return this.getBrightness() < 128;\n    },\n    isLight: function() {\n        return !this.isDark();\n    },\n    isValid: function() {\n        return this._ok;\n    },\n    getOriginalInput: function() {\n      return this._originalInput;\n    },\n    getFormat: function() {\n        return this._format;\n    },\n    getAlpha: function() {\n        return this._a;\n    },\n    getBrightness: function() {\n        //http://www.w3.org/TR/AERT#color-contrast\n        var rgb = this.toRgb();\n        return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n    },\n    getLuminance: function() {\n        //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n        var rgb = this.toRgb();\n        var RsRGB, GsRGB, BsRGB, R, G, B;\n        RsRGB = rgb.r/255;\n        GsRGB = rgb.g/255;\n        BsRGB = rgb.b/255;\n\n        if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n        if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n        if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n        return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n    },\n    setAlpha: function(value) {\n        this._a = boundAlpha(value);\n        this._roundA = mathRound(100*this._a) / 100;\n        return this;\n    },\n    toHsv: function() {\n        var hsv = rgbToHsv(this._r, this._g, this._b);\n        return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n    },\n    toHsvString: function() {\n        var hsv = rgbToHsv(this._r, this._g, this._b);\n        var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n        return (this._a == 1) ?\n          \"hsv(\"  + h + \", \" + s + \"%, \" + v + \"%)\" :\n          \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n    },\n    toHsl: function() {\n        var hsl = rgbToHsl(this._r, this._g, this._b);\n        return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n    },\n    toHslString: function() {\n        var hsl = rgbToHsl(this._r, this._g, this._b);\n        var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n        return (this._a == 1) ?\n          \"hsl(\"  + h + \", \" + s + \"%, \" + l + \"%)\" :\n          \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n    },\n    toHex: function(allow3Char) {\n        return rgbToHex(this._r, this._g, this._b, allow3Char);\n    },\n    toHexString: function(allow3Char) {\n        return '#' + this.toHex(allow3Char);\n    },\n    toHex8: function(allow4Char) {\n        return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n    },\n    toHex8String: function(allow4Char) {\n        return '#' + this.toHex8(allow4Char);\n    },\n    toRgb: function() {\n        return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n    },\n    toRgbString: function() {\n        return (this._a == 1) ?\n          \"rgb(\"  + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n          \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n    },\n    toPercentageRgb: function() {\n        return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n    },\n    toPercentageRgbString: function() {\n        return (this._a == 1) ?\n          \"rgb(\"  + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n          \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n    },\n    toName: function() {\n        if (this._a === 0) {\n            return \"transparent\";\n        }\n\n        if (this._a < 1) {\n            return false;\n        }\n\n        return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n    },\n    toFilter: function(secondColor) {\n        var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n        var secondHex8String = hex8String;\n        var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n        if (secondColor) {\n            var s = tinycolor(secondColor);\n            secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n        }\n\n        return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n    },\n    toString: function(format) {\n        var formatSet = !!format;\n        format = format || this._format;\n\n        var formattedString = false;\n        var hasAlpha = this._a < 1 && this._a >= 0;\n        var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n        if (needsAlphaFormat) {\n            // Special case for \"transparent\", all other non-alpha formats\n            // will return rgba when there is transparency.\n            if (format === \"name\" && this._a === 0) {\n                return this.toName();\n            }\n            return this.toRgbString();\n        }\n        if (format === \"rgb\") {\n            formattedString = this.toRgbString();\n        }\n        if (format === \"prgb\") {\n            formattedString = this.toPercentageRgbString();\n        }\n        if (format === \"hex\" || format === \"hex6\") {\n            formattedString = this.toHexString();\n        }\n        if (format === \"hex3\") {\n            formattedString = this.toHexString(true);\n        }\n        if (format === \"hex4\") {\n            formattedString = this.toHex8String(true);\n        }\n        if (format === \"hex8\") {\n            formattedString = this.toHex8String();\n        }\n        if (format === \"name\") {\n            formattedString = this.toName();\n        }\n        if (format === \"hsl\") {\n            formattedString = this.toHslString();\n        }\n        if (format === \"hsv\") {\n            formattedString = this.toHsvString();\n        }\n\n        return formattedString || this.toHexString();\n    },\n    clone: function() {\n        return tinycolor(this.toString());\n    },\n\n    _applyModification: function(fn, args) {\n        var color = fn.apply(null, [this].concat([].slice.call(args)));\n        this._r = color._r;\n        this._g = color._g;\n        this._b = color._b;\n        this.setAlpha(color._a);\n        return this;\n    },\n    lighten: function() {\n        return this._applyModification(lighten, arguments);\n    },\n    brighten: function() {\n        return this._applyModification(brighten, arguments);\n    },\n    darken: function() {\n        return this._applyModification(darken, arguments);\n    },\n    desaturate: function() {\n        return this._applyModification(desaturate, arguments);\n    },\n    saturate: function() {\n        return this._applyModification(saturate, arguments);\n    },\n    greyscale: function() {\n        return this._applyModification(greyscale, arguments);\n    },\n    spin: function() {\n        return this._applyModification(spin, arguments);\n    },\n\n    _applyCombination: function(fn, args) {\n        return fn.apply(null, [this].concat([].slice.call(args)));\n    },\n    analogous: function() {\n        return this._applyCombination(analogous, arguments);\n    },\n    complement: function() {\n        return this._applyCombination(complement, arguments);\n    },\n    monochromatic: function() {\n        return this._applyCombination(monochromatic, arguments);\n    },\n    splitcomplement: function() {\n        return this._applyCombination(splitcomplement, arguments);\n    },\n    triad: function() {\n        return this._applyCombination(triad, arguments);\n    },\n    tetrad: function() {\n        return this._applyCombination(tetrad, arguments);\n    }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n    if (typeof color == \"object\") {\n        var newColor = {};\n        for (var i in color) {\n            if (color.hasOwnProperty(i)) {\n                if (i === \"a\") {\n                    newColor[i] = color[i];\n                }\n                else {\n                    newColor[i] = convertToPercentage(color[i]);\n                }\n            }\n        }\n        color = newColor;\n    }\n\n    return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n//     \"red\"\n//     \"#f00\" or \"f00\"\n//     \"#ff0000\" or \"ff0000\"\n//     \"#ff000000\" or \"ff000000\"\n//     \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n//     \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n//     \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n//     \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n//     \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n//     \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n//     \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n    var rgb = { r: 0, g: 0, b: 0 };\n    var a = 1;\n    var s = null;\n    var v = null;\n    var l = null;\n    var ok = false;\n    var format = false;\n\n    if (typeof color == \"string\") {\n        color = stringInputToObject(color);\n    }\n\n    if (typeof color == \"object\") {\n        if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n            rgb = rgbToRgb(color.r, color.g, color.b);\n            ok = true;\n            format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n        }\n        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n            s = convertToPercentage(color.s);\n            v = convertToPercentage(color.v);\n            rgb = hsvToRgb(color.h, s, v);\n            ok = true;\n            format = \"hsv\";\n        }\n        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n            s = convertToPercentage(color.s);\n            l = convertToPercentage(color.l);\n            rgb = hslToRgb(color.h, s, l);\n            ok = true;\n            format = \"hsl\";\n        }\n\n        if (color.hasOwnProperty(\"a\")) {\n            a = color.a;\n        }\n    }\n\n    a = boundAlpha(a);\n\n    return {\n        ok: ok,\n        format: color.format || format,\n        r: mathMin(255, mathMax(rgb.r, 0)),\n        g: mathMin(255, mathMax(rgb.g, 0)),\n        b: mathMin(255, mathMax(rgb.b, 0)),\n        a: a\n    };\n}\n\n// Conversion Functions\n// --------------------\n\n// rgbToHsl, rgbToHsv, hslToRgb, hsvToRgb modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// rgbToRgb\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n    return {\n        r: bound01(r, 255) * 255,\n        g: bound01(g, 255) * 255,\n        b: bound01(b, 255) * 255\n    };\n}\n\n// rgbToHsl\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n    r = bound01(r, 255);\n    g = bound01(g, 255);\n    b = bound01(b, 255);\n\n    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n    var h, s, l = (max + min) / 2;\n\n    if(max == min) {\n        h = s = 0; // achromatic\n    }\n    else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n        switch(max) {\n            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n            case g: h = (b - r) / d + 2; break;\n            case b: h = (r - g) / d + 4; break;\n        }\n\n        h /= 6;\n    }\n\n    return { h: h, s: s, l: l };\n}\n\n// hslToRgb\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n    var r, g, b;\n\n    h = bound01(h, 360);\n    s = bound01(s, 100);\n    l = bound01(l, 100);\n\n    function hue2rgb(p, q, t) {\n        if(t < 0) t += 1;\n        if(t > 1) t -= 1;\n        if(t < 1/6) return p + (q - p) * 6 * t;\n        if(t < 1/2) return q;\n        if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n        return p;\n    }\n\n    if(s === 0) {\n        r = g = b = l; // achromatic\n    }\n    else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1/3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1/3);\n    }\n\n    return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// rgbToHsv\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n    r = bound01(r, 255);\n    g = bound01(g, 255);\n    b = bound01(b, 255);\n\n    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n    var h, s, v = max;\n\n    var d = max - min;\n    s = max === 0 ? 0 : d / max;\n\n    if(max == min) {\n        h = 0; // achromatic\n    }\n    else {\n        switch(max) {\n            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n            case g: h = (b - r) / d + 2; break;\n            case b: h = (r - g) / d + 4; break;\n        }\n        h /= 6;\n    }\n    return { h: h, s: s, v: v };\n}\n\n// hsvToRgb\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n    h = bound01(h, 360) * 6;\n    s = bound01(s, 100);\n    v = bound01(v, 100);\n\n    var i = Math.floor(h),\n        f = h - i,\n        p = v * (1 - s),\n        q = v * (1 - f * s),\n        t = v * (1 - (1 - f) * s),\n        mod = i % 6,\n        r = [v, q, p, p, t, v][mod],\n        g = [t, v, v, q, p, p][mod],\n        b = [p, p, t, v, v, q][mod];\n\n    return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// rgbToHex\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n    var hex = [\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16))\n    ];\n\n    // Return a 3 character hex if possible\n    if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n    }\n\n    return hex.join(\"\");\n}\n\n// rgbaToHex\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n    var hex = [\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16)),\n        pad2(convertDecimalToHex(a))\n    ];\n\n    // Return a 4 character hex if possible\n    if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n    }\n\n    return hex.join(\"\");\n}\n\n// rgbaToArgbHex\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n    var hex = [\n        pad2(convertDecimalToHex(a)),\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16))\n    ];\n\n    return hex.join(\"\");\n}\n\n// equals\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n    if (!color1 || !color2) { return false; }\n    return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n    return tinycolor.fromRatio({\n        r: mathRandom(),\n        g: mathRandom(),\n        b: mathRandom()\n    });\n};\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.s -= amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.s += amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n    return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.l += amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var rgb = tinycolor(color).toRgb();\n    rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n    rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n    rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n    return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.l -= amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n    var hsl = tinycolor(color).toHsl();\n    var hue = (hsl.h + amount) % 360;\n    hsl.h = hue < 0 ? 360 + hue : hue;\n    return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n    var hsl = tinycolor(color).toHsl();\n    hsl.h = (hsl.h + 180) % 360;\n    return tinycolor(hsl);\n}\n\nfunction triad(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n    ];\n}\n\nfunction tetrad(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n    ];\n}\n\nfunction splitcomplement(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n        tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n    ];\n}\n\nfunction analogous(color, results, slices) {\n    results = results || 6;\n    slices = slices || 30;\n\n    var hsl = tinycolor(color).toHsl();\n    var part = 360 / slices;\n    var ret = [tinycolor(color)];\n\n    for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n        hsl.h = (hsl.h + part) % 360;\n        ret.push(tinycolor(hsl));\n    }\n    return ret;\n}\n\nfunction monochromatic(color, results) {\n    results = results || 6;\n    var hsv = tinycolor(color).toHsv();\n    var h = hsv.h, s = hsv.s, v = hsv.v;\n    var ret = [];\n    var modification = 1 / results;\n\n    while (results--) {\n        ret.push(tinycolor({ h: h, s: s, v: v}));\n        v = (v + modification) % 1;\n    }\n\n    return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n    amount = (amount === 0) ? 0 : (amount || 50);\n\n    var rgb1 = tinycolor(color1).toRgb();\n    var rgb2 = tinycolor(color2).toRgb();\n\n    var p = amount / 100;\n\n    var rgba = {\n        r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n        g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n        b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n        a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n    };\n\n    return tinycolor(rgba);\n};\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// contrast\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n    var c1 = tinycolor(color1);\n    var c2 = tinycolor(color2);\n    return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// isReadable\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n//      the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n//      the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n//    tinycolor.isReadable(\"#000\", \"#111\") => false\n//    tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n    var readability = tinycolor.readability(color1, color2);\n    var wcag2Parms, out;\n\n    out = false;\n\n    wcag2Parms = validateWCAG2Parms(wcag2);\n    switch (wcag2Parms.level + wcag2Parms.size) {\n        case \"AAsmall\":\n        case \"AAAlarge\":\n            out = readability >= 4.5;\n            break;\n        case \"AAlarge\":\n            out = readability >= 3;\n            break;\n        case \"AAAsmall\":\n            out = readability >= 7;\n            break;\n    }\n    return out;\n\n};\n\n// mostReadable\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString();  // \"#ffffff\"\n//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n    var bestColor = null;\n    var bestScore = 0;\n    var readability;\n    var includeFallbackColors, level, size ;\n    args = args || {};\n    includeFallbackColors = args.includeFallbackColors ;\n    level = args.level;\n    size = args.size;\n\n    for (var i= 0; i < colorList.length ; i++) {\n        readability = tinycolor.readability(baseColor, colorList[i]);\n        if (readability > bestScore) {\n            bestScore = readability;\n            bestColor = tinycolor(colorList[i]);\n        }\n    }\n\n    if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n        return bestColor;\n    }\n    else {\n        args.includeFallbackColors=false;\n        return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n    }\n};\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n    aliceblue: \"f0f8ff\",\n    antiquewhite: \"faebd7\",\n    aqua: \"0ff\",\n    aquamarine: \"7fffd4\",\n    azure: \"f0ffff\",\n    beige: \"f5f5dc\",\n    bisque: \"ffe4c4\",\n    black: \"000\",\n    blanchedalmond: \"ffebcd\",\n    blue: \"00f\",\n    blueviolet: \"8a2be2\",\n    brown: \"a52a2a\",\n    burlywood: \"deb887\",\n    burntsienna: \"ea7e5d\",\n    cadetblue: \"5f9ea0\",\n    chartreuse: \"7fff00\",\n    chocolate: \"d2691e\",\n    coral: \"ff7f50\",\n    cornflowerblue: \"6495ed\",\n    cornsilk: \"fff8dc\",\n    crimson: \"dc143c\",\n    cyan: \"0ff\",\n    darkblue: \"00008b\",\n    darkcyan: \"008b8b\",\n    darkgoldenrod: \"b8860b\",\n    darkgray: \"a9a9a9\",\n    darkgreen: \"006400\",\n    darkgrey: \"a9a9a9\",\n    darkkhaki: \"bdb76b\",\n    darkmagenta: \"8b008b\",\n    darkolivegreen: \"556b2f\",\n    darkorange: \"ff8c00\",\n    darkorchid: \"9932cc\",\n    darkred: \"8b0000\",\n    darksalmon: \"e9967a\",\n    darkseagreen: \"8fbc8f\",\n    darkslateblue: \"483d8b\",\n    darkslategray: \"2f4f4f\",\n    darkslategrey: \"2f4f4f\",\n    darkturquoise: \"00ced1\",\n    darkviolet: \"9400d3\",\n    deeppink: \"ff1493\",\n    deepskyblue: \"00bfff\",\n    dimgray: \"696969\",\n    dimgrey: \"696969\",\n    dodgerblue: \"1e90ff\",\n    firebrick: \"b22222\",\n    floralwhite: \"fffaf0\",\n    forestgreen: \"228b22\",\n    fuchsia: \"f0f\",\n    gainsboro: \"dcdcdc\",\n    ghostwhite: \"f8f8ff\",\n    gold: \"ffd700\",\n    goldenrod: \"daa520\",\n    gray: \"808080\",\n    green: \"008000\",\n    greenyellow: \"adff2f\",\n    grey: \"808080\",\n    honeydew: \"f0fff0\",\n    hotpink: \"ff69b4\",\n    indianred: \"cd5c5c\",\n    indigo: \"4b0082\",\n    ivory: \"fffff0\",\n    khaki: \"f0e68c\",\n    lavender: \"e6e6fa\",\n    lavenderblush: \"fff0f5\",\n    lawngreen: \"7cfc00\",\n    lemonchiffon: \"fffacd\",\n    lightblue: \"add8e6\",\n    lightcoral: \"f08080\",\n    lightcyan: \"e0ffff\",\n    lightgoldenrodyellow: \"fafad2\",\n    lightgray: \"d3d3d3\",\n    lightgreen: \"90ee90\",\n    lightgrey: \"d3d3d3\",\n    lightpink: \"ffb6c1\",\n    lightsalmon: \"ffa07a\",\n    lightseagreen: \"20b2aa\",\n    lightskyblue: \"87cefa\",\n    lightslategray: \"789\",\n    lightslategrey: \"789\",\n    lightsteelblue: \"b0c4de\",\n    lightyellow: \"ffffe0\",\n    lime: \"0f0\",\n    limegreen: \"32cd32\",\n    linen: \"faf0e6\",\n    magenta: \"f0f\",\n    maroon: \"800000\",\n    mediumaquamarine: \"66cdaa\",\n    mediumblue: \"0000cd\",\n    mediumorchid: \"ba55d3\",\n    mediumpurple: \"9370db\",\n    mediumseagreen: \"3cb371\",\n    mediumslateblue: \"7b68ee\",\n    mediumspringgreen: \"00fa9a\",\n    mediumturquoise: \"48d1cc\",\n    mediumvioletred: \"c71585\",\n    midnightblue: \"191970\",\n    mintcream: \"f5fffa\",\n    mistyrose: \"ffe4e1\",\n    moccasin: \"ffe4b5\",\n    navajowhite: \"ffdead\",\n    navy: \"000080\",\n    oldlace: \"fdf5e6\",\n    olive: \"808000\",\n    olivedrab: \"6b8e23\",\n    orange: \"ffa500\",\n    orangered: \"ff4500\",\n    orchid: \"da70d6\",\n    palegoldenrod: \"eee8aa\",\n    palegreen: \"98fb98\",\n    paleturquoise: \"afeeee\",\n    palevioletred: \"db7093\",\n    papayawhip: \"ffefd5\",\n    peachpuff: \"ffdab9\",\n    peru: \"cd853f\",\n    pink: \"ffc0cb\",\n    plum: \"dda0dd\",\n    powderblue: \"b0e0e6\",\n    purple: \"800080\",\n    rebeccapurple: \"663399\",\n    red: \"f00\",\n    rosybrown: \"bc8f8f\",\n    royalblue: \"4169e1\",\n    saddlebrown: \"8b4513\",\n    salmon: \"fa8072\",\n    sandybrown: \"f4a460\",\n    seagreen: \"2e8b57\",\n    seashell: \"fff5ee\",\n    sienna: \"a0522d\",\n    silver: \"c0c0c0\",\n    skyblue: \"87ceeb\",\n    slateblue: \"6a5acd\",\n    slategray: \"708090\",\n    slategrey: \"708090\",\n    snow: \"fffafa\",\n    springgreen: \"00ff7f\",\n    steelblue: \"4682b4\",\n    tan: \"d2b48c\",\n    teal: \"008080\",\n    thistle: \"d8bfd8\",\n    tomato: \"ff6347\",\n    turquoise: \"40e0d0\",\n    violet: \"ee82ee\",\n    wheat: \"f5deb3\",\n    white: \"fff\",\n    whitesmoke: \"f5f5f5\",\n    yellow: \"ff0\",\n    yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via hexNames[hex]\nvar hexNames = tinycolor.hexNames = flip(names);\n\n// Utilities\n// ---------\n\n// { 'name1': 'val1' } becomes { 'val1': 'name1' }\nfunction flip(o) {\n    var flipped = { };\n    for (var i in o) {\n        if (o.hasOwnProperty(i)) {\n            flipped[o[i]] = i;\n        }\n    }\n    return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n    a = parseFloat(a);\n\n    if (isNaN(a) || a < 0 || a > 1) {\n        a = 1;\n    }\n\n    return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n    if (isOnePointZero(n)) { n = \"100%\"; }\n\n    var processPercent = isPercentage(n);\n    n = mathMin(max, mathMax(0, parseFloat(n)));\n\n    // Automatically convert percentage into number\n    if (processPercent) {\n        n = parseInt(n * max, 10) / 100;\n    }\n\n    // Handle floating point rounding errors\n    if ((Math.abs(n - max) < 0.000001)) {\n        return 1;\n    }\n\n    // Convert into [0, 1] range if it isn't already\n    return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n    return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n    return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n    return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n    return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n    return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n    if (n <= 1) {\n        n = (n * 100) + \"%\";\n    }\n\n    return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n    return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n    return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n    // <http://www.w3.org/TR/css3-values/#integers>\n    var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n    // <http://www.w3.org/TR/css3-values/#number-value>\n    var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n    // Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.\n    var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n    // Actual matching.\n    // Parentheses and commas are optional, but not required.\n    // Whitespace can take the place of commas or opening paren\n    var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n    var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n    return {\n        CSS_UNIT: new RegExp(CSS_UNIT),\n        rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n        rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n        hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n        hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n        hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n        hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n        hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n        hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n    };\n})();\n\n// isValidCSSUnit\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see matchers above for definition).\nfunction isValidCSSUnit(color) {\n    return !!matchers.CSS_UNIT.exec(color);\n}\n\n// stringInputToObject\n// Permissive string parsing.  Take in a number of formats, and output an object\n// based on detected format.  Returns { r, g, b } or { h, s, l } or { h, s, v}\nfunction stringInputToObject(color) {\n\n    color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase();\n    var named = false;\n    if (names[color]) {\n        color = names[color];\n        named = true;\n    }\n    else if (color == 'transparent') {\n        return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n    }\n\n    // Try to match string input using regular expressions.\n    // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n    // Just return an object and let the conversion functions handle that.\n    // This way the result will be the same whether the tinycolor is initialized with string or object.\n    var match;\n    if ((match = matchers.rgb.exec(color))) {\n        return { r: match[1], g: match[2], b: match[3] };\n    }\n    if ((match = matchers.rgba.exec(color))) {\n        return { r: match[1], g: match[2], b: match[3], a: match[4] };\n    }\n    if ((match = matchers.hsl.exec(color))) {\n        return { h: match[1], s: match[2], l: match[3] };\n    }\n    if ((match = matchers.hsla.exec(color))) {\n        return { h: match[1], s: match[2], l: match[3], a: match[4] };\n    }\n    if ((match = matchers.hsv.exec(color))) {\n        return { h: match[1], s: match[2], v: match[3] };\n    }\n    if ((match = matchers.hsva.exec(color))) {\n        return { h: match[1], s: match[2], v: match[3], a: match[4] };\n    }\n    if ((match = matchers.hex8.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1]),\n            g: parseIntFromHex(match[2]),\n            b: parseIntFromHex(match[3]),\n            a: convertHexToDecimal(match[4]),\n            format: named ? \"name\" : \"hex8\"\n        };\n    }\n    if ((match = matchers.hex6.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1]),\n            g: parseIntFromHex(match[2]),\n            b: parseIntFromHex(match[3]),\n            format: named ? \"name\" : \"hex\"\n        };\n    }\n    if ((match = matchers.hex4.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1] + '' + match[1]),\n            g: parseIntFromHex(match[2] + '' + match[2]),\n            b: parseIntFromHex(match[3] + '' + match[3]),\n            a: convertHexToDecimal(match[4] + '' + match[4]),\n            format: named ? \"name\" : \"hex8\"\n        };\n    }\n    if ((match = matchers.hex3.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1] + '' + match[1]),\n            g: parseIntFromHex(match[2] + '' + match[2]),\n            b: parseIntFromHex(match[3] + '' + match[3]),\n            format: named ? \"name\" : \"hex\"\n        };\n    }\n\n    return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n    // return valid WCAG2 parms for isReadable.\n    // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n    var level, size;\n    parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n    level = (parms.level || \"AA\").toUpperCase();\n    size = (parms.size || \"small\").toLowerCase();\n    if (level !== \"AA\" && level !== \"AAA\") {\n        level = \"AA\";\n    }\n    if (size !== \"small\" && size !== \"large\") {\n        size = \"small\";\n    }\n    return {\"level\":level, \"size\":size};\n}\n\nthis.tinycolor = tinycolor;\n\n})()`;\n}\n// It is hacky way to make this function will be compiled preferentially by less\n// resolve error: `ReferenceError: colorPalette is not defined`\n// https://github.com/ant-design/ant-motion/issues/44\n.tinyColorMixin();\n"
  },
  {
    "path": "src/styles/common/article.less",
    "content": ".rab-article {\n  h1 {\n    font-size: 26px;\n    font-weight: normal;\n  }\n\n  h2 {\n    font-size: 20px;\n    font-weight: normal;\n  }\n\n  h3 {\n    font-size: 16px;\n    font-weight: normal;\n  }\n\n  h4 {\n    font-size: 14px;\n    font-weight: normal;\n  }\n\n  h5 {\n    font-size: 12px;\n    font-weight: normal;\n  }\n\n  h6 {\n    font-size: 12px;\n    font-weight: normal;\n  }\n\n  blockquote {\n    padding: 5px 5px 3px 10px;\n    line-height: 1.5;\n    border-left: 4px solid #ddd;\n    margin-bottom: 20px;\n    color: #666;\n    font-size: 14px;\n  }\n\n  ul:not([class^='rab-']) {\n    padding-left: 40px;\n    list-style-type: disc;\n  }\n\n  li:not([class^='rab-']) {\n    margin-bottom: 5px;\n    font-size: 14px;\n  }\n\n  ul ul:not([class^='rab-']),\n  ol ul:not([class^='rab-']) {\n    list-style-type: circle;\n  }\n\n  p {\n    margin: 5px;\n    font-size: 14px;\n  }\n}"
  },
  {
    "path": "src/styles/common/base.less",
    "content": "@import 'normalize';\n\n* {\n    box-sizing: border-box;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n*:before,\n*:after {\n    box-sizing: border-box;\n}\n\nbody {\n    font-family: @font-family;\n    font-size: @font-size-base;\n    line-height: @line-height-base;\n    color: @text-color;\n    background-color: @body-background;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd,\nhr,\nbutton,\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\nsection {\n    margin: 0;\n    padding: 0;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n}\n\ninput::-ms-clear,\ninput::-ms-reveal {\n    display: none;\n}\n\na {\n    color: @link-color;\n    background: transparent;\n    text-decoration: none;\n    outline: none;\n    cursor: pointer;\n    transition: color @transition-time ease;\n\n    &:hover {\n        color: @link-hover-color;\n    }\n\n    &:active {\n        color: @link-active-color;\n    }\n\n    &:active,\n    &:hover {\n        outline: 0;\n        text-decoration: none;\n    }\n\n    &[disabled] {\n        color: #ccc;\n        cursor: @cursor-disabled;\n        pointer-events: none;\n    }\n}\n\np {\n    margin-top: 0;\n    margin-bottom: 1rem;\n}\n\ncode {\n    padding: 0.2em 0.4em;\n    margin: 0;\n    font-size: 85%;\n    background-color: #fff5f5;\n    border-radius: 3px;\n    font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace;\n    color: #fa795e;\n}\n\ncode,\nkbd,\npre,\nsamp {\n    font-family: @code-family;\n}\n\nhr {\n    box-sizing: content-box;\n    height: 0;\n    overflow: visible;\n    margin-top: 1rem;\n    margin-bottom: 1rem;\n    border: 0;\n    border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n"
  },
  {
    "path": "src/styles/common/iconfont/icons-font.less",
    "content": "@font-face {\n    font-family: @icons-font-family;\n    src: url('@{icons-font-path}/iconfont.eot');\n    src: url('@{icons-font-path}/iconfont.eot?#iefix') format('embedded-opentype'),\n        url('@{icons-font-path}/iconfont.woff2') format('woff2'),\n        url('@{icons-font-path}/iconfont.woff') format('woff'),\n        url('@{icons-font-path}/iconfont.ttf') format('truetype'),\n        url('@{icons-font-path}/iconfont.svg#iconfont') format('svg');\n    font-weight: normal;\n    font-style: normal;\n}\n\n.rab-icon() {\n    display: inline-block;\n    font-family: @icons-font-family;\n    speak: none;\n    font-style: normal;\n    font-weight: normal;\n    font-variant: normal;\n    text-transform: none;\n    text-rendering: optimizeLegibility;\n    line-height: 0;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    vertical-align: inherit;\n    text-align: center;\n}\n\n.rab-icon {\n    .rab-icon();\n}\n"
  },
  {
    "path": "src/styles/common/iconfont/icons-icons.less",
    "content": ".@{icons-prefix}ios-alert-outline:before {\n  content: \"\\e8b7\";\n}\n\n.@{icons-prefix}rabbit:before {\n  content: \"\\e600\";\n}\n\n.@{icons-prefix}403:before {\n  content: \"\\e8b6\";\n}\n\n.@{icons-prefix}500:before {\n  content: \"\\e8bc\";\n}\n\n.@{icons-prefix}4042:before {\n  content: \"\\ef05\";\n}\n\n.@{icons-prefix}loading-solid:before {\n  content: \"\\e8b4\";\n}\n\n.@{icons-prefix}loading1:before {\n  content: \"\\e8b5\";\n}\n\n.@{icons-prefix}md-arrow-dropup-circle:before {\n  content: \"\\e638\";\n}\n\n.@{icons-prefix}md-swap:before {\n  content: \"\\e738\";\n}\n\n.@{icons-prefix}ios-person-add:before {\n  content: \"\\e838\";\n}\n\n.@{icons-prefix}md-arrow-dropup:before {\n  content: \"\\e639\";\n}\n\n.@{icons-prefix}md-sunny:before {\n  content: \"\\e739\";\n}\n\n.@{icons-prefix}ios-phone-landscape:before {\n  content: \"\\e839\";\n}\n\n.@{icons-prefix}md-arrow-round-down:before {\n  content: \"\\e63a\";\n}\n\n.@{icons-prefix}md-subway:before {\n  content: \"\\e73a\";\n}\n\n.@{icons-prefix}ios-photos:before {\n  content: \"\\e83a\";\n}\n\n.@{icons-prefix}md-arrow-forward:before {\n  content: \"\\e63b\";\n}\n\n.@{icons-prefix}md-switch:before {\n  content: \"\\e73b\";\n}\n\n.@{icons-prefix}ios-pin:before {\n  content: \"\\e83b\";\n}\n\n.@{icons-prefix}md-arrow-round-back:before {\n  content: \"\\e63c\";\n}\n\n.@{icons-prefix}md-tablet-landscape:before {\n  content: \"\\e73c\";\n}\n\n.@{icons-prefix}ios-pie:before {\n  content: \"\\e83c\";\n}\n\n.@{icons-prefix}md-arrow-up:before {\n  content: \"\\e63d\";\n}\n\n.@{icons-prefix}md-sync:before {\n  content: \"\\e73d\";\n}\n\n.@{icons-prefix}ios-pint:before {\n  content: \"\\e83d\";\n}\n\n.@{icons-prefix}md-arrow-round-up:before {\n  content: \"\\e63e\";\n}\n\n.@{icons-prefix}md-text:before {\n  content: \"\\e73e\";\n}\n\n.@{icons-prefix}ios-partly-sunny:before {\n  content: \"\\e83e\";\n}\n\n.@{icons-prefix}md-arrow-round-forward:before {\n  content: \"\\e63f\";\n}\n\n.@{icons-prefix}md-tablet-portrait:before {\n  content: \"\\e73f\";\n}\n\n.@{icons-prefix}ios-planet:before {\n  content: \"\\e83f\";\n}\n\n.@{icons-prefix}md-backspace:before {\n  content: \"\\e640\";\n}\n\n.@{icons-prefix}md-tennisball:before {\n  content: \"\\e740\";\n}\n\n.@{icons-prefix}ios-pizza:before {\n  content: \"\\e840\";\n}\n\n.@{icons-prefix}md-at:before {\n  content: \"\\e641\";\n}\n\n.@{icons-prefix}md-thermometer:before {\n  content: \"\\e741\";\n}\n\n.@{icons-prefix}ios-play:before {\n  content: \"\\e841\";\n}\n\n.@{icons-prefix}md-attach:before {\n  content: \"\\e642\";\n}\n\n.@{icons-prefix}md-thumbs-up:before {\n  content: \"\\e742\";\n}\n\n.@{icons-prefix}ios-play-circle:before {\n  content: \"\\e842\";\n}\n\n.@{icons-prefix}md-basket:before {\n  content: \"\\e643\";\n}\n\n.@{icons-prefix}md-thumbs-down:before {\n  content: \"\\e743\";\n}\n\n.@{icons-prefix}ios-podium:before {\n  content: \"\\e843\";\n}\n\n.@{icons-prefix}md-battery-dead:before {\n  content: \"\\e644\";\n}\n\n.@{icons-prefix}md-stats:before {\n  content: \"\\e744\";\n}\n\n.@{icons-prefix}ios-power:before {\n  content: \"\\e844\";\n}\n\n.@{icons-prefix}md-basketball:before {\n  content: \"\\e645\";\n}\n\n.@{icons-prefix}md-thunderstorm:before {\n  content: \"\\e745\";\n}\n\n.@{icons-prefix}ios-pricetag:before {\n  content: \"\\e845\";\n}\n\n.@{icons-prefix}md-battery-charging:before {\n  content: \"\\e646\";\n}\n\n.@{icons-prefix}md-time:before {\n  content: \"\\e746\";\n}\n\n.@{icons-prefix}ios-pricetags:before {\n  content: \"\\e846\";\n}\n\n.@{icons-prefix}md-battery-full:before {\n  content: \"\\e647\";\n}\n\n.@{icons-prefix}md-timer:before {\n  content: \"\\e747\";\n}\n\n.@{icons-prefix}ios-print:before {\n  content: \"\\e847\";\n}\n\n.@{icons-prefix}md-bed:before {\n  content: \"\\e648\";\n}\n\n.@{icons-prefix}md-today:before {\n  content: \"\\e748\";\n}\n\n.@{icons-prefix}ios-pulse:before {\n  content: \"\\e848\";\n}\n\n.@{icons-prefix}md-baseball:before {\n  content: \"\\e649\";\n}\n\n.@{icons-prefix}md-transgender:before {\n  content: \"\\e749\";\n}\n\n.@{icons-prefix}ios-qr-scanner:before {\n  content: \"\\e849\";\n}\n\n.@{icons-prefix}md-barcode:before {\n  content: \"\\e64a\";\n}\n\n.@{icons-prefix}md-trash:before {\n  content: \"\\e74a\";\n}\n\n.@{icons-prefix}ios-quote:before {\n  content: \"\\e84a\";\n}\n\n.@{icons-prefix}md-beaker:before {\n  content: \"\\e64b\";\n}\n\n.@{icons-prefix}md-trending-down:before {\n  content: \"\\e74b\";\n}\n\n.@{icons-prefix}ios-radio-button-off:before {\n  content: \"\\e84b\";\n}\n\n.@{icons-prefix}md-bluetooth:before {\n  content: \"\\e64c\";\n}\n\n.@{icons-prefix}md-trending-up:before {\n  content: \"\\e74c\";\n}\n\n.@{icons-prefix}ios-radio-button-on:before {\n  content: \"\\e84c\";\n}\n\n.@{icons-prefix}md-body:before {\n  content: \"\\e64d\";\n}\n\n.@{icons-prefix}md-tv:before {\n  content: \"\\e74d\";\n}\n\n.@{icons-prefix}ios-radio:before {\n  content: \"\\e84d\";\n}\n\n.@{icons-prefix}md-bonfire:before {\n  content: \"\\e64e\";\n}\n\n.@{icons-prefix}md-trophy:before {\n  content: \"\\e74e\";\n}\n\n.@{icons-prefix}ios-recording:before {\n  content: \"\\e84e\";\n}\n\n.@{icons-prefix}md-bicycle:before {\n  content: \"\\e64f\";\n}\n\n.@{icons-prefix}md-umbrella:before {\n  content: \"\\e74f\";\n}\n\n.@{icons-prefix}ios-redo:before {\n  content: \"\\e84f\";\n}\n\n.@{icons-prefix}md-beer:before {\n  content: \"\\e650\";\n}\n\n.@{icons-prefix}md-undo:before {\n  content: \"\\e750\";\n}\n\n.@{icons-prefix}ios-refresh:before {\n  content: \"\\e850\";\n}\n\n.@{icons-prefix}md-book:before {\n  content: \"\\e651\";\n}\n\n.@{icons-prefix}md-videocam:before {\n  content: \"\\e751\";\n}\n\n.@{icons-prefix}ios-refresh-circle:before {\n  content: \"\\e851\";\n}\n\n.@{icons-prefix}md-boat:before {\n  content: \"\\e652\";\n}\n\n.@{icons-prefix}md-volume-mute:before {\n  content: \"\\e752\";\n}\n\n.@{icons-prefix}ios-remove:before {\n  content: \"\\e852\";\n}\n\n.@{icons-prefix}md-bookmark:before {\n  content: \"\\e653\";\n}\n\n.@{icons-prefix}md-volume-low:before {\n  content: \"\\e753\";\n}\n\n.@{icons-prefix}ios-remove-circle-outline:before {\n  content: \"\\e853\";\n}\n\n.@{icons-prefix}md-bookmarks:before {\n  content: \"\\e654\";\n}\n\n.@{icons-prefix}md-volume-high:before {\n  content: \"\\e754\";\n}\n\n.@{icons-prefix}ios-remove-circle:before {\n  content: \"\\e854\";\n}\n\n.@{icons-prefix}md-bowtie:before {\n  content: \"\\e655\";\n}\n\n.@{icons-prefix}md-train:before {\n  content: \"\\e755\";\n}\n\n.@{icons-prefix}ios-reorder:before {\n  content: \"\\e855\";\n}\n\n.@{icons-prefix}md-briefcase:before {\n  content: \"\\e656\";\n}\n\n.@{icons-prefix}md-walk:before {\n  content: \"\\e756\";\n}\n\n.@{icons-prefix}ios-resize:before {\n  content: \"\\e856\";\n}\n\n.@{icons-prefix}md-browsers:before {\n  content: \"\\e657\";\n}\n\n.@{icons-prefix}md-wallet:before {\n  content: \"\\e757\";\n}\n\n.@{icons-prefix}ios-repeat:before {\n  content: \"\\e857\";\n}\n\n.@{icons-prefix}md-brush:before {\n  content: \"\\e658\";\n}\n\n.@{icons-prefix}md-unlock:before {\n  content: \"\\e758\";\n}\n\n.@{icons-prefix}ios-rainy:before {\n  content: \"\\e858\";\n}\n\n.@{icons-prefix}md-bug:before {\n  content: \"\\e659\";\n}\n\n.@{icons-prefix}md-warning:before {\n  content: \"\\e759\";\n}\n\n.@{icons-prefix}ios-return-left:before {\n  content: \"\\e859\";\n}\n\n.@{icons-prefix}md-build:before {\n  content: \"\\e65a\";\n}\n\n.@{icons-prefix}md-volume-off:before {\n  content: \"\\e75a\";\n}\n\n.@{icons-prefix}ios-restaurant:before {\n  content: \"\\e85a\";\n}\n\n.@{icons-prefix}md-bulb:before {\n  content: \"\\e65b\";\n}\n\n.@{icons-prefix}md-water:before {\n  content: \"\\e75b\";\n}\n\n.@{icons-prefix}ios-return-right:before {\n  content: \"\\e85b\";\n}\n\n.@{icons-prefix}md-business:before {\n  content: \"\\e65c\";\n}\n\n.@{icons-prefix}md-watch:before {\n  content: \"\\e75c\";\n}\n\n.@{icons-prefix}ios-rewind:before {\n  content: \"\\e85c\";\n}\n\n.@{icons-prefix}md-cafe:before {\n  content: \"\\e65d\";\n}\n\n.@{icons-prefix}md-woman:before {\n  content: \"\\e75d\";\n}\n\n.@{icons-prefix}ios-reverse-camera:before {\n  content: \"\\e85d\";\n}\n\n.@{icons-prefix}md-bus:before {\n  content: \"\\e65e\";\n}\n\n.@{icons-prefix}md-wine:before {\n  content: \"\\e75e\";\n}\n\n.@{icons-prefix}ios-ribbon:before {\n  content: \"\\e85e\";\n}\n\n.@{icons-prefix}md-calculator:before {\n  content: \"\\e65f\";\n}\n\n.@{icons-prefix}md-wifi:before {\n  content: \"\\e75f\";\n}\n\n.@{icons-prefix}ios-rocket:before {\n  content: \"\\e85f\";\n}\n\n.@{icons-prefix}md-call:before {\n  content: \"\\e660\";\n}\n\n.@{icons-prefix}ios-add:before {\n  content: \"\\e760\";\n}\n\n.@{icons-prefix}ios-rose:before {\n  content: \"\\e860\";\n}\n\n.@{icons-prefix}md-car:before {\n  content: \"\\e661\";\n}\n\n.@{icons-prefix}ios-add-circle:before {\n  content: \"\\e761\";\n}\n\n.@{icons-prefix}ios-sad:before {\n  content: \"\\e861\";\n}\n\n.@{icons-prefix}md-camera:before {\n  content: \"\\e662\";\n}\n\n.@{icons-prefix}ios-add-circle-outline:before {\n  content: \"\\e762\";\n}\n\n.@{icons-prefix}ios-save:before {\n  content: \"\\e862\";\n}\n\n.@{icons-prefix}md-card:before {\n  content: \"\\e663\";\n}\n\n.@{icons-prefix}ios-albums:before {\n  content: \"\\e763\";\n}\n\n.@{icons-prefix}ios-search:before {\n  content: \"\\e863\";\n}\n\n.@{icons-prefix}md-cash:before {\n  content: \"\\e664\";\n}\n\n.@{icons-prefix}ios-airplane:before {\n  content: \"\\e764\";\n}\n\n.@{icons-prefix}ios-school:before {\n  content: \"\\e864\";\n}\n\n.@{icons-prefix}md-cellular:before {\n  content: \"\\e665\";\n}\n\n.@{icons-prefix}ios-alarm:before {\n  content: \"\\e765\";\n}\n\n.@{icons-prefix}ios-send:before {\n  content: \"\\e865\";\n}\n\n.@{icons-prefix}md-cart:before {\n  content: \"\\e666\";\n}\n\n.@{icons-prefix}ios-alert:before {\n  content: \"\\e766\";\n}\n\n.@{icons-prefix}ios-share:before {\n  content: \"\\e866\";\n}\n\n.@{icons-prefix}md-calendar:before {\n  content: \"\\e667\";\n}\n\n.@{icons-prefix}ios-analytics:before {\n  content: \"\\e767\";\n}\n\n.@{icons-prefix}ios-settings:before {\n  content: \"\\e867\";\n}\n\n.@{icons-prefix}md-chatbubbles:before {\n  content: \"\\e668\";\n}\n\n.@{icons-prefix}ios-appstore:before {\n  content: \"\\e768\";\n}\n\n.@{icons-prefix}ios-share-alt:before {\n  content: \"\\e868\";\n}\n\n.@{icons-prefix}md-chatboxes:before {\n  content: \"\\e669\";\n}\n\n.@{icons-prefix}ios-aperture:before {\n  content: \"\\e769\";\n}\n\n.@{icons-prefix}ios-shirt:before {\n  content: \"\\e869\";\n}\n\n.@{icons-prefix}md-checkbox:before {\n  content: \"\\e66a\";\n}\n\n.@{icons-prefix}ios-apps:before {\n  content: \"\\e76a\";\n}\n\n.@{icons-prefix}ios-shuffle:before {\n  content: \"\\e86a\";\n}\n\n.@{icons-prefix}md-checkmark:before {\n  content: \"\\e66b\";\n}\n\n.@{icons-prefix}ios-archive:before {\n  content: \"\\e76b\";\n}\n\n.@{icons-prefix}ios-skip-backward:before {\n  content: \"\\e86b\";\n}\n\n.@{icons-prefix}md-checkbox-outline:before {\n  content: \"\\e66c\";\n}\n\n.@{icons-prefix}ios-american-football:before {\n  content: \"\\e76c\";\n}\n\n.@{icons-prefix}ios-skip-forward:before {\n  content: \"\\e86c\";\n}\n\n.@{icons-prefix}md-checkmark-circle:before {\n  content: \"\\e66d\";\n}\n\n.@{icons-prefix}ios-arrow-back:before {\n  content: \"\\e76d\";\n}\n\n.@{icons-prefix}ios-speedometer:before {\n  content: \"\\e86d\";\n}\n\n.@{icons-prefix}md-checkmark-circle-outline:before {\n  content: \"\\e66e\";\n}\n\n.@{icons-prefix}ios-arrow-down:before {\n  content: \"\\e76e\";\n}\n\n.@{icons-prefix}ios-square:before {\n  content: \"\\e86e\";\n}\n\n.@{icons-prefix}md-clipboard:before {\n  content: \"\\e66f\";\n}\n\n.@{icons-prefix}ios-arrow-dropdown-circle:before {\n  content: \"\\e76f\";\n}\n\n.@{icons-prefix}ios-square-outline:before {\n  content: \"\\e86f\";\n}\n\n.@{icons-prefix}md-close:before {\n  content: \"\\e670\";\n}\n\n.@{icons-prefix}ios-arrow-dropdown:before {\n  content: \"\\e770\";\n}\n\n.@{icons-prefix}ios-star:before {\n  content: \"\\e870\";\n}\n\n.@{icons-prefix}md-close-circle:before {\n  content: \"\\e671\";\n}\n\n.@{icons-prefix}ios-arrow-dropleft:before {\n  content: \"\\e771\";\n}\n\n.@{icons-prefix}ios-star-half:before {\n  content: \"\\e871\";\n}\n\n.@{icons-prefix}md-clock:before {\n  content: \"\\e672\";\n}\n\n.@{icons-prefix}ios-arrow-dropleft-circle:before {\n  content: \"\\e772\";\n}\n\n.@{icons-prefix}ios-star-outline:before {\n  content: \"\\e872\";\n}\n\n.@{icons-prefix}md-close-circle-outline:before {\n  content: \"\\e673\";\n}\n\n.@{icons-prefix}ios-arrow-dropright-circle:before {\n  content: \"\\e773\";\n}\n\n.@{icons-prefix}ios-stats:before {\n  content: \"\\e873\";\n}\n\n.@{icons-prefix}md-cloud:before {\n  content: \"\\e674\";\n}\n\n.@{icons-prefix}ios-arrow-dropright:before {\n  content: \"\\e774\";\n}\n\n.@{icons-prefix}ios-snow:before {\n  content: \"\\e874\";\n}\n\n.@{icons-prefix}md-cloud-circle:before {\n  content: \"\\e675\";\n}\n\n.@{icons-prefix}ios-arrow-dropup:before {\n  content: \"\\e775\";\n}\n\n.@{icons-prefix}ios-stopwatch:before {\n  content: \"\\e875\";\n}\n\n.@{icons-prefix}md-cloud-done:before {\n  content: \"\\e676\";\n}\n\n.@{icons-prefix}ios-arrow-dropup-circle:before {\n  content: \"\\e776\";\n}\n\n.@{icons-prefix}ios-sunny:before {\n  content: \"\\e876\";\n}\n\n.@{icons-prefix}md-cloud-download:before {\n  content: \"\\e677\";\n}\n\n.@{icons-prefix}ios-arrow-forward:before {\n  content: \"\\e777\";\n}\n\n.@{icons-prefix}ios-subway:before {\n  content: \"\\e877\";\n}\n\n.@{icons-prefix}md-cloud-outline:before {\n  content: \"\\e678\";\n}\n\n.@{icons-prefix}ios-arrow-round-back:before {\n  content: \"\\e778\";\n}\n\n.@{icons-prefix}ios-swap:before {\n  content: \"\\e878\";\n}\n\n.@{icons-prefix}md-cloudy:before {\n  content: \"\\e679\";\n}\n\n.@{icons-prefix}ios-arrow-round-down:before {\n  content: \"\\e779\";\n}\n\n.@{icons-prefix}ios-switch:before {\n  content: \"\\e879\";\n}\n\n.@{icons-prefix}md-cloudy-night:before {\n  content: \"\\e67a\";\n}\n\n.@{icons-prefix}ios-arrow-round-forward:before {\n  content: \"\\e77a\";\n}\n\n.@{icons-prefix}ios-tablet-landscape:before {\n  content: \"\\e87a\";\n}\n\n.@{icons-prefix}md-code-download:before {\n  content: \"\\e67b\";\n}\n\n.@{icons-prefix}ios-arrow-round-up:before {\n  content: \"\\e77b\";\n}\n\n.@{icons-prefix}ios-sync:before {\n  content: \"\\e87b\";\n}\n\n.@{icons-prefix}md-code-working:before {\n  content: \"\\e67c\";\n}\n\n.@{icons-prefix}ios-arrow-up:before {\n  content: \"\\e77c\";\n}\n\n.@{icons-prefix}ios-tablet-portrait:before {\n  content: \"\\e87c\";\n}\n\n.@{icons-prefix}md-color-fill:before {\n  content: \"\\e67d\";\n}\n\n.@{icons-prefix}ios-at:before {\n  content: \"\\e77d\";\n}\n\n.@{icons-prefix}ios-text:before {\n  content: \"\\e87d\";\n}\n\n.@{icons-prefix}md-color-filter:before {\n  content: \"\\e67e\";\n}\n\n.@{icons-prefix}ios-attach:before {\n  content: \"\\e77e\";\n}\n\n.@{icons-prefix}ios-thermometer:before {\n  content: \"\\e87e\";\n}\n\n.@{icons-prefix}md-cog:before {\n  content: \"\\e67f\";\n}\n\n.@{icons-prefix}ios-backspace:before {\n  content: \"\\e77f\";\n}\n\n.@{icons-prefix}ios-tennisball:before {\n  content: \"\\e87f\";\n}\n\n.@{icons-prefix}md-compass:before {\n  content: \"\\e680\";\n}\n\n.@{icons-prefix}ios-barcode:before {\n  content: \"\\e780\";\n}\n\n.@{icons-prefix}ios-thumbs-down:before {\n  content: \"\\e880\";\n}\n\n.@{icons-prefix}md-color-palette:before {\n  content: \"\\e681\";\n}\n\n.@{icons-prefix}ios-basketball:before {\n  content: \"\\e781\";\n}\n\n.@{icons-prefix}ios-thunderstorm:before {\n  content: \"\\e881\";\n}\n\n.@{icons-prefix}md-color-wand:before {\n  content: \"\\e682\";\n}\n\n.@{icons-prefix}ios-basket:before {\n  content: \"\\e782\";\n}\n\n.@{icons-prefix}ios-thumbs-up:before {\n  content: \"\\e882\";\n}\n\n.@{icons-prefix}md-cloud-upload:before {\n  content: \"\\e683\";\n}\n\n.@{icons-prefix}ios-battery-charging:before {\n  content: \"\\e783\";\n}\n\n.@{icons-prefix}ios-time:before {\n  content: \"\\e883\";\n}\n\n.@{icons-prefix}md-contact:before {\n  content: \"\\e684\";\n}\n\n.@{icons-prefix}ios-battery-dead:before {\n  content: \"\\e784\";\n}\n\n.@{icons-prefix}ios-today:before {\n  content: \"\\e884\";\n}\n\n.@{icons-prefix}md-contacts:before {\n  content: \"\\e685\";\n}\n\n.@{icons-prefix}ios-baseball:before {\n  content: \"\\e785\";\n}\n\n.@{icons-prefix}ios-timer:before {\n  content: \"\\e885\";\n}\n\n.@{icons-prefix}md-code:before {\n  content: \"\\e686\";\n}\n\n.@{icons-prefix}ios-beaker:before {\n  content: \"\\e786\";\n}\n\n.@{icons-prefix}ios-train:before {\n  content: \"\\e886\";\n}\n\n.@{icons-prefix}md-contrast:before {\n  content: \"\\e687\";\n}\n\n.@{icons-prefix}ios-bed:before {\n  content: \"\\e787\";\n}\n\n.@{icons-prefix}ios-trash:before {\n  content: \"\\e887\";\n}\n\n.@{icons-prefix}md-construct:before {\n  content: \"\\e688\";\n}\n\n.@{icons-prefix}ios-beer:before {\n  content: \"\\e788\";\n}\n\n.@{icons-prefix}ios-trending-down:before {\n  content: \"\\e888\";\n}\n\n.@{icons-prefix}md-copy:before {\n  content: \"\\e689\";\n}\n\n.@{icons-prefix}ios-bluetooth:before {\n  content: \"\\e789\";\n}\n\n.@{icons-prefix}ios-transgender:before {\n  content: \"\\e889\";\n}\n\n.@{icons-prefix}md-contract:before {\n  content: \"\\e68a\";\n}\n\n.@{icons-prefix}ios-bicycle:before {\n  content: \"\\e78a\";\n}\n\n.@{icons-prefix}ios-trending-up:before {\n  content: \"\\e88a\";\n}\n\n.@{icons-prefix}md-create:before {\n  content: \"\\e68b\";\n}\n\n.@{icons-prefix}ios-boat:before {\n  content: \"\\e78b\";\n}\n\n.@{icons-prefix}ios-trophy:before {\n  content: \"\\e88b\";\n}\n\n.@{icons-prefix}md-crop:before {\n  content: \"\\e68c\";\n}\n\n.@{icons-prefix}ios-battery-full:before {\n  content: \"\\e78c\";\n}\n\n.@{icons-prefix}ios-tv:before {\n  content: \"\\e88c\";\n}\n\n.@{icons-prefix}md-cube:before {\n  content: \"\\e68d\";\n}\n\n.@{icons-prefix}ios-body:before {\n  content: \"\\e78d\";\n}\n\n.@{icons-prefix}ios-undo:before {\n  content: \"\\e88d\";\n}\n\n.@{icons-prefix}md-cut:before {\n  content: \"\\e68e\";\n}\n\n.@{icons-prefix}ios-book:before {\n  content: \"\\e78e\";\n}\n\n.@{icons-prefix}ios-umbrella:before {\n  content: \"\\e88e\";\n}\n\n.@{icons-prefix}md-disc:before {\n  content: \"\\e68f\";\n}\n\n.@{icons-prefix}ios-bookmark:before {\n  content: \"\\e78f\";\n}\n\n.@{icons-prefix}ios-unlock:before {\n  content: \"\\e88f\";\n}\n\n.@{icons-prefix}md-desktop:before {\n  content: \"\\e690\";\n}\n\n.@{icons-prefix}ios-bonfire:before {\n  content: \"\\e790\";\n}\n\n.@{icons-prefix}ios-videocam:before {\n  content: \"\\e890\";\n}\n\n.@{icons-prefix}md-document:before {\n  content: \"\\e691\";\n}\n\n.@{icons-prefix}ios-bowtie:before {\n  content: \"\\e791\";\n}\n\n.@{icons-prefix}ios-volume-high:before {\n  content: \"\\e891\";\n}\n\n.@{icons-prefix}md-download:before {\n  content: \"\\e692\";\n}\n\n.@{icons-prefix}ios-bookmarks:before {\n  content: \"\\e792\";\n}\n\n.@{icons-prefix}ios-volume-low:before {\n  content: \"\\e892\";\n}\n\n.@{icons-prefix}md-done-all:before {\n  content: \"\\e693\";\n}\n\n.@{icons-prefix}ios-briefcase:before {\n  content: \"\\e793\";\n}\n\n.@{icons-prefix}ios-volume-mute:before {\n  content: \"\\e893\";\n}\n\n.@{icons-prefix}md-easel:before {\n  content: \"\\e694\";\n}\n\n.@{icons-prefix}ios-browsers:before {\n  content: \"\\e794\";\n}\n\n.@{icons-prefix}ios-volume-off:before {\n  content: \"\\e894\";\n}\n\n.@{icons-prefix}md-exit:before {\n  content: \"\\e695\";\n}\n\n.@{icons-prefix}ios-brush:before {\n  content: \"\\e795\";\n}\n\n.@{icons-prefix}ios-wallet:before {\n  content: \"\\e895\";\n}\n\n.@{icons-prefix}md-expand:before {\n  content: \"\\e696\";\n}\n\n.@{icons-prefix}ios-build:before {\n  content: \"\\e796\";\n}\n\n.@{icons-prefix}ios-warning:before {\n  content: \"\\e896\";\n}\n\n.@{icons-prefix}md-eye:before {\n  content: \"\\e697\";\n}\n\n.@{icons-prefix}ios-bulb:before {\n  content: \"\\e797\";\n}\n\n.@{icons-prefix}ios-walk:before {\n  content: \"\\e897\";\n}\n\n.@{icons-prefix}md-eye-off:before {\n  content: \"\\e698\";\n}\n\n.@{icons-prefix}ios-bug:before {\n  content: \"\\e798\";\n}\n\n.@{icons-prefix}ios-water:before {\n  content: \"\\e898\";\n}\n\n.@{icons-prefix}md-fastforward:before {\n  content: \"\\e699\";\n}\n\n.@{icons-prefix}ios-bus:before {\n  content: \"\\e799\";\n}\n\n.@{icons-prefix}ios-wifi:before {\n  content: \"\\e899\";\n}\n\n.@{icons-prefix}md-female:before {\n  content: \"\\e69a\";\n}\n\n.@{icons-prefix}ios-cafe:before {\n  content: \"\\e79a\";\n}\n\n.@{icons-prefix}ios-watch:before {\n  content: \"\\e89a\";\n}\n\n.@{icons-prefix}md-fitness:before {\n  content: \"\\e69b\";\n}\n\n.@{icons-prefix}ios-business:before {\n  content: \"\\e79b\";\n}\n\n.@{icons-prefix}ios-wine:before {\n  content: \"\\e89b\";\n}\n\n.@{icons-prefix}md-film:before {\n  content: \"\\e69c\";\n}\n\n.@{icons-prefix}ios-calculator:before {\n  content: \"\\e79c\";\n}\n\n.@{icons-prefix}ios-woman:before {\n  content: \"\\e89c\";\n}\n\n.@{icons-prefix}md-flag:before {\n  content: \"\\e69d\";\n}\n\n.@{icons-prefix}ios-calendar:before {\n  content: \"\\e79d\";\n}\n\n.@{icons-prefix}logo-android:before {\n  content: \"\\e89d\";\n}\n\n.@{icons-prefix}md-flash:before {\n  content: \"\\e69e\";\n}\n\n.@{icons-prefix}ios-call:before {\n  content: \"\\e79e\";\n}\n\n.@{icons-prefix}logo-bitbucket:before {\n  content: \"\\e89e\";\n}\n\n.@{icons-prefix}md-flashlight:before {\n  content: \"\\e69f\";\n}\n\n.@{icons-prefix}ios-camera:before {\n  content: \"\\e79f\";\n}\n\n.@{icons-prefix}logo-apple:before {\n  content: \"\\e89f\";\n}\n\n.@{icons-prefix}md-flask:before {\n  content: \"\\e6a0\";\n}\n\n.@{icons-prefix}ios-car:before {\n  content: \"\\e7a0\";\n}\n\n.@{icons-prefix}logo-bitcoin:before {\n  content: \"\\e8a0\";\n}\n\n.@{icons-prefix}md-flash-off:before {\n  content: \"\\e6a1\";\n}\n\n.@{icons-prefix}ios-card:before {\n  content: \"\\e7a1\";\n}\n\n.@{icons-prefix}logo-buffer:before {\n  content: \"\\e8a1\";\n}\n\n.@{icons-prefix}md-egg:before {\n  content: \"\\e6a2\";\n}\n\n.@{icons-prefix}ios-cart:before {\n  content: \"\\e7a2\";\n}\n\n.@{icons-prefix}logo-chrome:before {\n  content: \"\\e8a2\";\n}\n\n.@{icons-prefix}md-folder:before {\n  content: \"\\e6a3\";\n}\n\n.@{icons-prefix}ios-cellular:before {\n  content: \"\\e7a3\";\n}\n\n.@{icons-prefix}logo-css:before {\n  content: \"\\e8a3\";\n}\n\n.@{icons-prefix}md-finger-print:before {\n  content: \"\\e6a4\";\n}\n\n.@{icons-prefix}ios-cash:before {\n  content: \"\\e7a4\";\n}\n\n.@{icons-prefix}logo-closed-captioning:before {\n  content: \"\\e8a4\";\n}\n\n.@{icons-prefix}md-filing:before {\n  content: \"\\e6a5\";\n}\n\n.@{icons-prefix}ios-chatboxes:before {\n  content: \"\\e7a5\";\n}\n\n.@{icons-prefix}logo-designernews:before {\n  content: \"\\e8a5\";\n}\n\n.@{icons-prefix}md-flower:before {\n  content: \"\\e6a6\";\n}\n\n.@{icons-prefix}ios-checkbox:before {\n  content: \"\\e7a6\";\n}\n\n.@{icons-prefix}logo-angular:before {\n  content: \"\\e8a6\";\n}\n\n.@{icons-prefix}md-flame:before {\n  content: \"\\e6a7\";\n}\n\n.@{icons-prefix}ios-chatbubbles:before {\n  content: \"\\e7a7\";\n}\n\n.@{icons-prefix}logo-codepen:before {\n  content: \"\\e8a7\";\n}\n\n.@{icons-prefix}md-folder-open:before {\n  content: \"\\e6a8\";\n}\n\n.@{icons-prefix}ios-checkmark:before {\n  content: \"\\e7a8\";\n}\n\n.@{icons-prefix}logo-dribbble:before {\n  content: \"\\e8a8\";\n}\n\n.@{icons-prefix}md-gift:before {\n  content: \"\\e6a9\";\n}\n\n.@{icons-prefix}ios-checkmark-circle:before {\n  content: \"\\e7a9\";\n}\n\n.@{icons-prefix}logo-dropbox:before {\n  content: \"\\e8a9\";\n}\n\n.@{icons-prefix}md-funnel:before {\n  content: \"\\e6aa\";\n}\n\n.@{icons-prefix}ios-checkbox-outline:before {\n  content: \"\\e7aa\";\n}\n\n.@{icons-prefix}logo-facebook:before {\n  content: \"\\e8aa\";\n}\n\n.@{icons-prefix}md-football:before {\n  content: \"\\e6ab\";\n}\n\n.@{icons-prefix}ios-checkmark-circle-outline:before {\n  content: \"\\e7ab\";\n}\n\n.@{icons-prefix}logo-flickr:before {\n  content: \"\\e8ab\";\n}\n\n.@{icons-prefix}md-git-commit:before {\n  content: \"\\e6ac\";\n}\n\n.@{icons-prefix}ios-clipboard:before {\n  content: \"\\e7ac\";\n}\n\n.@{icons-prefix}logo-euro:before {\n  content: \"\\e8ac\";\n}\n\n.@{icons-prefix}md-git-branch:before {\n  content: \"\\e6ad\";\n}\n\n.@{icons-prefix}ios-clock:before {\n  content: \"\\e7ad\";\n}\n\n.@{icons-prefix}logo-foursquare:before {\n  content: \"\\e8ad\";\n}\n\n.@{icons-prefix}md-git-compare:before {\n  content: \"\\e6ae\";\n}\n\n.@{icons-prefix}ios-close:before {\n  content: \"\\e7ae\";\n}\n\n.@{icons-prefix}logo-freebsd-devil:before {\n  content: \"\\e8ae\";\n}\n\n.@{icons-prefix}md-git-merge:before {\n  content: \"\\e6af\";\n}\n\n.@{icons-prefix}ios-close-circle-outline:before {\n  content: \"\\e7af\";\n}\n\n.@{icons-prefix}logo-game-controller-a:before {\n  content: \"\\e8af\";\n}\n\n.@{icons-prefix}md-git-pull-request:before {\n  content: \"\\e6b0\";\n}\n\n.@{icons-prefix}ios-close-circle:before {\n  content: \"\\e7b0\";\n}\n\n.@{icons-prefix}logo-github:before {\n  content: \"\\e8b0\";\n}\n\n.@{icons-prefix}md-git-network:before {\n  content: \"\\e6b1\";\n}\n\n.@{icons-prefix}ios-cloud:before {\n  content: \"\\e7b1\";\n}\n\n.@{icons-prefix}logo-google:before {\n  content: \"\\e8b1\";\n}\n\n.@{icons-prefix}md-glasses:before {\n  content: \"\\e6b2\";\n}\n\n.@{icons-prefix}ios-cloud-circle:before {\n  content: \"\\e7b2\";\n}\n\n.@{icons-prefix}logo-game-controller-b:before {\n  content: \"\\e8b2\";\n}\n\n.@{icons-prefix}md-grid:before {\n  content: \"\\e6b3\";\n}\n\n.@{icons-prefix}ios-cloud-done:before {\n  content: \"\\e7b3\";\n}\n\n.@{icons-prefix}logo-googleplus:before {\n  content: \"\\e8b3\";\n}\n\n.@{icons-prefix}md-happy:before {\n  content: \"\\e6b4\";\n}\n\n.@{icons-prefix}ios-cloud-download:before {\n  content: \"\\e7b4\";\n}\n\n.@{icons-prefix}md-hammer:before {\n  content: \"\\e6b5\";\n}\n\n.@{icons-prefix}ios-cloud-upload:before {\n  content: \"\\e7b5\";\n}\n\n.@{icons-prefix}md-headset:before {\n  content: \"\\e6b6\";\n}\n\n.@{icons-prefix}ios-cloud-outline:before {\n  content: \"\\e7b6\";\n}\n\n.@{icons-prefix}md-hand:before {\n  content: \"\\e6b7\";\n}\n\n.@{icons-prefix}ios-cloudy:before {\n  content: \"\\e7b7\";\n}\n\n.@{icons-prefix}md-heart-dislike:before {\n  content: \"\\e6b8\";\n}\n\n.@{icons-prefix}ios-code:before {\n  content: \"\\e7b8\";\n}\n\n.@{icons-prefix}md-heart:before {\n  content: \"\\e6b9\";\n}\n\n.@{icons-prefix}ios-cloudy-night:before {\n  content: \"\\e7b9\";\n}\n\n.@{icons-prefix}md-heart-empty:before {\n  content: \"\\e6ba\";\n}\n\n.@{icons-prefix}ios-code-download:before {\n  content: \"\\e7ba\";\n}\n\n.@{icons-prefix}md-heart-half:before {\n  content: \"\\e6bb\";\n}\n\n.@{icons-prefix}ios-code-working:before {\n  content: \"\\e7bb\";\n}\n\n.@{icons-prefix}md-help:before {\n  content: \"\\e6bc\";\n}\n\n.@{icons-prefix}ios-color-fill:before {\n  content: \"\\e7bc\";\n}\n\n.@{icons-prefix}md-help-buoy:before {\n  content: \"\\e6bd\";\n}\n\n.@{icons-prefix}ios-cog:before {\n  content: \"\\e7bd\";\n}\n\n.@{icons-prefix}md-help-circle-outline:before {\n  content: \"\\e6be\";\n}\n\n.@{icons-prefix}ios-color-palette:before {\n  content: \"\\e7be\";\n}\n\n.@{icons-prefix}md-home:before {\n  content: \"\\e6bf\";\n}\n\n.@{icons-prefix}ios-color-filter:before {\n  content: \"\\e7bf\";\n}\n\n.@{icons-prefix}md-hourglass:before {\n  content: \"\\e6c0\";\n}\n\n.@{icons-prefix}ios-compass:before {\n  content: \"\\e7c0\";\n}\n\n.@{icons-prefix}md-ice-cream:before {\n  content: \"\\e6c1\";\n}\n\n.@{icons-prefix}ios-color-wand:before {\n  content: \"\\e7c1\";\n}\n\n.@{icons-prefix}md-globe:before {\n  content: \"\\e6c2\";\n}\n\n.@{icons-prefix}ios-construct:before {\n  content: \"\\e7c2\";\n}\n\n.@{icons-prefix}md-image:before {\n  content: \"\\e6c3\";\n}\n\n.@{icons-prefix}ios-contact:before {\n  content: \"\\e7c3\";\n}\n\n.@{icons-prefix}md-help-circle:before {\n  content: \"\\e6c4\";\n}\n\n.@{icons-prefix}ios-contract:before {\n  content: \"\\e7c4\";\n}\n\n.@{icons-prefix}md-infinite:before {\n  content: \"\\e6c5\";\n}\n\n.@{icons-prefix}ios-contacts:before {\n  content: \"\\e7c5\";\n}\n\n.@{icons-prefix}md-information:before {\n  content: \"\\e6c6\";\n}\n\n.@{icons-prefix}ios-create:before {\n  content: \"\\e7c6\";\n}\n\n.@{icons-prefix}md-images:before {\n  content: \"\\e6c7\";\n}\n\n.@{icons-prefix}ios-crop:before {\n  content: \"\\e7c7\";\n}\n\n.@{icons-prefix}md-information-circle:before {\n  content: \"\\e6c8\";\n}\n\n.@{icons-prefix}ios-contrast:before {\n  content: \"\\e7c8\";\n}\n\n.@{icons-prefix}md-information-circle-outline:before {\n  content: \"\\e6c9\";\n}\n\n.@{icons-prefix}ios-copy:before {\n  content: \"\\e7c9\";\n}\n\n.@{icons-prefix}md-jet:before {\n  content: \"\\e6ca\";\n}\n\n.@{icons-prefix}ios-cut:before {\n  content: \"\\e7ca\";\n}\n\n.@{icons-prefix}md-journal:before {\n  content: \"\\e6cb\";\n}\n\n.@{icons-prefix}ios-cube:before {\n  content: \"\\e7cb\";\n}\n\n.@{icons-prefix}md-key:before {\n  content: \"\\e6cc\";\n}\n\n.@{icons-prefix}ios-desktop:before {\n  content: \"\\e7cc\";\n}\n\n.@{icons-prefix}md-keypad:before {\n  content: \"\\e6cd\";\n}\n\n.@{icons-prefix}ios-document:before {\n  content: \"\\e7cd\";\n}\n\n.@{icons-prefix}md-laptop:before {\n  content: \"\\e6ce\";\n}\n\n.@{icons-prefix}ios-disc:before {\n  content: \"\\e7ce\";\n}\n\n.@{icons-prefix}md-leaf:before {\n  content: \"\\e6cf\";\n}\n\n.@{icons-prefix}ios-download:before {\n  content: \"\\e7cf\";\n}\n\n.@{icons-prefix}md-link:before {\n  content: \"\\e6d0\";\n}\n\n.@{icons-prefix}ios-done-all:before {\n  content: \"\\e7d0\";\n}\n\n.@{icons-prefix}md-list:before {\n  content: \"\\e6d1\";\n}\n\n.@{icons-prefix}ios-easel:before {\n  content: \"\\e7d1\";\n}\n\n.@{icons-prefix}md-list-box:before {\n  content: \"\\e6d2\";\n}\n\n.@{icons-prefix}ios-egg:before {\n  content: \"\\e7d2\";\n}\n\n.@{icons-prefix}md-locate:before {\n  content: \"\\e6d3\";\n}\n\n.@{icons-prefix}ios-exit:before {\n  content: \"\\e7d3\";\n}\n\n.@{icons-prefix}md-lock:before {\n  content: \"\\e6d4\";\n}\n\n.@{icons-prefix}ios-expand:before {\n  content: \"\\e7d4\";\n}\n\n.@{icons-prefix}md-mail:before {\n  content: \"\\e6d5\";\n}\n\n.@{icons-prefix}ios-eye:before {\n  content: \"\\e7d5\";\n}\n\n.@{icons-prefix}md-magnet:before {\n  content: \"\\e6d6\";\n}\n\n.@{icons-prefix}ios-fastforward:before {\n  content: \"\\e7d6\";\n}\n\n.@{icons-prefix}md-log-out:before {\n  content: \"\\e6d7\";\n}\n\n.@{icons-prefix}ios-eye-off:before {\n  content: \"\\e7d7\";\n}\n\n.@{icons-prefix}md-male:before {\n  content: \"\\e6d8\";\n}\n\n.@{icons-prefix}ios-filing:before {\n  content: \"\\e7d8\";\n}\n\n.@{icons-prefix}md-mail-unread:before {\n  content: \"\\e6d9\";\n}\n\n.@{icons-prefix}ios-female:before {\n  content: \"\\e7d9\";\n}\n\n.@{icons-prefix}md-man:before {\n  content: \"\\e6da\";\n}\n\n.@{icons-prefix}ios-film:before {\n  content: \"\\e7da\";\n}\n\n.@{icons-prefix}md-log-in:before {\n  content: \"\\e6db\";\n}\n\n.@{icons-prefix}ios-flag:before {\n  content: \"\\e7db\";\n}\n\n.@{icons-prefix}md-mail-open:before {\n  content: \"\\e6dc\";\n}\n\n.@{icons-prefix}ios-fitness:before {\n  content: \"\\e7dc\";\n}\n\n.@{icons-prefix}md-map:before {\n  content: \"\\e6dd\";\n}\n\n.@{icons-prefix}ios-flame:before {\n  content: \"\\e7dd\";\n}\n\n.@{icons-prefix}md-medal:before {\n  content: \"\\e6de\";\n}\n\n.@{icons-prefix}ios-flash:before {\n  content: \"\\e7de\";\n}\n\n.@{icons-prefix}md-medical:before {\n  content: \"\\e6df\";\n}\n\n.@{icons-prefix}ios-finger-print:before {\n  content: \"\\e7df\";\n}\n\n.@{icons-prefix}md-medkit:before {\n  content: \"\\e6e0\";\n}\n\n.@{icons-prefix}ios-flashlight:before {\n  content: \"\\e7e0\";\n}\n\n.@{icons-prefix}md-megaphone:before {\n  content: \"\\e6e1\";\n}\n\n.@{icons-prefix}ios-flash-off:before {\n  content: \"\\e7e1\";\n}\n\n.@{icons-prefix}md-menu:before {\n  content: \"\\e6e2\";\n}\n\n.@{icons-prefix}ios-flask:before {\n  content: \"\\e7e2\";\n}\n\n.@{icons-prefix}md-mic:before {\n  content: \"\\e6e3\";\n}\n\n.@{icons-prefix}ios-flower:before {\n  content: \"\\e7e3\";\n}\n\n.@{icons-prefix}md-mic-off:before {\n  content: \"\\e6e4\";\n}\n\n.@{icons-prefix}ios-folder:before {\n  content: \"\\e7e4\";\n}\n\n.@{icons-prefix}md-microphone:before {\n  content: \"\\e6e5\";\n}\n\n.@{icons-prefix}ios-folder-open:before {\n  content: \"\\e7e5\";\n}\n\n.@{icons-prefix}md-moon:before {\n  content: \"\\e6e6\";\n}\n\n.@{icons-prefix}ios-football:before {\n  content: \"\\e7e6\";\n}\n\n.@{icons-prefix}md-more:before {\n  content: \"\\e6e7\";\n}\n\n.@{icons-prefix}ios-git-branch:before {\n  content: \"\\e7e7\";\n}\n\n.@{icons-prefix}md-move:before {\n  content: \"\\e6e8\";\n}\n\n.@{icons-prefix}ios-gift:before {\n  content: \"\\e7e8\";\n}\n\n.@{icons-prefix}md-musical-notes:before {\n  content: \"\\e6e9\";\n}\n\n.@{icons-prefix}ios-git-commit:before {\n  content: \"\\e7e9\";\n}\n\n.@{icons-prefix}md-musical-note:before {\n  content: \"\\e6ea\";\n}\n\n.@{icons-prefix}ios-git-compare:before {\n  content: \"\\e7ea\";\n}\n\n.@{icons-prefix}md-navigate:before {\n  content: \"\\e6eb\";\n}\n\n.@{icons-prefix}ios-git-network:before {\n  content: \"\\e7eb\";\n}\n\n.@{icons-prefix}md-notifications:before {\n  content: \"\\e6ec\";\n}\n\n.@{icons-prefix}ios-glasses:before {\n  content: \"\\e7ec\";\n}\n\n.@{icons-prefix}md-notifications-off:before {\n  content: \"\\e6ed\";\n}\n\n.@{icons-prefix}ios-git-pull-request:before {\n  content: \"\\e7ed\";\n}\n\n.@{icons-prefix}md-nuclear:before {\n  content: \"\\e6ee\";\n}\n\n.@{icons-prefix}ios-hammer:before {\n  content: \"\\e7ee\";\n}\n\n.@{icons-prefix}md-nutrition:before {\n  content: \"\\e6ef\";\n}\n\n.@{icons-prefix}ios-grid:before {\n  content: \"\\e7ef\";\n}\n\n.@{icons-prefix}md-notifications-outline:before {\n  content: \"\\e6f0\";\n}\n\n.@{icons-prefix}ios-git-merge:before {\n  content: \"\\e7f0\";\n}\n\n.@{icons-prefix}md-options:before {\n  content: \"\\e6f1\";\n}\n\n.@{icons-prefix}ios-funnel:before {\n  content: \"\\e7f1\";\n}\n\n.@{icons-prefix}md-outlet:before {\n  content: \"\\e6f2\";\n}\n\n.@{icons-prefix}ios-hand:before {\n  content: \"\\e7f2\";\n}\n\n.@{icons-prefix}md-open:before {\n  content: \"\\e6f3\";\n}\n\n.@{icons-prefix}ios-happy:before {\n  content: \"\\e7f3\";\n}\n\n.@{icons-prefix}md-paper:before {\n  content: \"\\e6f4\";\n}\n\n.@{icons-prefix}ios-headset:before {\n  content: \"\\e7f4\";\n}\n\n.@{icons-prefix}md-paper-plane:before {\n  content: \"\\e6f5\";\n}\n\n.@{icons-prefix}ios-heart:before {\n  content: \"\\e7f5\";\n}\n\n.@{icons-prefix}md-partly-sunny:before {\n  content: \"\\e6f6\";\n}\n\n.@{icons-prefix}ios-globe:before {\n  content: \"\\e7f6\";\n}\n\n.@{icons-prefix}md-pause:before {\n  content: \"\\e6f7\";\n}\n\n.@{icons-prefix}ios-heart-empty:before {\n  content: \"\\e7f7\";\n}\n\n.@{icons-prefix}md-people:before {\n  content: \"\\e6f8\";\n}\n\n.@{icons-prefix}ios-heart-dislike:before {\n  content: \"\\e7f8\";\n}\n\n.@{icons-prefix}md-paw:before {\n  content: \"\\e6f9\";\n}\n\n.@{icons-prefix}ios-heart-half:before {\n  content: \"\\e7f9\";\n}\n\n.@{icons-prefix}md-pie:before {\n  content: \"\\e6fa\";\n}\n\n.@{icons-prefix}ios-help:before {\n  content: \"\\e7fa\";\n}\n\n.@{icons-prefix}md-pizza:before {\n  content: \"\\e6fb\";\n}\n\n.@{icons-prefix}ios-help-buoy:before {\n  content: \"\\e7fb\";\n}\n\n.@{icons-prefix}md-play-circle:before {\n  content: \"\\e6fc\";\n}\n\n.@{icons-prefix}ios-help-circle:before {\n  content: \"\\e7fc\";\n}\n\n.@{icons-prefix}md-podium:before {\n  content: \"\\e6fd\";\n}\n\n.@{icons-prefix}ios-home:before {\n  content: \"\\e7fd\";\n}\n\n.@{icons-prefix}md-phone-landscape:before {\n  content: \"\\e6fe\";\n}\n\n.@{icons-prefix}ios-hourglass:before {\n  content: \"\\e7fe\";\n}\n\n.@{icons-prefix}md-play:before {\n  content: \"\\e6ff\";\n}\n\n.@{icons-prefix}ios-image:before {\n  content: \"\\e7ff\";\n}\n\n.@{icons-prefix}md-pin:before {\n  content: \"\\e700\";\n}\n\n.@{icons-prefix}ios-information:before {\n  content: \"\\e800\";\n}\n\n.@{icons-prefix}logo-hackernews:before {\n  content: \"\\e601\";\n}\n\n.@{icons-prefix}md-phone-portrait:before {\n  content: \"\\e701\";\n}\n\n.@{icons-prefix}ios-images:before {\n  content: \"\\e801\";\n}\n\n.@{icons-prefix}logo-model-s:before {\n  content: \"\\e602\";\n}\n\n.@{icons-prefix}md-person-add:before {\n  content: \"\\e702\";\n}\n\n.@{icons-prefix}ios-ice-cream:before {\n  content: \"\\e802\";\n}\n\n.@{icons-prefix}logo-pinterest:before {\n  content: \"\\e603\";\n}\n\n.@{icons-prefix}md-photos:before {\n  content: \"\\e703\";\n}\n\n.@{icons-prefix}ios-information-circle:before {\n  content: \"\\e803\";\n}\n\n.@{icons-prefix}logo-linkedin:before {\n  content: \"\\e604\";\n}\n\n.@{icons-prefix}md-planet:before {\n  content: \"\\e704\";\n}\n\n.@{icons-prefix}ios-jet:before {\n  content: \"\\e804\";\n}\n\n.@{icons-prefix}logo-rss:before {\n  content: \"\\e605\";\n}\n\n.@{icons-prefix}md-person:before {\n  content: \"\\e705\";\n}\n\n.@{icons-prefix}ios-information-circle-outline:before {\n  content: \"\\e805\";\n}\n\n.@{icons-prefix}logo-npm:before {\n  content: \"\\e606\";\n}\n\n.@{icons-prefix}md-pint:before {\n  content: \"\\e706\";\n}\n\n.@{icons-prefix}ios-journal:before {\n  content: \"\\e806\";\n}\n\n.@{icons-prefix}logo-no-smoking:before {\n  content: \"\\e607\";\n}\n\n.@{icons-prefix}md-pricetag:before {\n  content: \"\\e707\";\n}\n\n.@{icons-prefix}ios-key:before {\n  content: \"\\e807\";\n}\n\n.@{icons-prefix}logo-tumblr:before {\n  content: \"\\e608\";\n}\n\n.@{icons-prefix}md-refresh:before {\n  content: \"\\e708\";\n}\n\n.@{icons-prefix}ios-keypad:before {\n  content: \"\\e808\";\n}\n\n.@{icons-prefix}logo-markdown:before {\n  content: \"\\e609\";\n}\n\n.@{icons-prefix}md-pulse:before {\n  content: \"\\e709\";\n}\n\n.@{icons-prefix}ios-help-circle-outline:before {\n  content: \"\\e809\";\n}\n\n.@{icons-prefix}logo-steam:before {\n  content: \"\\e60a\";\n}\n\n.@{icons-prefix}md-radio:before {\n  content: \"\\e70a\";\n}\n\n.@{icons-prefix}ios-laptop:before {\n  content: \"\\e80a\";\n}\n\n.@{icons-prefix}logo-playstation:before {\n  content: \"\\e60b\";\n}\n\n.@{icons-prefix}md-rainy:before {\n  content: \"\\e70b\";\n}\n\n.@{icons-prefix}ios-infinite:before {\n  content: \"\\e80b\";\n}\n\n.@{icons-prefix}logo-octocat:before {\n  content: \"\\e60c\";\n}\n\n.@{icons-prefix}md-print:before {\n  content: \"\\e70c\";\n}\n\n.@{icons-prefix}ios-leaf:before {\n  content: \"\\e80c\";\n}\n\n.@{icons-prefix}logo-python:before {\n  content: \"\\e60d\";\n}\n\n.@{icons-prefix}md-quote:before {\n  content: \"\\e70d\";\n}\n\n.@{icons-prefix}ios-link:before {\n  content: \"\\e80d\";\n}\n\n.@{icons-prefix}logo-javascript:before {\n  content: \"\\e60e\";\n}\n\n.@{icons-prefix}md-qr-scanner:before {\n  content: \"\\e70e\";\n}\n\n.@{icons-prefix}ios-list:before {\n  content: \"\\e80e\";\n}\n\n.@{icons-prefix}logo-tux:before {\n  content: \"\\e60f\";\n}\n\n.@{icons-prefix}md-pricetags:before {\n  content: \"\\e70f\";\n}\n\n.@{icons-prefix}ios-list-box:before {\n  content: \"\\e80f\";\n}\n\n.@{icons-prefix}logo-twitter:before {\n  content: \"\\e610\";\n}\n\n.@{icons-prefix}md-recording:before {\n  content: \"\\e710\";\n}\n\n.@{icons-prefix}ios-locate:before {\n  content: \"\\e810\";\n}\n\n.@{icons-prefix}logo-vk:before {\n  content: \"\\e611\";\n}\n\n.@{icons-prefix}md-power:before {\n  content: \"\\e711\";\n}\n\n.@{icons-prefix}ios-lock:before {\n  content: \"\\e811\";\n}\n\n.@{icons-prefix}logo-sass:before {\n  content: \"\\e612\";\n}\n\n.@{icons-prefix}md-remove-circle:before {\n  content: \"\\e712\";\n}\n\n.@{icons-prefix}ios-log-in:before {\n  content: \"\\e812\";\n}\n\n.@{icons-prefix}logo-yen:before {\n  content: \"\\e613\";\n}\n\n.@{icons-prefix}md-remove:before {\n  content: \"\\e713\";\n}\n\n.@{icons-prefix}ios-log-out:before {\n  content: \"\\e813\";\n}\n\n.@{icons-prefix}logo-slack:before {\n  content: \"\\e614\";\n}\n\n.@{icons-prefix}md-redo:before {\n  content: \"\\e714\";\n}\n\n.@{icons-prefix}ios-magnet:before {\n  content: \"\\e814\";\n}\n\n.@{icons-prefix}logo-snapchat:before {\n  content: \"\\e615\";\n}\n\n.@{icons-prefix}md-reorder:before {\n  content: \"\\e715\";\n}\n\n.@{icons-prefix}ios-mail-open:before {\n  content: \"\\e815\";\n}\n\n.@{icons-prefix}logo-vimeo:before {\n  content: \"\\e616\";\n}\n\n.@{icons-prefix}md-radio-button-on:before {\n  content: \"\\e716\";\n}\n\n.@{icons-prefix}ios-mail:before {\n  content: \"\\e816\";\n}\n\n.@{icons-prefix}md-add-circle:before {\n  content: \"\\e617\";\n}\n\n.@{icons-prefix}md-refresh-circle:before {\n  content: \"\\e717\";\n}\n\n.@{icons-prefix}ios-mail-unread:before {\n  content: \"\\e817\";\n}\n\n.@{icons-prefix}md-add:before {\n  content: \"\\e618\";\n}\n\n.@{icons-prefix}md-repeat:before {\n  content: \"\\e718\";\n}\n\n.@{icons-prefix}ios-male:before {\n  content: \"\\e818\";\n}\n\n.@{icons-prefix}logo-usd:before {\n  content: \"\\e619\";\n}\n\n.@{icons-prefix}md-return-left:before {\n  content: \"\\e719\";\n}\n\n.@{icons-prefix}ios-man:before {\n  content: \"\\e819\";\n}\n\n.@{icons-prefix}md-alarm:before {\n  content: \"\\e61a\";\n}\n\n.@{icons-prefix}md-remove-circle-outline:before {\n  content: \"\\e71a\";\n}\n\n.@{icons-prefix}ios-map:before {\n  content: \"\\e81a\";\n}\n\n.@{icons-prefix}md-airplane:before {\n  content: \"\\e61b\";\n}\n\n.@{icons-prefix}md-return-right:before {\n  content: \"\\e71b\";\n}\n\n.@{icons-prefix}ios-medical:before {\n  content: \"\\e81b\";\n}\n\n.@{icons-prefix}logo-yahoo:before {\n  content: \"\\e61c\";\n}\n\n.@{icons-prefix}md-restaurant:before {\n  content: \"\\e71c\";\n}\n\n.@{icons-prefix}ios-medkit:before {\n  content: \"\\e81c\";\n}\n\n.@{icons-prefix}logo-whatsapp:before {\n  content: \"\\e61d\";\n}\n\n.@{icons-prefix}md-rewind:before {\n  content: \"\\e71d\";\n}\n\n.@{icons-prefix}ios-menu:before {\n  content: \"\\e81d\";\n}\n\n.@{icons-prefix}logo-xing:before {\n  content: \"\\e61e\";\n}\n\n.@{icons-prefix}md-reverse-camera:before {\n  content: \"\\e71e\";\n}\n\n.@{icons-prefix}ios-medal:before {\n  content: \"\\e81e\";\n}\n\n.@{icons-prefix}logo-windows:before {\n  content: \"\\e61f\";\n}\n\n.@{icons-prefix}md-ribbon:before {\n  content: \"\\e71f\";\n}\n\n.@{icons-prefix}ios-megaphone:before {\n  content: \"\\e81f\";\n}\n\n.@{icons-prefix}md-apps:before {\n  content: \"\\e620\";\n}\n\n.@{icons-prefix}md-rocket:before {\n  content: \"\\e720\";\n}\n\n.@{icons-prefix}ios-mic:before {\n  content: \"\\e820\";\n}\n\n.@{icons-prefix}logo-nodejs:before {\n  content: \"\\e621\";\n}\n\n.@{icons-prefix}md-rose:before {\n  content: \"\\e721\";\n}\n\n.@{icons-prefix}ios-mic-off:before {\n  content: \"\\e821\";\n}\n\n.@{icons-prefix}md-american-football:before {\n  content: \"\\e622\";\n}\n\n.@{icons-prefix}md-school:before {\n  content: \"\\e722\";\n}\n\n.@{icons-prefix}ios-microphone:before {\n  content: \"\\e822\";\n}\n\n.@{icons-prefix}logo-skype:before {\n  content: \"\\e623\";\n}\n\n.@{icons-prefix}md-save:before {\n  content: \"\\e723\";\n}\n\n.@{icons-prefix}ios-moon:before {\n  content: \"\\e823\";\n}\n\n.@{icons-prefix}logo-wordpress:before {\n  content: \"\\e624\";\n}\n\n.@{icons-prefix}md-radio-button-off:before {\n  content: \"\\e724\";\n}\n\n.@{icons-prefix}ios-more:before {\n  content: \"\\e824\";\n}\n\n.@{icons-prefix}md-aperture:before {\n  content: \"\\e625\";\n}\n\n.@{icons-prefix}md-sad:before {\n  content: \"\\e725\";\n}\n\n.@{icons-prefix}ios-move:before {\n  content: \"\\e825\";\n}\n\n.@{icons-prefix}md-arrow-back:before {\n  content: \"\\e626\";\n}\n\n.@{icons-prefix}md-send:before {\n  content: \"\\e726\";\n}\n\n.@{icons-prefix}ios-musical-note:before {\n  content: \"\\e826\";\n}\n\n.@{icons-prefix}logo-reddit:before {\n  content: \"\\e627\";\n}\n\n.@{icons-prefix}md-resize:before {\n  content: \"\\e727\";\n}\n\n.@{icons-prefix}ios-navigate:before {\n  content: \"\\e827\";\n}\n\n.@{icons-prefix}logo-twitch:before {\n  content: \"\\e628\";\n}\n\n.@{icons-prefix}md-settings:before {\n  content: \"\\e728\";\n}\n\n.@{icons-prefix}ios-musical-notes:before {\n  content: \"\\e828\";\n}\n\n.@{icons-prefix}md-alert:before {\n  content: \"\\e629\";\n}\n\n.@{icons-prefix}md-shirt:before {\n  content: \"\\e729\";\n}\n\n.@{icons-prefix}ios-notifications:before {\n  content: \"\\e829\";\n}\n\n.@{icons-prefix}md-archive:before {\n  content: \"\\e62a\";\n}\n\n.@{icons-prefix}md-share-alt:before {\n  content: \"\\e72a\";\n}\n\n.@{icons-prefix}ios-notifications-off:before {\n  content: \"\\e82a\";\n}\n\n.@{icons-prefix}md-appstore:before {\n  content: \"\\e62b\";\n}\n\n.@{icons-prefix}md-skip-backward:before {\n  content: \"\\e72b\";\n}\n\n.@{icons-prefix}ios-notifications-outline:before {\n  content: \"\\e82b\";\n}\n\n.@{icons-prefix}logo-youtube:before {\n  content: \"\\e62c\";\n}\n\n.@{icons-prefix}md-shuffle:before {\n  content: \"\\e72c\";\n}\n\n.@{icons-prefix}ios-nuclear:before {\n  content: \"\\e82c\";\n}\n\n.@{icons-prefix}md-arrow-dropdown:before {\n  content: \"\\e62d\";\n}\n\n.@{icons-prefix}md-skip-forward:before {\n  content: \"\\e72d\";\n}\n\n.@{icons-prefix}ios-open:before {\n  content: \"\\e82d\";\n}\n\n.@{icons-prefix}md-arrow-dropdown-circle:before {\n  content: \"\\e62e\";\n}\n\n.@{icons-prefix}md-share:before {\n  content: \"\\e72e\";\n}\n\n.@{icons-prefix}ios-nutrition:before {\n  content: \"\\e82e\";\n}\n\n.@{icons-prefix}logo-xbox:before {\n  content: \"\\e62f\";\n}\n\n.@{icons-prefix}md-square:before {\n  content: \"\\e72f\";\n}\n\n.@{icons-prefix}ios-options:before {\n  content: \"\\e82f\";\n}\n\n.@{icons-prefix}md-add-circle-outline:before {\n  content: \"\\e630\";\n}\n\n.@{icons-prefix}md-square-outline:before {\n  content: \"\\e730\";\n}\n\n.@{icons-prefix}ios-outlet:before {\n  content: \"\\e830\";\n}\n\n.@{icons-prefix}md-arrow-dropleft:before {\n  content: \"\\e631\";\n}\n\n.@{icons-prefix}md-speedometer:before {\n  content: \"\\e731\";\n}\n\n.@{icons-prefix}ios-paper:before {\n  content: \"\\e831\";\n}\n\n.@{icons-prefix}md-analytics:before {\n  content: \"\\e632\";\n}\n\n.@{icons-prefix}md-search:before {\n  content: \"\\e732\";\n}\n\n.@{icons-prefix}ios-pause:before {\n  content: \"\\e832\";\n}\n\n.@{icons-prefix}md-arrow-dropright:before {\n  content: \"\\e633\";\n}\n\n.@{icons-prefix}md-star:before {\n  content: \"\\e733\";\n}\n\n.@{icons-prefix}ios-paw:before {\n  content: \"\\e833\";\n}\n\n.@{icons-prefix}md-albums:before {\n  content: \"\\e634\";\n}\n\n.@{icons-prefix}md-snow:before {\n  content: \"\\e734\";\n}\n\n.@{icons-prefix}ios-paper-plane:before {\n  content: \"\\e834\";\n}\n\n.@{icons-prefix}md-arrow-dropleft-circle:before {\n  content: \"\\e635\";\n}\n\n.@{icons-prefix}md-star-half:before {\n  content: \"\\e735\";\n}\n\n.@{icons-prefix}ios-person:before {\n  content: \"\\e835\";\n}\n\n.@{icons-prefix}md-arrow-down:before {\n  content: \"\\e636\";\n}\n\n.@{icons-prefix}md-stopwatch:before {\n  content: \"\\e736\";\n}\n\n.@{icons-prefix}ios-phone-portrait:before {\n  content: \"\\e836\";\n}\n\n.@{icons-prefix}md-arrow-dropright-circle:before {\n  content: \"\\e637\";\n}\n\n.@{icons-prefix}md-star-outline:before {\n  content: \"\\e737\";\n}\n\n.@{icons-prefix}ios-people:before {\n  content: \"\\e837\";\n}"
  },
  {
    "path": "src/styles/common/iconfont/icons-variables.less",
    "content": "@icons-font-path: './fonts';\n@icons-font-family: 'Iconfont';\n@icons-prefix: rab-icon-;"
  },
  {
    "path": "src/styles/common/iconfont/icons.less",
    "content": "@import \"./icons-variables.less\";\n@import \"./icons-font.less\";\n@import \"./icons-icons.less\";"
  },
  {
    "path": "src/styles/common/index.less",
    "content": "@import 'base';\n@import 'iconfont/icons';\n@import 'article';"
  },
  {
    "path": "src/styles/common/normalize.less",
    "content": "/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Change the default font family in all browsers (opinionated).\n * 2. Correct the line height in all browsers.\n * 3. Prevent adjustments of font size after orientation changes in\n *    IE on Windows Phone and in iOS.\n */\n\n/* Document\n   ========================================================================== */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  line-height: 1.15; /* 2 */\n  -ms-text-size-adjust: 100%; /* 3 */\n  -webkit-text-size-adjust: 100%; /* 3 */\n}\n\n/* Sections\n   ========================================================================== */\n\n/**\n * Remove the margin in all browsers (opinionated).\n */\n\nbody {\n  margin: 0;\n}\n\n/**\n * Add the correct display in IE 9-.\n */\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n  display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n * 1. Add the correct display in IE.\n */\n\nfigcaption,\nfigure,\nmain { /* 1 */\n  display: block;\n}\n\n/**\n * Add the correct margin in IE 8.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n  box-sizing: content-box; /* 1 */\n  height: 0; /* 1 */\n  overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n  font-family: monospace, monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * 1. Remove the gray background on active links in IE 10.\n * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n */\n\na {\n  background-color: transparent; /* 1 */\n  -webkit-text-decoration-skip: objects; /* 2 */\n}\n\n/**\n * Remove the outline on focused links when they are also active or hovered\n * in all browsers (opinionated).\n */\n\na:active,\na:hover {\n  outline-width: 0;\n}\n\n/**\n * 1. Remove the bottom border in Firefox 39-.\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n  border-bottom: none; /* 1 */\n  text-decoration: underline; /* 2 */\n  text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n */\n\nb,\nstrong {\n  font-weight: inherit;\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; /* 1 */\n  font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font style in Android 4.3-.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Add the correct background and color in IE 9-.\n */\n\nmark {\n  background-color: #ff0;\n  color: #000;\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n */\n\naudio,\nvideo {\n  display: inline-block;\n}\n\n/**\n * Add the correct display in iOS 4-7.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Remove the border on images inside links in IE 10-.\n */\n\nimg {\n  border-style: none;\n}\n\n/**\n * Hide the overflow in IE.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers (opinionated).\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: sans-serif; /* 1 */\n  font-size: 100%; /* 1 */\n  line-height: 1.15; /* 1 */\n  margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n  overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n  text-transform: none;\n}\n\n/**\n * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n *    controls in Android 4.\n * 2. Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\nhtml [type=\"button\"], /* 1 */\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/**\n * Change the border, margin, and padding in all browsers (opinionated).\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n *    `fieldset` elements in all browsers.\n */\n\nlegend {\n  box-sizing: border-box; /* 1 */\n  color: inherit; /* 2 */\n  display: table; /* 1 */\n  max-width: 100%; /* 1 */\n  padding: 0; /* 3 */\n  white-space: normal; /* 1 */\n}\n\n/**\n * 1. Add the correct display in IE 9-.\n * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Remove the default vertical scrollbar in IE.\n */\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10-.\n * 2. Remove the padding in IE 10-.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/* Interactive\n   ========================================================================== */\n\n/*\n * Add the correct display in IE 9-.\n * 1. Add the correct display in Edge, IE, and Firefox.\n */\n\ndetails, /* 1 */\nmenu {\n  display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n  display: list-item;\n}\n\n/* Scripting\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n */\n\ncanvas {\n  display: inline-block;\n}\n\n/**\n * Add the correct display in IE.\n */\n\ntemplate {\n  display: none;\n}\n\n/* Hidden\n   ========================================================================== */\n\n/**\n * Add the correct display in IE 10-.\n */\n\n[hidden] {\n  display: none;\n}\n"
  },
  {
    "path": "src/styles/components/affix.less",
    "content": "@import '../custom.less';\n\n@affix-tag-name: r-affix;\n@affix-prefix-cls: ~'@{css-prefix}affix';\n\n@{affix-tag-name} {\n    display: block;\n}\n\n.@{affix-prefix-cls} {\n    position: fixed;\n    z-index: @zindex-affix;\n}\n"
  },
  {
    "path": "src/styles/components/alert.less",
    "content": "@import '../custom.less';\n@import '../mixins/content.less';\n\n@alert-tag-name: r-alert;\n@alert-prefix-cls: ~'@{css-prefix}alert';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n@{alert-tag-name} {\n    color: @text-color;\n    font-size: @font-size-base;\n    line-height: @line-height-base;\n    position: relative;\n    display: block;\n    padding: 8px 15px;\n    margin-bottom: 10px;\n    word-wrap: break-word;\n    border-radius: @border-radius-base;\n    border: @border-width-base @border-style-base tint(@primary-color, 65%);\n    background-color: tint(@primary-color, 92%);\n\n    .@{alert-prefix-cls}-icon {\n        color: @primary-color;\n    }\n\n    &[type='success'] {\n        border: @border-width-base @border-style-base tint(@success-color, 65%);\n        background-color: #f6ffed;\n\n        .@{alert-prefix-cls}-icon {\n            color: @success-color;\n        }\n    }\n\n    &[type='info'] {\n        border: @border-width-base @border-style-base tint(@primary-color, 65%);\n        background-color: tint(@primary-color, 92%);\n\n        .@{alert-prefix-cls}-icon {\n            color: @primary-color;\n        }\n    }\n\n    &[type='warning'] {\n        border: @border-width-base @border-style-base tint(@warning-color, 65%);\n        background-color: #fffbe6;\n\n        .@{alert-prefix-cls}-icon {\n            color: @warning-color;\n        }\n    }\n\n    &[type='error'] {\n        border: @border-width-base @border-style-base tint(@error-color, 65%);\n        background-color: #fff2f0;\n\n        .@{alert-prefix-cls}-icon {\n            color: @error-color;\n        }\n    }\n}\n\n.@{alert-prefix-cls} {\n    &-with-icon {\n        padding: 8px 48px 8px 35px;\n    }\n\n    &-icon {\n        font-size: @font-size-large;\n        top: 6px;\n        left: 12px;\n        position: absolute;\n    }\n\n    &-title {\n        color: @text-color;\n    }\n\n    &-desc {\n        font-size: @font-size-base;\n        color: @text-color;\n        line-height: 22px;\n        display: none;\n\n        p {\n            margin-bottom: 0;\n        }\n    }\n\n    &-close {\n        .content-close();\n        top: 10px;\n    }\n\n    &-with-desc&-with-icon {\n        padding: 16px 16px 16px 69px;\n    }\n\n    &-with-desc {\n        padding: 16px;\n        position: relative;\n        border-radius: @border-radius-base;\n        margin-bottom: 10px;\n        color: @text-color;\n        line-height: @line-height-base;\n\n        .@{alert-prefix-cls} {\n            &-desc {\n                display: block;\n            }\n\n            &-title {\n                font-size: @font-size-large;\n                color: @title-color;\n                display: block;\n                margin-bottom: 4px;\n            }\n\n            &-icon {\n                top: 50%;\n                left: 22px;\n                transform: translateY(-50%);\n                font-size: 32px;\n            }\n        }\n    }\n\n    &-with-banner {\n        border: 0 !important;\n        border-radius: 0 !important;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/avatar.less",
    "content": "@import '../custom.less';\n\n@avatar-tag-name: r-avatar;\n@avatar-prefix-cls: ~'@{css-prefix}avatar';\n\n@{avatar-tag-name} {\n    display: inline-block;\n    text-align: center;\n    background: @avatar-bg;\n    color: @avatar-color;\n    white-space: nowrap;\n    position: relative;\n    overflow: hidden;\n    vertical-align: middle;\n\n    .rab-icon {\n        position: absolute;\n        top: 40%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n    }\n\n    &[size='large'] {\n        .avatar-size(@avatar-size-lg, @avatar-font-size-lg);\n    }\n\n    .avatar-size(@avatar-size-base, @avatar-font-size-base);\n\n    &[size='small'] {\n        .avatar-size(@avatar-size-sm, @avatar-font-size-sm);\n    }\n\n    &[shape='circle'] {\n        border-radius: 50%;\n    }\n\n    &[shape='square'] {\n        border-radius: @avatar-border-radius;\n    }\n\n    & > img {\n        width: 100%;\n        height: 100%;\n    }\n}\n\n.@{avatar-prefix-cls} {\n    &-image {\n        background: transparent;\n    }\n\n    &-string {\n        position: absolute;\n        left: 50%;\n        transform-origin: 0 center;\n    }\n}\n\n.avatar-size(@size, @font-size) {\n    width: @size;\n    height: @size;\n    line-height: @size;\n    border-radius: 50%;\n\n    &.@{avatar-prefix-cls}-icon {\n        font-size: @font-size;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/back-top.less",
    "content": "@import '../custom.less';\n\n@backtop-tag-name: r-back-top;\n@backtop-prefix-cls: ~'@{css-prefix}back-top';\n\n@{backtop-tag-name} {\n    z-index: @zindex-back-top;\n    position: fixed;\n    cursor: pointer;\n    display: none;\n\n    .rab-icon {\n        position: relative;\n        top: -3px;\n        color: @white;\n        font-size: 24px;\n        padding: 20px @padding-sm;\n    }\n}\n\n.@{backtop-prefix-cls} {\n    &-inner {\n        background-color: rgba(0, 0, 0, 0.5);\n        border-radius: @border-radius-base;\n        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n        transition: all @transition-time @ease-in-out;\n\n        &:hover {\n            background-color: rgba(0, 0, 0, 0.7);\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/badge.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n@import '../color/colors.less';\n\n@badge-tag-name: r-badge;\n@badge-prefix-cls: ~'@{css-prefix}badge';\n\n@{badge-tag-name} {\n    position: relative;\n    display: inline-block;\n\n    &[type='primary'] {\n        .@{badge-prefix-cls}-count {\n            background: @primary-color;\n        }\n    }\n\n    &[type='success'] {\n        .@{badge-prefix-cls}-count {\n            background: @success-color;\n        }\n    }\n\n    &[type='error'] {\n        .@{badge-prefix-cls}-count {\n            background: @error-color;\n        }\n    }\n\n    &[type='warning'] {\n        .@{badge-prefix-cls}-count {\n            background: @warning-color;\n        }\n    }\n\n    &[type='info'] {\n        .@{badge-prefix-cls}-count {\n            background: @info-color;\n        }\n    }\n\n    &[type='normal'] {\n        .@{badge-prefix-cls}-count {\n            background: @normal-color;\n            color: @subsidiary-color;\n        }\n    }\n}\n\n.@{badge-prefix-cls} {\n    &-count {\n        font-family: 'Monospaced Number';\n        line-height: 1;\n        vertical-align: middle;\n        position: absolute;\n        transform: translateX(50%);\n        top: -10px;\n        right: 0;\n        height: 20px;\n        border-radius: 10px;\n        min-width: 20px;\n        background: @error-color;\n        border: @border-width-base @border-style-base transparent;\n        color: @white;\n        line-height: 17px;\n        text-align: center;\n        padding: 0 6px;\n        font-size: @font-size-small;\n        white-space: nowrap;\n        transform-origin: -10% center;\n        z-index: 10;\n        box-shadow: 0 0 0 1px @white;\n\n        &-custom {\n            background: transparent;\n            color: inherit;\n            border-color: transparent;\n            box-shadow: none;\n        }\n\n        a,\n        a:hover {\n            color: @white;\n        }\n\n        &-alone {\n            top: auto;\n            display: block;\n            position: relative;\n            transform: translateX(0);\n        }\n    }\n\n    &-dot {\n        position: absolute;\n        transform: translateX(-50%);\n        transform-origin: 0 center;\n        top: -4px;\n        right: -8px;\n        .square(8px);\n        border-radius: 100%;\n        background: @error-color;\n        z-index: 10;\n        box-shadow: 0 0 0 1px @white;\n    }\n\n    &-status {\n        line-height: inherit;\n        vertical-align: baseline;\n\n        &-dot {\n            .square(6px);\n            display: inline-block;\n            border-radius: 50%;\n            vertical-align: middle;\n            position: relative;\n            top: -1px;\n        }\n\n        &-success {\n            background-color: @success-color;\n        }\n\n        &-processing {\n            background-color: @processing-color;\n            position: relative;\n\n            &:after {\n                position: absolute;\n                top: 0;\n                left: 0;\n                .square(100%);\n                border-radius: 50%;\n                border: @border-width-base @border-style-base @processing-color;\n                content: '';\n                animation: rabStatusProcessing 1.2s infinite ease-in-out;\n            }\n        }\n\n        &-default {\n            background-color: @normal-color;\n        }\n\n        &-error {\n            background-color: @error-color;\n        }\n\n        &-warning {\n            background-color: @warning-color;\n        }\n\n        &-text {\n            display: inline-block;\n            color: @text-color;\n            font-size: @font-size-base;\n            margin-left: 6px;\n        }\n\n        // 状态点预设颜色\n\n        @colors: pink, magenta, red, volcano, orange, yellow, gold, cyan, lime, green, blue,\n            geekblue, purple;\n\n        // 生成状态点颜色类名\n\n        .make-color-classes(@i: length(@colors)) when (@i > 0) {\n            .make-color-classes(@i - 1);\n            @color: extract(@colors, @i);\n            @darkColor: '@{color}-6';\n\n            &-@{color} {\n                background-color: @@darkColor;\n            }\n        }\n\n        .make-color-classes();\n    }\n}\n\n@keyframes rabStatusProcessing {\n    0% {\n        transform: scale(0.8);\n        opacity: 0.5;\n    }\n\n    100% {\n        transform: scale(2.4);\n        opacity: 0;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/breadcrumb.less",
    "content": "@import '../custom.less';\n\n@breadcrumb-tag-name: r-breadcrumb;\n@breadcrumb-prefix-cls: ~'@{css-prefix}breadcrumb';\n\n@{breadcrumb-tag-name} {\n    display: block;\n    color: #999;\n    font-size: @font-size-base;\n\n    a {\n        color: @text-color;\n        transition: color @transition-time @ease-in-out;\n        &:hover {\n            color: tint(@primary-color, 20%);\n        }\n    }\n\n    & > span:last-child {\n        font-weight: bold;\n        color: @text-color;\n    }\n\n    & > span:last-child .@{breadcrumb-prefix-cls}-item-separator {\n        display: none;\n    }\n}\n\n.@{breadcrumb-prefix-cls} {\n    &-item-separator {\n        margin: 0 8px;\n        color: @border-color-base;\n    }\n\n    &-item-link {\n        > .rab-icon + span {\n            margin-left: 4px;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/button.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n@import '../mixins/button.less';\n\n@btn-prefix-cls: ~'@{css-prefix}btn';\n\n.@{btn-prefix-cls} {\n    .btn();\n    .btn-default();\n\n    &-long {\n        width: 100%;\n    }\n\n    & > .rab-icon-loading-solid {\n        margin-right: 4px;\n    }\n\n    & > .rab-icon + span,\n    & > span + .rab-icon {\n        margin-left: 4px;\n    }\n\n    &-primary {\n        .btn-primary();\n\n        .@{btn-prefix-cls}-group:not(.@{btn-prefix-cls}-group-vertical)\n            &:not(:first-child):not(:last-child) {\n            border-right-color: @btn-group-border;\n            border-left-color: @btn-group-border;\n        }\n\n        .@{btn-prefix-cls}-group:not(.@{btn-prefix-cls}-group-vertical) &:first-child {\n            &:not(:last-child) {\n                border-right-color: @btn-group-border;\n\n                &[disabled] {\n                    border-right-color: @btn-default-border;\n                }\n            }\n        }\n\n        .@{btn-prefix-cls}-group:not(.@{btn-prefix-cls}-group-vertical)\n            &:last-child:not(:first-child),\n        .@{btn-prefix-cls}-group:not(.@{btn-prefix-cls}-group-vertical) & + .@{btn-prefix-cls} {\n            border-left-color: @btn-group-border;\n\n            &[disabled] {\n                border-left-color: @btn-default-border;\n            }\n        }\n\n        .@{btn-prefix-cls}-group-vertical &:not(:first-child):not(:last-child) {\n            border-top-color: @btn-group-border;\n            border-bottom-color: @btn-group-border;\n        }\n\n        .@{btn-prefix-cls}-group-vertical &:first-child {\n            &:not(:last-child) {\n                border-bottom-color: @btn-group-border;\n\n                &[disabled] {\n                    border-top-color: @btn-default-border;\n                }\n            }\n        }\n\n        .@{btn-prefix-cls}-group-vertical &:last-child:not(:first-child),\n        .@{btn-prefix-cls}-group-vertical & + .@{btn-prefix-cls} {\n            border-top-color: @btn-group-border;\n\n            &[disabled] {\n                border-bottom-color: @btn-default-border;\n            }\n        }\n    }\n\n    &-dashed {\n        .btn-dashed();\n    }\n\n    &-text {\n        .btn-text();\n    }\n\n    &-success {\n        .btn-color(@success-color);\n    }\n\n    &-warning {\n        .btn-color(@warning-color);\n    }\n\n    &-error {\n        .btn-color(@error-color);\n    }\n\n    &-info {\n        .btn-color(@info-color);\n    }\n\n    &-circle,\n    &-circle-outline {\n        .btn-circle(@btn-prefix-cls);\n    }\n\n    &:before {\n        position: absolute;\n        top: -1px;\n        left: -1px;\n        bottom: -1px;\n        right: -1px;\n        background: @white;\n        opacity: 0.35;\n        content: '';\n        border-radius: inherit;\n        z-index: 1;\n        transition: opacity @transition-time;\n        pointer-events: none;\n        display: none;\n    }\n\n    &&-loading {\n        pointer-events: none;\n        position: relative;\n\n        &:before {\n            display: block;\n        }\n    }\n\n    &-group {\n        .btn-group(@btn-prefix-cls);\n    }\n\n    &-group-vertical {\n        .btn-group-vertical(@btn-prefix-cls);\n    }\n\n    &-ghost {\n        color: @white;\n        background: transparent;\n\n        &:hover {\n            background: transparent;\n        }\n    }\n\n    &-ghost&-dashed,\n    &-ghost&-default {\n        color: @white;\n        border-color: @white;\n\n        &:hover {\n            color: tint(@primary-color, 20%);\n            border-color: tint(@primary-color, 20%);\n        }\n    }\n\n    &-ghost&-primary {\n        color: @primary-color;\n\n        &:hover {\n            color: tint(@primary-color, 20%);\n            background: fade(tint(@primary-color, 95%), 50%);\n        }\n    }\n\n    &-ghost&-info {\n        color: @info-color;\n\n        &:hover {\n            color: tint(@info-color, 20%);\n            background: fade(tint(@info-color, 95%), 50%);\n        }\n    }\n\n    &-ghost&-success {\n        color: @success-color;\n\n        &:hover {\n            color: tint(@success-color, 20%);\n            background: fade(tint(@success-color, 95%), 50%);\n        }\n    }\n\n    &-ghost&-warning {\n        color: @warning-color;\n\n        &:hover {\n            color: tint(@warning-color, 20%);\n            background: fade(tint(@warning-color, 95%), 50%);\n        }\n    }\n\n    &-ghost&-error {\n        color: @error-color;\n\n        &:hover {\n            color: tint(@error-color, 20%);\n            background: fade(tint(@error-color, 95%), 50%);\n        }\n    }\n\n    &-ghost&-default[disabled],\n    &-ghost&-dashed[disabled],\n    &-ghost&-primary[disabled],\n    &-ghost&-info[disabled],\n    &-ghost&-success[disabled],\n    &-ghost&-warning[disabled],\n    &-ghost&-error[disabled] {\n        background: transparent;\n        color: fade(#000, 25%);\n        border-color: @btn-disable-border;\n    }\n\n    &-ghost&-text[disabled] {\n        background: transparent;\n        color: fade(#000, 25%);\n    }\n\n    &-sm {\n        font-size: @font-size-small;\n    }\n}\n\na.@{btn-prefix-cls} {\n    padding-top: 0.1px;\n    line-height: @btn-height-base - 2px;\n\n    &-lg {\n        line-height: @btn-height-large - 2px;\n    }\n\n    &-sm {\n        line-height: @btn-height-small - 2px;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/card.less",
    "content": "@import '../custom.less';\n@import '../mixins/content.less';\n\n@card-tag-name: r-card;\n@card-prefix-cls: ~'@{css-prefix}card';\n\n@{card-tag-name} {\n    display: block;\n    background: @white;\n    border: @border-width-base @border-style-base @border-color-split;\n    border-radius: @border-radius-base;\n    font-size: @font-size-base;\n    position: relative;\n    transition: all @transition-time @ease-in-out;\n\n    &:not(.@{card-prefix-cls}-shadow) {\n        &:hover {\n            box-shadow: @shadow-base;\n            border-color: #eee;\n        }\n    }\n}\n\n.@{card-prefix-cls} {\n    &-no-border {\n        border: none !important;\n    }\n\n    &-shadow {\n        box-shadow: @shadow-card;\n    }\n\n    &-dis-hover {\n        &:hover {\n            box-shadow: none !important;\n            border-color: @border-color-split !important;\n        }\n    }\n\n    &-dis-hover&-bordered {\n        &:hover {\n            border-color: @border-color-split !important;\n        }\n    }\n\n    &-head {\n        .content-header();\n    }\n\n    &-extra {\n        position: absolute;\n        right: 16px;\n        top: 14px;\n    }\n\n    &-body {\n        padding: @padding-md;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/carousel.less",
    "content": "@import '../custom.less';\n\n@carousel-tag-name: r-carousel;\n@carousel-prefix-cls: ~'@{css-prefix}carousel';\n\n@{carousel-tag-name} {\n    position: relative;\n    display: block;\n}\n\n.@{carousel-prefix-cls} {\n    &-list {\n        position: relative;\n        width: 100%;\n        overflow: hidden;\n    }\n\n    &-item {\n        position: relative;\n        display: none;\n        float: left;\n        width: 100%;\n        margin-right: -100%;\n        backface-visibility: hidden;\n        transition: transform 0.5s ease;\n\n        &.active,\n        &-next,\n        &-prev {\n            display: block;\n        }\n\n        &-next:not(&-left),\n        .active&-right {\n            transform: translateX(100%);\n        }\n\n        &-prev:not(&-right),\n        .active&-left {\n            transform: translateX(-100%);\n        }\n    }\n\n    &-fade &-item {\n        opacity: 0;\n        transition-property: opacity;\n        transform: none;\n    }\n\n    &-fade &-item.active,\n    &-fade &-item-next&-item-left,\n    &-fade &-item-prev&-item-right {\n        z-index: 1;\n        opacity: 1;\n    }\n\n    &-fade .active&-item-left,\n    &-fade .active&-item-right {\n        z-index: 0;\n        opacity: 0;\n        transition: opacity 0.5s ease 0s;\n    }\n\n    &-arrow {\n        border: 0;\n        padding: 0;\n        margin: 0;\n        outline: none;\n        width: 36px;\n        height: 36px;\n        border-radius: 50%;\n        cursor: pointer;\n        display: none;\n        position: absolute;\n        top: 50%;\n        z-index: 10;\n        transform: translateY(-50%);\n        transition: @transition-time;\n        background-color: rgba(31, 45, 61, 0.11);\n        color: @white;\n\n        &:hover {\n            background-color: rgba(31, 45, 61, 0.5);\n        }\n\n        text-align: center;\n        font-size: 1em;\n        font-family: inherit;\n        line-height: inherit;\n\n        & > * {\n            vertical-align: baseline;\n        }\n\n        &.left {\n            left: 16px;\n        }\n\n        &.right {\n            right: 16px;\n        }\n\n        &-always {\n            display: inherit;\n        }\n\n        &-hover {\n            display: inherit;\n\n            opacity: 0;\n        }\n    }\n\n    @{carousel-tag-name}:hover &-arrow-hover {\n        opacity: 1;\n    }\n\n    &-dots {\n        @padding: 7px;\n\n        z-index: 10;\n        display: none;\n        position: relative;\n\n        &-inside {\n            display: block;\n            position: absolute;\n            bottom: 10px - @padding;\n        }\n\n        &-outside {\n            display: block;\n            margin-top: 10px - @padding;\n        }\n\n        list-style: none;\n        text-align: center;\n        padding: 0;\n        width: 100%;\n        height: 3px + @padding * 2;\n\n        li {\n            position: relative;\n            display: inline-block;\n            vertical-align: top;\n            text-align: center;\n            margin: 0 2px;\n            padding: @padding 0;\n            cursor: pointer;\n\n            button {\n                width: 16px;\n                height: 3px;\n                border: 0;\n                cursor: pointer;\n                background: #8391a5;\n                opacity: 0.3;\n                display: block;\n                border-radius: 1px;\n                outline: none;\n                font-size: 0;\n                color: transparent;\n                transition: all 0.5s;\n\n                &.radius {\n                    width: 9px;\n                    height: 9px;\n                    border-radius: 50%;\n                }\n            }\n\n            &:hover > button {\n                opacity: 0.7;\n            }\n\n            &.@{carousel-prefix-cls}-active > button {\n                opacity: 1;\n                width: 24px;\n\n                &.radius {\n                    width: 9px;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/checkbox.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n@import '../mixins/checkbox.less';\n\n@checkbox-tag-name: r-checkbox;\n@checkbox-group-tag: r-checkbox-group;\n@checkbox-prefix-cls: ~'@{css-prefix}checkbox';\n@checkbox-inner-prefix-cls: ~'@{checkbox-prefix-cls}-inner';\n\n// 普通状态\n.@{checkbox-prefix-cls} {\n    &-focus {\n        box-shadow: 0 0 0 2px fade(@primary-color, 20%);\n        z-index: 1;\n    }\n\n    display: inline-block;\n    vertical-align: middle;\n    white-space: nowrap;\n    cursor: pointer;\n    position: relative;\n    line-height: 1;\n\n    &:hover {\n        .@{checkbox-inner-prefix-cls} {\n            border-color: #bcbcbc;\n        }\n    }\n\n    &-inner {\n        display: inline-block;\n        .square(16px);\n        position: relative;\n        top: 0;\n        left: 0;\n        border: 1px solid @border-color-base;\n        border-radius: 2px;\n        background-color: #fff;\n        transition: border-color @transition-time @ease-in-out,\n            background-color @transition-time @ease-in-out, box-shadow @transition-time @ease-in-out;\n\n        &:after {\n            content: '';\n            display: table;\n            .size(4px, 8px);\n            position: absolute;\n            top: 1px;\n            left: 4px;\n            border: 2px solid #fff;\n            border-top: 0;\n            border-left: 0;\n            transform: rotate(45deg) scale(0);\n            transition: all @transition-time @ease-in-out;\n        }\n    }\n\n    &-input {\n        .square(100%);\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n        cursor: pointer;\n        opacity: 0;\n\n        &[disabled] {\n            cursor: @cursor-disabled;\n        }\n    }\n\n    & + .rab-icon {\n        position: relative;\n        top: 1px;\n        margin-left: 5px;\n    }\n}\n\n// 选中状态\n.@{checkbox-prefix-cls}-checked {\n    &:hover {\n        .@{checkbox-inner-prefix-cls} {\n            border-color: @primary-color;\n        }\n    }\n\n    .@{checkbox-inner-prefix-cls} {\n        border-color: @primary-color;\n        background-color: @primary-color;\n\n        &:after {\n            content: '';\n            display: table;\n            width: 4px;\n            height: 8px;\n            position: absolute;\n            top: 2px;\n            left: 5px;\n            border: 2px solid #fff;\n            border-top: 0;\n            border-left: 0;\n            transform: rotate(45deg) scale(1);\n            transition: all @transition-time @ease-in-out;\n        }\n    }\n}\n\n// 半选状态\n.@{checkbox-prefix-cls}-indeterminate {\n    .@{checkbox-inner-prefix-cls}:after {\n        content: '';\n        .size(10px, 1px);\n        transform: scale(1);\n        position: absolute;\n        left: 2px;\n        top: 6px;\n    }\n\n    &:hover {\n        .@{checkbox-inner-prefix-cls} {\n            border-color: @primary-color;\n        }\n    }\n\n    .@{checkbox-inner-prefix-cls} {\n        background-color: @primary-color;\n        border-color: @primary-color;\n    }\n\n    &[disabled] {\n        .@{checkbox-inner-prefix-cls} {\n            background-color: #f3f3f3;\n            border-color: @border-color-base;\n        }\n\n        .@{checkbox-inner-prefix-cls}:after {\n            border-color: @input-placeholder-color;\n        }\n    }\n}\n\n@{checkbox-tag-name} {\n    cursor: pointer;\n    font-size: @font-size-base;\n    display: inline-block;\n    margin-right: 8px;\n\n    &[disabled],\n    &[disabled] .@{checkbox-prefix-cls} {\n        cursor: @cursor-disabled;\n    }\n\n    // 禁用\n    &[disabled] {\n        .@{checkbox-prefix-cls} {\n            &-checked {\n                &:hover {\n                    .@{checkbox-inner-prefix-cls} {\n                        border-color: @border-color-base;\n                    }\n                }\n\n                .@{checkbox-inner-prefix-cls} {\n                    background-color: #f3f3f3;\n                    border-color: @border-color-base;\n\n                    &:after {\n                        animation-name: none;\n                        border-color: #ccc;\n                    }\n                }\n            }\n\n            .@{checkbox-inner-prefix-cls} {\n                border-color: @border-color-base;\n                background-color: #f3f3f3;\n\n                &:after {\n                    animation-name: none;\n                    border-color: #ccc;\n                }\n            }\n\n            .@{checkbox-inner-prefix-cls}-input {\n                cursor: default;\n            }\n\n            & + span {\n                color: #ccc;\n                cursor: @cursor-disabled;\n            }\n\n            &:hover {\n                .@{checkbox-inner-prefix-cls} {\n                    border-color: @border-color-base;\n                }\n            }\n        }\n    }\n\n    &[type='border'] {\n        border: 1px solid @border-color-base;\n        border-radius: @btn-border-radius;\n        height: @btn-height-base;\n        line-height: @btn-height-base - 1px;\n        padding: @btn-padding-base;\n        transition: border @transition-time @ease-in-out;\n    }\n\n    .checkbox-size();\n\n    & + span,\n    .@{checkbox-prefix-cls} + span {\n        margin-right: 4px;\n    }\n}\n\n.@{checkbox-prefix-cls}-checked[type='border'] {\n    border-color: @primary-color;\n}\n\n@{checkbox-group-tag} {\n    display: block;\n    font-size: @font-size-base;\n\n    @{checkbox-tag-name} {\n        display: inline-block;\n    }\n\n    .checkbox-size();\n}\n\n.size-with-border(small, @btn-height-small, 1px, @btn-padding-small);\n.size-with-border(large, @btn-height-large, 3px, @btn-padding-large);\n"
  },
  {
    "path": "src/styles/components/circle.less",
    "content": "@import '../custom.less';\n\n@circle-tag-name: r-circle;\n@circle-prefix-cls: ~\"@{css-prefix}chart-circle\";\n\n@{circle-tag-name} {\n  display: inline-block;\n  position: relative;\n}\n\n.@{circle-prefix-cls}{\n    &-inner {\n        width: 100%;\n        text-align: center;\n        position: absolute;\n        left: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        line-height: 0;\n    }\n}"
  },
  {
    "path": "src/styles/components/collapse.less",
    "content": "@import '../custom.less';\n\n@collapse-tag-name: r-collapse;\n@collapse-panel-tag: r-collapse-panel;\n@collapse-prefix-cls: ~'@{css-prefix}collapse';\n\n@{collapse-tag-name} {\n    display: block;\n    background-color: @background-color-base;\n    border-radius: @border-radius-base;\n    border: @border-width-base @border-style-base @border-color-base;\n}\n\n@{collapse-panel-tag} {\n    display: none;\n    border-top: @border-width-base @border-style-base @border-color-base;\n\n    &:first-child {\n        border-top: 0;\n    }\n\n    > .@{collapse-prefix-cls}-header {\n        height: 38px;\n        line-height: 38px;\n        padding-left: @padding-md;\n        color: #666;\n        cursor: pointer;\n        position: relative;\n        border-bottom: @border-width-base @border-style-base transparent;\n\n        > i {\n            transition: transform @transition-time @ease-in-out;\n            margin-right: 14px;\n        }\n    }\n\n    &.@{collapse-prefix-cls}-item-active > .@{collapse-prefix-cls}-header {\n        border-bottom: @border-width-base @border-style-base @border-color-base;\n\n        > i {\n            transform: rotate(90deg);\n        }\n    }\n\n    &:last-child {\n        > .@{collapse-prefix-cls}-content {\n            border-radius: 0 0 @border-radius-base @border-radius-base;\n        }\n    }\n}\n\n.@{collapse-prefix-cls} {\n    &-simple,\n    &-ghost {\n        border-top: none;\n        border-left: none;\n        border-right: none;\n        border-radius: 0;\n    }\n\n    &-simple > @{collapse-panel-tag}&-item-active > &-header,\n    &-ghost > @{collapse-panel-tag}&-item-active > &-header {\n        border-bottom: @border-width-base @border-style-base transparent;\n    }\n\n    &-content {\n        display: none;\n        overflow: hidden;\n        color: @text-color;\n        padding: 0 @padding-md;\n        background-color: @white;\n\n        & > &-box {\n            padding-top: @padding-md;\n            padding-bottom: @padding-md;\n        }\n    }\n\n    &-simple > @{collapse-panel-tag} > &-content > &-content-box {\n        padding-top: 0;\n    }\n\n    &-simple &-content {\n        background-color: @background-color-base;\n    }\n\n    &-ghost {\n        border-bottom: none;\n    }\n\n    &-ghost > @{collapse-panel-tag} {\n        border-top: none;\n    }\n\n    &-ghost > @{collapse-panel-tag} > &-content > &-content-box {\n        padding-top: 12px;\n        padding-bottom: 12px;\n    }\n\n    &-ghost,\n    &-ghost &-content {\n        background-color: @white;\n    }\n\n    &-item-active > &-content {\n        display: block;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/count-down.less",
    "content": "@count-down-tag-name: r-count-down;\n\n@{count-down-tag-name} {\n    display: inline-block;\n    font-size: 20px;\n}\n"
  },
  {
    "path": "src/styles/components/divider.less",
    "content": "@import '../custom.less';\n@import '../mixins/common.less';\n\n@divider-tag-name: r-divider;\n@divider-prefix-cls: ~'@{css-prefix}divider';\n\n@{divider-tag-name} {\n    .reset-component();\n    background: @border-color-split;\n\n    &,\n    &[type='vertical'] {\n        margin: 0 8px;\n        display: inline-block;\n        height: 0.9em;\n        width: 1px;\n        vertical-align: middle;\n        position: relative;\n        top: -0.06em;\n    }\n\n    &[type='horizontal'] {\n        display: block;\n        height: 1px;\n        width: 100%;\n        min-width: 100%;\n        margin: 24px 0;\n        clear: both;\n    }\n\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-center,\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-left,\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-right {\n        display: table;\n        white-space: nowrap;\n        text-align: center;\n        background: transparent;\n        font-weight: 500;\n        color: @title-color;\n        font-size: @font-size-large;\n        margin: 16px 0;\n\n        &:before,\n        &:after {\n            content: '';\n            display: table-cell;\n            position: relative;\n            top: 50%;\n            width: 50%;\n            border-top: 1px solid @border-color-split;\n            transform: translateY(50%);\n        }\n    }\n\n    &[type='horizontal'][size='small'].@{divider-prefix-cls}-with-text-center,\n    &[type='horizontal'][size='small'].@{divider-prefix-cls}-with-text-left,\n    &[type='horizontal'][size='small'].@{divider-prefix-cls}-with-text-right {\n        font-size: @font-size-base;\n        margin: 8px 0;\n    }\n\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-left,\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-right {\n        .@{divider-prefix-cls}-inner-text {\n            display: inline-block;\n            padding: 0 10px;\n        }\n    }\n\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-left {\n        &:before {\n            top: 50%;\n            width: 5%;\n        }\n\n        &:after {\n            top: 50%;\n            width: 95%;\n        }\n    }\n\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-right {\n        &:before {\n            top: 50%;\n            width: 95%;\n        }\n\n        &:after {\n            top: 50%;\n            width: 5%;\n        }\n    }\n\n    &[type='horizontal'].@{divider-prefix-cls}-with-text.@{divider-prefix-cls}-dashed,\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-left.@{divider-prefix-cls}-dashed,\n    &[type='horizontal'].@{divider-prefix-cls}-with-text-right.@{divider-prefix-cls}-dashed {\n        border-top: 0;\n\n        &:before,\n        &:after {\n            border-style: dashed none none;\n        }\n    }\n}\n\n.@{divider-prefix-cls} {\n    &-inner-text {\n        display: inline-block;\n        padding: 0 24px;\n    }\n\n    &-dashed {\n        background: none;\n        border-top: 1px dashed @border-color-split;\n    }\n\n    &-plain&-with-text,\n    &-plain&-with-text-left,\n    &-plain&-with-text-right {\n        color: @text-color !important;\n        font-weight: normal !important;\n        font-size: @font-size-base !important;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/drawer.less",
    "content": "@import '../custom.less';\n@import '../mixins/mask.less';\n@import '../mixins/content.less';\n@import '../animation/move.less';\n\n@drawer-tag-name: r-drawer;\n@drawer-prefix-cls: ~'@{css-prefix}drawer';\n@drawer-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);\n\n@{drawer-tag-name} {\n    display: none;\n}\n\n.@{drawer-prefix-cls} {\n    width: auto;\n    height: 100%;\n    position: fixed;\n\n    &-inner {\n        position: absolute;\n    }\n\n    &-top,\n    &-bottom {\n        width: 100%;\n        left: 0;\n    }\n\n    &-left,\n    &-right {\n        top: 0;\n        height: 100%;\n    }\n\n    &-left {\n        left: 0;\n    }\n\n    &-right {\n        right: 0;\n    }\n\n    &-top {\n        top: 0;\n    }\n\n    &-bottom {\n        bottom: 0;\n    }\n\n    &-hidden {\n        display: none !important;\n    }\n\n    &-wrap {\n        position: fixed;\n        overflow: auto;\n        top: 0;\n        right: 0;\n        bottom: 0;\n        left: 0;\n        z-index: @zindex-drawer;\n        -webkit-overflow-scrolling: touch;\n        outline: 0;\n\n        &-inner {\n            position: absolute;\n            overflow: hidden;\n        }\n\n        &-dragging {\n            user-select: none;\n        }\n    }\n\n    &-wrap * {\n        box-sizing: border-box;\n        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    }\n\n    &-mask {\n        .mask();\n\n        &-inner {\n            position: absolute;\n        }\n    }\n\n    &-content {\n        width: 100%;\n        height: 100%;\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        background-color: #fff;\n        border: 0;\n        background-clip: padding-box;\n        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n\n        &-no-mask {\n            pointer-events: auto;\n        }\n    }\n\n    &-header {\n        .content-header();\n    }\n\n    &-close {\n        z-index: 1;\n        .content-close(0, 28px);\n    }\n\n    &-body {\n        width: 100%;\n        height: calc(~'100% - 51px');\n        padding: 16px;\n        font-size: @font-size-base;\n        line-height: 1.5;\n        word-wrap: break-word;\n        position: absolute;\n        overflow: auto;\n    }\n\n    &-no-header &-body {\n        height: 100%;\n    }\n\n    &-no-mask {\n        pointer-events: none;\n\n        .@{drawer-prefix-cls}-drag {\n            pointer-events: auto;\n        }\n    }\n\n    &-drag {\n        top: 0;\n        height: 100%;\n        width: 0;\n        position: absolute;\n\n        &-left {\n            right: 0;\n        }\n\n        &-move-trigger {\n            width: 8px;\n            height: 100px;\n            line-height: 100px;\n            position: absolute;\n            top: 50%;\n            background: rgb(243, 243, 243);\n            transform: translate(-50%, -50%);\n            border-radius: ~'4px / 6px';\n            box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);\n            cursor: col-resize;\n\n            &-point {\n                display: inline-block;\n                width: 50%;\n                transform: translateX(50%);\n\n                i {\n                    display: block;\n                    border-bottom: 1px solid rgb(192, 192, 192);\n                    padding-bottom: 2px;\n                }\n            }\n        }\n    }\n}\n\n.move(drawer-top, rabDrawerMoveTopIn, enter, 0.55s, @drawer-timing-function);\n.move(drawer-bottom, rabDrawerMoveBottomIn, enter, 0.55s, @drawer-timing-function);\n.move(drawer-left, rabDrawerMoveLeftIn, enter, 0.55s, @drawer-timing-function);\n.move(drawer-right, rabDrawerMoveRightIn, enter, 0.55s, @drawer-timing-function);\n\n.move(drawer-top, rabDrawerMoveTopOut, leave, 0.5s, @drawer-timing-function);\n.move(drawer-bottom, rabDrawerMoveBottomOut, leave, 0.5s, @drawer-timing-function);\n.move(drawer-left, rabDrawerMoveLeftOut, leave, 0.5s, @drawer-timing-function);\n.move(drawer-right, rabDrawerMoveRightOut, leave, 0.5s, @drawer-timing-function);\n"
  },
  {
    "path": "src/styles/components/dropdown.less",
    "content": "@import '../custom.less';\n@import '../color/colorPalette.less';\n@import '../animation/slide.less';\n@import '../mixins/select.less';\n\n@dropdown-tag-name: r-dropdown;\n@dropdown-menu-tag-name: r-dropdown-menu;\n@dropdown-item-tag-name: r-dropdown-item;\n@dropdown-prefix-cls: ~'@{css-prefix}dropdown';\n@select-dropdown-prefix-cls: ~'@{css-prefix}select-dropdown';\n@dropdown-item-prefix-cls: ~'@{dropdown-prefix-cls}-item';\n\n@{dropdown-tag-name} {\n    display: inline-block;\n    position: relative;\n\n    @{dropdown-menu-tag-name} {\n        overflow: visible;\n        max-height: none;\n    }\n}\n\n@{dropdown-menu-tag-name} {\n    width: inherit;\n    max-height: 200px;\n    overflow: auto;\n    display: block;\n    visibility: hidden;\n    min-width: 100px;\n    padding: 5px 0;\n    box-shadow: 0 2px 8px rgb(0 0 0 / 15%);\n    position: absolute;\n    background-color: @white;\n    box-sizing: border-box;\n    border-radius: @border-radius-base;\n    z-index: @zindex-select;\n}\n\n@{dropdown-item-tag-name} {\n    &[selected],\n    &[selected]:hover {\n        background: ~`colorPalette('@{primary-color}', 1) `;\n    }\n\n    &[danger] {\n        color: @error-color;\n        &:hover {\n            color: @white;\n            background-color: @error-color;\n        }\n    }\n}\n\n.select-item(@dropdown-prefix-cls, @dropdown-item-tag-name, @dropdown-item-prefix-cls);\n\n.transition-drop {\n    &-enter {\n        animation: rabTransitionDropIn @animation-time ease-in-out;\n    }\n    &-leave {\n        animation: rabTransitionDropOut @animation-time ease-in-out;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/empty.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@empty-tag-name: r-empty;\n@empty-prefix-cls: ~'@{css-prefix}empty';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n@{empty-tag-name} {\n    display: block;\n    margin: 0 8px;\n    font-size: @font-size-base;\n    line-height: 22px;\n    text-align: center;\n}\n\n.@{empty-prefix-cls} {\n    &-image {\n        height: 100px;\n        margin-bottom: 12px;\n\n        img {\n            height: 100%;\n        }\n    }\n\n    &-description {\n        margin: 0;\n        color: @subsidiary-color;\n    }\n\n    &-footer {\n        margin-top: 12px;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/index.less",
    "content": "@import './affix';\n@import './alert';\n@import './avatar';\n@import './back-top';\n@import './badge';\n@import './breadcrumb';\n@import './button';\n@import './card';\n@import './carousel';\n@import './checkbox';\n@import './circle';\n@import './collapse';\n@import './count-down';\n@import './divider';\n@import './drawer';\n@import './dropdown';\n@import './empty.less';\n@import './input-number.less';\n@import './jumbotron';\n@import './loading-bar';\n@import './message';\n@import './modal';\n@import './notice';\n@import './page-header';\n@import './poptip';\n@import './progress';\n@import './radio';\n@import './result.less';\n@import './skeleton.less';\n@import './spin';\n@import './steps';\n@import './switch';\n@import './tabs';\n@import './tag.less';\n@import './time';\n@import './timeline';\n@import './tooltip';\n"
  },
  {
    "path": "src/styles/components/input-number.less",
    "content": "@import '../custom.less';\n@import '../mixins/common.less';\n@import '../mixins/input.less';\n\n@input-number-tag: r-input-number;\n@input-number-prefix-cls: ~\"@{css-prefix}input-number\";\n\n.handler-disabled() {\n    opacity: 0.72;\n    color: #ccc !important;\n    cursor: @cursor-disabled;\n}\n\n.@{input-number-prefix-cls} {\n    @radius-wrap: 0 @btn-border-radius @btn-border-radius 0;\n\n    .input();\n    margin: 0;\n    padding: 0;\n    width: 80px;\n    height: @input-height-base;\n    line-height: @input-height-base;\n    vertical-align: middle;\n    border: 1px solid @border-color-base;\n    border-radius: @btn-border-radius;\n    overflow: hidden;\n    cursor: default;\n\n    &-handler-wrap {\n        width: 22px;\n        height: 100%;\n        border-left: 1px solid @border-color-base;\n        border-radius: @radius-wrap;\n        background: @white;\n        position: absolute;\n        top: 0;\n        right: 0;\n        opacity: 0;\n        transition: opacity @transition-time @ease-in-out;\n    }\n\n    &:hover &-handler-wrap {\n        opacity: 1;\n    }\n\n    &-handler-up {\n        cursor: pointer;\n        &-inner {\n            top: -1px;\n        }\n    }\n\n    &-handler-down {\n        border-top: 1px solid @border-color-base;\n        top: -1px;\n        cursor: pointer;\n    }\n\n    &-handler {\n        display: block;\n        width: 100%;\n        height: (@input-height-base / 2);\n        line-height: 0;\n        text-align: center;\n        overflow: hidden;\n        color: #999;\n        position: relative;\n\n        &:hover &-up-inner,\n        &:hover &-down-inner {\n            color: tint(@primary-color, 20%);\n        }\n    }\n\n    &-handler-up-inner,\n    &-handler-down-inner {\n        width: 12px;\n        height: 12px;\n        line-height: 12px;\n        font-size: 14px;\n        color: #999;\n        user-select: none;\n        position: absolute;\n        right: 5px;\n        transition: all @transition-time linear;\n    }\n\n    &:hover {\n        .hover();\n    }\n\n    &-focused {\n        .active();\n    }\n\n    &-disabled {\n        .disabled();\n    }\n\n    &-input-wrap {\n        overflow: hidden;\n        height: @input-height-base;\n    }\n\n    &-input {\n        width: 100%;\n        height: @input-height-base;\n        line-height: @input-height-base;\n        padding: 0 7px;\n        text-align: left;\n        outline: 0;\n        -moz-appearance: textfield;\n        color: #666;\n        border: 0;\n        border-radius: @btn-border-radius;\n        transition: all @transition-time linear;\n\n        &::-webkit-outer-spin-button,&::-webkit-inner-spin-button {\n          -webkit-appearance: none;\n        }\n\n        &[disabled] {\n            .disabled();\n        }\n\n        &::placeholder {\n            color: @input-placeholder-color;\n        }\n    }\n\n    &-large {\n        padding: 0;\n        .@{input-number-prefix-cls}-input-wrap {\n            height: @input-height-large;\n        }\n        .@{input-number-prefix-cls}-handler {\n            height: (@input-height-large / 2);\n        }\n\n        input {\n            height: @input-height-large;\n            line-height: @input-height-large;\n        }\n\n        .@{input-number-prefix-cls}-handler-up-inner {\n            top: 1px;\n        }\n        .@{input-number-prefix-cls}-handler-down-inner {\n            bottom: 5px;\n        }\n    }\n\n    &-small {\n        padding: 0;\n        .@{input-number-prefix-cls}-input-wrap {\n            height: @input-height-small;\n        }\n        .@{input-number-prefix-cls}-handler {\n            height: (@input-height-small / 2);\n        }\n\n        input {\n            height: @input-height-small;\n            line-height: @input-height-small;\n            margin-top: -1px;\n            vertical-align: top;\n        }\n        .@{input-number-prefix-cls}-handler-up-inner {\n            top: -4px;\n        }\n        .@{input-number-prefix-cls}-handler-down-inner {\n            bottom: 2px;\n        }\n    }\n\n\n\n    &-handler-down-disabled,\n    &-handler-up-disabled,\n    &-disabled {\n        .@{input-number-prefix-cls}-handler-down-inner,\n        .@{input-number-prefix-cls}-handler-up-inner {\n            .handler-disabled();\n        }\n    }\n\n    &-disabled {\n        .@{input-number-prefix-cls}-input {\n            opacity: 0.72;\n            cursor: @cursor-disabled;\n            background-color: #f3f3f3;\n        }\n        .@{input-number-prefix-cls}-handler-wrap {\n            display: none;\n        }\n        .@{input-number-prefix-cls}-handler {\n            .handler-disabled();\n        }\n    }\n\n    &-controls-outside{\n        width: 80px + 32px * 2;\n        padding: 0 32px;\n        .@{input-number-prefix-cls}-input{\n            border-radius: 0;\n            text-align: center;\n        }\n        &-btn{\n            display: inline-block;\n            width: 32px;\n            height: 32px;\n            line-height: 30px;\n            position: absolute;\n            top: 0;\n            text-align: center;\n            background-color: @input-group-bg;\n            color: @input-color;\n            cursor: pointer;\n            i{\n                font-size: 16px;\n            }\n            &:hover i{\n                color: @primary-color;\n            }\n            &-disabled, &-disabled:hover{\n                cursor: @cursor-disabled;\n                i{\n                    color: #ccc;\n                }\n            }\n        }\n        &-up{\n            right: 0;\n            border-left: 1px solid @input-border-color;\n        }\n        &-down{\n            left: 0;\n            border-right: 1px solid @input-border-color;\n        }\n    }\n    &-disabled&-controls-outside{\n        .@{input-number-prefix-cls}-controls-outside-btn{\n            cursor: @cursor-disabled;\n            i{\n                color: #ccc;\n            }\n        }\n    }\n    &-large&-controls-outside{\n        width: 80px + 40px *2;\n        padding: 0 40px;\n        .@{input-number-prefix-cls}-controls-outside-btn{\n            width: 40px;\n            height: 40px;\n            line-height: 38px;\n            i{\n                font-size: 20px;\n            }\n        }\n    }\n    &-small&-controls-outside{\n        width: 80px + 24px *2;\n        padding: 0 24px;\n        .@{input-number-prefix-cls}-controls-outside-btn{\n            width: 24px;\n            height: 24px;\n            line-height: 22px;\n            i{\n                font-size: 14px;\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/styles/components/jumbotron.less",
    "content": "@import '../custom.less';\n\n@jumbotron-tag-name: r-jumbotron;\n@jumbotron-prefix-cls: ~'@{css-prefix}jumbotron';\n\n@{jumbotron-tag-name} {\n    display: block;\n    padding: 2rem 1rem;\n    margin-bottom: 32px;\n    background-color: @normal-color;\n    border-radius: @border-radius-base;\n\n    &[type='light'] {\n        background-color: @white;\n    }\n\n    &[type='dark'] {\n        background-color: @black;\n\n        .@{jumbotron-prefix-cls} {\n            &-title {\n                color: fade(@white, 80%);\n            }\n\n            &-subtitle {\n                color: fade(@white, 85%);\n            }\n        }\n    }\n\n    @media (min-width: @screen-sm-min) {\n        padding: 3rem 2rem;\n    }\n}\n\n.@{jumbotron-prefix-cls} {\n    &-container {\n        width: 100%;\n        padding-right: @padding-md - 1;\n        padding-left: @padding-md - 1;\n        margin-right: auto;\n        margin-left: auto;\n\n        @media (min-width: @screen-sm-min) {\n            max-width: 540px;\n        }\n\n        @media (min-width: @screen-md-min) {\n            max-width: 720px;\n        }\n\n        @media (min-width: @screen-md-min) {\n            max-width: 960px;\n        }\n\n        @media (min-width: @screen-md-min) {\n            max-width: 1140px;\n        }\n    }\n\n    &-title {\n        color: @title-color;\n        font-size: 3.5rem;\n        font-weight: 300;\n        line-height: 1.5;\n    }\n\n    &-subtitle {\n        font-size: 1.25rem;\n        font-weight: 300;\n        margin-bottom: 16px;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/loading-bar.less",
    "content": "@import '../custom.less';\n\n@loading-bar-prefix-cls: ~\"@{css-prefix}loading-bar\";\n\n.@{loading-bar-prefix-cls} {\n  width: 100%;\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  z-index: @zindex-loading-bar;\n  pointer-events: none;\n\n  &-inner {\n    height: 100%;\n    transition: width @transition-time linear;\n\n    &-color-primary {\n      background-color: @primary-color;\n    }\n\n    &-failed-color-error {\n      background-color: @error-color;\n    }\n  }\n}"
  },
  {
    "path": "src/styles/components/message.less",
    "content": "@import '../animation/move.less';\n@import '../color/colorPalette.less';\n@import '../custom.less';\n@import '../mixins/close.less';\n\n@message-prefix-cls: ~'@{css-prefix}message';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n@message-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n\n.@{message-prefix-cls} {\n    font-size: @font-size-base;\n    position: fixed;\n    z-index: @zindex-message;\n    width: 100%;\n    top: 16px;\n    left: 0;\n    pointer-events: none;\n\n    &-notice {\n        padding: 8px;\n        text-align: center;\n        transition: height @animation-time @ease-in-out, padding @animation-time @ease-in-out;\n\n        &:first-child {\n            margin-top: -8px;\n        }\n\n        &-close {\n            position: absolute;\n            right: 4px;\n            top: 10px;\n            color: #999;\n            outline: none;\n\n            i.@{icon-prefix-cls} {\n                .close-base(4px);\n            }\n        }\n    }\n\n    &-notice-content {\n        display: inline-block;\n        pointer-events: all;\n        padding: @padding-xs + 2 @padding-md;\n        border-radius: @border-radius-base;\n        box-shadow: @shadow-base;\n        background: @white;\n        position: relative;\n\n        &-text {\n            display: inline-block;\n        }\n    }\n\n    &-notice-closable {\n        .@{message-prefix-cls}-notice-content-text {\n            padding-right: 32px;\n        }\n    }\n\n    &-success .@{icon-prefix-cls} {\n        color: @success-color;\n    }\n\n    &-error .@{icon-prefix-cls} {\n        color: @error-color;\n    }\n\n    &-warning .@{icon-prefix-cls} {\n        color: @warning-color;\n    }\n\n    &-info .@{icon-prefix-cls},\n    &-loading .@{icon-prefix-cls} {\n        color: @primary-color;\n    }\n\n    .@{icon-prefix-cls} {\n        margin-right: 8px;\n        font-size: 18px;\n        position: relative;\n        top: 1px;\n\n        // 修复 loading 图标旋转左右晃动\n        &-loading-solid {\n            height: 5px;\n        }\n    }\n\n    &-notice-with-background {\n        .@{message-prefix-cls}-notice-content {\n            &-background {\n                box-shadow: none;\n                border-radius: 4px;\n            }\n\n            &-info {\n                background: ~`colorPalette('@{primary-color}', 0.6) `;\n                color: ~`colorPalette('@{primary-color}', 6) `;\n                border: 1px solid~`colorPalette('@{primary-color}', 1.5) `;\n            }\n\n            &-success {\n                background: ~`colorPalette('@{success-color}', 1.2) `;\n                color: ~`colorPalette('@{success-color}', 6) `;\n                border: 1px solid~`colorPalette('@{success-color}', 2) `;\n            }\n\n            &-warning {\n                background: ~`colorPalette('@{warning-color}', 1) `;\n                color: ~`colorPalette('@{warning-color}', 6) `;\n                border: 1px solid~`colorPalette('@{warning-color}', 2) `;\n            }\n\n            &-error {\n                background: ~`colorPalette('@{error-color}', 1) `;\n                color: ~`colorPalette('@{error-color}', 6) `;\n                border: 1px solid~`colorPalette('@{error-color}', 2) `;\n            }\n        }\n    }\n}\n\n.move(message, rabMessageMoveIn, enter, @animation-time, @message-timing-function);\n.move(message, rabMessageMoveOut, leave, @animation-time, @message-timing-function);\n"
  },
  {
    "path": "src/styles/components/modal.less",
    "content": "@import '../custom.less';\n@import '../mixins/mask.less';\n@import '../mixins/content.less';\n@import '../animation/zoom.less';\n\n@modal-tag-name: r-modal;\n@modal-prefix-cls: ~'@{css-prefix}modal';\n@confirm-prefix-cls: ~'@{css-prefix}modal-confirm';\n\n@{modal-tag-name} {\n    display: none;\n}\n\n.@{modal-prefix-cls} {\n    width: auto;\n    margin: 0 auto;\n    position: relative;\n    outline: none;\n    top: 100px;\n\n    &.zoom-big-enter,\n    &.zoom-big-leave {\n        animation-duration: 0.3s;\n    }\n\n    &-hidden {\n        display: none !important;\n    }\n\n    &-wrap {\n        position: fixed;\n        overflow: auto;\n        top: 0;\n        right: 0;\n        bottom: 0;\n        left: 0;\n        z-index: @zindex-modal;\n        -webkit-overflow-scrolling: touch;\n        outline: 0;\n    }\n\n    &-wrap * {\n        box-sizing: border-box;\n        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    }\n\n    &-mask {\n        .mask();\n    }\n\n    &-content {\n        position: relative;\n        background-color: @white;\n        border: 0;\n        border-radius: @border-radius-base;\n        background-clip: padding-box;\n        box-shadow: @shadow-down;\n\n        &-no-mask {\n            pointer-events: auto;\n        }\n    }\n\n    &-header {\n        .content-header();\n    }\n\n    &-close {\n        z-index: 1;\n        .content-close(8px, 31px);\n    }\n\n    &-body {\n        padding: @padding-md;\n        font-size: @font-size-base;\n        line-height: @line-height-base;\n\n        p {\n            margin: 0;\n        }\n    }\n\n    &-footer {\n        border-top: @border-width-base @border-style-base @border-color-split;\n        padding: @padding-sm @padding-md+2 @padding-sm @padding-md+2;\n        text-align: right;\n\n        button + button {\n            margin-left: 8px;\n            margin-bottom: 0;\n        }\n    }\n\n    &-fullscreen {\n        width: 100% !important;\n        top: 0;\n        bottom: 0;\n        position: absolute;\n\n        @modal-header-height: 51px;\n        @modal-footer-height: 61px;\n\n        .@{modal-prefix-cls}-content {\n            width: 100%;\n            border-radius: 0;\n            position: absolute;\n            top: 0;\n            bottom: 0;\n        }\n\n        .@{modal-prefix-cls}-body {\n            width: 100%;\n            overflow: auto;\n            position: absolute;\n            top: @modal-header-height;\n            bottom: @modal-footer-height;\n        }\n\n        &-no-header .@{modal-prefix-cls}-body {\n            top: 0;\n        }\n\n        &-no-footer .@{modal-prefix-cls}-body {\n            bottom: 0;\n        }\n\n        .@{modal-prefix-cls}-footer {\n            position: absolute;\n            width: 100%;\n            bottom: 0;\n        }\n    }\n\n    &-no-mask {\n        pointer-events: none;\n    }\n}\n\n@media (max-width: @screen-sm) {\n    .@{modal-prefix-cls} {\n        width: auto !important;\n        margin: 10px;\n    }\n\n    .@{modal-prefix-cls}-fullscreen {\n        width: 100% !important;\n        margin: 0;\n    }\n\n    .vertical-center-modal {\n        .@{modal-prefix-cls} {\n            flex: 1;\n        }\n    }\n}\n\n.@{confirm-prefix-cls} {\n    padding: 6px @padding-md @padding-xs;\n\n    &-head {\n        padding: 0 @padding-sm 0 0;\n\n        &-icon {\n            display: inline-block;\n            font-size: 30px;\n            vertical-align: middle;\n            position: relative;\n            top: -8px;\n\n            &-info {\n                color: @primary-color;\n            }\n\n            &-success {\n                color: @success-color;\n            }\n\n            &-warning {\n                color: @warning-color;\n            }\n\n            &-error {\n                color: @error-color;\n            }\n\n            &-confirm {\n                color: @warning-color;\n            }\n        }\n\n        &-title {\n            display: inline-block;\n            vertical-align: middle;\n            margin-left: 10px;\n            font-size: @font-size-large;\n            color: @title-color;\n            font-weight: 500;\n        }\n    }\n\n    &-body {\n        padding-left: 44px;\n        font-size: @font-size-base;\n        color: @text-color;\n        position: relative;\n\n        p {\n            margin: 0;\n        }\n    }\n\n    &-footer {\n        margin-top: 20px;\n        text-align: right;\n\n        button + button {\n            margin-left: 8px;\n            margin-bottom: 0;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/notice.less",
    "content": "@import '../animation/move.less';\n@import '../custom.less';\n@import '../mixins/close.less';\n\n@notice-prefix-cls: ~'@{css-prefix}notice';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n@notice-width: 384px;\n@notice-padding: 16px;\n@notice-margin-bottom: 10px;\n@notice-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);\n\n.@{notice-prefix-cls} {\n    margin-right: 24px;\n    position: fixed;\n    z-index: @zindex-notification;\n\n    &-content-with-icon {\n        margin-left: 51px;\n    }\n\n    &-with-desc&-with-icon &-title {\n        margin-left: 51px;\n    }\n\n    &-notice {\n        width: @notice-width;\n        max-width: calc(100vw - 24px * 2);\n        margin-bottom: @notice-margin-bottom;\n        margin-left: auto;\n        padding: @notice-padding;\n        border-radius: @border-radius-base + 2;\n        box-shadow: @shadow-base;\n        background: @white;\n        line-height: 1.5;\n        position: relative;\n        overflow: hidden;\n\n        &-close {\n            position: absolute;\n            top: 16px;\n            right: 22px;\n            color: #999;\n            outline: none;\n\n            i {\n                .close-base(4px);\n            }\n        }\n\n        &-with-desc {\n            .@{notice-prefix-cls}-notice-close {\n                top: 11px;\n            }\n        }\n    }\n\n    &-title {\n        font-size: @font-size-large;\n        line-height: @font-size-large + 3;\n        color: @title-color;\n        padding-right: 10px;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n    }\n\n    &-with-desc &-title {\n        margin-bottom: 8px;\n    }\n\n    &-desc {\n        font-size: @font-size-base;\n        color: @text-color;\n        text-align: justify;\n        line-height: 1.5;\n    }\n\n    &-with-desc&-with-icon &-desc {\n        margin-left: 51px;\n    }\n\n    &-with-icon &-title {\n        margin-left: 26px;\n    }\n\n    &-icon {\n        position: absolute;\n        top: 10px;\n        font-size: @font-size-large + 4;\n\n        &-success {\n            color: @success-color;\n        }\n\n        &-info {\n            color: @primary-color;\n        }\n\n        &-warning {\n            color: @warning-color;\n        }\n\n        &-error {\n            color: @error-color;\n        }\n    }\n\n    &-with-desc &-icon {\n        font-size: 36px;\n        top: 1px;\n    }\n\n    &-custom-content {\n        position: relative;\n    }\n}\n\n.move(notice, rabNoticeMoveIn, enter, 0.35s, @notice-timing-function);\n.move(notice, rabNoticeMoveOut, leave, 0.5s, @notice-timing-function);\n"
  },
  {
    "path": "src/styles/components/page-header.less",
    "content": "@import '../custom.less';\n\n@page-header-tag-name: r-page-header;\n@page-header-prefix-cls: ~'@{css-prefix}page-header';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n@{page-header-tag-name} {\n    display: block;\n    font-size: @font-size-base;\n    line-height: @line-height-base;\n    position: relative;\n    padding: @padding-sm @padding-lg;\n    background-color: @white;\n}\n\n.@{page-header-prefix-cls} {\n    &-heading {\n        width: 100%;\n        display: flex;\n        align-items: baseline;\n        overflow: hidden;\n\n        &-title {\n            display: block;\n            float: left;\n            padding-right: @padding-sm;\n            color: @title-color;\n            font-size: 20px;\n            line-height: 40px;\n        }\n\n        &-sub-title {\n            color: @subsidiary-color;\n            font-size: @font-size-base;\n        }\n    }\n\n    &-back {\n        margin-right: 12px;\n        display: flex;\n        align-items: center;\n        transition: color 0.3s;\n        color: @title-color;\n        cursor: pointer;\n\n        &:hover {\n            color: @primary-color;\n        }\n\n        .@{icon-prefix-cls} {\n            font-size: 21px;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/poptip.less",
    "content": "@import '../custom.less';\n@import '../mixins/tooltip.less';\n@import '../animation/zoom.less';\n\n@poptip-tag-name: r-poptip;\n@poptip-prefix-cls: ~'@{css-prefix}poptip';\n@poptip-arrow: ~'@{poptip-prefix-cls}-arrow';\n@poptip-max-width: 250px;\n@poptip-arrow-width: 7px;\n@poptip-arrow-outer-width: (@poptip-arrow-width + 1);\n@poptip-distance: @poptip-arrow-width - 1 + 4;\n@poptip-arrow-color: hsla(0, 0%, 85%, 0.5);\n\n@{poptip-tag-name} {\n    display: inline-block;\n}\n\n.@{poptip-prefix-cls} {\n    &-rel {\n        display: inline-block;\n        position: relative;\n    }\n\n    &-title {\n        min-width: 177px;\n        min-height: 32px;\n        margin: 0;\n        padding: @padding-xs @padding-md;\n        position: relative;\n        border-bottom: @border-width-base @border-style-base @border-color-split;\n        color: @title-color;\n        font-size: @font-size-base;\n        font-weight: 500;\n\n        // &-inner {\n        //     color: @title-color;\n        //     font-size: @font-size-base;\n        //     font-weight: 500;\n        // }\n    }\n\n    &-body {\n        padding: @padding-sm @padding-md;\n\n        &-content {\n            color: @text-color;\n            overflow: auto;\n\n            &-word-wrap {\n                white-space: normal;\n                text-align: justify;\n            }\n\n            // &-inner {\n            //     color: @text-color;\n            // }\n        }\n    }\n\n    &-inner {\n        width: 100%;\n        background-color: @white;\n        background-clip: padding-box;\n        border-radius: @border-radius-base;\n        box-shadow: 0 3px 6px -4px rgb(0 0 0 / 12%), 0 6px 16px 0 rgb(0 0 0 / 8%),\n            0 9px 28px 8px rgb(0 0 0 / 5%);\n        white-space: nowrap;\n        text-align: left;\n    }\n\n    &-popper {\n        min-width: 170px;\n        font-size: @font-size-base;\n        will-change: top, left;\n        .popper(@poptip-arrow, @poptip-arrow-width, @poptip-distance, @poptip-arrow-color);\n        visibility: hidden;\n        opacity: 0;\n\n        &[x-placement^='top'] .@{poptip-arrow}:after {\n            content: ' ';\n            bottom: 1px;\n            margin-left: -@poptip-arrow-width;\n            border-bottom-width: 0;\n            border-top-width: @poptip-arrow-width;\n            border-top-color: @white;\n        }\n\n        &[x-placement^='right'] .@{poptip-arrow}:after {\n            content: ' ';\n            left: 1px;\n            bottom: -@poptip-arrow-width;\n            border-left-width: 0;\n            border-right-width: @poptip-arrow-width;\n            border-right-color: @white;\n        }\n\n        &[x-placement^='bottom'] .@{poptip-arrow}:after {\n            content: ' ';\n            top: 1px;\n            margin-left: -@poptip-arrow-width;\n            border-top-width: 0;\n            border-bottom-width: @poptip-arrow-width;\n            border-bottom-color: @white;\n        }\n\n        &[x-placement^='left'] .@{poptip-arrow}:after {\n            content: ' ';\n            right: 1px;\n            border-right-width: 0;\n            border-left-width: @poptip-arrow-width;\n            border-left-color: @white;\n            bottom: -@poptip-arrow-width;\n        }\n    }\n\n    &-arrow {\n        &,\n        &:after {\n            display: block;\n            width: 0;\n            height: 0;\n            position: absolute;\n            border-color: transparent;\n            border-style: @border-style-base;\n        }\n    }\n\n    &-arrow {\n        border-width: @poptip-arrow-outer-width;\n    }\n\n    &-arrow:after {\n        content: '';\n        border-width: @poptip-arrow-width;\n    }\n\n    &-confirm &-popper {\n        max-width: 300px;\n    }\n\n    &-confirm &-inner {\n        white-space: normal;\n    }\n\n    &-confirm &-body {\n        padding: @padding-md @padding-md @padding-xs;\n\n        .rab-icon {\n            font-size: @font-size-large + 2;\n            color: @warning-color;\n            line-height: 16px;\n            position: absolute;\n        }\n\n        &-message {\n            padding: 0 0 @padding-sm @padding-sm * 2;\n            color: @title-color;\n        }\n    }\n\n    &-confirm &-footer {\n        text-align: right;\n        margin-bottom: 6px;\n\n        button {\n            margin-left: 4px;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/progress.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@progress-tag-name: r-progress;\n@progress-prefix-cls: ~'@{css-prefix}progress';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n.@{progress-prefix-cls} {\n    &-outer {\n        display: inline-block;\n        width: 100%;\n        margin-right: 0;\n        padding-right: 0;\n\n        .@{progress-prefix-cls}-show-info & {\n            padding-right: 55px;\n            margin-right: -55px;\n        }\n    }\n\n    &-inner {\n        display: inline-block;\n        width: 100%;\n        background-color: #f3f3f3;\n        border-radius: 100px;\n        vertical-align: middle;\n        position: relative;\n\n        &-text {\n            display: inline-block;\n            vertical-align: middle;\n            font-size: @font-size-small;\n            margin: 0 6px;\n        }\n    }\n\n    &-bg {\n        text-align: right;\n        border-radius: 100px;\n        background-color: @primary-color;\n        transition: all 0.4s;\n        position: relative;\n\n        &:after {\n            content: '';\n            display: inline-block;\n            height: 100%;\n            vertical-align: middle;\n        }\n\n        .@{progress-prefix-cls}-inner-text {\n            color: @white;\n        }\n    }\n\n    &-success-bg {\n        border-radius: 100px;\n        background-color: @success-color;\n        transition: all 0.4s;\n        position: absolute;\n        top: 0;\n        left: 0;\n    }\n\n    &-text {\n        display: inline-block;\n        margin-left: 5px;\n        text-align: left;\n        font-size: 1em;\n        vertical-align: middle;\n        color: @subsidiary-color;\n    }\n}\n\n@{progress-tag-name} {\n    display: inline-block;\n    width: 100%;\n    line-height: @line-height-base;\n    font-size: @font-size-small;\n    position: relative;\n\n    &[status='active'] {\n        .@{progress-prefix-cls}-bg:before {\n            content: '';\n            opacity: 0;\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            background: @white;\n            border-radius: 10px;\n            -webkit-animation: rab-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n            animation: rab-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n        }\n    }\n\n    &[status='success'] {\n        .@{progress-prefix-cls} {\n            &-bg {\n                background-color: @success-color;\n            }\n\n            &-text {\n                color: @success-color;\n            }\n        }\n    }\n\n    &[status='warning'] {\n        .@{progress-prefix-cls} {\n            &-bg {\n                background-color: @warning-color;\n            }\n\n            &-text {\n                color: @warning-color;\n            }\n        }\n    }\n\n    &[status='wrong'] {\n        .@{progress-prefix-cls} {\n            &-bg {\n                background-color: @error-color;\n            }\n\n            &-text {\n                color: @error-color;\n            }\n        }\n    }\n}\n\n@-webkit-keyframes rab-progress-active {\n    0% {\n        opacity: 0.3;\n        width: 0;\n    }\n    100% {\n        opacity: 0;\n        width: 100%;\n    }\n}\n\n@keyframes rab-progress-active {\n    0% {\n        opacity: 0.3;\n        width: 0;\n    }\n    100% {\n        opacity: 0;\n        width: 100%;\n    }\n}\n\n@-webkit-keyframes rab-progress-active-vertical {\n    0% {\n        opacity: 0.3;\n        height: 0;\n    }\n    100% {\n        opacity: 0;\n        height: 100%;\n    }\n}\n\n@keyframes rab-progress-active-vertical {\n    0% {\n        opacity: 0.3;\n        height: 0;\n    }\n    100% {\n        opacity: 0;\n        height: 100%;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/radio.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@radio-tag-name: r-radio;\n@radio-group-tag: r-radio-group;\n@radio-prefix-cls: ~'@{css-prefix}radio';\n@radio-group-prefix-cls: ~'@{radio-prefix-cls}-group';\n@radio-inner-prefix-cls: ~'@{radio-prefix-cls}-inner';\n@radio-group-button-prefix-cls: ~'@{radio-group-prefix-cls}-btn';\n\n@{radio-tag-name} {\n    margin-right: 8px;\n    font-size: @font-size-base;\n    vertical-align: middle;\n    display: inline-block;\n    position: relative;\n    white-space: nowrap;\n    cursor: pointer;\n\n    &[size='large'] {\n        .@{radio-prefix-cls} {\n            & .@{radio-inner-prefix-cls} {\n                .square(14px);\n\n                &:after {\n                    .square(8px);\n                }\n            }\n        }\n    }\n\n    &[size='small'] {\n        font-size: @font-size-large;\n\n        .@{radio-prefix-cls} {\n            font-size: @font-size-large;\n\n            & .@{radio-inner-prefix-cls} {\n                .square(18px);\n\n                &:after {\n                    .square(12px);\n                }\n            }\n        }\n    }\n\n    &[disabled] {\n        cursor: not-allowed;\n\n      .@{radio-prefix-cls} {\n        cursor: not-allowed;\n\n        &:hover .@{radio-prefix-cls}-inner {\n          border-color: #dcdee2;\n        }\n\n        &-inner {\n          border-color: #dcdee2;\n          background-color: #f3f3f3;\n\n          &::after {\n            background-color: #cccccc;\n          }\n        }\n\n        &-input {\n          cursor: not-allowed;\n        }\n\n        & + span {\n          color: #ccc;\n        }\n      }\n    }\n\n    &[type='border'] {\n        border: @border-width-base @border-style-base @border-color-base;\n        border-radius: @btn-border-radius;\n        height: @btn-height-base;\n        line-height: @btn-height-base - 2px;\n        padding: @btn-padding-base;\n        transition: border @transition-time @ease-in-out;\n        \n      &.@{radio-prefix-cls}-wrapper-checked {\n          border-color: @primary-color;\n      }\n  }\n\n  &[type='border'][disabled] {\n    .@{radio-prefix-cls}{\n      border-color: @btn-disable-border;\n    }\n  }\n}\n\n@{radio-tag-name}[size='small'][type='border'] .@{radio-prefix-cls},\n@{radio-group-tag}[size='small'] @{radio-tag-name}[type='border'] .@{radio-prefix-cls} {\n    height: @btn-height-small;\n    line-height: @btn-height-small - 2px;\n    padding: @btn-padding-small;\n}\n\n@{radio-tag-name}[size='large'][type='border'] .@{radio-prefix-cls},\n@{radio-group-tag}[size='large'] @{radio-tag-name}[type='border'] .@{radio-prefix-cls} {\n    height: @btn-height-large;\n    line-height: @btn-height-large - 4px;\n    padding: @btn-padding-large;\n}\n\n@{radio-group-tag} {\n    display: inline-block;\n    font-size: @font-size-base;\n    vertical-align: middle;\n\n    &[direction=\"vertical\"] {\n        @{radio-tag-name} {\n            display: block;\n            height: 30px;\n            line-height: 30px;\n        }\n    }\n}\n\n.@{radio-prefix-cls}-focus {\n    .@{radio-prefix-cls}-inner {\n        box-shadow: 0 0 0 2px fade(@primary-color, 20%);\n        z-index: 1;\n    }\n\n}\n\n.@{radio-prefix-cls} {\n    display: inline-block;\n    margin-right: 4px;\n    white-space: nowrap;\n    position: relative;\n    vertical-align: middle;\n    cursor: pointer;\n\n    &:hover {\n        .@{radio-inner-prefix-cls} {\n            border-color: #bcbcbc;\n        }\n    }\n\n    &-inner {\n        display: inline-block;\n        .square(16px);\n        position: relative;\n        top: 0;\n        left: 0;\n        background-color: @white;\n        border: @border-width-base @border-style-base @border-color-base;\n        border-radius: 50%;\n        transition: all @transition-time @ease-in-out;\n\n        &:after {\n            position: absolute;\n            .square(8px);\n            left: 3px;\n            top: 3px;\n            border-radius: 50%;\n            display: table;\n            border-top: 0;\n            border-left: 0;\n            content: ' ';\n            background-color: @primary-color;\n            opacity: 0;\n            transition: all @transition-time @ease-in-out;\n            transform: scale(0);\n        }\n    }\n\n    &-input {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n        z-index: 1;\n        opacity: 0;\n        cursor: pointer;\n    }\n}\n\n// 选中状态 - Selected state\n.@{radio-prefix-cls}-checked {\n    .@{radio-inner-prefix-cls} {\n        border-color: @primary-color;\n\n        &:after {\n            opacity: 1;\n            transform: scale(1);\n            transition: all @transition-time @ease-in-out;\n        }\n    }\n\n    &:hover:not([disabled]) {\n        .@{radio-inner-prefix-cls} {\n            border-color: @primary-color;\n        }\n    }\n}\n\nspan.@{radio-prefix-cls} + * {\n    margin-left: 2px;\n    margin-right: 2px;\n    vertical-align: baseline;\n}\n\n// 按钮样式 - Button style\n@{radio-group-tag}[type='button'] {\n    font-size: 0;\n    -webkit-text-size-adjust: none;\n\n    .@{radio-prefix-cls} {\n        width: 0;\n        margin-right: 0;\n    }\n\n    @{radio-tag-name} {\n        display: inline-block;\n        height: @btn-circle-size;\n        line-height: @btn-circle-size - 2px;\n        margin: 0;\n        padding: 0 @padding-md - 1px;\n        font-size: @font-size-base;\n        color: @btn-default-color;\n        transition: all @transition-time @ease-in-out;\n        cursor: pointer;\n        border: @border-width-base @border-style-base @border-color-base;\n        border-left: 0;\n        background: @white;\n        position: relative;\n\n        > span {\n            margin-left: 0;\n        }\n\n        &:before,\n        &:after {\n            content: '';\n            display: block;\n            position: absolute;\n            .size(1px, 100%);\n            left: -1px;\n            top: 0;\n            background: @border-color-base;\n            transition: all @transition-time @ease-in-out;\n        }\n\n        &:after {\n            height: @btn-circle-size + 4px;\n            left: -1px;\n            top: -3px;\n            background: fade(@primary-color, 20%);\n            opacity: 0;\n        }\n\n        &:first-child {\n            border-radius: @btn-border-radius 0 0 @btn-border-radius;\n            border-left: @border-width-base @border-style-base @border-color-base;\n\n            &:before,\n            &:after {\n                display: none;\n            }\n        }\n\n        &:last-child {\n            border-radius: 0 @btn-border-radius @btn-border-radius 0;\n        }\n\n        &:first-child:last-child {\n            border-radius: @btn-border-radius;\n        }\n\n        &:hover {\n            position: relative;\n            color: @primary-color;\n\n            & .@{radio-prefix-cls} {\n                background-color: black;\n            }\n        }\n\n        .@{radio-prefix-cls}-inner,\n        input {\n            opacity: 0;\n            .square(0);\n        }\n\n        &.@{radio-prefix-cls}-checked {\n            background: @white;\n            border-color: @primary-color;\n            color: @primary-color;\n            box-shadow: -1px 0 0 0 @primary-color;\n            z-index: 1;\n\n            &:before {\n                background: @primary-color;\n                opacity: 0.1;\n            }\n\n            &.@{radio-prefix-cls}-focus {\n                .@{radio-prefix-cls}-inner {\n                    box-shadow: -1px 0 0 0 @primary-color, 0 0 0 2px fade(@primary-color, 20%);\n                    transition: all @transition-time @ease-in-out;\n    \n                    &:after {\n                        left: -3px;\n                        top: -3px;\n                        opacity: 1;\n                        background: fade(@primary-color, 20%);\n                    }\n    \n                    &:first-child {\n                        box-shadow: 0 0 0 2px fade(@primary-color, 20%);\n                    }\n                }\n            }\n\n            &:first-child {\n                border-color: @primary-color;\n                box-shadow: none;\n            }\n\n            &:hover {\n                border-color: tint(@primary-color, 20%);\n                color: tint(@primary-color, 20%);\n            }\n\n            &:active {\n                border-color: shade(@primary-color, 5%);\n                color: shade(@primary-color, 5%);\n            }\n        }\n    }\n}\n\n@{radio-group-tag} {\n  &[type='button'] {\n\n    @{radio-tag-name} {\n        &.@{radio-prefix-cls}-wrapper-checked {\n            background: @white;\n            border-color: @primary-color;\n            color: @primary-color;\n            box-shadow: -1px 0 0 0 @primary-color;\n            z-index: 1;\n\n            &:first-child {\n                border-color: @primary-color;\n                box-shadow: none;\n            }\n        }\n\n        &[disabled] {\n            border-color: @border-color-base;\n            background-color: @background-color-base;\n            cursor: @cursor-disabled;\n            color: #ccc;\n        \n            &:first-child,\n            &:hover {\n                border-color: @border-color-base;\n                background-color: @background-color-base;\n                color: #ccc;\n            }\n        \n            &:first-child {\n                border-left-color: @border-color-base;\n            }\n      \n            &.@{radio-prefix-cls}-wrapper-checked {\n                color: @white;\n                background-color: #e6e6e6;\n                border-color: @border-color-base;\n                box-shadow: none !important;\n            } \n        }\n      }\n  }\n\n  &[button-style='solid'] @{radio-tag-name}:not([disabled]).@{radio-prefix-cls}-wrapper-checked  {\n        background: @primary-color;\n        color: @white;\n\n          &:hover {\n              background: tint(@primary-color, 20%);\n              color: @white;\n          }\n      }\n\n  &[size='large'][type='button'] @{radio-tag-name} {\n      height: @btn-circle-size-large;\n      line-height: @btn-circle-size-large - 2px;\n      font-size: @font-size-large;\n\n      &:after {\n          height: @btn-circle-size-large + 4px;\n      }\n  }\n\n  &[size='small'][type='button'] @{radio-tag-name} {\n      height: @btn-circle-size-small;\n      line-height: @btn-circle-size-small - 2px;\n      padding: 0 @padding-sm;\n      font-size: @font-size-base;\n\n      &:after {\n          height: @btn-circle-size-small + 4px;\n      }\n\n      &:first-child {\n          border-radius: @btn-border-radius-small 0 0 @btn-border-radius-small;\n      }\n\n      &:last-child {\n          border-radius: 0 @btn-border-radius-small @btn-border-radius-small 0;\n      }\n  }\n}\n"
  },
  {
    "path": "src/styles/components/result.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@result-tag-name: r-result;\n@result-prefix-cls: ~'@{css-prefix}result';\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n@{result-tag-name} {\n    display: block;\n    padding: 48px 32px;\n}\n\n.@{result-prefix-cls} {\n    &-info {\n        .@{result-prefix-cls}-icon .@{icon-prefix-cls} {\n            color: @primary-color;\n        }\n    }\n\n    &-success {\n        .@{result-prefix-cls}-icon .@{icon-prefix-cls} {\n            color: @success-color;\n        }\n    }\n\n    &-warning {\n        .@{result-prefix-cls}-icon .@{icon-prefix-cls} {\n            color: @warning-color;\n        }\n    }\n\n    &-error {\n        .@{result-prefix-cls}-icon .@{icon-prefix-cls} {\n            color: @error-color;\n        }\n    }\n\n    &-image {\n        .size(350px,280px);\n        margin: auto;\n    }\n\n    &-icon {\n        margin-bottom: 24px;\n        text-align: center;\n\n        & > .@{icon-prefix-cls} {\n            font-size: 90px;\n        }\n    }\n\n    &-title {\n        color: @title-color;\n        font-size: 24px;\n        text-align: center;\n    }\n\n    &-subtitle {\n        color: @subsidiary-color;\n        font-size: @font-size-base;\n        margin-top: 12px;\n        text-align: center;\n    }\n\n    &-extra {\n        margin: 24px 0 0;\n        text-align: center;\n\n        & > * {\n            margin-right: 8px;\n        }\n\n        & > :last-child {\n            margin-right: 0;\n        }\n    }\n\n    &-content {\n        margin-top: 24px;\n        padding: @padding-lg 40px;\n        background-color: @background-color-base;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/skeleton.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@skeleton-tag-name: r-skeleton;\n@skeleton-prefix-cls: ~'@{css-prefix}skeleton';\n@skeleton-bgc: #f2f2f2;\n\n@{skeleton-tag-name} {\n    display: table;\n    width: 100%;\n}\n\n.@{skeleton-prefix-cls} {\n    &-header,\n    &-content {\n        display: table-cell;\n        vertical-align: top;\n    }\n\n    &-header {\n        padding-right: 16px;\n    }\n\n    &-header &-avatar {\n        display: inline-block;\n        vertical-align: top;\n        background: @skeleton-bgc;\n        .size(32px,32px);\n        line-height: 32px;\n    }\n\n    &-header &-avatar-large {\n        .size(40px,40px);\n        line-height: 40px;\n    }\n\n    &-header &-avatar-small {\n        .size(24px,24px);\n        line-height: 24px;\n    }\n\n    &-header &-avatar&-avatar-circle {\n        border-radius: 50%;\n    }\n\n    &-header &-avatar&-avatar-square {\n        border-radius: 0;\n    }\n\n    &-content {\n        width: 100%;\n\n        .@{skeleton-prefix-cls} {\n            &-title {\n                .size(100%,16px);\n                margin-top: 16px;\n                background: @skeleton-bgc;\n            }\n\n            &-paragraph {\n                padding: 0;\n\n                li {\n                    .size(100%,16px);\n                    list-style: none;\n                    background: @skeleton-bgc;\n\n                    &:last-child:not(:first-child):not(:nth-child(2)) {\n                        width: 61%;\n                    }\n                }\n\n                li + li {\n                    margin-top: 16px;\n                }\n            }\n        }\n\n        .@{skeleton-prefix-cls}-title + .@{skeleton-prefix-cls}-paragraph {\n            margin-top: 24px;\n        }\n    }\n\n    &-with-avatar {\n        .@{skeleton-prefix-cls}-content .@{skeleton-prefix-cls}-title {\n            margin-top: 12px;\n        }\n\n        .@{skeleton-prefix-cls}-content\n            .@{skeleton-prefix-cls}-title\n            + .@{skeleton-prefix-cls}-paragraph {\n            margin-top: 28px;\n        }\n    }\n\n    &-active {\n        .@{skeleton-prefix-cls}-header .@{skeleton-prefix-cls}-avatar,\n        .@{skeleton-prefix-cls}-content .@{skeleton-prefix-cls}-title,\n        .@{skeleton-prefix-cls}-content .@{skeleton-prefix-cls}-paragraph > li {\n            background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%);\n            background-size: 400% 100%;\n            -webkit-animation: rab-skeleton-loading 1.4s ease infinite;\n            animation: rab-skeleton-loading 1.4s ease infinite;\n        }\n    }\n}\n\n@-webkit-keyframes rab-skeleton-loading {\n    from {\n        background-position: 100% 50%;\n    }\n    to {\n        background-position: 0 50%;\n    }\n}\n\n@keyframes rab-skeleton-loading {\n    from {\n        background-position: 100% 50%;\n    }\n    to {\n        background-position: 0 50%;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/spin.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@spin-tag-name: r-spin;\n@spin-prefix-cls: ~'@{css-prefix}spin';\n@spin-dot-size-small: 12px;\n@spin-dot-size: 20px;\n@spin-dot-size-large: 32px;\n@table-prefix-cls: ~'@{css-prefix}table';\n\n@{spin-tag-name} {\n    color: @primary-color;\n    vertical-align: middle;\n    text-align: center;\n\n    &[size='small'] {\n        .@{spin-prefix-cls}-dot {\n            .square(@spin-dot-size-small);\n        }\n    }\n\n    &[size='large'] {\n        .@{spin-prefix-cls}-dot {\n            .square(@spin-dot-size-large);\n        }\n    }\n\n    &[fix] {\n        position: absolute;\n        top: 0;\n        left: 0;\n        z-index: @zindex-spin;\n        .square(100%);\n        background-color: rgba(255, 255, 255, 0.9);\n\n        .@{spin-prefix-cls} {\n            &-main {\n                position: absolute;\n                top: 50%;\n                left: 50%;\n                -ms-transform: translate(-50%, -50%);\n                transform: translate(-50%, -50%);\n            }\n\n            &-dot {\n                display: inline-block;\n            }\n        }\n    }\n}\n\n.@{spin-prefix-cls} {\n    &-dot {\n        position: relative;\n        display: block;\n        border-radius: 50%;\n        background-color: @primary-color;\n        .square(@spin-dot-size);\n        animation: ani-spin-bounce 1s 0s ease-in-out infinite;\n    }\n\n    &-fullscreen {\n        z-index: @zindex-spin-fullscreen;\n\n        &-wrapper {\n            position: fixed;\n            top: 0;\n            right: 0;\n            bottom: 0;\n            left: 0;\n        }\n    }\n\n    &-text,\n    &-show-text &-dot {\n        display: none !important;\n    }\n\n    &-show-text &-text {\n        display: block !important;\n    }\n\n    &-text {\n        .rab-icon-loading1 {\n            font-size: 24px;\n            height: 8px;\n        }\n    }\n}\n\n.@{table-prefix-cls}-wrapper {\n    @{spin-tag-name}[fix] {\n        border: none;\n    }\n}\n\n.@{table-prefix-cls}-wrapper-with-border {\n    @{spin-tag-name}[fix] {\n        border: 1px solid @border-color-base;\n        border-top: 0;\n        border-left: 0;\n    }\n}\n\n@keyframes ani-spin-bounce {\n    0% {\n        transform: scale(0);\n    }\n\n    100% {\n        transform: scale(1);\n        opacity: 0;\n    }\n}\n"
  },
  {
    "path": "src/styles/components/steps.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@steps-tag-name: r-steps;\n@step-tag-name: r-step;\n@steps-prefix-cls: ~'@{css-prefix}steps';\n@steps-wait-icon-color: #ccc;\n@steps-wait-title-color: #999;\n@steps-wait-description-color: @steps-wait-title-color;\n@steps-wait-tail-color: @border-color-split;\n@steps-title-color: #666;\n\n@{steps-tag-name} {\n    display: -webkit-box;\n    display: -ms-flexbox;\n    display: flex;\n    width: 100%;\n    font-size: 0;\n    line-height: @line-height-base;\n\n    .@{steps-prefix-cls}-head,\n    .@{steps-prefix-cls}-main {\n        position: relative;\n        display: inline-block;\n        vertical-align: top;\n    }\n\n    .@{steps-prefix-cls}-head {\n        background: @white;\n    }\n\n    .@{steps-prefix-cls}-head-inner {\n        display: block;\n        .square(26px);\n        line-height: 24px;\n        margin-right: 8px;\n        text-align: center;\n        border: @border-width-base @border-style-base @steps-wait-icon-color;\n        border-radius: 50%;\n        font-size: @font-size-base;\n        transition: background-color @transition-time @ease-in-out;\n\n        > .@{steps-prefix-cls}-icon {\n            position: relative;\n            top: 3.5px;\n\n            &.rab-icon {\n                font-size: 24px;\n\n                &-ios-checkmark-empty,\n                &-ios-close-empty {\n                    font-weight: bold;\n                }\n            }\n        }\n    }\n\n    .@{steps-prefix-cls}-main {\n        margin-top: 2.5px;\n        display: inline;\n    }\n\n    .@{steps-prefix-cls}-custom .@{steps-prefix-cls}-title {\n        margin-top: 2.5px;\n    }\n\n    .@{steps-prefix-cls}-title {\n        display: inline-block;\n        margin-bottom: 4px;\n        padding-right: 10px;\n        font-size: @font-size-base;\n        font-weight: bold;\n        color: #666;\n        background: @white;\n\n        > a:first-child:last-child {\n            color: #666;\n        }\n    }\n\n    .@{steps-prefix-cls}-item-last {\n        .@{steps-prefix-cls}-title {\n            padding-right: 0;\n            width: 100%;\n        }\n    }\n\n    .@{steps-prefix-cls}-content {\n        font-size: @font-size-small;\n        color: #999;\n    }\n\n    .@{steps-prefix-cls}-tail {\n        width: 100%;\n        padding: 0 10px;\n        position: absolute;\n        left: 0;\n        top: 13px;\n\n        > i {\n            display: inline-block;\n            .size(100%, 1px);\n            vertical-align: top;\n            background: @border-color-split;\n            border-radius: 1px;\n            position: relative;\n\n            &:after {\n                content: '';\n                .size(0, 100%);\n                background: @border-color-split;\n                opacity: 0;\n                position: absolute;\n                top: 0;\n            }\n        }\n    }\n\n    &[size='small'] {\n        .@{steps-prefix-cls}-head-inner {\n            .square(18px);\n            line-height: 16px;\n            margin-right: 10px;\n            text-align: center;\n            border-radius: 50%;\n            font-size: @font-size-small;\n\n            > .@{steps-prefix-cls}-icon.rab-icon {\n                font-size: @font-size-large;\n                top: 1px;\n            }\n        }\n\n        .@{steps-prefix-cls}-main {\n            margin-top: 0;\n        }\n\n        .@{steps-prefix-cls}-title {\n            margin-bottom: 4px;\n            margin-top: 0;\n            color: #666;\n            font-size: @font-size-small;\n            font-weight: bold;\n        }\n\n        .@{steps-prefix-cls}-content {\n            font-size: @font-size-small;\n            color: #999;\n            padding-left: 30px;\n        }\n\n        .@{steps-prefix-cls}-tail {\n            top: 8px;\n            padding: 0 8px;\n\n            > i {\n                .size(100%, 1px);\n                border-radius: 1px;\n            }\n        }\n    }\n\n    &[size='small'] @{step-tag-name} .@{steps-prefix-cls}-custom .@{steps-prefix-cls}-head-inner,\n    @{step-tag-name} .@{steps-prefix-cls}-custom .@{steps-prefix-cls}-head-inner {\n        .square(inherit);\n        line-height: inherit;\n        border-radius: 0;\n        border: 0;\n        background: none;\n    }\n}\n\n@{step-tag-name} {\n    display: inline-block;\n    position: relative;\n    vertical-align: top;\n    -webkit-box-flex: 1;\n    -ms-flex: 1;\n    flex: 1;\n    overflow: hidden;\n\n    &:last-child {\n        -webkit-box-flex: 0;\n        -ms-flex: 0;\n        flex: none;\n    }\n\n    &[status='wait'] {\n        .@{steps-prefix-cls}-head-inner {\n            background-color: @white;\n\n            > .@{steps-prefix-cls}-icon,\n            span {\n                color: @steps-wait-icon-color;\n            }\n        }\n\n        .@{steps-prefix-cls}-title {\n            color: @steps-wait-title-color;\n        }\n\n        .@{steps-prefix-cls}-content {\n            color: @steps-wait-description-color;\n        }\n\n        .@{steps-prefix-cls}-tail > i {\n            background-color: @steps-wait-tail-color;\n        }\n    }\n\n    &[status='process'] {\n        .@{steps-prefix-cls}-head-inner {\n            border-color: @primary-color;\n            background-color: @primary-color;\n\n            > .@{steps-prefix-cls}-icon,\n            span {\n                color: @white;\n            }\n        }\n\n        .@{steps-prefix-cls}-title {\n            color: @steps-title-color;\n        }\n\n        .@{steps-prefix-cls}-content {\n            color: @steps-title-color;\n        }\n\n        .@{steps-prefix-cls}-tail > i {\n            background-color: @border-color-split;\n        }\n    }\n\n    &[status='finish'] {\n        .@{steps-prefix-cls}-head-inner {\n            background-color: @white;\n            border-color: @primary-color;\n\n            > .@{steps-prefix-cls}-icon,\n            span {\n                color: @primary-color;\n            }\n        }\n\n        .@{steps-prefix-cls}-tail > i::after {\n            width: 100%;\n            background: @primary-color;\n            transition: all @transition-time @ease-in-out;\n            opacity: 1;\n        }\n\n        .@{steps-prefix-cls}-title {\n            color: @steps-wait-title-color;\n        }\n\n        .@{steps-prefix-cls}-content {\n            color: @steps-wait-description-color;\n        }\n    }\n\n    &[status='error'] {\n        .@{steps-prefix-cls}-head-inner {\n            color: @error-color;\n            background-color: @white;\n            border-color: @error-color;\n\n            > .@{steps-prefix-cls}-icon {\n                color: @error-color;\n            }\n        }\n\n        .@{steps-prefix-cls}-title {\n            color: @error-color;\n        }\n\n        .@{steps-prefix-cls}-content {\n            color: @error-color;\n        }\n\n        .@{steps-prefix-cls}-tail > i {\n            background-color: @border-color-split;\n        }\n    }\n\n    &.@{steps-prefix-cls}-next-error {\n        .@{steps-prefix-cls}-tail > i,\n        .@{steps-prefix-cls}-tail > i:after {\n            background-color: @error-color;\n        }\n    }\n\n    &.@{steps-prefix-cls}-custom {\n        .@{steps-prefix-cls}-head-inner {\n            background: none;\n            border: 0;\n            .square(auto);\n\n            > .@{steps-prefix-cls}-icon {\n                font-size: 22px;\n                top: 4px;\n                .square(22px);\n            }\n        }\n    }\n\n    &[status='process'].@{steps-prefix-cls}-custom {\n        .@{steps-prefix-cls}-head-inner > .@{steps-prefix-cls}-icon {\n            color: @primary-color;\n        }\n    }\n\n    &:last-child .@{steps-prefix-cls}-tail {\n        display: none;\n    }\n}\n\n@{steps-tag-name} {\n    &[direction='vertical'] {\n        display: block;\n\n        @{step-tag-name} {\n            display: block;\n            overflow: visible;\n        }\n\n        .@{steps-prefix-cls}-tail {\n            position: absolute;\n            left: 13px;\n            top: 0;\n            .size(1px, 100%);\n            padding: 30px 0 4px 0;\n\n            > i {\n                .size(1px, 100%);\n\n                &:after {\n                    .size(100%, 0);\n                }\n            }\n        }\n\n        &[status='finish'] {\n            .@{steps-prefix-cls}-tail > i:after {\n                height: 100%;\n            }\n        }\n\n        .@{steps-prefix-cls}-head {\n            float: left;\n\n            &-inner {\n                margin-right: 16px;\n            }\n        }\n\n        .@{steps-prefix-cls}-main {\n            min-height: 47px;\n            overflow: hidden;\n            display: block;\n\n            .@{steps-prefix-cls}-title {\n                line-height: 26px;\n            }\n\n            .@{steps-prefix-cls}-content {\n                padding-bottom: 12px;\n                padding-left: 0;\n            }\n        }\n\n        .@{steps-prefix-cls}-custom .@{steps-prefix-cls}-icon {\n            left: 4px;\n        }\n\n        &[size='small'] .@{steps-prefix-cls}-custom .@{steps-prefix-cls}-icon {\n            left: 0;\n        }\n\n        &[size='small'] {\n            .@{steps-prefix-cls}-tail {\n                position: absolute;\n                left: 9px;\n                top: 0;\n                padding: 22px 0 4px 0;\n\n                > i {\n                    height: 100%;\n                }\n            }\n\n            .@{steps-prefix-cls}-title {\n                line-height: 18px;\n            }\n        }\n    }\n\n    &[direction='horizontal'] {\n        &.@{steps-prefix-cls}-hidden {\n            visibility: hidden;\n        }\n\n        .@{steps-prefix-cls}-content {\n            padding-left: 35px;\n        }\n\n        @{step-tag-name}:not(:first-child) .@{steps-prefix-cls}-head {\n            padding-left: 10px;\n            margin-left: -10px;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/switch.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@switch-tag-name: r-switch;\n@switch-prefix-cls: ~'@{css-prefix}switch';\n\n@{switch-tag-name} {\n    display: inline-block;\n    .size(44px,22px);\n    line-height: 20px;\n    vertical-align: middle;\n    border: 1px solid transparent;\n    border-radius: 100px;\n    background-color: fade(#000, 25%);\n    position: relative;\n    cursor: pointer;\n    user-select: none;\n    transition: all @transition-time @ease-in-out;\n\n    &:before {\n        content: '';\n        display: none;\n        .square(14px);\n        border-radius: 50%;\n        background-color: transparent;\n        position: absolute;\n        left: 3px;\n        top: 3px;\n        z-index: 1;\n        border: 1px solid @primary-color;\n        border-color: transparent transparent transparent @primary-color;\n        animation: rab-switch-loading 1s linear;\n        animation-iteration-count: infinite;\n    }\n\n    &::after {\n        content: '';\n        .square(18px);\n        border-radius: 18px;\n        background-color: @white;\n        position: absolute;\n        left: 1px;\n        top: 1px;\n        cursor: pointer;\n        transition: left @transition-time @ease-in-out, width @transition-time @ease-in-out;\n        box-shadow: 0 2px 4px 0 rgb(0 35 11 / 20%);\n    }\n\n    &:active:after {\n        width: 26px;\n    }\n\n    &:focus {\n        box-shadow: 0 0 0 2px fade(@primary-color, 20%);\n        outline: 0;\n    }\n\n    &:focus:hover {\n        box-shadow: none;\n    }\n}\n\n.@{switch-prefix-cls} {\n    &-loading {\n        opacity: 0.4;\n\n        &:before {\n            display: block;\n        }\n    }\n\n    &-inner {\n        color: @white;\n        font-size: @font-size-small;\n        position: absolute;\n        left: 23px;\n\n        i {\n            .square(12px);\n            text-align: center;\n            position: relative;\n        }\n    }\n\n    &-small {\n        .size(28px,16px);\n        line-height: 14px;\n        &:after {\n            .square(12px);\n        }\n        &:active:after {\n            width: 14px;\n        }\n        &:before {\n            .square(10px);\n            left: 2px;\n            top: 2px;\n        }\n    }\n\n    &-small&-checked:after {\n        left: 13px;\n    }\n    &-small&-checked:before {\n        left: 14px;\n    }\n\n    &-small:active&-checked:after {\n        left: 11px;\n    }\n\n    &-large {\n        width: 56px;\n        &:active:after {\n            width: 26px;\n        }\n    }\n\n    &-large:active:after {\n        width: 30px;\n    }\n\n    &-large&-checked:after {\n        left: 35px;\n    }\n    &-large&-checked:before {\n        left: 37px;\n    }\n\n    &-large:active&-checked:after {\n        left: 23px;\n    }\n\n    &-checked {\n        border-color: @primary-color;\n        background-color: @primary-color;\n\n        .@{switch-prefix-cls}-inner {\n            left: 7px;\n        }\n\n        &:after {\n            left: 23px;\n        }\n        &:before {\n            left: 25px;\n        }\n\n        &:active:after {\n            left: 15px;\n        }\n    }\n\n    &-disabled {\n        cursor: @cursor-disabled;\n        opacity: 0.4;\n\n        &:after {\n            background: @white;\n            cursor: not-allowed;\n        }\n\n        .@{switch-prefix-cls}-inner {\n            color: @white;\n        }\n    }\n\n    &-disabled&-checked {\n        border-color: @primary-color;\n        background-color: @primary-color;\n        opacity: 0.4;\n\n        &:after {\n            background: @white;\n        }\n\n        .@{switch-prefix-cls}-inner {\n            color: @white;\n        }\n    }\n}\n\n@keyframes rab-switch-loading {\n    0% {\n        transform: rotate(0);\n    }\n    100% {\n        transform: rotate(360deg);\n    }\n}\n"
  },
  {
    "path": "src/styles/components/tabs.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n@import '../mixins/clearfix.less';\n\n@tabs-tag-name: r-tabs;\n@tab-pane: r-tab-pane;\n@tabs-prefix-cls: ~\"@{css-prefix}tabs\";\n\n@{tabs-tag-name} {\n  display: block;\n  position: relative;\n  overflow: hidden;\n  color: @text-color;\n  .clearfix();\n\n}\n\n.@{tabs-prefix-cls} {\n    &-bar {\n        outline: none;\n        border-bottom: @border-width-base @border-style-base @border-color-base;\n        margin-bottom: 16px;\n    }\n\n    &-nav-container {\n        margin-bottom: -1px;\n        line-height: @line-height-base;\n        font-size: @font-size-base;\n        white-space: nowrap;\n        position: relative;\n        .clearfix();\n        \n        // 设置溢出滚动条样式\n        ::-webkit-scrollbar {\n            height: 4px;\n            background-color: #fff;\n        }\n\n        ::-webkit-scrollbar-thumb {\n            border-radius: 20px;\n            background-color: @border-color-base;\n        }\n    }\n\n    &-nav-container:focus {\n        outline: none;\n        .@{tabs-prefix-cls}-tab-focused {\n            border-color: @link-hover-color !important;\n        }\n    }\n\n    &-nav-container-scrolling {\n        padding-left: 32px;\n        padding-right: 32px;\n    }\n\n    &-nav-wrap {\n        position: relative;\n        overflow-x: auto;\n        overflow-y: hidden;\n    }\n\n    &-nav-right{\n        float: right;\n        margin-left: 5px;\n    }\n\n    &-nav-prev, &-nav-next{\n        width: 32px;\n        text-align: center;\n        position: absolute;\n        line-height: 32px;\n        cursor: pointer;\n        i{\n            font-size: 16px;\n        }\n    }\n\n    &-nav {\n        padding-left: 0;\n        margin: 0;\n        float: left;\n        list-style: none;\n        position: relative;\n        transition: transform 0.5s @ease-in-out;\n\n        &:before,\n        &:after {\n            display: table;\n            content: \" \";\n        }\n\n        &:after {\n            clear: both;\n        }\n\n        .@{tabs-prefix-cls}-tab-disabled {\n            cursor: not-allowed !important;\n            color: #ccc !important;\n        }\n\n        .@{tabs-prefix-cls}-tab {\n            display: inline-block;\n            height: 100%;\n            padding: @padding-xs @padding-md;\n            margin-right: 16px;\n\n            cursor: pointer;\n            text-decoration: none;\n            position: relative;\n            transition: color .3s @ease-in-out;\n\n            &:hover {\n                color: @link-hover-color;\n            }\n\n            &:active {\n                color: @link-active-color;\n            }\n            .@{css-prefix-iconfont} {\n                .size(14px,14px);\n                margin-right: 8px;\n            }\n        }\n\n        .@{tabs-prefix-cls}-tab-active {\n            color: @primary-color;\n\n            &::after {\n                content: '';\n                .size(100%,2px);\n                background-color: @primary-color;\n                position: absolute;\n                left: 0;\n                bottom: 0;\n                z-index: 1;\n            }\n        }\n    }\n    &-mini &-nav-container {\n        font-size: @font-size-base;\n    }\n\n    &-mini &-tab {\n        margin-right: 0;\n        padding: @padding-xs @padding-md;\n        font-size: @font-size-small;\n    }\n\n    // card style\n    &-card > &-bar &-nav-container {\n        height: 32px;\n    }\n\n    &-card > &-bar &-tab {\n        margin: 0;\n        margin-right: 4px;\n        height: 31px;\n        padding: 5px @padding-md 4px;\n        border: @border-width-base @border-style-base @border-color-base;\n        border-bottom: 0;\n        border-radius: @btn-border-radius @btn-border-radius 0 0;\n        transition: all 0.3s @ease-in-out;\n        background: @background-color-base;\n    }\n    &-card > &-bar &-tab-active {\n        height: 32px;\n        padding-bottom: 5px;\n        background: @white;\n        transform: translateZ(0);\n        border-color: @border-color-base;\n        color: @primary-color;\n\n        &::after {\n            display: none;\n        }\n    }\n    &-card > &-bar &-nav-wrap {\n        margin-bottom: 0;\n    }\n    &-card > &-bar &-tab &-close {\n        .size(0,22px);\n        font-size: 22px;\n        margin-right: 0;\n        color: @legend-color;\n        text-align: right;\n        vertical-align: middle;\n        overflow: hidden;\n        position: relative;\n        top: 5px;\n        transform-origin: 100% 50%;\n        transition: all 0.3s @ease-in-out;\n        &:hover {\n            color: #444;\n        }\n    }\n\n    &-card > &-bar &-tab-active &-close,\n    &-card > &-bar &-tab:hover &-close {\n        width: 22px;\n        transform: translateZ(0);\n        margin-right: -6px;\n    }\n}\n\n.@{tabs-prefix-cls}-no-animation{\n    > .@{tabs-prefix-cls}-content {\n        transform: none!important;\n\n        > .@{tabs-prefix-cls}-tabpane-inactive {\n            display: none;\n        }\n    }\n}\n\n@{tabs-tag-name} {\n  .@{tabs-prefix-cls}-content-animated {\n      display: flex;\n      flex-direction: row;\n      will-change: transform;\n      transition: transform .3s @ease-in-out;\n  }\n\n  @{tab-pane}{\n      display: none;\n      flex-shrink: 0;\n      width: 100%;\n      transition: opacity .3s;\n      opacity: 1;\n      outline: none;\n  }\n\n  .@{tabs-prefix-cls}-tabpane-inactive {\n      opacity: 0;\n      height: 0;\n  }\n}"
  },
  {
    "path": "src/styles/components/tag.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n@import '../color/colors.less';\n\n@tag-tag-name: r-tag;\n@tag-prefix-cls: ~\"@{css-prefix}tag\";\n@tag-close-prefix-cls: rab-icon-ios-close;\n\n@{tag-tag-name} {\n  display: inline-block;\n  height: 22px;\n  line-height: 22px;\n  margin: 2px 4px 2px 0;\n  padding: 0 8px;\n  border: 1px solid @border-color-split;\n  border-radius: @btn-border-radius-small;\n  background: @background-color-base;\n  font-size: @tag-font-size;\n  vertical-align: middle;\n  opacity: 1;\n  overflow: hidden;\n\n  &:hover {\n    opacity: 0.85;\n  }\n\n  .@{tag-close-prefix-cls} {\n    .iconfont-size-under-12px(20px);\n    cursor: pointer;\n    margin-left: 2px;\n    color: #666;\n    opacity: 0.66;\n    position: relative;\n    top: -5px;\n  \n    &:hover {\n        opacity: 1;\n    }\n  }\n}\n\n.@{tag-prefix-cls} {\n    &-size-large{\n        height: 32px;\n        line-height: 32px;\n        padding: 0 12px;\n    }\n    &-size-medium{\n        height: 28px;\n        line-height: 28px;\n        padding: 0 10px;\n    }\n\n    // for color and unchecked\n    @{tag-tag-name}:not(&-border):not(&-dot):not(&-checked){\n        background: transparent;\n        border: 0;\n        color: @text-color;\n        .@{tag-close-prefix-cls} {\n            color: @text-color !important;\n        }\n    }\n\n    &-color{\n        &-error{\n            color: @error-color !important;\n            border-color: @error-color;\n        }\n        &-success{\n            color: @success-color !important;\n            border-color: @success-color;\n        }\n        &-primary{\n            color: @link-color !important;\n            border-color: @link-color;\n        }\n        &-warning{\n            color: @warning-color !important;\n            border-color: @warning-color;\n        }\n        &-white{\n            color: rgb(255, 255, 255) !important;\n        }\n    }\n\n    &-dot{\n        height: 32px;\n        line-height: 32px;\n        border: 1px solid @border-color-split !important;\n        color: @text-color !important;\n        background: @white !important;\n        padding: 0 12px;\n\n        &-inner{\n            display: inline-block;\n            width: 12px;\n            height: 12px;\n            margin-right: 8px;\n            border-radius: 50%;\n            background: @border-color-split;\n            position: relative;\n            top: 1px;\n        }\n        .@{tag-close-prefix-cls} {\n            color: #666 !important;\n            margin-left: 12px !important;\n        }\n    }\n\n    &-border{\n        height: 24px;\n        line-height: 24px;\n        border: 1px solid @border-color-split;\n        color: @border-color-split;\n        background: @white !important;\n        position: relative;\n\n        .@{tag-close-prefix-cls} {\n            color: #666;\n            margin-left: 12px !important;\n        }\n\n        &:after{\n            content: \"\";\n            display: none;\n            width: 1px;\n            background: currentColor;\n            position: absolute;\n            top: 0;\n            bottom: 0;\n            right: 22px;\n        }\n\n        &.@{tag-prefix-cls}-closable {\n            &:after{\n                display: block;\n            }\n            .@{tag-close-prefix-cls} {\n                margin-left: 18px !important;\n                left: 4px;\n                top: -5px;\n            }\n        }\n\n        &.@{tag-prefix-cls}-primary {\n            color: @link-color !important;\n            border: 1px solid @link-color !important;\n\n            &:after{\n                background: @link-color;\n            }\n            .@{tag-close-prefix-cls}{\n                color: @link-color !important;\n            }\n        }\n        &.@{tag-prefix-cls}-success {\n            color: @success-color !important;\n            border: 1px solid @success-color !important;\n\n            &:after{\n                background: @success-color;\n            }\n            .@{tag-close-prefix-cls}{\n                color: @success-color !important;\n            }\n        }\n        &.@{tag-prefix-cls}-warning {\n            color: @warning-color !important;\n            border: 1px solid @warning-color !important;\n\n            &:after{\n                background: @warning-color;\n            }\n            .@{tag-close-prefix-cls}{\n                color: @warning-color !important;\n            }\n        }\n        &.@{tag-prefix-cls}-error {\n            color: @error-color !important;\n            border: 1px solid @error-color !important;\n\n            &:after{\n                background: @error-color;\n            }\n            .@{tag-close-prefix-cls}{\n                color: @error-color !important;\n            }\n        }\n    }\n\n    &-text {\n        a:first-child:last-child {\n            display: inline-block;\n            margin: 0 -8px;\n            padding: 0 8px;\n        }\n        color: @text-color;\n    }\n\n    &-primary,\n    &-success,\n    &-warning,\n    &-error {\n        border: 0;\n        &,\n        a,\n        a:hover,\n        .@{tag-close-prefix-cls},\n        .@{tag-close-prefix-cls}:hover {\n            color: @white;\n        }\n    }\n\n    &-primary,\n    &-primary&-dot &-dot-inner\n    {\n        background: @link-color;\n    }\n\n    &-success,\n    &-success&-dot &-dot-inner\n    {\n        background: @success-color;\n    }\n\n    &-warning,\n    &-warning&-dot &-dot-inner\n    {\n        background: @warning-color;\n    }\n\n    &-error,\n    &-error&-dot &-dot-inner\n    {\n        background: @error-color;\n    }\n\n    @colors: pink, magenta, red, volcano, orange, yellow, gold, cyan, lime, green, blue, geekblue, purple;\n\n    .make-color-classes(@i: length(@colors)) when (@i > 0) {\n        .make-color-classes(@i - 1);\n        @color: extract(@colors, @i);\n        @lightColor: \"@{color}-1\";\n        @lightBorderColor: \"@{color}-3\";\n        @darkColor: \"@{color}-6\";\n        &-@{color} {\n            line-height: 20px;\n            background: @@lightColor;\n            border-color: @@lightBorderColor;\n            .@{tag-prefix-cls}-text{\n                color: @@darkColor !important;\n            }\n            &.@{tag-prefix-cls}-dot{\n                line-height: 32px;\n            }\n        }\n        .rab-tag-size-large&-@{color} {\n            line-height: 30px;\n        }\n        .rab-tag-size-medium&-@{color} {\n            line-height: 26px;\n        }\n    }\n\n    .make-color-classes();\n}"
  },
  {
    "path": "src/styles/components/time.less",
    "content": "@import '../custom.less';\n\n@time-tag-name: r-time;\n@time-prefix-cls: ~'@{css-prefix}time';\n\n@{time-tag-name} {\n    display: inline-block;\n}\n\n.@{time-prefix-cls} {\n    &-with-hash {\n        cursor: pointer;\n\n        &:hover {\n            text-decoration: underline;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/timeline.less",
    "content": "@import '../custom.less';\n@import '../mixins/size.less';\n\n@timeline-tag-name: r-timeline;\n@timeline-prefix-cls: ~'@{css-prefix}timeline';\n@timeline-color: @border-color-split;\n\n.@{timeline-prefix-cls} {\n    &-item {\n        &-tail {\n            height: 100%;\n            border-left: @border-width-base @border-style-base @timeline-color;\n            position: absolute;\n            left: 5px;\n            top: 0;\n        }\n\n        &-head {\n            .size(13px,13px);\n            background-color: @white;\n            border-radius: 50%;\n            border: 1px @border-style-base transparent;\n            position: absolute;\n\n            &-blue {\n                border-color: @primary-color;\n                color: @primary-color;\n            }\n            &-red {\n                border-color: @error-color;\n                color: @error-color;\n            }\n            &-green {\n                border-color: @success-color;\n                color: @success-color;\n            }\n            &-gray {\n                border-color: #ccc;\n                color: #ccc;\n            }\n        }\n\n        &-head-custom {\n            .size(40px,auto);\n            margin-top: 6px;\n            padding: 3px 0;\n            text-align: center;\n            line-height: @line-height-base;\n            border: 0;\n            border-radius: 0;\n            font-size: @font-size-base;\n            position: absolute;\n            left: -15px;\n            transform: translateY(-50%);\n\n            .rab-icon {\n                font-size: @font-size-large;\n            }\n        }\n\n        &-content {\n            padding: 1px 1px 10px 22px;\n            font-size: @font-size-base;\n            position: relative;\n            top: -10px;\n        }\n    }\n}\n\n@{timeline-tag-name} {\n    display: block;\n    margin: 0;\n    padding: 0;\n\n    &-item {\n        display: block;\n        margin: 0 !important;\n        padding: 0 0 @padding-sm 0;\n        position: relative;\n\n        &:last-child {\n            .@{timeline-prefix-cls}-item-tail {\n                display: none;\n            }\n        }\n    }\n\n    &[pending='true'] @{timeline-tag-name}-item:nth-last-of-type(2) {\n        .@{timeline-prefix-cls}-item-tail {\n            border-left: @border-width-base dotted @timeline-color;\n        }\n\n        .@{timeline-prefix-cls}-item-content {\n            min-height: 48px;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/components/tooltip.less",
    "content": "@import '../color/colors.less';\n@import '../custom.less';\n@import '../mixins/tooltip.less';\n@import '../animation/zoom.less';\n\n@tooltip-tag-name: r-tooltip;\n@tooltip-prefix-cls: ~'@{css-prefix}tooltip';\n@tooltip-arrow: ~'@{tooltip-prefix-cls}-arrow';\n@tooltip-max-width: 250px;\n@tooltip-arrow-width: 5px;\n@tooltip-distance: @tooltip-arrow-width - 1 + 4;\n\n@tooltip-arrow-width-light: 7px;\n@tooltip-distance-light: @tooltip-arrow-width-light - 1 + 4;\n@tooltip-arrow-outer-width-light: (@tooltip-arrow-width-light + 1);\n@tooltip-arrow-color: hsla(0, 0%, 85%, 0.5);\n\n@{tooltip-tag-name} {\n    display: inline-block;\n\n    .@{tooltip-prefix-cls} {\n        &-rel {\n            display: inline-block;\n            position: relative;\n            width: inherit;\n        }\n\n        &-popper {\n            .popper(@tooltip-arrow, @tooltip-arrow-width, @tooltip-distance, @tooltip-bg);\n        }\n\n        &-inner {\n            max-width: @tooltip-max-width;\n            min-height: 34px;\n            padding: 8px 12px;\n            color: @tooltip-color;\n            text-align: left;\n            text-decoration: none;\n            background-color: @tooltip-bg;\n            border-radius: @border-radius-base;\n            box-shadow: @shadow-base;\n            white-space: nowrap;\n        }\n\n        &-with-width {\n            white-space: pre-wrap;\n            text-align: justify;\n            word-wrap: break-word;\n            word-break: break-all;\n        }\n\n        &-arrow {\n            position: absolute;\n            width: 0;\n            height: 0;\n            border-color: transparent;\n            border-style: solid;\n        }\n    }\n}\n\n.@{tooltip-prefix-cls} {\n    &-light&-popper {\n        .popper(@tooltip-arrow, @tooltip-arrow-width-light, @tooltip-distance-light, @tooltip-arrow-color);\n\n        &[x-placement^='top'] .@{tooltip-arrow}:after {\n            content: ' ';\n            bottom: 1px;\n            margin-left: -@tooltip-arrow-width-light;\n            border-bottom-width: 0;\n            border-top-width: @tooltip-arrow-width-light;\n            border-top-color: @white;\n        }\n\n        &[x-placement^='right'] .@{tooltip-arrow}:after {\n            content: ' ';\n            left: 1px;\n            bottom: -@tooltip-arrow-width-light;\n            border-left-width: 0;\n            border-right-width: @tooltip-arrow-width-light;\n            border-right-color: @white;\n        }\n\n        &[x-placement^='bottom'] .@{tooltip-arrow}:after {\n            content: ' ';\n            top: 1px;\n            margin-left: -@tooltip-arrow-width-light;\n            border-top-width: 0;\n            border-bottom-width: @tooltip-arrow-width-light;\n            border-bottom-color: @white;\n        }\n\n        &[x-placement^='left'] .@{tooltip-arrow}:after {\n            content: ' ';\n            right: 1px;\n            border-right-width: 0;\n            border-left-width: @tooltip-arrow-width-light;\n            border-left-color: @white;\n            bottom: -@tooltip-arrow-width-light;\n        }\n    }\n\n    &-light &-inner {\n        background-color: @white;\n        color: @text-color;\n    }\n\n    &-light {\n        .@{tooltip-arrow} {\n            &:after {\n                display: block;\n                width: 0;\n                height: 0;\n                position: absolute;\n                border-color: transparent;\n                border-style: solid;\n                content: '';\n                border-width: @tooltip-arrow-width-light;\n            }\n\n            border-width: @tooltip-arrow-outer-width-light;\n        }\n    }\n}\n\n// v2.0，新增多种可选的预设颜色\n@preset-colors: pink, magenta, red, volcano, orange, yellow, gold, cyan, lime, green, blue, geekblue,\n    purple;\n\n.generator-tooltip-preset-color(@i: length(@preset-colors)) when (@i > 0) {\n    .generator-tooltip-preset-color(@i - 1);\n\n    @color: extract(@preset-colors, @i);\n    @lightColor: '@{color}-6';\n\n    .@{tooltip-prefix-cls} {\n        &-popper&-@{color} {\n            .popper(@tooltip-arrow, @tooltip-arrow-width, @tooltip-distance, @@lightColor);\n\n            .@{tooltip-prefix-cls}-inner {\n                background-color: @@lightColor;\n            }\n        }\n    }\n}\n.generator-tooltip-preset-color();\n"
  },
  {
    "path": "src/styles/copyright.less",
    "content": "/*!\n* RabbitUI\n* Web: https://www.rabbitui.cn\n* Github: https://github.com/niu-grandpa/rabbit-ui\n* Author: 钟瑞鸿 (Ryan John)\n*/\n"
  },
  {
    "path": "src/styles/custom.less",
    "content": "// Prefix\n@css-prefix: rab-;\n@css-prefix-iconfont: rab-icon;\n\n// Color\n@primary-color: #1890ff;\n@info-color: #2db7f5;\n@success-color: #52c41a;\n@processing-color: @primary-color;\n@warning-color: #faad14;\n@error-color: #ff4d4f;\n@normal-color: #e6ebf1;\n@disabled-color: #c5c8ce;\n@link-color: #1890ff;\n@link-hover-color: tint(@link-color, 20%);\n@link-active-color: shade(@link-color, 5%);\n@selected-color: fade(@primary-color, 90%);\n@tooltip-color: #fff;\n@subsidiary-color: #808695;\n@rate-star-color: #faad14;\n@white: #fff;\n@black: #141414;\n\n// Base\n@body-background: #fff;\n@component-background: #fff;\n@font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans,\n    sans-serif, Apple Color, Segoe UI, Segoe UI Symbol, Noto Color;\n@code-family: Consolas, Menlo, Courier, monospace;\n@title-color: #2c3e50;\n@text-color: #55585e;\n@text-color-secondary: fade(@black, 45%);\n@heading-color: fade(#000, 85%);\n@heading-color-dark: fade(@white, 100%);\n@font-size-base: 14px;\n@font-size-small: 12px;\n@font-size-large: @font-size-base + 2px;\n@line-height-base: 1.5;\n@line-height-computed: floor((@font-size-base * @line-height-base));\n@border-radius-base: 2px;\n@cursor-disabled: not-allowed;\n\n// vertical paddings\n@padding-lg: 24px; // containers\n@padding-md: 16px; // small containers and buttons\n@padding-sm: 12px; // Form controls and items\n@padding-xs: 8px; // small items\n\n// Border color\n@border-color-base: #dcdee2; // outside\n@border-color-split: #e8eaec; // inside\n@border-width-base: 1px; // width of the border for a component\n@border-style-base: solid; // style of a components border\n\n// Background color\n@background-color-base: #fafafa; // base\n@background-color-select-hover: @input-disabled-bg;\n@tooltip-bg: rgba(0, 0, 0, 0.75);\n@head-bg: #f9fafc;\n@table-thead-bg: #f8f8f9;\n@table-td-stripe-bg: #f8f8f9;\n@table-td-hover-bg: #ebf7ff;\n@table-td-highlight-bg: #ebf7ff;\n@menu-dark-title: #55585e;\n@menu-dark-active-bg: #363e4f;\n@menu-dark-subsidiary-color: rgba(255, 255, 255, 0.7);\n@menu-dark-group-title-color: rgba(255, 255, 255, 0.36);\n@date-picker-cell-hover-bg: #e1f0fe;\n\n// Shadow\n@shadow-color: rgba(0, 0, 0, 0.15);\n@shadow-base: @shadow-down;\n@shadow-card: 0 2px 8px 0 rgba(0, 0, 0, 0.1);\n@shadow-up: 0 -1px 6px @shadow-color;\n@shadow-down: 0 4px 12px @shadow-color;\n@shadow-left: -1px 0 6px @shadow-color;\n@shadow-right: 1px 0 6px @shadow-color;\n\n// Button\n@btn-height-base: 32px;\n@btn-height-large: 40px;\n@btn-height-small: 24px;\n\n@btn-padding-base: 0 @padding-md - 1px;\n@btn-padding-large: @btn-padding-base;\n@btn-padding-small: 0 @padding-xs - 1px;\n\n@btn-font-weight: normal;\n@btn-padding-base-icon: 5px 15px 6px;\n@btn-padding-large-icon: 6px 15px 6px 15px;\n@btn-padding-small-icon: 1px 7px 2px;\n@btn-font-size: @font-size-base;\n@btn-font-size-large: @font-size-large;\n@btn-font-size-small: @font-size-base;\n@btn-border-radius: 2px;\n@btn-border-radius-small: 1px;\n@btn-group-border: hsla(0, 0%, 100%, 0.5);\n\n@btn-disable-color: #c5c8ce;\n@btn-disable-bg: @background-color-base;\n@btn-disable-border: @border-color-base;\n\n@btn-default-color: @text-color;\n@btn-default-bg: #fff;\n@btn-default-border: @border-color-base;\n\n@btn-primary-color: #fff;\n@btn-primary-bg: @primary-color;\n\n@btn-ghost-color: @text-color;\n@btn-ghost-bg: #fff;\n@btn-ghost-border: @border-color-base;\n\n@btn-circle-size: @btn-height-base;\n@btn-circle-size-large: @btn-height-large;\n@btn-circle-size-small: @btn-height-small;\n\n@btn-square-size: @btn-height-base;\n@btn-square-size-large: @btn-height-large;\n@btn-square-size-small: @btn-height-small;\n\n// Layout and Grid\n@grid-columns: 24;\n@grid-gutter-width: 0;\n@layout-body-background: #f5f7f9;\n@layout-header-background: #55585e;\n@layout-header-height: 64px;\n@layout-header-padding: 0 50px;\n@layout-footer-padding: 24px 50px;\n@layout-footer-background: @layout-body-background;\n@layout-sider-background: @layout-header-background;\n@layout-trigger-height: 48px;\n@layout-trigger-color: #fff;\n@layout-zero-trigger-width: 36px;\n@layout-zero-trigger-height: 42px;\n\n// Legend\n@legend-color: #999;\n\n// Input\n@input-height-base: 32px;\n@input-height-large: 40px;\n@input-height-small: 24px;\n\n@input-padding-horizontal: 7px;\n@input-padding-vertical-base: 4px;\n@input-padding-vertical-small: 1px;\n@input-padding-vertical-large: 6px;\n\n@input-placeholder-color: @btn-disable-color;\n@input-color: @text-color;\n@input-border-color: @border-color-base;\n@input-bg: #fff;\n@input-group-bg: #f8f8f9;\n\n@input-hover-border-color: @primary-color;\n@input-focus-border-color: @primary-color;\n@input-disabled-bg: #f3f3f3;\n\n// Tag\n@tag-font-size: 12px;\n\n// Media queries breakpoints\n// Extra small screen / phone\n@screen-xs: 480px;\n@screen-xs-min: @screen-xs;\n@screen-xs-max: (@screen-xs-min - 1);\n\n// Small screen / tablet\n@screen-sm: 576px;\n@screen-sm-min: @screen-sm;\n@screen-sm-max: (@screen-sm-min - 1);\n\n// Medium screen / desktop\n@screen-md: 768px;\n@screen-md-min: @screen-md;\n@screen-md-max: (@screen-md-min - 1);\n\n// Large screen / wide desktop\n@screen-lg: 992px;\n@screen-lg-min: @screen-lg;\n@screen-lg-max: (@screen-lg-min - 1);\n\n// Extra large screen / full hd\n@screen-xl: 1200px;\n@screen-xl-min: @screen-xl;\n@screen-xl-max: (@screen-xl-min - 1);\n\n// Extra extra large screen / large descktop\n@screen-xxl: 1600px;\n@screen-xxl-min: @screen-xxl;\n@screen-xxl-max: (@screen-xxl-min - 1);\n\n// Z-index\n@zindex-spin: 8;\n@zindex-affix: 10;\n@zindex-back-top: 10;\n@zindex-select: 900;\n@zindex-modal: 1000;\n@zindex-drawer: 1000;\n@zindex-message: 1010;\n@zindex-notification: 1010;\n@zindex-tooltip: 1060;\n@zindex-transfer: 1060;\n@zindex-loading-bar: 2000;\n@zindex-spin-fullscreen: 2010;\n\n// Animation\n@animation-time: 0.3s;\n@animation-time-quick: 0.15s;\n@transition-time: 0.2s;\n@ease-in-out: ease-in-out;\n\n// Slider\n@slider-color: tint(@primary-color, 20%);\n@slider-height: 4px;\n@slider-margin: 16px 0;\n@slider-button-wrap-size: 18px;\n@slider-button-wrap-offset: -5px;\n@slider-disabled-color: #ccc;\n\n// Avatar\n@avatar-size-base: 32px;\n@avatar-size-lg: 40px;\n@avatar-size-sm: 24px;\n@avatar-font-size-base: 18px;\n@avatar-font-size-lg: 24px;\n@avatar-font-size-sm: 14px;\n@avatar-bg: #ccc;\n@avatar-color: #fff;\n@avatar-border-radius: @border-radius-base;\n\n// Anchor\n@anchor-border-width: 2px;\n\n// List\n@list-header-background: transparent;\n@list-footer-background: transparent;\n@list-empty-text-padding: @padding-md;\n@list-item-padding: @padding-sm 0;\n@list-item-meta-margin-bottom: @padding-md;\n@list-item-meta-avatar-margin-right: @padding-md;\n@list-item-meta-title-margin-bottom: @padding-sm;\n"
  },
  {
    "path": "src/styles/index.less",
    "content": "@import './copyright.less';\n@import './custom';\n@import './mixins/index';\n@import './common/index';\n@import './animation/index';\n@import './components/index';"
  },
  {
    "path": "src/styles/mixins/button.less",
    "content": ".button-size(@height; @padding; @font-size; @border-radius) {\n    height: @height;\n    padding: @padding;\n    font-size: @font-size;\n    border-radius: @border-radius;\n}\n\n.button-color(@color; @background; @border) {\n    color: @color;\n    background-color: @background;\n    border-color: @border;\n\n    >a:only-child {\n        color: currentColor;\n\n        &:after {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            bottom: 0;\n            right: 0;\n            background: transparent;\n        }\n    }\n}\n\n.button-variant(@color; @background; @border) {\n    .button-color(@color; @background; @border);\n\n    &:hover //&:focus\n\n        {\n        .button-color(tint(@color, 20%); tint(@background, 20%); tint(@border, 20%));\n    }\n\n    &:active,\n    &.active {\n        .button-color(shade(@color, 5%); shade(@background, 5%); shade(@background, 5%));\n    }\n\n    &.disabled,\n    &[disabled],\n    fieldset[disabled] & {\n\n        &,\n        &:hover,\n        &:focus,\n        &:active,\n        &.active {\n            .button-color(@btn-disable-color; @btn-disable-bg; @btn-disable-border);\n        }\n    }\n}\n\n.button-group-base(@btnClassName) {\n    position: relative;\n    display: inline-block;\n    vertical-align: middle;\n\n    >.@{btnClassName} {\n        position: relative;\n        float: left;\n\n        &:hover,\n        //&:focus,\n        &:active,\n        &.active {\n            z-index: 2;\n        }\n    }\n\n    &-circle .@{btnClassName} {\n        border-radius: @btn-circle-size;\n    }\n\n    // size\n    &-lg&-circle .@{btnClassName} {\n        border-radius: @btn-circle-size-large;\n    }\n\n    &-lg {\n        &>.@{btnClassName} {\n            .button-size(@btn-height-large; @btn-padding-large; @btn-font-size-large; @btn-border-radius);\n        }\n    }\n\n    &-sm&-circle .@{btnClassName} {\n        border-radius: @btn-circle-size-small;\n    }\n\n    &-sm {\n        &>.@{btnClassName} {\n            .button-size(@btn-height-small; @btn-padding-small; @btn-font-size; @btn-border-radius-small);\n\n            >.@{css-prefix-iconfont} {\n                font-size: @btn-font-size;\n            }\n        }\n    }\n\n    &-sm .@{btnClassName}-icon-only {\n        .square(@btn-height-small);\n        padding: 0;\n    }\n\n    &-lg .@{btnClassName}-icon-only {\n        .square(@btn-height-large);\n        padding: 0;\n    }\n}\n\n.button-group-vertical-base(@btnClassName) {\n    display: inline-block;\n    vertical-align: middle;\n\n    >.@{btnClassName} {\n        display: block;\n        width: 100%;\n        max-width: 100%;\n        float: none;\n        min-width: @btn-height-base;\n\n    }\n\n    &.@{btnClassName}-group-small>.@{btnClassName} {\n        min-width: @btn-height-small;\n    }\n\n    &.@{btnClassName}-group-large>.@{btnClassName} {\n        min-width: @btn-height-large;\n    }\n}\n\n// square button: the content only contains icon\n.btn-square(@btnClassName) {\n    .square(@btn-square-size);\n    .button-size(@btn-square-size; 0; @font-size-base + 2px; @btn-border-radius);\n\n    &.@{btnClassName}-large {\n        .square(@btn-square-size-large);\n        .button-size(@btn-square-size-large; 0; @btn-font-size-large + 2px; @btn-border-radius);\n    }\n\n    &.@{btnClassName}-small {\n        .square(@btn-square-size-small);\n        .button-size(@btn-square-size-small; 0; @font-size-base; @btn-border-radius);\n    }\n}\n\n.btn() {\n    display: inline-block;\n    margin-bottom: 0;\n    font-weight: @btn-font-weight;\n    text-align: center;\n    vertical-align: middle;\n    touch-action: manipulation;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    white-space: nowrap;\n    line-height: @line-height-base;\n    user-select: none;\n    .button-size(@btn-height-base; @btn-padding-base; @btn-font-size; @btn-border-radius);\n    transition: color @transition-time linear, background-color @transition-time linear, border @transition-time linear, box-shadow @transition-time linear;\n\n    >.@{css-prefix-iconfont} {\n        line-height: 1.5;\n        margin: 0 4px;\n        height: 26px;\n    }\n\n    &-icon-only&-circle>.@{css-prefix-iconfont} {\n        vertical-align: baseline;\n    }\n\n    >span,\n    >i {\n        display: inline-block;\n        vertical-align: initial;\n    }\n\n    &,\n    &:active,\n    &:focus {\n        outline: 0;\n    }\n\n    &:not([disabled]):hover {\n        text-decoration: none;\n    }\n\n    &:not([disabled]):active {\n        outline: 0;\n    }\n\n    &.disabled,\n    &[disabled] {\n        cursor: @cursor-disabled;\n\n        >* {\n            pointer-events: none;\n        }\n    }\n\n    &-lg {\n        .button-size(@btn-height-large; @btn-padding-large; @btn-font-size-large; @btn-border-radius);\n    }\n\n    &-sm {\n        .button-size(@btn-height-small; @btn-padding-small; @btn-font-size; @btn-border-radius-small);\n    }\n\n    &-icon-only {\n        .btn-square(@btn-prefix-cls);\n    }\n}\n\n// Default\n.btn-default() {\n    .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n\n    &:hover //&:focus\n\n        {\n        .button-color(tint(@primary-color, 20%); white; tint(@primary-color, 20%));\n    }\n\n    &:active,\n    &.active {\n        .button-color(shade(@primary-color, 5%); white; shade(@primary-color, 5%));\n    }\n\n    .active-btn-color(@primary-color);\n}\n\n// Primary\n.btn-primary() {\n    .button-variant(@btn-primary-color; @btn-primary-bg; @primary-color);\n\n    &:hover,\n    //&:focus,\n    &:active,\n    &.active {\n        color: @btn-primary-color;\n    }\n\n    .active-btn-color(@primary-color);\n}\n\n// Ghost\n.btn-ghost() {\n    .button-variant(@btn-ghost-color, @btn-ghost-bg, @btn-ghost-border);\n\n    &:hover //&:focus\n\n        {\n        .button-color(tint(@primary-color, 20%); @btn-ghost-bg; tint(@primary-color, 20%));\n    }\n\n    &:active,\n    &.active {\n        .button-color(shade(@primary-color, 5%); @btn-ghost-bg; shade(@primary-color, 5%));\n    }\n\n    .active-btn-color(@primary-color);\n}\n\n// Dashed\n.btn-dashed() {\n    .button-variant(@btn-ghost-color, @btn-ghost-bg, @btn-ghost-border);\n    border-style: dashed;\n\n    &:hover //&:focus\n\n        {\n        .button-color(tint(@primary-color, 20%); @btn-ghost-bg; tint(@primary-color, 20%));\n    }\n\n    &:active,\n    &.active {\n        .button-color(shade(@primary-color, 5%); @btn-ghost-bg; shade(@primary-color, 5%));\n    }\n\n    .active-btn-color(@primary-color);\n}\n\n// Text\n.btn-text() {\n    .button-variant(@btn-ghost-color, transparent, transparent);\n\n    // for disabled\n    &.disabled,\n    &[disabled],\n    fieldset[disabled] & {\n\n        &,\n        &:hover,\n        &:focus,\n        &:active,\n        &.active {\n            .button-color(@btn-disable-color; @btn-ghost-bg; transparent);\n        }\n    }\n\n    &:hover //&:focus\n\n        {\n        .button-color(tint(@primary-color, 20%); @btn-ghost-bg; transparent);\n    }\n\n    &:active,\n    &.active {\n        .button-color(shade(@primary-color, 5%); @btn-ghost-bg; transparent);\n    }\n\n    .active-btn-color(@primary-color);\n}\n\n// Color\n// for tabindex\n.active-btn-color(@color) {\n    &:focus {\n        box-shadow: 0 0 0 2px fade(@color, 20%);\n    }\n}\n\n.btn-color(@color) {\n    .button-variant(@btn-primary-color; @color; @color);\n\n    &:hover,\n    //&:focus,\n    &:active,\n    &.active {\n        color: @btn-primary-color;\n    }\n\n    .active-btn-color(@color);\n}\n\n// Circle for Icon\n.btn-circle(@btnClassName: ivu-btn) {\n    border-radius: @btn-circle-size;\n\n    &.@{btnClassName}-large {\n        border-radius: @btn-circle-size-large;\n    }\n\n    &.@{btnClassName}-size {\n        border-radius: @btn-circle-size-small;\n    }\n\n    &.@{btnClassName}-icon-only {\n        .square(@btn-circle-size);\n        .button-size(@btn-height-base; 0; @font-size-base + 2; 50%);\n\n        &.@{btnClassName}-large {\n            .square(@btn-circle-size-large);\n            .button-size(@btn-height-large; 0; @btn-font-size-large + 2; 50%);\n        }\n\n        &.@{btnClassName}-small {\n            .square(@btn-circle-size-small);\n            .button-size(@btn-height-small; 0; @font-size-base; 50%);\n        }\n    }\n}\n\n// Group\n.btn-group(@btnClassName: ivu-btn) {\n    .button-group-base(@btnClassName);\n\n    .@{btnClassName}+.@{btnClassName},\n    .@{btnClassName}+&,\n    &+.@{btnClassName},\n    &+& {\n        margin-left: -1px;\n    }\n\n    .@{btnClassName}:not(:first-child):not(:last-child) {\n        border-radius: 0;\n    }\n\n    &:not(&-vertical)>.@{btnClassName}:first-child {\n        margin-left: 0;\n\n        &:not(:last-child) {\n            border-bottom-right-radius: 0;\n            border-top-right-radius: 0;\n        }\n    }\n\n    &:not(&-vertical)>.@{btnClassName}:last-child:not(:first-child) {\n        border-bottom-left-radius: 0;\n        border-top-left-radius: 0;\n    }\n\n    &>& {\n        float: left;\n    }\n\n    &>&:not(:first-child):not(:last-child)>.@{btnClassName} {\n        border-radius: 0;\n    }\n\n    &:not(&-vertical)>&:first-child:not(:last-child) {\n        >.@{btnClassName}:last-child {\n            border-bottom-right-radius: 0;\n            border-top-right-radius: 0;\n            padding-right: 8px;\n        }\n    }\n\n    &:not(&-vertical)>&:last-child:not(:first-child)>.@{btnClassName}:first-child {\n        border-bottom-left-radius: 0;\n        border-top-left-radius: 0;\n        padding-left: 8px;\n    }\n}\n\n.btn-group-vertical(@btnClassName: ivu-btn) {\n    .button-group-vertical-base(@btnClassName);\n\n    .@{btnClassName}+.@{btnClassName},\n    .@{btnClassName}+&,\n    &+.@{btnClassName},\n    &+& {\n        margin-top: -1px;\n        margin-left: 0px;\n    }\n\n    >.@{btnClassName}:first-child {\n        margin-top: 0;\n\n        &:not(:last-child) {\n            border-bottom-left-radius: 0;\n            border-bottom-right-radius: 0;\n        }\n    }\n\n    >.@{btnClassName}:last-child:not(:first-child) {\n        border-top-left-radius: 0;\n        border-top-right-radius: 0;\n    }\n\n    &>&:first-child:not(:last-child) {\n        >.@{btnClassName}:last-child {\n            border-bottom-left-radius: 0;\n            border-bottom-right-radius: 0;\n            padding-bottom: 8px;\n        }\n    }\n\n    &>&:last-child:not(:first-child)>.@{btnClassName}:first-child {\n        border-bottom-right-radius: 0;\n        border-bottom-left-radius: 0;\n        padding-top: 8px;\n    }\n}"
  },
  {
    "path": "src/styles/mixins/caret.less",
    "content": "// sortable\n.sortable() {\n    display: inline-block;\n    width: 14px;\n    height: 12px;\n    margin-top: -1px;\n    vertical-align: middle;\n    overflow: hidden;\n    cursor: pointer;\n    position: relative;\n\n    i {\n        display: block;\n        height: 6px;\n        line-height: 6px;\n        overflow: hidden;\n        position: absolute;\n        color: @btn-disable-color;\n        transition: color @transition-time @ease-in-out;\n        font-size: @font-size-large;\n\n        &:hover{\n            color: inherit;\n        }\n\n        &.on{\n            color: @primary-color;\n        }\n\n        &:first-child{\n            top: 0;\n        }\n        &:last-child{\n            bottom: 0;\n        }\n    }\n}"
  },
  {
    "path": "src/styles/mixins/checkbox.less",
    "content": ".checkbox-size() {\n    &[size='large'] {\n        font-size: @font-size-large;\n\n        .@{checkbox-inner-prefix-cls} {\n            .square(18px);\n\n            &:after {\n                .size(5px, 9px);\n            }\n        }\n\n        &.@{checkbox-prefix-cls}-checked {\n            .@{checkbox-inner-prefix-cls} {\n                &:after {\n                    width: 6px;\n                    height: 10px;\n                }\n            }\n        }\n\n        .@{checkbox-prefix-cls}-indeterminate {\n            .@{checkbox-inner-prefix-cls}:after {\n                width: 12px;\n                top: 7px;\n            }\n        }\n    }\n\n    &[size='small'] {\n        font-size: @font-size-base;\n\n        .@{checkbox-inner-prefix-cls} {\n            .square(14px);\n\n            &:after {\n                top: 0;\n                left: 3px;\n            }\n        }\n\n        &.@{checkbox-prefix-cls}-checked {\n            .@{checkbox-inner-prefix-cls} {\n                &:after {\n                    top: 1px;\n                    left: 4px;\n                }\n            }\n        }\n\n        .@{checkbox-prefix-cls}-indeterminate {\n            .@{checkbox-inner-prefix-cls}:after {\n                width: 8px;\n                top: 5px;\n            }\n        }\n    }\n}\n\n.size-with-border(@size, @height, @px, @padding) {\n    @{checkbox-tag-name}[size=~'\"@{size}\"'][type='border'],\n    @{checkbox-group-tag}[size=~'\"@{size}\"'] @{checkbox-tag-name}[type='border'] {\n        height: @height;\n        line-height: @height - @px;\n        padding: @padding;\n    }\n}\n"
  },
  {
    "path": "src/styles/mixins/clearfix.less",
    "content": ".clearfix() {\n    zoom: 1;\n    &:before,\n    &:after {\n        content: \"\";\n        display: table;\n    }\n    &:after {\n        clear: both;\n        visibility: hidden;\n        font-size: 0;\n        height: 0;\n    }\n}\n"
  },
  {
    "path": "src/styles/mixins/close.less",
    "content": ".close-base(@top: 0, @icon-font-size: 22px) {\n  font-size: @icon-font-size;\n  color: @legend-color;\n  transition: color @transition-time ease;\n  position: relative;\n  top: @top;\n  &:hover {\n    color: #666;\n  }\n}\n"
  },
  {
    "path": "src/styles/mixins/common.less",
    "content": ".placeholder(@color: @input-placeholder-color) {\n    // Firefox\n    &::-moz-placeholder {\n        color: @color;\n        opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n    }\n    // Internet Explorer 10+\n    &:-ms-input-placeholder {\n        color: @color;\n    }\n    // Safari and Chrome\n    &::-webkit-input-placeholder {\n        color: @color;\n    }\n}\n\n// for select and input like component's arrow\n.inner-arrow() {\n    position: absolute;\n    top: 50%;\n    right: 8px;\n    line-height: @line-height-base;\n    transform: translateY(-50%);\n    font-size: @font-size-base;\n    color: @subsidiary-color;\n    transition: all @transition-time @ease-in-out;\n}\n\n.reset-component() {\n    font-family: @font-family;\n    font-size: @font-size-base;\n    line-height: @line-height-base;\n    color: @text-color;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}"
  },
  {
    "path": "src/styles/mixins/content.less",
    "content": "@import './close.less';\n\n@icon-prefix-cls: ~'@{css-prefix}icon';\n\n.content-header() {\n  border-bottom: 1px solid @border-color-split;\n  padding: 14px 16px;\n  line-height: @line-height-base;\n  font-size: @font-size-large;\n  color: @title-color;\n\n  p,\n  &-inner {\n    display: inline-block;\n    width: 100%;\n    height: 20px;\n    line-height: 20px;\n    font-size: @font-size-large;\n    color: @title-color;\n    font-weight: 500;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.content-close(@top: 0, @icon-font-size: 22px) {\n  font-size: @font-size-small;\n  position: absolute;\n  right: 8px;\n  top: 8px;\n  overflow: hidden;\n  cursor: pointer;\n\n  .@{icon-prefix-cls}-ios-close {\n    .close-base(@top, @icon-font-size);\n  }\n}"
  },
  {
    "path": "src/styles/mixins/index.less",
    "content": "@import 'common';\n@import 'clearfix';\n@import 'button';\n@import 'layout';\n@import 'size';\n@import 'loading';\n@import 'close';\n@import 'input';\n@import 'mask';\n@import 'content'; // card、modal\n@import 'tooltip';\n@import 'select';\n@import 'caret';\n"
  },
  {
    "path": "src/styles/mixins/input.less",
    "content": ".hover(@color: @input-hover-border-color) {\n    border-color: tint(@color, 20%);\n}\n.hover-error() {\n    border-color: @error-color;\n}\n\n.active(@color: @input-hover-border-color) {\n    border-color: tint(@color, 20%);\n    outline: 0;\n    box-shadow: 0 0 0 2px fade(@color, 20%);\n}\n.active-error() {\n    border-color: @error-color;\n    outline: 0;\n    box-shadow: 0 0 0 2px fade(@error-color, 20%);\n}\n\n.disabled() {\n    background-color: @input-disabled-bg;\n    opacity: 1;\n    cursor: @cursor-disabled;\n    color: #ccc;\n    &:hover {\n        .hover(@input-border-color);\n    }\n}\n\n.input-large() {\n    font-size: @font-size-large;\n    padding: @input-padding-vertical-large @input-padding-horizontal;\n    height: @input-height-large;\n}\n\n.input-small() {\n    padding: @input-padding-vertical-small @input-padding-horizontal;\n    height: @input-height-small;\n    border-radius: @btn-border-radius-small;\n}\n\n.input() {\n    display: inline-block;\n    width: 100%;\n    height: @input-height-base;\n    line-height: @line-height-base;\n    padding: @input-padding-vertical-base @input-padding-horizontal;\n    font-size: @font-size-base;\n    border: 1px solid @input-border-color;\n    border-radius: @btn-border-radius;\n    color: @input-color;\n    background-color: @input-bg;\n    background-image: none;\n    position: relative;\n    cursor: text;\n    .placeholder();\n    transition: border @transition-time @ease-in-out, background @transition-time @ease-in-out, box-shadow @transition-time @ease-in-out;\n\n    &:hover {\n        .hover();\n    }\n\n    &:focus {\n        .active();\n    }\n\n    &[disabled],\n    fieldset[disabled] & {\n        .disabled();\n    }\n\n    // Reset height for textarea\n    textarea& {\n        max-width: 100%;\n        height: auto;\n        min-height: @input-height-base;\n        vertical-align: bottom;\n        font-size: @font-size-base;\n    }\n\n    // Size\n    &-large {\n        .input-large();\n    }\n\n    &-small {\n        .input-small();\n    }\n}\n\n.input-error() {\n    border: 1px solid @error-color;\n    &:hover {\n        .hover-error();\n    }\n    &:focus {\n        .active-error();\n    }\n}\n\n.input-group(@inputClass) {\n    display: table;\n    width: 100%;\n    border-collapse: separate;\n    position: relative;\n    font-size: @font-size-base;\n\n    .ivu-form-inline &{\n        top: 1px; // fixed when using in form inline,\n    }\n\n    &-large{\n        font-size: @font-size-large;\n    }\n\n    // Undo padding and float of grid classes\n    &[class*=\"col-\"] {\n        float: none;\n        padding-left: 0;\n        padding-right: 0;\n    }\n\n    > [class*=\"col-\"] {\n        padding-right: 8px;\n    }\n\n    &-prepend,\n    &-append,\n    > .@{inputClass} {\n        display: table-cell;\n\n        //&:not(:first-child):not(:last-child) {\n        //    border-radius: 0;\n        //}\n    }\n    &-with-prepend .@{inputClass},\n    &-with-prepend&-small .@{inputClass}\n    {\n        border-top-left-radius: 0;\n        border-bottom-left-radius: 0;\n    }\n    &-with-append .@{inputClass},\n    &-with-append&-small .@{inputClass}\n    {\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n    }\n\n    &-prepend .@{css-prefix}btn,\n    &-append .@{css-prefix}btn\n    {\n        border-color: transparent;\n        background-color: transparent;\n        color: inherit;\n        margin: -(@input-padding-vertical-base + 2) (-@input-padding-horizontal);\n    }\n\n    &-prepend,\n    &-append\n    {\n        width: 1px; // To make addon/wrap as small as possible\n        white-space: nowrap;\n        vertical-align: middle;\n    }\n\n    .@{inputClass} {\n        width: 100%;\n        float: left;\n        margin-bottom: 0;\n        position: relative;\n        z-index: 2;\n    }\n\n    &-prepend,\n    &-append\n    {\n        padding: @input-padding-vertical-base @input-padding-horizontal;\n        font-size: inherit;\n        font-weight: normal;\n        line-height: 1;\n        color: @input-color;\n        text-align: center;\n        background-color: @input-group-bg;\n        border: 1px solid @input-border-color;\n        border-radius: @btn-border-radius;\n\n        // Reset Select's style in addon\n        .@{css-prefix}select {\n            margin: -(@input-padding-vertical-base + 1) (-@input-padding-horizontal);  // lesshint spaceAroundOperator: false\n\n            &-selection {\n                background-color: inherit;\n                margin: -1px;\n                border: 1px solid transparent;\n            }\n\n            &-visible .@{css-prefix}select-selection{\n                box-shadow: none;\n            }\n        }\n    }\n\n    // Reset rounded corners\n    > span > .@{inputClass}:first-child,\n    > .@{inputClass}:first-child,\n    &-prepend\n    {\n        border-bottom-right-radius: 0 !important;\n        border-top-right-radius: 0 !important;\n\n        // Reset Select's style in addon\n        .@{css-prefix}-select .@{css-prefix}-select-selection {\n            border-bottom-right-radius: 0;\n            border-top-right-radius: 0;\n        }\n    }\n\n    &-prepend {\n        border-right: 0;\n    }\n    &-append {\n        border-left: 0;\n    }\n\n    > .@{inputClass}:last-child,\n    &-append\n    {\n        border-bottom-left-radius: 0 !important;\n        border-top-left-radius: 0 !important;\n\n        // Reset Select's style in addon\n        .@{css-prefix}-select .@{css-prefix}-select-selection {\n            border-bottom-left-radius: 0;\n            border-top-left-radius: 0;\n        }\n    }\n\n    // Sizing options\n    &-large .@{inputClass},\n    &-large > &-prepend,\n    &-large > &-append\n    {\n        .input-large();\n    }\n\n    &-small .@{inputClass},\n    &-small > &-prepend,\n    &-small > &-append\n    {\n        .input-small();\n    }\n}\n\n.input-group-error{\n    &-prepend,\n    &-append\n    {\n        background-color: #fff;\n        border: 1px solid @error-color;\n        .@{css-prefix}select {\n            &-selection {\n                background-color: inherit;\n                border: 1px solid transparent;\n            }\n        }\n    }\n    &-prepend {\n        border-right: 0;\n    }\n    &-append {\n        border-left: 0;\n    }\n}\n"
  },
  {
    "path": "src/styles/mixins/layout.less",
    "content": "@row-prefix-cls: ~'@{css-prefix}row';\n@col-prefix-cls: ~'@{css-prefix}col';\n\n.make-row(@gutter: @grid-gutter-width) {\n  position: relative;\n  margin-left: (@gutter / -2);\n  margin-right: (@gutter / -2);\n  height: auto;\n  .clearfix();\n}\n\n.float-grid-columns(@class) {\n  .col(@index) {\n    // initial\n    @item: ~'.@{col-prefix-cls}-span@{class}-@{index}';\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) {\n    // general\n    @item: ~'.@{col-prefix-cls}-span@{class}-@{index}';\n    .col((@index + 1), ~'@{list}, @{item}');\n  }\n  .col(@index, @list) when (@index > @grid-columns) {\n    // terminal\n    @{list} {\n      float: left;\n      flex: 0 0 auto;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.loop-grid-columns(@index, @class) when (@index > 0) {\n  .@{col-prefix-cls}-span@{class}-@{index} {\n    display: block;\n    width: percentage((@index / @grid-columns));\n  }\n  .@{col-prefix-cls}@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n  .@{col-prefix-cls}@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n  .@{col-prefix-cls}@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n  .@{col-prefix-cls}@{class}-order-@{index} {\n    order: @index;\n  }\n  .loop-grid-columns((@index - 1), @class);\n}\n\n.loop-grid-columns(@index, @class) when (@index = 0) {\n  .@{col-prefix-cls}-span@{class}-@{index} {\n    display: none;\n  }\n  .@{col-prefix-cls}@{class}-push-@{index} {\n    left: auto;\n  }\n  .@{col-prefix-cls}@{class}-pull-@{index} {\n    right: auto;\n  }\n  .@{col-prefix-cls}@{class}-offset-@{index} {\n    margin-left: 0;\n  }\n  .@{col-prefix-cls}@{class}-order-@{index} {\n    order: 0;\n  }\n}\n\n.make-grid(@class: ~'') {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class);\n}\n"
  },
  {
    "path": "src/styles/mixins/loading.less",
    "content": "// Loading for loop\n.rab-load-loop {\n  -webkit-animation: ani-load-loop 1s linear infinite;\n  animation: ani-load-loop 1s linear infinite;\n}\n\n@-webkit-keyframes ani-load-loop {\n  to {\n    -webkit-transform: rotate(1turn);\n    transform: rotate(1turn);\n  }\n}\n\n@keyframes ani-load-loop {\n  to {\n    -webkit-transform: rotate(1turn);\n    transform: rotate(1turn);\n  }\n}"
  },
  {
    "path": "src/styles/mixins/mask.less",
    "content": ".mask() {\n    position: fixed;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    background-color: rgba(45, 45, 45, 0.55);\n    height: 100%;\n    z-index: @zindex-modal;\n\n    &-hidden {\n        display: none;\n    }\n}"
  },
  {
    "path": "src/styles/mixins/select.less",
    "content": ".select-item(@size-class, @item-tag , @item-class) {\n    @{item-tag} {\n        display: block;\n        margin: 0;\n        line-height: normal;\n        padding: 7px 16px;\n        clear: both;\n        color: @text-color;\n        font-size: @font-size-base !important;\n        white-space: nowrap;\n        cursor: pointer;\n        transition: all 0.3s @ease-in-out;\n\n        &:hover {\n            background: @background-color-select-hover;\n        }\n\n        &[disabled] {\n            color: @btn-disable-color;\n            cursor: @cursor-disabled;\n\n            &:hover {\n                color: @btn-disable-color;\n                background-color: #fff;\n                cursor: @cursor-disabled;\n            }\n        }\n\n        &[selected],\n        &[selected]:hover {\n            color: @primary-color;\n            background: fade(@selected-color, 10%);\n        }\n\n        &[selected].@{item-class}-focus {\n            background: shade(@selected-color, 10%);\n        }\n\n        &[divided] {\n            margin-top: 5px;\n            border-top: 1px solid @border-color-split;\n\n            &:before {\n                content: '';\n                height: 5px;\n                display: block;\n                margin: 0 -16px;\n                background-color: #fff;\n                position: relative;\n                top: -7px;\n            }\n        }\n    }\n\n    .@{item-class} {\n        &-focus {\n            background: @background-color-select-hover;\n        }\n\n        &-enter {\n            color: @primary-color;\n            font-weight: bold;\n            float: right;\n        }\n    }\n\n    .@{size-class}-large @{item-tag} {\n        padding: 7px 16px 8px;\n        font-size: @font-size-base !important;\n    }\n\n    @-moz-document url-prefix() {\n        @{item-tag} {\n            white-space: normal;\n        }\n    }\n}\n"
  },
  {
    "path": "src/styles/mixins/size.less",
    "content": ".size(@width; @height) {\n    width: @width;\n    height: @height;\n}\n\n.square(@size) {\n    .size(@size; @size);\n}\n\n// fix chrome 12px bug, support ie\n.iconfont-size-under-12px(@size, @rotate: 0deg) {\n    display: inline-block;\n    @font-scale: unit((@size / @font-size-base));\n    font-size: @font-size-base;\n    font-size: ~'@{size} \\9'; // ie8-9\n    transform: scale(@font-scale) rotate(@rotate);\n    :root & {\n        font-size: @font-size-base; // reset ie9 and above\n    }\n}\n"
  },
  {
    "path": "src/styles/mixins/tooltip.less",
    "content": ".popper(@arrow, @arrow-width, @arrow-distance, @bg){\n    display: block;\n    visibility: visible;\n    font-size: @font-size-base;\n    line-height: @line-height-base;\n    position: absolute;\n    z-index: @zindex-tooltip;\n\n    &[x-placement^=\"top\"] {\n        padding: @arrow-width 0 @arrow-distance 0;\n    }\n    &[x-placement^=\"right\"] {\n        padding: 0 @arrow-width 0 @arrow-distance;\n    }\n    &[x-placement^=\"bottom\"] {\n        padding: @arrow-distance 0 @arrow-width 0;\n    }\n    &[x-placement^=\"left\"] {\n        padding: 0 @arrow-distance 0 @arrow-width;\n    }\n\n    &[x-placement^=\"top\"] .@{arrow} {\n        bottom: @arrow-distance - @arrow-width;\n        border-width: @arrow-width @arrow-width 0;\n        border-top-color: @bg;\n    }\n    &[x-placement=\"top\"] .@{arrow} {\n        left: 50%;\n        margin-left: -@arrow-width;\n    }\n    &[x-placement=\"top-start\"] .@{arrow} {\n        left: 16px;\n    }\n    &[x-placement=\"top-end\"] .@{arrow} {\n        right: 16px;\n    }\n\n    &[x-placement^=\"right\"] .@{arrow} {\n        left: @arrow-distance - @arrow-width;\n        border-width: @arrow-width @arrow-width @arrow-width 0;\n        border-right-color: @bg;\n    }\n    &[x-placement=\"right\"] .@{arrow} {\n        top: 50%;\n        margin-top: -@arrow-width;\n    }\n    &[x-placement=\"right-start\"] .@{arrow} {\n        top: 8px;\n    }\n    &[x-placement=\"right-end\"] .@{arrow} {\n        bottom: 8px;\n    }\n\n    &[x-placement^=\"left\"] .@{arrow} {\n        right: @arrow-distance - @arrow-width;\n        border-width: @arrow-width 0 @arrow-width @arrow-width;\n        border-left-color: @bg;\n    }\n    &[x-placement=\"left\"] .@{arrow} {\n        top: 50%;\n        margin-top: -@arrow-width;\n    }\n    &[x-placement=\"left-start\"] .@{arrow} {\n        top: 8px;\n    }\n    &[x-placement=\"left-end\"] .@{arrow} {\n        bottom: 8px;\n    }\n\n    &[x-placement^=\"bottom\"] .@{arrow} {\n        top: @arrow-distance - @arrow-width;\n        border-width: 0 @arrow-width @arrow-width;\n        border-bottom-color: @bg;\n    }\n    &[x-placement=\"bottom\"] .@{arrow} {\n        left: 50%;\n        margin-left: -@arrow-width;\n    }\n    &[x-placement=\"bottom-start\"] .@{arrow} {\n        left: 16px;\n    }\n    &[x-placement=\"bottom-end\"] .@{arrow} {\n        right: 16px;\n    }\n}\n"
  },
  {
    "path": "src/utils/check-type.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport warn from '../mixins/warn';\n\nconst typeOf = (r: any): string => {\n    const s = Object.prototype.toString.call(r);\n    return s.match(/\\[object (.*?)\\]/)![1].toLowerCase();\n};\n\nconst errMsg = (right: string, wrong: string): boolean => {\n    warn(\n        `The expected type accepted is ${right}, but the error type currently in use is --> ${wrong}`\n    );\n    return false;\n};\n\nexport const isUndef = (r: any): boolean => typeof r === 'undefined';\n\nexport const isStr = (r: any): boolean =>\n    typeof r === 'string' ? true : errMsg('string', typeOf(r));\n\nexport const isNum = (r: any): boolean =>\n    typeof r === 'number' ? true : errMsg('number', typeOf(r));\n\nexport const isBol = (r: any): boolean =>\n    typeof r === 'boolean' ? true : errMsg('boolean', typeOf(r));\n\n/**\n *\n * @param r  函数名\n * @param param 回调附带的参数。有多个参数时使用数组传递\n */\nexport const isFn = (r: any, param?: [...any] | any): any =>\n    typeof r === 'function' ? r(param) : errMsg('function', typeOf(r));\n\nexport const isObj = (r: any): boolean =>\n    r.constructor === Object ? true : errMsg('object', typeOf(r));\n\nexport const isArr = (r: any): boolean =>\n    r.constructor === Array ? true : errMsg('array', typeOf(r));\n"
  },
  {
    "path": "src/utils/destroy.ts",
    "content": "import { warn, CssTransition } from '../mixins';\n\ninterface Options {\n    key?: string | number;\n    prefixKey?: string;\n    fadeOut?: boolean;\n    clsLeave?: string;\n    clsEnter?: string;\n    destroy?: boolean;\n    duration?: number;\n    transitionTime?: number;\n}\n\nexport function destroyElem(\n    elem: any,\n    {\n        fadeOut = false,\n        clsLeave,\n        clsEnter,\n        duration = 3,\n        transitionTime = 250,\n        destroy = true\n    }: Options\n): void {\n    let timer = null;\n\n    // 方式一：是否只用淡出效果\n    if (fadeOut) {\n        isDismiss();\n        CssTransition(elem, {\n            inOrOut: 'out',\n            enterCls: 'rab-fade-in',\n            leaveCls: 'rab-fade-out',\n            timeout: 250\n        });\n        return;\n    }\n\n    // 方式二：手动配置过渡效果和过渡时间\n    timer = setTimeout(() => {\n        isDismiss();\n        CssTransition(elem, {\n            inOrOut: 'out',\n            enterCls: clsEnter,\n            leaveCls: clsLeave,\n            timeout: transitionTime\n        });\n    }, duration * 1000);\n\n    // 自动关闭的延时为 0 则不关闭\n    duration <= 0 ? clearTimeout(timer) : timer;\n\n    // 判断需要销毁或者是仅隐藏元素\n    function isDismiss() {\n        setTimeout(() => {\n            if (destroy) {\n                elem.remove();\n                elem = null; // 释放内存\n            }\n        }, transitionTime);\n    }\n}\n\nexport function destroyElemByKey(options: Options): void {\n    const { prefixKey, key } = options;\n    const target = document.querySelector(`[${prefixKey}-key=\"${key}\"]`);\n    // 传入的key是否选取得到对应的元素\n    if (target) {\n        destroyElem(target, options);\n    }\n}\n"
  },
  {
    "path": "src/utils/index.ts",
    "content": "import * as type from './check-type';\nimport { destroyElem, destroyElemByKey } from './destroy';\nimport randomStr from './random-str';\nimport useHTMLString from './use-html-string';\nimport validComps from './validComps';\n\nexport { type, destroyElem, destroyElemByKey, randomStr, useHTMLString, validComps };\n"
  },
  {
    "path": "src/utils/random-str.ts",
    "content": "// 生成随机字符串\nexport default function (len = 32): string {\n    const $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';\n    const maxPos = $chars.length;\n    let str = '',\n        i = 0;\n    for (; i < len; i++) {\n        str += $chars.charAt(Math.floor(Math.random() * maxPos));\n    }\n    return str;\n}\n"
  },
  {
    "path": "src/utils/use-html-string.ts",
    "content": "import { setHtml, setText } from '../dom-utils';\n\n/**\n * 设置属性是否支持传入 HTML 片段\n * @param elem\n * @param content\n * @param use\n */\nexport default function isUseHTMLString(elem: Element, content: string, use?: boolean): void {\n    use ? setHtml(elem, content) : setText(elem, content);\n}\n"
  },
  {
    "path": "src/utils/validComps.ts",
    "content": "/**\n * 检查是否为有效并且正确的组件\n */\nexport default function validComps(target: Element, compName: string): void {\n    const r = '[Rabbit] Error: ';\n\n    if (!target) {\n        throw new Error(\n            `The target element you selected for configuration does not exist -- > '${target}'. This error occurred in the ${compName} component`\n        );\n    }\n\n    const targetName = target.tagName.toLowerCase().replace(/r-/, '');\n\n    if (targetName !== compName) {\n        throw (new Error().message = `${r}The configured component was selected incorrectly, it is not a ${compName} component --> \"${targetName}\"`);\n    }\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n    \"exclude\": [\"node_modules\", \"examples\", \"site\"],\n    \"include\": [\"src/**/*.ts\"],\n    \"compileOnSave\": true,\n    \"compilerOptions\": {\n        \"target\": \"es5\",\n        \"module\": \"es2015\",\n        \"strict\": true,\n        \"jsx\": \"preserve\",\n        \"declaration\": false,\n        \"incremental\": true,\n        \"importHelpers\": true,\n        \"moduleResolution\": \"node\",\n        \"experimentalDecorators\": true,\n        \"esModuleInterop\": true,\n        \"allowSyntheticDefaultImports\": true,\n        \"sourceMap\": false,\n        \"baseUrl\": \".\",\n        \"lib\": [\"es5\", \"es2015.promise\", \"dom\", \"dom.iterable\", \"scripthost\"],\n        \"downlevelIteration\": true\n    }\n}\n"
  },
  {
    "path": "tsconfig.tsbuildinfo",
    "content": "{\n  \"program\": {\n    \"fileInfos\": {\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es5.d.ts\": {\n        \"version\": \"c9a1f03d6ba0fe3c871eb0dd81622e78fbb61ade70878b34d48a341a690c59e9\",\n        \"signature\": \"c9a1f03d6ba0fe3c871eb0dd81622e78fbb61ade70878b34d48a341a690c59e9\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.d.ts\": {\n        \"version\": \"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6\",\n        \"signature\": \"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6\",\n        \"affectsGlobalScope\": false\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.d.ts\": {\n        \"version\": \"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467\",\n        \"signature\": \"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467\",\n        \"affectsGlobalScope\": false\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.d.ts\": {\n        \"version\": \"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9\",\n        \"signature\": \"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9\",\n        \"affectsGlobalScope\": false\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.d.ts\": {\n        \"version\": \"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06\",\n        \"signature\": \"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06\",\n        \"affectsGlobalScope\": false\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.dom.d.ts\": {\n        \"version\": \"38130cdd16bd2318b9362f9d60dd9670f7e38708bb6131cf11fc78a41b2c34a0\",\n        \"signature\": \"38130cdd16bd2318b9362f9d60dd9670f7e38708bb6131cf11fc78a41b2c34a0\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.dom.iterable.d.ts\": {\n        \"version\": \"fb0c09b697dc42afa84d1587e3c994a2f554d2a45635e4f0618768d16a86b69a\",\n        \"signature\": \"fb0c09b697dc42afa84d1587e3c994a2f554d2a45635e4f0618768d16a86b69a\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.scripthost.d.ts\": {\n        \"version\": \"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd\",\n        \"signature\": \"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.core.d.ts\": {\n        \"version\": \"46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17\",\n        \"signature\": \"46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.collection.d.ts\": {\n        \"version\": \"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c\",\n        \"signature\": \"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.generator.d.ts\": {\n        \"version\": \"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a\",\n        \"signature\": \"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.iterable.d.ts\": {\n        \"version\": \"42f5e41e5893da663dbf0394268f54f1da4b43dc0ddd2ea4bf471fe5361d6faf\",\n        \"signature\": \"42f5e41e5893da663dbf0394268f54f1da4b43dc0ddd2ea4bf471fe5361d6faf\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.promise.d.ts\": {\n        \"version\": \"0b7a905675e6cb4211c128f0a3aa47d414b275180a299a9aad5d3ec298abbfc4\",\n        \"signature\": \"0b7a905675e6cb4211c128f0a3aa47d414b275180a299a9aad5d3ec298abbfc4\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.proxy.d.ts\": {\n        \"version\": \"dfff68b3c34338f6b307a25d4566de15eed7973b0dc5d69f9fde2bcac1c25315\",\n        \"signature\": \"dfff68b3c34338f6b307a25d4566de15eed7973b0dc5d69f9fde2bcac1c25315\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.reflect.d.ts\": {\n        \"version\": \"cb609802a8698aa28b9c56331d4b53f590ca3c1c3a255350304ae3d06017779d\",\n        \"signature\": \"cb609802a8698aa28b9c56331d4b53f590ca3c1c3a255350304ae3d06017779d\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.d.ts\": {\n        \"version\": \"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93\",\n        \"signature\": \"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts\": {\n        \"version\": \"4670208dd7da9d6c774ab1b75c1527a810388c7989c4905de6aaea8561cb9dce\",\n        \"signature\": \"4670208dd7da9d6c774ab1b75c1527a810388c7989c4905de6aaea8561cb9dce\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.array.include.d.ts\": {\n        \"version\": \"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006\",\n        \"signature\": \"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.object.d.ts\": {\n        \"version\": \"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a\",\n        \"signature\": \"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts\": {\n        \"version\": \"b5e4c2d67aa844ed503b29cd4ca2ede1a229ac7fe874613b2c996fa9c581a25f\",\n        \"signature\": \"b5e4c2d67aa844ed503b29cd4ca2ede1a229ac7fe874613b2c996fa9c581a25f\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.string.d.ts\": {\n        \"version\": \"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577\",\n        \"signature\": \"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.intl.d.ts\": {\n        \"version\": \"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d\",\n        \"signature\": \"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts\": {\n        \"version\": \"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e\",\n        \"signature\": \"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts\": {\n        \"version\": \"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a\",\n        \"signature\": \"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts\": {\n        \"version\": \"a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359\",\n        \"signature\": \"a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.intl.d.ts\": {\n        \"version\": \"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e\",\n        \"signature\": \"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.promise.d.ts\": {\n        \"version\": \"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c\",\n        \"signature\": \"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.regexp.d.ts\": {\n        \"version\": \"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8\",\n        \"signature\": \"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.bigint.d.ts\": {\n        \"version\": \"7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09\",\n        \"signature\": \"7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09\",\n        \"affectsGlobalScope\": true\n      },\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.esnext.intl.d.ts\": {\n        \"version\": \"89bf2b7a601b73ea4311eda9c41f86a58994fec1bee3b87c4a14d68d9adcdcbd\",\n        \"signature\": \"89bf2b7a601b73ea4311eda9c41f86a58994fec1bee3b87c4a14d68d9adcdcbd\",\n        \"affectsGlobalScope\": true\n      },\n      \"./src/images.d.ts\": {\n        \"version\": \"f5765a98fc28e4468fde2802c47227da6105c293ecc066cceb341a141dc2574f\",\n        \"signature\": \"f5765a98fc28e4468fde2802c47227da6105c293ecc066cceb341a141dc2574f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/tslib/tslib.d.ts\": {\n        \"version\": \"4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea\",\n        \"signature\": \"4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/warn.ts\": {\n        \"version\": \"72f0a468016ddc192affab2189115d3de4664478a9660742389364657c877785\",\n        \"signature\": \"6531eeae6b0ae2da21884fac8e88024b04515654b44be0acf9f5485c8ed606bc\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/bind.ts\": {\n        \"version\": \"6efe2d097d02fc5267443b554eb203b8fee01b67939610e47f64883126d94832\",\n        \"signature\": \"9935e05ce8519b8a0b02fa1d61d6dcc66fd7c6227b5f40e95ca58a42b612f6b4\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/elem.ts\": {\n        \"version\": \"2a98f28fbf93373d3cbce3c6a9077cb29d6ba73dd07d652169c24fcb2f3c7a09\",\n        \"signature\": \"c4ab02ddeb42665003d4d9c3c3f8654647a0ff26541514688efc5624adbe1fba\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/prev&next.ts\": {\n        \"version\": \"037868f14683e62b4040a469810ddc2760b9ed9cd64ac97d81224908c1baca8c\",\n        \"signature\": \"fc945bfbb7b49d426a9beaaa31667c39ce6d167fec18d73b6958d9b208b3f396\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/remove-attrs.ts\": {\n        \"version\": \"9ffb7e9d19d5b7d7ba917aae7467058ecd3f89375c6b408a9a58cb564f919f54\",\n        \"signature\": \"bc6a30c96179b318b0b34503ef1c1b3bd507ca2ae2836c1cdc23bc682299210b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/siblings.ts\": {\n        \"version\": \"a10b5227c5ab33ae1c91bef596850edd8c5c467a39e629a204cc2fe565b7a256\",\n        \"signature\": \"8b2e85d48d8782a51be91d1f41dd253b10a9d782545d0c6ef8da9cb260384ace\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/slide.ts\": {\n        \"version\": \"ca948b52e4b22a734ac77cdc57105c65187d82529eb7324a387ada97be31470c\",\n        \"signature\": \"cc40818009baadba6b675c9108cec8f30f338077131d4fe5c02f59669cdbe446\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/dom-utils/index.ts\": {\n        \"version\": \"3d8ab1471414b108bde6b2bdb1d5d43f9218ca996e4863145fb6c75e3190b429\",\n        \"signature\": \"03cf93df6d6c56da0ec719cdfc58a82746321575e85c9625a4be8be5301feb2b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/arrow.ts\": {\n        \"version\": \"fd539b76ad39c69f6c360872a7e948941e583e30f2f6ff2b7df7407a8a98307e\",\n        \"signature\": \"36bba9b640ab96df7f0c18015001d9fd72dd7a3b90c2c4a065fa7f9b65e5b541\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/css-transition.ts\": {\n        \"version\": \"4cc9f08627ce745a062cf3f57c78fc3a5ad1998a025638bef32a0448e9cc6fd8\",\n        \"signature\": \"d7a0335202f3733d9bb9271df42f4851382f746203f7d896d145c14db0867e92\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/scrollable.ts\": {\n        \"version\": \"a453379df0d8d568e746f024ec486ea7f3b069a98facd59b083b4fccf5ed7945\",\n        \"signature\": \"35ec31b35443f1d8c3a74a801fdf5bfde3d323a738790c34c10587137c88897d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/cb-promise.ts\": {\n        \"version\": \"5c7bfca92ad5e1a200e55a3840adb99eb8880f887292c58b5877873be61f8f8f\",\n        \"signature\": \"7d8c71d579fdf679f8ded994c8483f6b77af393d5de9b29e2801ac2e988b0791\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/click-outside.ts\": {\n        \"version\": \"504076896142cd028b2327132e446572514ebf7d89be548e8512c3481aad001e\",\n        \"signature\": \"2a0ae119bbea569f2515dc726ddc8b08ea165b8a8c494ff1becf927bad91af05\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/enums.d.ts\": {\n        \"version\": \"3192b54876effeb978785858ec960ba7c57f81171070b5a0054a011ca09795f2\",\n        \"signature\": \"3192b54876effeb978785858ec960ba7c57f81171070b5a0054a011ca09795f2\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\": {\n        \"version\": \"1e77c0e8b7ce3c4568bc06f28be0e17844df09879679d5911d6d656276546f44\",\n        \"signature\": \"1e77c0e8b7ce3c4568bc06f28be0e17844df09879679d5911d6d656276546f44\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\": {\n        \"version\": \"93404d6cc4b10b517a4612c6af4ebd2e884e9231f6b5a106a8cae228611ab35f\",\n        \"signature\": \"93404d6cc4b10b517a4612c6af4ebd2e884e9231f6b5a106a8cae228611ab35f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\": {\n        \"version\": \"698e5e5810b1a4b874e8001947f3aa821c5afe9b8646835173d0edb30684042f\",\n        \"signature\": \"698e5e5810b1a4b874e8001947f3aa821c5afe9b8646835173d0edb30684042f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\": {\n        \"version\": \"975f2c755adfb08c939b418daab31f743625d1ebe3755bd6cd6c95337d0dd975\",\n        \"signature\": \"975f2c755adfb08c939b418daab31f743625d1ebe3755bd6cd6c95337d0dd975\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\": {\n        \"version\": \"3536aa6999475104d3efe7ce04848b504420290759139332317eada6fed92a49\",\n        \"signature\": \"3536aa6999475104d3efe7ce04848b504420290759139332317eada6fed92a49\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\": {\n        \"version\": \"5950b96952b0315e379daa3acc9352745f1abc2eff2fe4019ed9878fe314bc07\",\n        \"signature\": \"5950b96952b0315e379daa3acc9352745f1abc2eff2fe4019ed9878fe314bc07\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\": {\n        \"version\": \"f8e425cb20db2f8ad8b881e569a720ac69cc1ed62cea84de49a91c0579ce1aab\",\n        \"signature\": \"f8e425cb20db2f8ad8b881e569a720ac69cc1ed62cea84de49a91c0579ce1aab\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\": {\n        \"version\": \"aeca184ccde8423a7cfec9de34f36486cceef5c456ad65586875b53733633181\",\n        \"signature\": \"aeca184ccde8423a7cfec9de34f36486cceef5c456ad65586875b53733633181\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\": {\n        \"version\": \"7475302435289b5b18c6bed0bea1216a6aaad51ef81ceb28a2349abd7b08d2c8\",\n        \"signature\": \"7475302435289b5b18c6bed0bea1216a6aaad51ef81ceb28a2349abd7b08d2c8\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/types.d.ts\": {\n        \"version\": \"4350ebb995d09685304585edd3de5f5ec75b3a82ea2106b558f93871d6464c12\",\n        \"signature\": \"4350ebb995d09685304585edd3de5f5ec75b3a82ea2106b558f93871d6464c12\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\": {\n        \"version\": \"5ea98f44cc9de1fe05d037afe4813f3dcd3a8c5de43bdd7db24624a364fad8e6\",\n        \"signature\": \"5ea98f44cc9de1fe05d037afe4813f3dcd3a8c5de43bdd7db24624a364fad8e6\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts\": {\n        \"version\": \"1327fc0ade4b997e580f63d8557a724caadce61beb9653fbbc74871ab1d1923d\",\n        \"signature\": \"1327fc0ade4b997e580f63d8557a724caadce61beb9653fbbc74871ab1d1923d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/createpopper.d.ts\": {\n        \"version\": \"3dc70cdbe0813d00687a84e2da850fbae6e4717590a6723efcef59aa18f7eaaf\",\n        \"signature\": \"3dc70cdbe0813d00687a84e2da850fbae6e4717590a6723efcef59aa18f7eaaf\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\": {\n        \"version\": \"49837b293d0f7c8df1a65186369efa1a1a3c5a37ceedac2b55cca9e307906c72\",\n        \"signature\": \"49837b293d0f7c8df1a65186369efa1a1a3c5a37ceedac2b55cca9e307906c72\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/popper.d.ts\": {\n        \"version\": \"dae7cc4e7134a9a42f6ca914367f39fd46a099f740d9ffc75e4031cd6ea675b9\",\n        \"signature\": \"dae7cc4e7134a9a42f6ca914367f39fd46a099f740d9ffc75e4031cd6ea675b9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/lib/index.d.ts\": {\n        \"version\": \"d479a5128f27f63b58d57a61e062bd68fa43b684271449a73a4d3e3666a599a7\",\n        \"signature\": \"d479a5128f27f63b58d57a61e062bd68fa43b684271449a73a4d3e3666a599a7\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@popperjs/core/index.d.ts\": {\n        \"version\": \"6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0\",\n        \"signature\": \"6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/utils/check-type.ts\": {\n        \"version\": \"2578444e781b3c9c8fd2e3b8d17e0bc08b20ca1386ddee6ef0126165db45fc1d\",\n        \"signature\": \"e1127a11e5a71ec37e05985ee500153973847000c930566288358abec224d0c3\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/utils/destroy.ts\": {\n        \"version\": \"49c9470591e5e730c3693d4c431b863f1324df26dea54b4aa3f645c3cc849d49\",\n        \"signature\": \"c0d05fa38e9dced5642fe2cd791b385e1ea5ab6a13effd0313d263f6352fdde3\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/utils/use-html-string.ts\": {\n        \"version\": \"298d318d75fb77f76c29b48fd9626cbb379f2c59405373021c4309c9a6543011\",\n        \"signature\": \"7a2bcf5ec5d1295c91843475fdc853ba03e5546ffefa2a00927021f6f25a0187\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/utils/validcomps.ts\": {\n        \"version\": \"9f735530b4cab90a4fbc4ecac0b243bba09bef7ad28b032c73373b3d9100c277\",\n        \"signature\": \"093841d2057c2bdf6f5c6a4578c8ce74891ed72131e3d79cb8511c2dff671367\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/utils/index.ts\": {\n        \"version\": \"536ac4645da220a02792bfd38dbdbb2ec94d20e6f7000be260202bf746e9106e\",\n        \"signature\": \"4777fe393394b57ed4faddd2d26d5380fbb8e933ea90959a3cbe60296900b011\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/tooltip.ts\": {\n        \"version\": \"17a9b8260593750830e9db2b42c9e30f31b63f4e53b122c2bf8074797b6d4aa2\",\n        \"signature\": \"fd1887dfe8d90293b76f71f8472583ca39ecc8b82eb304e02c2c874e254e8733\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/mixins/index.ts\": {\n        \"version\": \"9732b8e25bf13f0a0608dce9616244d33c5e8fe3d791c80046f4de7728b3a730\",\n        \"signature\": \"dbf2e84474d8dee93270b582b424d51c3b5048268ef552a857f241344097bddd\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/prefix.ts\": {\n        \"version\": \"d4dff0cd7a48beb36637b819ca19ac0a5976ae1b1936fb55159ea9084f667add\",\n        \"signature\": \"40a5302864eaa7c263e4eeaf0db70729f3977d2150aa56cf914be784f9140f8f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/alert/alert.ts\": {\n        \"version\": \"681e9c89cd75212e49d01c98f7489f204f2dd1aab356735515b80d0508b482b3\",\n        \"signature\": \"54bb0b2ea216f9df2b6c8945c66dbd11f0133c441399106352d7a6993e0318a5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/alert/index.ts\": {\n        \"version\": \"91501075e148d298fb81e45dac4a54d2715d4459df62e8918cd0300ff842774c\",\n        \"signature\": \"91501075e148d298fb81e45dac4a54d2715d4459df62e8918cd0300ff842774c\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/avatar/avatar.ts\": {\n        \"version\": \"6261fb49988af6c986632665ccfbf01e20c2b8fdf3881fe10cc336dd1d09b83d\",\n        \"signature\": \"0872993d8aad8e8e44d0277237bcaa4b98f6fec89cb62c33fa4624bbbc7b3654\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/avatar/index.ts\": {\n        \"version\": \"5e781fab2f432e6dca017e71756f60733042e4deb15a0584011778362d4ee554\",\n        \"signature\": \"5e781fab2f432e6dca017e71756f60733042e4deb15a0584011778362d4ee554\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/back-top/back-top.ts\": {\n        \"version\": \"d1bdd0295a510210a13cd180087357e78892220b7f3864016d7719d33977dd00\",\n        \"signature\": \"777539f8e991422f32598f9cbddf5ce685005778fde399d05fb462eeb1408ec4\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/back-top/index.ts\": {\n        \"version\": \"a829cf21d958fd41bec56d56b45626bbfd687e4b6102019091b6a520be56d6da\",\n        \"signature\": \"a829cf21d958fd41bec56d56b45626bbfd687e4b6102019091b6a520be56d6da\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/badge/badge.ts\": {\n        \"version\": \"ea996258a9c225e3b2c0da03d04440b080887e4c096498b9815262eed054f63f\",\n        \"signature\": \"6f929f4b243d9f728dc4cc616812301edc75bc17a86d5b3f6d1631f4a7724368\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/badge/index.ts\": {\n        \"version\": \"708b8c3a7df21465f36cbe358a1692ac398727a7f0f0ebaaa338a3ce7327578f\",\n        \"signature\": \"708b8c3a7df21465f36cbe358a1692ac398727a7f0f0ebaaa338a3ce7327578f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/button/button.ts\": {\n        \"version\": \"9b334ee7398f16642d7e05cce3f6a1bb96a175dafa9aca7ea159a68eee8e31c9\",\n        \"signature\": \"89ebe21f1b6f6abcf68e4b1e06bb5574fca1a7f29c56a7756d5b4eb849f738cf\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/button/index.ts\": {\n        \"version\": \"e76ca8e1afd7ae919129aefa1c7430493c72fd637f65b7c474242a6e2b757847\",\n        \"signature\": \"e76ca8e1afd7ae919129aefa1c7430493c72fd637f65b7c474242a6e2b757847\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/card/card.ts\": {\n        \"version\": \"e68a978d246345a07cd2ab5c17b86e44d0d767f1724722fbda685fab30cf4d21\",\n        \"signature\": \"4e4d4c380b490f358dc014023728e35c432bafd415d977881934647dbfb584e3\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/card/index.ts\": {\n        \"version\": \"e8403ddc20ffc170cd459f29eda08b7a9fb2bbe219914546bb6c3b1b57088deb\",\n        \"signature\": \"e8403ddc20ffc170cd459f29eda08b7a9fb2bbe219914546bb6c3b1b57088deb\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/collapse/collapse.ts\": {\n        \"version\": \"3c42363c9ea690893692f436a9fca988b836536d1f26e2aaa97d4de5a8e6697d\",\n        \"signature\": \"aadf593014afdb79a5cc96124db428c7811c4520eb16f9ead577786084390465\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/collapse/index.ts\": {\n        \"version\": \"197ee52e84c5ef4bede9d776892c3bb95d89312f57d604d3f19b15eb56bb6896\",\n        \"signature\": \"197ee52e84c5ef4bede9d776892c3bb95d89312f57d604d3f19b15eb56bb6896\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/divider/divider.ts\": {\n        \"version\": \"085577c81d084519b5ef6ee2e577fd0827c59e0342f878ada25429a7bc9e7503\",\n        \"signature\": \"4350cb871975f9b3202c8b7a680ebf456e722c211396b7be63a482e00fe564fc\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/divider/index.ts\": {\n        \"version\": \"8da33abe5170c138c809c26533b015801f0a09417a35e3bd9054c74d19c5f4f6\",\n        \"signature\": \"8da33abe5170c138c809c26533b015801f0a09417a35e3bd9054c74d19c5f4f6\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/drawer/drawer.ts\": {\n        \"version\": \"690b003c0aa8489682a87b63a7ba7fe51b76c23a71bba2aaa970cb9acdf49b5c\",\n        \"signature\": \"43f90b8ad757d20f4608891ed0ee9fa68cc8762a66316a6e29a817df21f8b0d8\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/drawer/index.ts\": {\n        \"version\": \"287ab6bb1016242eeed5ae11e0c2039aa7ccf1f5ac415f057c4fbbd35bd994ea\",\n        \"signature\": \"287ab6bb1016242eeed5ae11e0c2039aa7ccf1f5ac415f057c4fbbd35bd994ea\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/dropdown/dropdown.ts\": {\n        \"version\": \"3b3272ac48f2962f894c0f327cd249ace4db20241f388a4e64a8f188c6d8d5c5\",\n        \"signature\": \"f7ea07eb6b1fbb8206b56d7b307614b5a01f2cd4eca8074d089bc2f891ed97b4\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/dropdown/index.ts\": {\n        \"version\": \"3a84ba7ff9620d496d912ae6a470fef357ff1141d90595110537da3eafc40927\",\n        \"signature\": \"3a84ba7ff9620d496d912ae6a470fef357ff1141d90595110537da3eafc40927\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/loading-bar/loading-bar.ts\": {\n        \"version\": \"9fdc18ccac3f200915bc404c8f8cd0f16d638bac6e50b5092976934d09e4b96f\",\n        \"signature\": \"828469846804e91309f8a15cec3d695a82ad6bccc5918223d794b0d5d12f7520\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/loading-bar/index.ts\": {\n        \"version\": \"bea1670bee73290a68352419573ea6f8877486d433df8c867e2c99bc32b73b7e\",\n        \"signature\": \"04883978e224d728323f8eefc3a66ed511adf2ecdf8c00d0d704d8ca4791af22\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/message/message.ts\": {\n        \"version\": \"f6277e64352fd9b560c69af23bf9773f3268633414b5e60af5561e0938e755a8\",\n        \"signature\": \"f268e41424b184e49221709de55a05b985c71fd3e56cd19b043eaca047d4d47b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/message/index.ts\": {\n        \"version\": \"43d9b278fa89924613fb9428e339b9ba53cd8e025ad40d3cb569d4be4611c024\",\n        \"signature\": \"6cbf4d551486168c7d2f409bf4073f972a52f1e30e69804339495909bc6fd9b5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/modal/modal.ts\": {\n        \"version\": \"c348aa62fa74bbbffb8566757300de9e4adfe0bdac1c4bf21e555edbc34de3f3\",\n        \"signature\": \"9134234d69fdcdfd85e479b39631457d235570342fabf637ddda6042216e802b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/modal/index.ts\": {\n        \"version\": \"72dd030a397769b3bfe248a1c0d69cf9526ed64fa205e6aed0f1894c9349b3e9\",\n        \"signature\": \"72dd030a397769b3bfe248a1c0d69cf9526ed64fa205e6aed0f1894c9349b3e9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/notice/notice.ts\": {\n        \"version\": \"96158b5561e64481be9f52ad0c51311b134e4d4c1814d4cd1f675047d3b5d50c\",\n        \"signature\": \"791d1175f8fc601f97cee1279f565acb6a3b1c35d841f9fdf27369fd2ec18445\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/notice/index.ts\": {\n        \"version\": \"0b02e0b2e9d9f02e4fb158061f70343095e4bf03c66fb9240006cfe468884511\",\n        \"signature\": \"98ddda86688b67bf72e4429b39e49e8ce5fe51d98e5f3c2cc8a7a43adc03c96d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/poptip/poptip.ts\": {\n        \"version\": \"5b5dbc9ffa6952b961a3993660bc27244bc2187390b36c5655c787f60b0491c6\",\n        \"signature\": \"837cff6f3e060b084ec1a556223ff4fc2bbe4d608c0efe51a7089b8388e5f3b9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/poptip/index.ts\": {\n        \"version\": \"254786a7c45ccde2e18646174a8195d64141e068b22d60a55cd0ab8b4a831491\",\n        \"signature\": \"254786a7c45ccde2e18646174a8195d64141e068b22d60a55cd0ab8b4a831491\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/progress/progress.ts\": {\n        \"version\": \"054c88fdf299454611edb23fe4dd517a6c3621fc9d61212f154675414bae2653\",\n        \"signature\": \"0729e2110148cf9489c697ad3ce94842db7ecc85ed995fc90b570921e43b2f0a\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/progress/index.ts\": {\n        \"version\": \"18732fe4651f9b8bb6d0732bfa8ff3f18d76648417e3996720ef4cd74f39e2b2\",\n        \"signature\": \"18732fe4651f9b8bb6d0732bfa8ff3f18d76648417e3996720ef4cd74f39e2b2\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/result/result.ts\": {\n        \"version\": \"6ee56e5fbd75d903f101f8042ff515576dd2a78534e88feddb54bc2fd178250e\",\n        \"signature\": \"89d238858d8f1f4750d5aec1c1deab8c50eba29da0b49ea41d7d046dcb6ca950\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/result/index.ts\": {\n        \"version\": \"2e44f1646c4ed7561a9c35e3d9f4a410cdf3b45980574a5aaea0f4d5be990c0a\",\n        \"signature\": \"2e44f1646c4ed7561a9c35e3d9f4a410cdf3b45980574a5aaea0f4d5be990c0a\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/skeleton/skeleton.ts\": {\n        \"version\": \"0fb7415cd0450bfb84d21b89d81d871ee9957f8f6210b67b14f7410df4bd25a1\",\n        \"signature\": \"1efb165521dbe8e1811e4feda704a0630622ef9d7801ee02f5bd284ded3d8ba8\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/skeleton/index.ts\": {\n        \"version\": \"08214caaff128e32cbe0990b3b36259a7ccbb39c3c9f919ae42c9ea4c817da04\",\n        \"signature\": \"08214caaff128e32cbe0990b3b36259a7ccbb39c3c9f919ae42c9ea4c817da04\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/spin/spin.ts\": {\n        \"version\": \"ce637ab8435db16d619cf98b767a7a27fb1a2c43e1c5c904e1bbaae51e4d08bf\",\n        \"signature\": \"27f86a563d0564586f557fd08f335a433ab649998f13d6703c5f2313a198e4b3\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/spin/index.ts\": {\n        \"version\": \"b1e6419780f3e8434ef394c4e8744c290fcb0c6d22a16cd543fed03ab1db0a78\",\n        \"signature\": \"b1e6419780f3e8434ef394c4e8744c290fcb0c6d22a16cd543fed03ab1db0a78\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/steps/steps.ts\": {\n        \"version\": \"af467b881e8042172db6cc99fef08471331bc7ae90b36da936ea207cbb0961de\",\n        \"signature\": \"3ab106d74e0d419b614d7d85806d773a1731fb10a91d3fd732ce969d358f40af\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/steps/index.ts\": {\n        \"version\": \"4c87a563a494b05c086bf83eb4b6bef45a7526563adb19a1bf4c3ff829989355\",\n        \"signature\": \"4c87a563a494b05c086bf83eb4b6bef45a7526563adb19a1bf4c3ff829989355\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/switch/switch.ts\": {\n        \"version\": \"942c7fd16aa4ab3335ebb630ca8d8aac836e0e94cdd3b9818800382edd6f4fec\",\n        \"signature\": \"8c5ce3f69a094104b4dcf5f51d3b08f0b31fbde073a542068d58ec464889f305\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/switch/index.ts\": {\n        \"version\": \"54b35d8c5351938696ddbfd85bb4ae25d5c6252462d0a7abb8bfbf2375a0d76c\",\n        \"signature\": \"54b35d8c5351938696ddbfd85bb4ae25d5c6252462d0a7abb8bfbf2375a0d76c\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/tabs/tabs.ts\": {\n        \"version\": \"4cb6402f1a756f3b07c4b5536ca65662a802a8af1d8d8df51869ef1231b911b0\",\n        \"signature\": \"42a13b554813a0d6a73fae712553bb7d65d0aab5abf3359904e3eaf76ebc4958\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/tabs/index.ts\": {\n        \"version\": \"13493ed8c69ebac1a3f4172b45b6a0e0b2beb4e868291bc113c7f26546d28fbb\",\n        \"signature\": \"13493ed8c69ebac1a3f4172b45b6a0e0b2beb4e868291bc113c7f26546d28fbb\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/moment/ts3.1-typings/moment.d.ts\": {\n        \"version\": \"f97edc4d3b4dd0b32766e9633086497565c37657fb591cc84a35864db4bc2fc5\",\n        \"signature\": \"f97edc4d3b4dd0b32766e9633086497565c37657fb591cc84a35864db4bc2fc5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/time/time.ts\": {\n        \"version\": \"6d8446fe7ea8258750644bb5e834a428140040392d5943c0ddc0d6c9fd8acc41\",\n        \"signature\": \"226e96cd67b3f7ebb632e2b5012051f24abd6e96a6abefe5f075baf63d20bd4d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/time/index.ts\": {\n        \"version\": \"f7fe140c7f289aed053ec9f92229da3b62b26898468dc8852b6bbb9ae62d56f5\",\n        \"signature\": \"f7fe140c7f289aed053ec9f92229da3b62b26898468dc8852b6bbb9ae62d56f5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/timeline/timeline.ts\": {\n        \"version\": \"5f39feefce3157d4af00bc212f3ade0a16b317e0c6895a786f6f298862bb2c32\",\n        \"signature\": \"d8b130c94cefdac4724d73bb77097db33ae4ca7fb5868f93363a684b35c8f917\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/timeline/index.ts\": {\n        \"version\": \"ec82b2fe654d8f6e991b8b7742671839e47dff8eb3b13b4f6e3dc47b80c14b54\",\n        \"signature\": \"ec82b2fe654d8f6e991b8b7742671839e47dff8eb3b13b4f6e3dc47b80c14b54\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/tooltip/tooltip.ts\": {\n        \"version\": \"50c105becc2ed8ed5cfe78996c7686c196ae5ed392c266bd28f45e5f60be17be\",\n        \"signature\": \"f9820d9de33f7f775bd8aa201389f9c321906451cd5b2c96df4e7f45c4c0bf62\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/components/tooltip/index.ts\": {\n        \"version\": \"6875d2e37aaadd389d11e10631ba12972ff597112d7cd7b0ed57fb738a0775f5\",\n        \"signature\": \"6875d2e37aaadd389d11e10631ba12972ff597112d7cd7b0ed57fb738a0775f5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/rabbit-design.ts\": {\n        \"version\": \"224df54e109b4666b114934e805cedfd11b7e5c270f7987d887813d062f48e5f\",\n        \"signature\": \"c1ade3bdebb683d7c249d62124d901ed174319bc29e78734724240ee5ed326b9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./src/index.ts\": {\n        \"version\": \"8dba5de92bf59161c0920820c2c543a56fc3812ad636087f590d06066e06d502\",\n        \"signature\": \"2ec38789a49751baf083f48672848bf505dbc4ed8cb607e82f6e8d4b4c40fa2c\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/anymatch/index.d.ts\": {\n        \"version\": \"48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76\",\n        \"signature\": \"48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/eslint/helpers.d.ts\": {\n        \"version\": \"f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46\",\n        \"signature\": \"f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/json-schema/index.d.ts\": {\n        \"version\": \"b2be568d8ce95fcb26eebd04c035d94825655fdf689bf67d799f5ff8cbbb1024\",\n        \"signature\": \"b2be568d8ce95fcb26eebd04c035d94825655fdf689bf67d799f5ff8cbbb1024\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/estree/index.d.ts\": {\n        \"version\": \"6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5\",\n        \"signature\": \"6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/eslint/index.d.ts\": {\n        \"version\": \"edb3e2f61a2a6e29a5f9043f73adf65951d52b4c1f22e84050381f7ef0d77318\",\n        \"signature\": \"edb3e2f61a2a6e29a5f9043f73adf65951d52b4c1f22e84050381f7ef0d77318\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/eslint-scope/index.d.ts\": {\n        \"version\": \"274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed\",\n        \"signature\": \"274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/globals.d.ts\": {\n        \"version\": \"215d8d9a2c480fd460127edc048d68d9931d3b27f95132253a6e71975f060bb1\",\n        \"signature\": \"215d8d9a2c480fd460127edc048d68d9931d3b27f95132253a6e71975f060bb1\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/node/async_hooks.d.ts\": {\n        \"version\": \"c438b413e94ff76dfa20ae005f33a1c84f2480d1d66e0fd687501020d0de9b50\",\n        \"signature\": \"c438b413e94ff76dfa20ae005f33a1c84f2480d1d66e0fd687501020d0de9b50\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/buffer.d.ts\": {\n        \"version\": \"bc6a78961535181265845bf9b9e8a147ffd0ca275097ceb670a9b92afa825152\",\n        \"signature\": \"bc6a78961535181265845bf9b9e8a147ffd0ca275097ceb670a9b92afa825152\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/child_process.d.ts\": {\n        \"version\": \"987249e7b75023387c5fd9dc2f959ee777cb8989b7900f5a9eb4a67d290f2cba\",\n        \"signature\": \"987249e7b75023387c5fd9dc2f959ee777cb8989b7900f5a9eb4a67d290f2cba\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/cluster.d.ts\": {\n        \"version\": \"123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803\",\n        \"signature\": \"123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/console.d.ts\": {\n        \"version\": \"eb5197aade83cb0e360ac407289c53a8009e8fdae7939892a0240d30444496b6\",\n        \"signature\": \"eb5197aade83cb0e360ac407289c53a8009e8fdae7939892a0240d30444496b6\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/node/constants.d.ts\": {\n        \"version\": \"90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720\",\n        \"signature\": \"90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/crypto.d.ts\": {\n        \"version\": \"2636f61a2d5f76d4039c7110f65c407a028ec5265e03d855fc2cf62b198ac415\",\n        \"signature\": \"2636f61a2d5f76d4039c7110f65c407a028ec5265e03d855fc2cf62b198ac415\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/dgram.d.ts\": {\n        \"version\": \"7e050b767ed10c7ffbc01f314defbf420bf0b5d54ce666e1c87507c035dfc191\",\n        \"signature\": \"7e050b767ed10c7ffbc01f314defbf420bf0b5d54ce666e1c87507c035dfc191\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/dns.d.ts\": {\n        \"version\": \"7db7569fbb3e2b01ba8751c761cdd3f0debd104170d5665b7dc20a11630df3a9\",\n        \"signature\": \"7db7569fbb3e2b01ba8751c761cdd3f0debd104170d5665b7dc20a11630df3a9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/domain.d.ts\": {\n        \"version\": \"cde4d7f6274468180fa39847b183aec22626e8212ff885d535c53f4cd7c225fd\",\n        \"signature\": \"cde4d7f6274468180fa39847b183aec22626e8212ff885d535c53f4cd7c225fd\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/node/events.d.ts\": {\n        \"version\": \"365e8358843a23944be84b810b1f774ea0223adfccc085f30fd7f4c13dc8a09f\",\n        \"signature\": \"365e8358843a23944be84b810b1f774ea0223adfccc085f30fd7f4c13dc8a09f\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/node/fs.d.ts\": {\n        \"version\": \"f87f95c015900102a5c0edcdebb17596de1382510e6cc17ab79f375d3505bb12\",\n        \"signature\": \"f87f95c015900102a5c0edcdebb17596de1382510e6cc17ab79f375d3505bb12\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/fs/promises.d.ts\": {\n        \"version\": \"05b5679a897598ebe556ee93415b3af1f456e674ea82e4d7afcd716bfe43aa98\",\n        \"signature\": \"05b5679a897598ebe556ee93415b3af1f456e674ea82e4d7afcd716bfe43aa98\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/http.d.ts\": {\n        \"version\": \"35fe02b2c10616cc7ac3db9c15778df7ed9c99276889efdd9be31f342841cfcd\",\n        \"signature\": \"35fe02b2c10616cc7ac3db9c15778df7ed9c99276889efdd9be31f342841cfcd\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/http2.d.ts\": {\n        \"version\": \"1c3fe66943f587685aa4a42f664f794655da1767401d2f85910177dac78aa45d\",\n        \"signature\": \"1c3fe66943f587685aa4a42f664f794655da1767401d2f85910177dac78aa45d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/https.d.ts\": {\n        \"version\": \"c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a\",\n        \"signature\": \"c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/inspector.d.ts\": {\n        \"version\": \"6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947\",\n        \"signature\": \"6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/module.d.ts\": {\n        \"version\": \"bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665\",\n        \"signature\": \"bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/net.d.ts\": {\n        \"version\": \"8de97668870cfb20fc9d355d2ef379e897bdd8a98c889c7d8a6de40ee408ad52\",\n        \"signature\": \"8de97668870cfb20fc9d355d2ef379e897bdd8a98c889c7d8a6de40ee408ad52\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/os.d.ts\": {\n        \"version\": \"ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34\",\n        \"signature\": \"ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/path.d.ts\": {\n        \"version\": \"84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35\",\n        \"signature\": \"84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/perf_hooks.d.ts\": {\n        \"version\": \"4982d94cb6427263c8839d8d6324a8bbe129e931deb61a7380f8fad17ba2cfc0\",\n        \"signature\": \"4982d94cb6427263c8839d8d6324a8bbe129e931deb61a7380f8fad17ba2cfc0\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/process.d.ts\": {\n        \"version\": \"ae4bc1dd4d9de7bbea6ce419db45af82a81358e6014c9e1235b5d252e06f8ab8\",\n        \"signature\": \"ae4bc1dd4d9de7bbea6ce419db45af82a81358e6014c9e1235b5d252e06f8ab8\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/node/punycode.d.ts\": {\n        \"version\": \"3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c\",\n        \"signature\": \"3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/querystring.d.ts\": {\n        \"version\": \"884560fda6c3868f925f022adc3a1289fe6507bbb45adb10fa1bbcc73a941bb0\",\n        \"signature\": \"884560fda6c3868f925f022adc3a1289fe6507bbb45adb10fa1bbcc73a941bb0\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/readline.d.ts\": {\n        \"version\": \"6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9\",\n        \"signature\": \"6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/repl.d.ts\": {\n        \"version\": \"acbed967a379b3e9f73237ba9473f8b337eeea14b7dc64d445430b5d695751da\",\n        \"signature\": \"acbed967a379b3e9f73237ba9473f8b337eeea14b7dc64d445430b5d695751da\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/stream.d.ts\": {\n        \"version\": \"272a46cc8f494677af587d17939e61e7db2b1925633e4da0c186ba17f6732521\",\n        \"signature\": \"272a46cc8f494677af587d17939e61e7db2b1925633e4da0c186ba17f6732521\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/string_decoder.d.ts\": {\n        \"version\": \"d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457\",\n        \"signature\": \"d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/timers.d.ts\": {\n        \"version\": \"b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9\",\n        \"signature\": \"b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/tls.d.ts\": {\n        \"version\": \"c52eb62e3388a01b966c57bd14ca0ee9d5f6e656d6a18f6ce6b7cdece63734a3\",\n        \"signature\": \"c52eb62e3388a01b966c57bd14ca0ee9d5f6e656d6a18f6ce6b7cdece63734a3\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/trace_events.d.ts\": {\n        \"version\": \"a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638\",\n        \"signature\": \"a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/tty.d.ts\": {\n        \"version\": \"3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748\",\n        \"signature\": \"3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/url.d.ts\": {\n        \"version\": \"80ffc1786a5dab91b4aa59a72720f02f25df8b7c76b593e04d5e381aec284ccb\",\n        \"signature\": \"80ffc1786a5dab91b4aa59a72720f02f25df8b7c76b593e04d5e381aec284ccb\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/util.d.ts\": {\n        \"version\": \"f5b9d446783f075eed9e93dfba1a5055b3fd61aab285fef3bbc761eadf598204\",\n        \"signature\": \"f5b9d446783f075eed9e93dfba1a5055b3fd61aab285fef3bbc761eadf598204\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/v8.d.ts\": {\n        \"version\": \"289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953\",\n        \"signature\": \"289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/vm.d.ts\": {\n        \"version\": \"baf0b82ffc5d2616f44a6fb1f81e8d798545bebf0c30f5d8b003a1dba1acfb3f\",\n        \"signature\": \"baf0b82ffc5d2616f44a6fb1f81e8d798545bebf0c30f5d8b003a1dba1acfb3f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/worker_threads.d.ts\": {\n        \"version\": \"c6a5b34f1e725019445754f1e733585f113e0dced75f137bd3c4af5853d3f6ab\",\n        \"signature\": \"c6a5b34f1e725019445754f1e733585f113e0dced75f137bd3c4af5853d3f6ab\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/zlib.d.ts\": {\n        \"version\": \"15fbe50526244954eb2f933546bca6cdcf0db16c9428d099b3b386c1db5799ab\",\n        \"signature\": \"15fbe50526244954eb2f933546bca6cdcf0db16c9428d099b3b386c1db5799ab\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/ts3.4/base.d.ts\": {\n        \"version\": \"d44028ae0127eb3e9fcfa5f55a8b81d64775ce15aca1020fe25c511bbb055834\",\n        \"signature\": \"d44028ae0127eb3e9fcfa5f55a8b81d64775ce15aca1020fe25c511bbb055834\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/globals.global.d.ts\": {\n        \"version\": \"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1\",\n        \"signature\": \"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1\",\n        \"affectsGlobalScope\": true\n      },\n      \"./node_modules/@types/node/wasi.d.ts\": {\n        \"version\": \"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3\",\n        \"signature\": \"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/ts3.6/base.d.ts\": {\n        \"version\": \"ad1ae5ae98eceb9af99061e83e867b9897d267aebc8f3b938c9424deabadf4bb\",\n        \"signature\": \"ad1ae5ae98eceb9af99061e83e867b9897d267aebc8f3b938c9424deabadf4bb\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/assert.d.ts\": {\n        \"version\": \"6fbe72eed85e363ad83b763e03be824558c6ea7456c7259a48bcf0afdeb9d7e4\",\n        \"signature\": \"6fbe72eed85e363ad83b763e03be824558c6ea7456c7259a48bcf0afdeb9d7e4\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/base.d.ts\": {\n        \"version\": \"e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b\",\n        \"signature\": \"e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/node/index.d.ts\": {\n        \"version\": \"5825520e2099309182c6e2a2b3061b060d42a098c58f67d1754880a7e2cce99a\",\n        \"signature\": \"5825520e2099309182c6e2a2b3061b060d42a098c58f67d1754880a7e2cce99a\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/minimatch/index.d.ts\": {\n        \"version\": \"1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633\",\n        \"signature\": \"1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/glob/index.d.ts\": {\n        \"version\": \"393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0\",\n        \"signature\": \"393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/html-minifier-terser/index.d.ts\": {\n        \"version\": \"6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d\",\n        \"signature\": \"6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/parse-json/index.d.ts\": {\n        \"version\": \"2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b\",\n        \"signature\": \"2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/q/index.d.ts\": {\n        \"version\": \"f9a2dd6a6084665f093ed0e9664b8e673be2a45e342a59dd4e0e4e552e68a9ad\",\n        \"signature\": \"f9a2dd6a6084665f093ed0e9664b8e673be2a45e342a59dd4e0e4e552e68a9ad\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/source-list-map/index.d.ts\": {\n        \"version\": \"67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae\",\n        \"signature\": \"67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/tapable/index.d.ts\": {\n        \"version\": \"d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579\",\n        \"signature\": \"d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/source-map/source-map.d.ts\": {\n        \"version\": \"2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579\",\n        \"signature\": \"2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/uglify-js/index.d.ts\": {\n        \"version\": \"0215efc2c3f40fd9ec91f19d277afc9efba41cee054fd0be4c92e75cb10cf2c0\",\n        \"signature\": \"0215efc2c3f40fd9ec91f19d277afc9efba41cee054fd0be4c92e75cb10cf2c0\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/tapable/tapable.d.ts\": {\n        \"version\": \"b395ec0779c66de885f97974534e95ee2c8bbf9acaf5857a6782ddc32972b6d8\",\n        \"signature\": \"b395ec0779c66de885f97974534e95ee2c8bbf9acaf5857a6782ddc32972b6d8\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\": {\n        \"version\": \"b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9\",\n        \"signature\": \"b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/source.d.ts\": {\n        \"version\": \"8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d\",\n        \"signature\": \"8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\": {\n        \"version\": \"ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5\",\n        \"signature\": \"ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\": {\n        \"version\": \"083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9\",\n        \"signature\": \"083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\": {\n        \"version\": \"274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517\",\n        \"signature\": \"274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\": {\n        \"version\": \"6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad\",\n        \"signature\": \"6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\": {\n        \"version\": \"5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106\",\n        \"signature\": \"5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\": {\n        \"version\": \"f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c\",\n        \"signature\": \"f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\": {\n        \"version\": \"0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f\",\n        \"signature\": \"0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\": {\n        \"version\": \"8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb\",\n        \"signature\": \"8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/index.d.ts\": {\n        \"version\": \"9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1\",\n        \"signature\": \"9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\": {\n        \"version\": \"d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0\",\n        \"signature\": \"d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack-sources/index.d.ts\": {\n        \"version\": \"89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b\",\n        \"signature\": \"89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b\",\n        \"affectsGlobalScope\": false\n      },\n      \"./node_modules/@types/webpack/index.d.ts\": {\n        \"version\": \"6a11a44c28aeb36e551aad316a3c30e5edd9244396378f664dea164c4ce49fe0\",\n        \"signature\": \"6a11a44c28aeb36e551aad316a3c30e5edd9244396378f664dea164c4ce49fe0\",\n        \"affectsGlobalScope\": false\n      }\n    },\n    \"options\": {\n      \"target\": 1,\n      \"module\": 5,\n      \"strict\": true,\n      \"jsx\": 1,\n      \"declaration\": true,\n      \"incremental\": true,\n      \"importHelpers\": true,\n      \"moduleResolution\": 2,\n      \"experimentalDecorators\": true,\n      \"esModuleInterop\": true,\n      \"allowSyntheticDefaultImports\": true,\n      \"sourceMap\": false,\n      \"baseUrl\": \"./\",\n      \"lib\": [\n        \"lib.es5.d.ts\",\n        \"lib.es2015.promise.d.ts\",\n        \"lib.dom.d.ts\",\n        \"lib.dom.iterable.d.ts\",\n        \"lib.scripthost.d.ts\"\n      ],\n      \"configFilePath\": \"./tsconfig.json\"\n    },\n    \"referencedMap\": {\n      \"./node_modules/@popperjs/core/index.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/index.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/createpopper.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\",\n        \"./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/index.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\",\n        \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\",\n        \"./node_modules/@popperjs/core/lib/popper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/popper.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/types.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@types/eslint-scope/index.d.ts\": [\n        \"./node_modules/@types/eslint/index.d.ts\",\n        \"./node_modules/@types/estree/index.d.ts\"\n      ],\n      \"./node_modules/@types/eslint/index.d.ts\": [\n        \"./node_modules/@types/eslint/helpers.d.ts\",\n        \"./node_modules/@types/estree/index.d.ts\",\n        \"./node_modules/@types/json-schema/index.d.ts\"\n      ],\n      \"./node_modules/@types/glob/index.d.ts\": [\n        \"./node_modules/@types/minimatch/index.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/index.d.ts\"\n      ],\n      \"./node_modules/@types/node/base.d.ts\": [\n        \"./node_modules/@types/node/assert.d.ts\",\n        \"./node_modules/@types/node/ts3.6/base.d.ts\"\n      ],\n      \"./node_modules/@types/node/child_process.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/cluster.d.ts\": [\n        \"./node_modules/@types/node/child_process.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\"\n      ],\n      \"./node_modules/@types/node/console.d.ts\": [\n        \"./node_modules/@types/node/util.d.ts\"\n      ],\n      \"./node_modules/@types/node/constants.d.ts\": [\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/os.d.ts\"\n      ],\n      \"./node_modules/@types/node/crypto.d.ts\": [\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/dgram.d.ts\": [\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\"\n      ],\n      \"./node_modules/@types/node/domain.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\"\n      ],\n      \"./node_modules/@types/node/fs.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs/promises.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/fs/promises.d.ts\": [\n        \"./node_modules/@types/node/fs.d.ts\"\n      ],\n      \"./node_modules/@types/node/http.d.ts\": [\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/http2.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/http.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/tls.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/https.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/http.d.ts\",\n        \"./node_modules/@types/node/tls.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/index.d.ts\": [\n        \"./node_modules/@types/node/base.d.ts\"\n      ],\n      \"./node_modules/@types/node/inspector.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\"\n      ],\n      \"./node_modules/@types/node/module.d.ts\": [\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/net.d.ts\": [\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/perf_hooks.d.ts\": [\n        \"./node_modules/@types/node/async_hooks.d.ts\"\n      ],\n      \"./node_modules/@types/node/process.d.ts\": [\n        \"./node_modules/@types/node/tty.d.ts\"\n      ],\n      \"./node_modules/@types/node/readline.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/repl.d.ts\": [\n        \"./node_modules/@types/node/readline.d.ts\",\n        \"./node_modules/@types/node/util.d.ts\",\n        \"./node_modules/@types/node/vm.d.ts\"\n      ],\n      \"./node_modules/@types/node/stream.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\"\n      ],\n      \"./node_modules/@types/node/tls.d.ts\": [\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/ts3.4/base.d.ts\": [\n        \"./node_modules/@types/node/async_hooks.d.ts\",\n        \"./node_modules/@types/node/buffer.d.ts\",\n        \"./node_modules/@types/node/child_process.d.ts\",\n        \"./node_modules/@types/node/cluster.d.ts\",\n        \"./node_modules/@types/node/console.d.ts\",\n        \"./node_modules/@types/node/constants.d.ts\",\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/dgram.d.ts\",\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/domain.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/fs/promises.d.ts\",\n        \"./node_modules/@types/node/globals.d.ts\",\n        \"./node_modules/@types/node/http.d.ts\",\n        \"./node_modules/@types/node/http2.d.ts\",\n        \"./node_modules/@types/node/https.d.ts\",\n        \"./node_modules/@types/node/inspector.d.ts\",\n        \"./node_modules/@types/node/module.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/os.d.ts\",\n        \"./node_modules/@types/node/path.d.ts\",\n        \"./node_modules/@types/node/perf_hooks.d.ts\",\n        \"./node_modules/@types/node/process.d.ts\",\n        \"./node_modules/@types/node/punycode.d.ts\",\n        \"./node_modules/@types/node/querystring.d.ts\",\n        \"./node_modules/@types/node/readline.d.ts\",\n        \"./node_modules/@types/node/repl.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/string_decoder.d.ts\",\n        \"./node_modules/@types/node/timers.d.ts\",\n        \"./node_modules/@types/node/tls.d.ts\",\n        \"./node_modules/@types/node/trace_events.d.ts\",\n        \"./node_modules/@types/node/tty.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\",\n        \"./node_modules/@types/node/util.d.ts\",\n        \"./node_modules/@types/node/v8.d.ts\",\n        \"./node_modules/@types/node/vm.d.ts\",\n        \"./node_modules/@types/node/worker_threads.d.ts\",\n        \"./node_modules/@types/node/zlib.d.ts\"\n      ],\n      \"./node_modules/@types/node/ts3.6/base.d.ts\": [\n        \"./node_modules/@types/node/globals.global.d.ts\",\n        \"./node_modules/@types/node/ts3.4/base.d.ts\",\n        \"./node_modules/@types/node/wasi.d.ts\"\n      ],\n      \"./node_modules/@types/node/tty.d.ts\": [\n        \"./node_modules/@types/node/net.d.ts\"\n      ],\n      \"./node_modules/@types/node/url.d.ts\": [\n        \"./node_modules/@types/node/querystring.d.ts\"\n      ],\n      \"./node_modules/@types/node/v8.d.ts\": [\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/worker_threads.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs/promises.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\",\n        \"./node_modules/@types/node/vm.d.ts\"\n      ],\n      \"./node_modules/@types/node/zlib.d.ts\": [\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/uglify-js/index.d.ts\": [\n        \"./node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/index.d.ts\": [\n        \"./node_modules/@types/node/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\": [\n        \"./node_modules/@types/source-list-map/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/index.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\": [\n        \"./node_modules/@types/source-list-map/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/source.d.ts\": [\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack/index.d.ts\": [\n        \"./node_modules/@types/anymatch/index.d.ts\",\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/index.d.ts\",\n        \"./node_modules/@types/uglify-js/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/index.d.ts\",\n        \"./node_modules/source-map/source-map.d.ts\",\n        \"./node_modules/tapable/tapable.d.ts\"\n      ],\n      \"./src/components/alert/alert.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/alert/index.ts\": [\n        \"./src/components/alert/alert.ts\"\n      ],\n      \"./src/components/avatar/avatar.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\"\n      ],\n      \"./src/components/avatar/index.ts\": [\n        \"./src/components/avatar/avatar.ts\"\n      ],\n      \"./src/components/back-top/back-top.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/components/back-top/index.ts\": [\n        \"./src/components/back-top/back-top.ts\"\n      ],\n      \"./src/components/badge/badge.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/badge/index.ts\": [\n        \"./src/components/badge/badge.ts\"\n      ],\n      \"./src/components/button/button.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/button/index.ts\": [\n        \"./src/components/button/button.ts\"\n      ],\n      \"./src/components/card/card.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/card/index.ts\": [\n        \"./src/components/card/card.ts\"\n      ],\n      \"./src/components/collapse/collapse.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/elem.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/collapse/index.ts\": [\n        \"./src/components/collapse/collapse.ts\"\n      ],\n      \"./src/components/divider/divider.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/components/divider/index.ts\": [\n        \"./src/components/divider/divider.ts\"\n      ],\n      \"./src/components/drawer/drawer.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/drawer/index.ts\": [\n        \"./src/components/drawer/drawer.ts\"\n      ],\n      \"./src/components/dropdown/dropdown.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/dropdown/index.ts\": [\n        \"./src/components/dropdown/dropdown.ts\"\n      ],\n      \"./src/components/loading-bar/index.ts\": [\n        \"./src/components/loading-bar/loading-bar.ts\"\n      ],\n      \"./src/components/loading-bar/loading-bar.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/message/index.ts\": [\n        \"./src/components/message/message.ts\"\n      ],\n      \"./src/components/message/message.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/modal/index.ts\": [\n        \"./src/components/modal/modal.ts\"\n      ],\n      \"./src/components/modal/modal.ts\": [\n        \"./src/components/button/index.ts\",\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/notice/index.ts\": [\n        \"./src/components/notice/notice.ts\"\n      ],\n      \"./src/components/notice/notice.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/poptip/index.ts\": [\n        \"./src/components/poptip/poptip.ts\"\n      ],\n      \"./src/components/poptip/poptip.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/mixins/tooltip.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/progress/index.ts\": [\n        \"./src/components/progress/progress.ts\"\n      ],\n      \"./src/components/progress/progress.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/result/index.ts\": [\n        \"./src/components/result/result.ts\"\n      ],\n      \"./src/components/result/result.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/images.d.ts\"\n      ],\n      \"./src/components/skeleton/index.ts\": [\n        \"./src/components/skeleton/skeleton.ts\"\n      ],\n      \"./src/components/skeleton/skeleton.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/components/spin/index.ts\": [\n        \"./src/components/spin/spin.ts\"\n      ],\n      \"./src/components/spin/spin.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/steps/index.ts\": [\n        \"./src/components/steps/steps.ts\"\n      ],\n      \"./src/components/steps/steps.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/switch/index.ts\": [\n        \"./src/components/switch/switch.ts\"\n      ],\n      \"./src/components/switch/switch.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/tabs/index.ts\": [\n        \"./src/components/tabs/tabs.ts\"\n      ],\n      \"./src/components/tabs/tabs.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/components/time/index.ts\": [\n        \"./src/components/time/time.ts\"\n      ],\n      \"./src/components/time/time.ts\": [\n        \"./node_modules/moment/ts3.1-typings/moment.d.ts\",\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/components/timeline/index.ts\": [\n        \"./src/components/timeline/timeline.ts\"\n      ],\n      \"./src/components/timeline/timeline.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/components/tooltip/index.ts\": [\n        \"./src/components/tooltip/tooltip.ts\"\n      ],\n      \"./src/components/tooltip/tooltip.ts\": [\n        \"./src/components/prefix.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/dom-utils/index.ts\": [\n        \"./src/dom-utils/bind.ts\",\n        \"./src/dom-utils/elem.ts\",\n        \"./src/dom-utils/prev&next.ts\",\n        \"./src/dom-utils/remove-attrs.ts\",\n        \"./src/dom-utils/siblings.ts\",\n        \"./src/dom-utils/slide.ts\"\n      ],\n      \"./src/index.ts\": [\n        \"./src/rabbit-design.ts\"\n      ],\n      \"./src/mixins/arrow.ts\": [\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/mixins/click-outside.ts\": [\n        \"./src/dom-utils/index.ts\",\n        \"./src/mixins/index.ts\"\n      ],\n      \"./src/mixins/index.ts\": [\n        \"./src/mixins/arrow.ts\",\n        \"./src/mixins/cb-promise.ts\",\n        \"./src/mixins/click-outside.ts\",\n        \"./src/mixins/css-transition.ts\",\n        \"./src/mixins/scrollable.ts\",\n        \"./src/mixins/tooltip.ts\",\n        \"./src/mixins/warn.ts\"\n      ],\n      \"./src/mixins/scrollable.ts\": [\n        \"./src/dom-utils/index.ts\"\n      ],\n      \"./src/mixins/tooltip.ts\": [\n        \"./node_modules/@popperjs/core/index.d.ts\",\n        \"./src/dom-utils/index.ts\",\n        \"./src/utils/index.ts\"\n      ],\n      \"./src/rabbit-design.ts\": [\n        \"./src/components/alert/index.ts\",\n        \"./src/components/avatar/index.ts\",\n        \"./src/components/back-top/index.ts\",\n        \"./src/components/badge/index.ts\",\n        \"./src/components/button/index.ts\",\n        \"./src/components/card/index.ts\",\n        \"./src/components/collapse/index.ts\",\n        \"./src/components/divider/index.ts\",\n        \"./src/components/drawer/index.ts\",\n        \"./src/components/dropdown/index.ts\",\n        \"./src/components/loading-bar/index.ts\",\n        \"./src/components/message/index.ts\",\n        \"./src/components/modal/index.ts\",\n        \"./src/components/notice/index.ts\",\n        \"./src/components/poptip/index.ts\",\n        \"./src/components/progress/index.ts\",\n        \"./src/components/result/index.ts\",\n        \"./src/components/skeleton/index.ts\",\n        \"./src/components/spin/index.ts\",\n        \"./src/components/steps/index.ts\",\n        \"./src/components/switch/index.ts\",\n        \"./src/components/tabs/index.ts\",\n        \"./src/components/time/index.ts\",\n        \"./src/components/timeline/index.ts\",\n        \"./src/components/tooltip/index.ts\"\n      ],\n      \"./src/utils/check-type.ts\": [\n        \"./src/mixins/warn.ts\"\n      ],\n      \"./src/utils/destroy.ts\": [\n        \"./src/mixins/index.ts\"\n      ],\n      \"./src/utils/index.ts\": [\n        \"./src/utils/check-type.ts\",\n        \"./src/utils/destroy.ts\",\n        \"./src/utils/use-html-string.ts\",\n        \"./src/utils/validcomps.ts\"\n      ],\n      \"./src/utils/use-html-string.ts\": [\n        \"./src/dom-utils/index.ts\"\n      ]\n    },\n    \"exportedModulesMap\": {\n      \"./node_modules/@popperjs/core/index.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/index.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/createpopper.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\",\n        \"./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/index.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\",\n        \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\",\n        \"./node_modules/@popperjs/core/lib/popper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/popper.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/types.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\",\n        \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\"\n      ],\n      \"./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts\": [\n        \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n        \"./node_modules/@popperjs/core/lib/types.d.ts\"\n      ],\n      \"./node_modules/@types/eslint-scope/index.d.ts\": [\n        \"./node_modules/@types/eslint/index.d.ts\",\n        \"./node_modules/@types/estree/index.d.ts\"\n      ],\n      \"./node_modules/@types/eslint/index.d.ts\": [\n        \"./node_modules/@types/eslint/helpers.d.ts\",\n        \"./node_modules/@types/estree/index.d.ts\",\n        \"./node_modules/@types/json-schema/index.d.ts\"\n      ],\n      \"./node_modules/@types/glob/index.d.ts\": [\n        \"./node_modules/@types/minimatch/index.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/index.d.ts\"\n      ],\n      \"./node_modules/@types/node/base.d.ts\": [\n        \"./node_modules/@types/node/assert.d.ts\",\n        \"./node_modules/@types/node/ts3.6/base.d.ts\"\n      ],\n      \"./node_modules/@types/node/child_process.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/cluster.d.ts\": [\n        \"./node_modules/@types/node/child_process.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\"\n      ],\n      \"./node_modules/@types/node/console.d.ts\": [\n        \"./node_modules/@types/node/util.d.ts\"\n      ],\n      \"./node_modules/@types/node/constants.d.ts\": [\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/os.d.ts\"\n      ],\n      \"./node_modules/@types/node/crypto.d.ts\": [\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/dgram.d.ts\": [\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\"\n      ],\n      \"./node_modules/@types/node/domain.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\"\n      ],\n      \"./node_modules/@types/node/fs.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs/promises.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/fs/promises.d.ts\": [\n        \"./node_modules/@types/node/fs.d.ts\"\n      ],\n      \"./node_modules/@types/node/http.d.ts\": [\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/http2.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/http.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/tls.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/https.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/http.d.ts\",\n        \"./node_modules/@types/node/tls.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/index.d.ts\": [\n        \"./node_modules/@types/node/base.d.ts\"\n      ],\n      \"./node_modules/@types/node/inspector.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\"\n      ],\n      \"./node_modules/@types/node/module.d.ts\": [\n        \"./node_modules/@types/node/url.d.ts\"\n      ],\n      \"./node_modules/@types/node/net.d.ts\": [\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/perf_hooks.d.ts\": [\n        \"./node_modules/@types/node/async_hooks.d.ts\"\n      ],\n      \"./node_modules/@types/node/process.d.ts\": [\n        \"./node_modules/@types/node/tty.d.ts\"\n      ],\n      \"./node_modules/@types/node/readline.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/repl.d.ts\": [\n        \"./node_modules/@types/node/readline.d.ts\",\n        \"./node_modules/@types/node/util.d.ts\",\n        \"./node_modules/@types/node/vm.d.ts\"\n      ],\n      \"./node_modules/@types/node/stream.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\"\n      ],\n      \"./node_modules/@types/node/tls.d.ts\": [\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/ts3.4/base.d.ts\": [\n        \"./node_modules/@types/node/async_hooks.d.ts\",\n        \"./node_modules/@types/node/buffer.d.ts\",\n        \"./node_modules/@types/node/child_process.d.ts\",\n        \"./node_modules/@types/node/cluster.d.ts\",\n        \"./node_modules/@types/node/console.d.ts\",\n        \"./node_modules/@types/node/constants.d.ts\",\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/dgram.d.ts\",\n        \"./node_modules/@types/node/dns.d.ts\",\n        \"./node_modules/@types/node/domain.d.ts\",\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs.d.ts\",\n        \"./node_modules/@types/node/fs/promises.d.ts\",\n        \"./node_modules/@types/node/globals.d.ts\",\n        \"./node_modules/@types/node/http.d.ts\",\n        \"./node_modules/@types/node/http2.d.ts\",\n        \"./node_modules/@types/node/https.d.ts\",\n        \"./node_modules/@types/node/inspector.d.ts\",\n        \"./node_modules/@types/node/module.d.ts\",\n        \"./node_modules/@types/node/net.d.ts\",\n        \"./node_modules/@types/node/os.d.ts\",\n        \"./node_modules/@types/node/path.d.ts\",\n        \"./node_modules/@types/node/perf_hooks.d.ts\",\n        \"./node_modules/@types/node/process.d.ts\",\n        \"./node_modules/@types/node/punycode.d.ts\",\n        \"./node_modules/@types/node/querystring.d.ts\",\n        \"./node_modules/@types/node/readline.d.ts\",\n        \"./node_modules/@types/node/repl.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/string_decoder.d.ts\",\n        \"./node_modules/@types/node/timers.d.ts\",\n        \"./node_modules/@types/node/tls.d.ts\",\n        \"./node_modules/@types/node/trace_events.d.ts\",\n        \"./node_modules/@types/node/tty.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\",\n        \"./node_modules/@types/node/util.d.ts\",\n        \"./node_modules/@types/node/v8.d.ts\",\n        \"./node_modules/@types/node/vm.d.ts\",\n        \"./node_modules/@types/node/worker_threads.d.ts\",\n        \"./node_modules/@types/node/zlib.d.ts\"\n      ],\n      \"./node_modules/@types/node/ts3.6/base.d.ts\": [\n        \"./node_modules/@types/node/globals.global.d.ts\",\n        \"./node_modules/@types/node/ts3.4/base.d.ts\",\n        \"./node_modules/@types/node/wasi.d.ts\"\n      ],\n      \"./node_modules/@types/node/tty.d.ts\": [\n        \"./node_modules/@types/node/net.d.ts\"\n      ],\n      \"./node_modules/@types/node/url.d.ts\": [\n        \"./node_modules/@types/node/querystring.d.ts\"\n      ],\n      \"./node_modules/@types/node/v8.d.ts\": [\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/node/worker_threads.d.ts\": [\n        \"./node_modules/@types/node/events.d.ts\",\n        \"./node_modules/@types/node/fs/promises.d.ts\",\n        \"./node_modules/@types/node/stream.d.ts\",\n        \"./node_modules/@types/node/url.d.ts\",\n        \"./node_modules/@types/node/vm.d.ts\"\n      ],\n      \"./node_modules/@types/node/zlib.d.ts\": [\n        \"./node_modules/@types/node/stream.d.ts\"\n      ],\n      \"./node_modules/@types/uglify-js/index.d.ts\": [\n        \"./node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/index.d.ts\": [\n        \"./node_modules/@types/node/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\": [\n        \"./node_modules/@types/source-list-map/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/index.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\": [\n        \"./node_modules/@types/source-list-map/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/source.d.ts\": [\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\": [\n        \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n        \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\"\n      ],\n      \"./node_modules/@types/webpack/index.d.ts\": [\n        \"./node_modules/@types/anymatch/index.d.ts\",\n        \"./node_modules/@types/node/crypto.d.ts\",\n        \"./node_modules/@types/node/index.d.ts\",\n        \"./node_modules/@types/uglify-js/index.d.ts\",\n        \"./node_modules/@types/webpack-sources/index.d.ts\",\n        \"./node_modules/source-map/source-map.d.ts\",\n        \"./node_modules/tapable/tapable.d.ts\"\n      ],\n      \"./src/components/alert/index.ts\": [\n        \"./src/components/alert/alert.ts\"\n      ],\n      \"./src/components/avatar/index.ts\": [\n        \"./src/components/avatar/avatar.ts\"\n      ],\n      \"./src/components/back-top/index.ts\": [\n        \"./src/components/back-top/back-top.ts\"\n      ],\n      \"./src/components/badge/index.ts\": [\n        \"./src/components/badge/badge.ts\"\n      ],\n      \"./src/components/button/index.ts\": [\n        \"./src/components/button/button.ts\"\n      ],\n      \"./src/components/card/index.ts\": [\n        \"./src/components/card/card.ts\"\n      ],\n      \"./src/components/collapse/index.ts\": [\n        \"./src/components/collapse/collapse.ts\"\n      ],\n      \"./src/components/divider/index.ts\": [\n        \"./src/components/divider/divider.ts\"\n      ],\n      \"./src/components/drawer/index.ts\": [\n        \"./src/components/drawer/drawer.ts\"\n      ],\n      \"./src/components/dropdown/index.ts\": [\n        \"./src/components/dropdown/dropdown.ts\"\n      ],\n      \"./src/components/loading-bar/index.ts\": [\n        \"./src/components/loading-bar/loading-bar.ts\"\n      ],\n      \"./src/components/message/index.ts\": [\n        \"./src/components/message/message.ts\"\n      ],\n      \"./src/components/modal/index.ts\": [\n        \"./src/components/modal/modal.ts\"\n      ],\n      \"./src/components/notice/index.ts\": [\n        \"./src/components/notice/notice.ts\"\n      ],\n      \"./src/components/poptip/index.ts\": [\n        \"./src/components/poptip/poptip.ts\"\n      ],\n      \"./src/components/progress/index.ts\": [\n        \"./src/components/progress/progress.ts\"\n      ],\n      \"./src/components/result/index.ts\": [\n        \"./src/components/result/result.ts\"\n      ],\n      \"./src/components/skeleton/index.ts\": [\n        \"./src/components/skeleton/skeleton.ts\"\n      ],\n      \"./src/components/spin/index.ts\": [\n        \"./src/components/spin/spin.ts\"\n      ],\n      \"./src/components/steps/index.ts\": [\n        \"./src/components/steps/steps.ts\"\n      ],\n      \"./src/components/switch/index.ts\": [\n        \"./src/components/switch/switch.ts\"\n      ],\n      \"./src/components/tabs/index.ts\": [\n        \"./src/components/tabs/tabs.ts\"\n      ],\n      \"./src/components/time/index.ts\": [\n        \"./src/components/time/time.ts\"\n      ],\n      \"./src/components/timeline/index.ts\": [\n        \"./src/components/timeline/timeline.ts\"\n      ],\n      \"./src/components/tooltip/index.ts\": [\n        \"./src/components/tooltip/tooltip.ts\"\n      ],\n      \"./src/dom-utils/index.ts\": [\n        \"./src/dom-utils/bind.ts\",\n        \"./src/dom-utils/elem.ts\",\n        \"./src/dom-utils/prev&next.ts\",\n        \"./src/dom-utils/remove-attrs.ts\",\n        \"./src/dom-utils/siblings.ts\",\n        \"./src/dom-utils/slide.ts\"\n      ],\n      \"./src/index.ts\": [\n        \"./src/rabbit-design.ts\"\n      ],\n      \"./src/mixins/index.ts\": [\n        \"./src/mixins/arrow.ts\",\n        \"./src/mixins/cb-promise.ts\",\n        \"./src/mixins/click-outside.ts\",\n        \"./src/mixins/css-transition.ts\",\n        \"./src/mixins/scrollable.ts\",\n        \"./src/mixins/tooltip.ts\",\n        \"./src/mixins/warn.ts\"\n      ],\n      \"./src/rabbit-design.ts\": [\n        \"./src/components/alert/index.ts\",\n        \"./src/components/avatar/index.ts\",\n        \"./src/components/back-top/index.ts\",\n        \"./src/components/badge/index.ts\",\n        \"./src/components/button/index.ts\",\n        \"./src/components/card/index.ts\",\n        \"./src/components/collapse/index.ts\",\n        \"./src/components/divider/index.ts\",\n        \"./src/components/drawer/index.ts\",\n        \"./src/components/dropdown/index.ts\",\n        \"./src/components/loading-bar/index.ts\",\n        \"./src/components/message/index.ts\",\n        \"./src/components/modal/index.ts\",\n        \"./src/components/notice/index.ts\",\n        \"./src/components/poptip/index.ts\",\n        \"./src/components/progress/index.ts\",\n        \"./src/components/result/index.ts\",\n        \"./src/components/skeleton/index.ts\",\n        \"./src/components/spin/index.ts\",\n        \"./src/components/steps/index.ts\",\n        \"./src/components/switch/index.ts\",\n        \"./src/components/tabs/index.ts\",\n        \"./src/components/time/index.ts\",\n        \"./src/components/timeline/index.ts\",\n        \"./src/components/tooltip/index.ts\"\n      ],\n      \"./src/utils/index.ts\": [\n        \"./src/utils/check-type.ts\",\n        \"./src/utils/destroy.ts\",\n        \"./src/utils/use-html-string.ts\",\n        \"./src/utils/validcomps.ts\"\n      ]\n    },\n    \"semanticDiagnosticsPerFile\": [\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.dom.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.dom.iterable.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.collection.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.core.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.generator.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.iterable.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.promise.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.proxy.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.reflect.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.array.include.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.intl.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.object.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.string.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.intl.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.promise.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.regexp.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.bigint.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es5.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.esnext.intl.d.ts\",\n      \"../../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.scripthost.d.ts\",\n      \"./node_modules/@popperjs/core/index.d.ts\",\n      \"./node_modules/@popperjs/core/lib/createpopper.d.ts\",\n      \"./node_modules/@popperjs/core/lib/enums.d.ts\",\n      \"./node_modules/@popperjs/core/lib/index.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/arrow.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/flip.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/hide.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/index.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/offset.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts\",\n      \"./node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts\",\n      \"./node_modules/@popperjs/core/lib/popper-lite.d.ts\",\n      \"./node_modules/@popperjs/core/lib/popper.d.ts\",\n      \"./node_modules/@popperjs/core/lib/types.d.ts\",\n      \"./node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts\",\n      \"./node_modules/@types/anymatch/index.d.ts\",\n      \"./node_modules/@types/eslint-scope/index.d.ts\",\n      \"./node_modules/@types/eslint/helpers.d.ts\",\n      \"./node_modules/@types/eslint/index.d.ts\",\n      \"./node_modules/@types/estree/index.d.ts\",\n      \"./node_modules/@types/glob/index.d.ts\",\n      \"./node_modules/@types/html-minifier-terser/index.d.ts\",\n      \"./node_modules/@types/json-schema/index.d.ts\",\n      \"./node_modules/@types/minimatch/index.d.ts\",\n      \"./node_modules/@types/node/assert.d.ts\",\n      \"./node_modules/@types/node/async_hooks.d.ts\",\n      \"./node_modules/@types/node/base.d.ts\",\n      \"./node_modules/@types/node/buffer.d.ts\",\n      \"./node_modules/@types/node/child_process.d.ts\",\n      \"./node_modules/@types/node/cluster.d.ts\",\n      \"./node_modules/@types/node/console.d.ts\",\n      \"./node_modules/@types/node/constants.d.ts\",\n      \"./node_modules/@types/node/crypto.d.ts\",\n      \"./node_modules/@types/node/dgram.d.ts\",\n      \"./node_modules/@types/node/dns.d.ts\",\n      \"./node_modules/@types/node/domain.d.ts\",\n      \"./node_modules/@types/node/events.d.ts\",\n      \"./node_modules/@types/node/fs.d.ts\",\n      \"./node_modules/@types/node/fs/promises.d.ts\",\n      \"./node_modules/@types/node/globals.d.ts\",\n      \"./node_modules/@types/node/globals.global.d.ts\",\n      \"./node_modules/@types/node/http.d.ts\",\n      \"./node_modules/@types/node/http2.d.ts\",\n      \"./node_modules/@types/node/https.d.ts\",\n      \"./node_modules/@types/node/index.d.ts\",\n      \"./node_modules/@types/node/inspector.d.ts\",\n      \"./node_modules/@types/node/module.d.ts\",\n      \"./node_modules/@types/node/net.d.ts\",\n      \"./node_modules/@types/node/os.d.ts\",\n      \"./node_modules/@types/node/path.d.ts\",\n      \"./node_modules/@types/node/perf_hooks.d.ts\",\n      \"./node_modules/@types/node/process.d.ts\",\n      \"./node_modules/@types/node/punycode.d.ts\",\n      \"./node_modules/@types/node/querystring.d.ts\",\n      \"./node_modules/@types/node/readline.d.ts\",\n      \"./node_modules/@types/node/repl.d.ts\",\n      \"./node_modules/@types/node/stream.d.ts\",\n      \"./node_modules/@types/node/string_decoder.d.ts\",\n      \"./node_modules/@types/node/timers.d.ts\",\n      \"./node_modules/@types/node/tls.d.ts\",\n      \"./node_modules/@types/node/trace_events.d.ts\",\n      \"./node_modules/@types/node/ts3.4/base.d.ts\",\n      \"./node_modules/@types/node/ts3.6/base.d.ts\",\n      \"./node_modules/@types/node/tty.d.ts\",\n      \"./node_modules/@types/node/url.d.ts\",\n      \"./node_modules/@types/node/util.d.ts\",\n      \"./node_modules/@types/node/v8.d.ts\",\n      \"./node_modules/@types/node/vm.d.ts\",\n      \"./node_modules/@types/node/wasi.d.ts\",\n      \"./node_modules/@types/node/worker_threads.d.ts\",\n      \"./node_modules/@types/node/zlib.d.ts\",\n      \"./node_modules/@types/parse-json/index.d.ts\",\n      \"./node_modules/@types/q/index.d.ts\",\n      \"./node_modules/@types/source-list-map/index.d.ts\",\n      \"./node_modules/@types/tapable/index.d.ts\",\n      \"./node_modules/@types/uglify-js/index.d.ts\",\n      \"./node_modules/@types/webpack-sources/index.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/cachedsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/compatsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/concatsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/index.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/originalsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/prefixsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/rawsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/replacesource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/source.d.ts\",\n      \"./node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts\",\n      \"./node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts\",\n      [\n        \"./node_modules/@types/webpack/index.d.ts\",\n        [\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 1707,\n            \"length\": 7,\n            \"messageText\": \"Module '\\\"../../tapable/tapable\\\"' has no exported member 'Tapable'.\",\n            \"category\": 1,\n            \"code\": 2305\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44271,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44311,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44357,\n            \"length\": 24,\n            \"messageText\": \"Generic type 'AsyncSeriesWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44409,\n            \"length\": 24,\n            \"messageText\": \"Generic type 'AsyncSeriesWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44461,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44495,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44540,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44635,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44667,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44903,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44938,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 44983,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45035,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45090,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45126,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45169,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45206,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45239,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45286,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45324,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45368,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45417,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45465,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45512,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45565,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45611,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45660,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45706,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45750,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45786,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45819,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45854,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45887,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45924,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 45960,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46000,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46030,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46067,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46113,\n            \"length\": 7,\n            \"messageText\": \"Generic type 'HookMap<H>' requires 1 type argument(s).\",\n            \"category\": 1,\n            \"code\": 2314\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46169,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46226,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46265,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46471,\n            \"length\": 24,\n            \"messageText\": \"Generic type 'AsyncSeriesWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46523,\n            \"length\": 24,\n            \"messageText\": \"Generic type 'AsyncSeriesWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46581,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 46626,\n            \"length\": 24,\n            \"messageText\": \"Generic type 'AsyncSeriesWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47200,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47228,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47278,\n            \"length\": 22,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47336,\n            \"length\": 22,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47402,\n            \"length\": 22,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47508,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47553,\n            \"length\": 22,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47606,\n            \"length\": 22,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 47667,\n            \"length\": 22,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 48452,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49232,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49265,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49407,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49456,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49501,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49651,\n            \"length\": 15,\n            \"messageText\": \"Generic type 'AsyncSeriesHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49923,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 49960,\n            \"length\": 15,\n            \"messageText\": \"Generic type 'AsyncSeriesHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50213,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50254,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50363,\n            \"length\": 21,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50423,\n            \"length\": 21,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50491,\n            \"length\": 21,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50842,\n            \"length\": 40,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50905,\n            \"length\": 40,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 50978,\n            \"length\": 40,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51047,\n            \"length\": 40,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51112,\n            \"length\": 40,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51180,\n            \"length\": 40,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51833,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51872,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51911,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51951,\n            \"length\": 17,\n            \"messageText\": \"Generic type 'SyncWaterfallHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 51988,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 55317,\n            \"length\": 25,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 55414,\n            \"length\": 15,\n            \"messageText\": \"Generic type 'AsyncSeriesHook<T, AdditionalOptions>' requires between 1 and 2 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 56292,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 56327,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 56367,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 56496,\n            \"length\": 12,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 57326,\n            \"length\": 8,\n            \"messageText\": \"Generic type 'SyncHook<T, R, AdditionalOptions>' requires between 1 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          },\n          {\n            \"file\": \"./node_modules/@types/webpack/index.d.ts\",\n            \"start\": 60245,\n            \"length\": 37,\n            \"messageText\": \"Generic type 'SyncBailHook<T, R, AdditionalOptions>' requires between 2 and 3 type arguments.\",\n            \"category\": 1,\n            \"code\": 2707\n          }\n        ]\n      ],\n      \"./node_modules/moment/ts3.1-typings/moment.d.ts\",\n      \"./node_modules/source-map/source-map.d.ts\",\n      \"./node_modules/tapable/tapable.d.ts\",\n      \"./node_modules/tslib/tslib.d.ts\",\n      \"./src/components/alert/alert.ts\",\n      \"./src/components/alert/index.ts\",\n      \"./src/components/avatar/avatar.ts\",\n      \"./src/components/avatar/index.ts\",\n      \"./src/components/back-top/back-top.ts\",\n      \"./src/components/back-top/index.ts\",\n      \"./src/components/badge/badge.ts\",\n      \"./src/components/badge/index.ts\",\n      \"./src/components/button/button.ts\",\n      \"./src/components/button/index.ts\",\n      \"./src/components/card/card.ts\",\n      \"./src/components/card/index.ts\",\n      [\n        \"./src/components/collapse/collapse.ts\",\n        [\n          {\n            \"file\": \"./src/components/collapse/collapse.ts\",\n            \"start\": 3553,\n            \"length\": 16,\n            \"code\": 2345,\n            \"category\": 1,\n            \"messageText\": {\n              \"messageText\": \"Argument of type '(string | number)[]' is not assignable to parameter of type 'string | number | string[] | number[]'.\",\n              \"category\": 1,\n              \"code\": 2345,\n              \"next\": [\n                {\n                  \"messageText\": \"Type '(string | number)[]' is not assignable to type 'string[]'.\",\n                  \"category\": 1,\n                  \"code\": 2322,\n                  \"next\": [\n                    {\n                      \"messageText\": \"Type 'string | number' is not assignable to type 'string'.\",\n                      \"category\": 1,\n                      \"code\": 2322,\n                      \"next\": [\n                        {\n                          \"messageText\": \"Type 'number' is not assignable to type 'string'.\",\n                          \"category\": 1,\n                          \"code\": 2322\n                        }\n                      ]\n                    }\n                  ]\n                }\n              ]\n            }\n          },\n          {\n            \"file\": \"./src/components/collapse/collapse.ts\",\n            \"start\": 3736,\n            \"length\": 16,\n            \"code\": 2345,\n            \"category\": 1,\n            \"messageText\": {\n              \"messageText\": \"Argument of type '(string | number)[]' is not assignable to parameter of type 'string | number | string[] | number[]'.\",\n              \"category\": 1,\n              \"code\": 2345,\n              \"next\": [\n                {\n                  \"messageText\": \"Type '(string | number)[]' is not assignable to type 'string[]'.\",\n                  \"category\": 1,\n                  \"code\": 2322\n                }\n              ]\n            }\n          }\n        ]\n      ],\n      \"./src/components/collapse/index.ts\",\n      \"./src/components/divider/divider.ts\",\n      \"./src/components/divider/index.ts\",\n      \"./src/components/drawer/drawer.ts\",\n      \"./src/components/drawer/index.ts\",\n      \"./src/components/dropdown/dropdown.ts\",\n      \"./src/components/dropdown/index.ts\",\n      \"./src/components/loading-bar/index.ts\",\n      \"./src/components/loading-bar/loading-bar.ts\",\n      \"./src/components/message/index.ts\",\n      \"./src/components/message/message.ts\",\n      \"./src/components/modal/index.ts\",\n      \"./src/components/modal/modal.ts\",\n      \"./src/components/notice/index.ts\",\n      \"./src/components/notice/notice.ts\",\n      \"./src/components/poptip/index.ts\",\n      \"./src/components/poptip/poptip.ts\",\n      \"./src/components/prefix.ts\",\n      \"./src/components/progress/index.ts\",\n      \"./src/components/progress/progress.ts\",\n      \"./src/components/result/index.ts\",\n      \"./src/components/result/result.ts\",\n      \"./src/components/skeleton/index.ts\",\n      \"./src/components/skeleton/skeleton.ts\",\n      \"./src/components/spin/index.ts\",\n      \"./src/components/spin/spin.ts\",\n      \"./src/components/steps/index.ts\",\n      \"./src/components/steps/steps.ts\",\n      \"./src/components/switch/index.ts\",\n      \"./src/components/switch/switch.ts\",\n      \"./src/components/tabs/index.ts\",\n      \"./src/components/tabs/tabs.ts\",\n      \"./src/components/time/index.ts\",\n      \"./src/components/time/time.ts\",\n      \"./src/components/timeline/index.ts\",\n      \"./src/components/timeline/timeline.ts\",\n      \"./src/components/tooltip/index.ts\",\n      \"./src/components/tooltip/tooltip.ts\",\n      \"./src/dom-utils/bind.ts\",\n      \"./src/dom-utils/elem.ts\",\n      \"./src/dom-utils/index.ts\",\n      \"./src/dom-utils/prev&next.ts\",\n      \"./src/dom-utils/remove-attrs.ts\",\n      \"./src/dom-utils/siblings.ts\",\n      \"./src/dom-utils/slide.ts\",\n      \"./src/images.d.ts\",\n      \"./src/index.ts\",\n      \"./src/mixins/arrow.ts\",\n      \"./src/mixins/cb-promise.ts\",\n      \"./src/mixins/click-outside.ts\",\n      \"./src/mixins/css-transition.ts\",\n      \"./src/mixins/index.ts\",\n      \"./src/mixins/scrollable.ts\",\n      \"./src/mixins/tooltip.ts\",\n      \"./src/mixins/warn.ts\",\n      \"./src/rabbit-design.ts\",\n      \"./src/utils/check-type.ts\",\n      \"./src/utils/destroy.ts\",\n      \"./src/utils/index.ts\",\n      \"./src/utils/use-html-string.ts\",\n      \"./src/utils/validcomps.ts\"\n    ]\n  },\n  \"version\": \"4.0.3\"\n}"
  },
  {
    "path": "workspace.code-workspace",
    "content": "{\n    \"folders\": [\n        {\n            \"path\": \".\"\n        }\n    ],\n    \"settings\": {}\n}\n"
  }
]