├── .gitignore
├── LICENSE
├── README.md
├── docs
├── asset-manifest.json
├── favicon.ico
├── index.html
├── manifest.json
├── service-worker.js
└── static
│ ├── css
│ ├── main.7a169648.css
│ └── main.7a169648.css.map
│ └── js
│ ├── main.b26813c1.js
│ └── main.b26813c1.js.map
├── images.d.ts
├── module.d.ts
├── package.json
├── public
├── favicon.ico
├── index.html
└── manifest.json
├── src
├── App.tsx
├── Context.tsx
├── components
│ ├── codebox
│ │ ├── CodeBox.tsx
│ │ └── style
│ │ │ ├── index.css
│ │ │ └── index.tsx
│ ├── footer
│ │ ├── Footer.tsx
│ │ └── style
│ │ │ ├── index.css
│ │ │ └── index.tsx
│ ├── header
│ │ ├── Header.tsx
│ │ └── style
│ │ │ ├── index.css
│ │ │ └── index.tsx
│ ├── main
│ │ ├── Main.tsx
│ │ └── style
│ │ │ ├── index.css
│ │ │ └── index.tsx
│ └── navbar
│ │ ├── NavBar.tsx
│ │ └── style
│ │ ├── index.css
│ │ └── index.tsx
├── index.tsx
├── pages
│ ├── ButtonPage.tsx
│ ├── IconPage.tsx
│ ├── InstallPage.tsx
│ ├── StartPage.tsx
│ └── TablePage.tsx
├── registerServiceWorker.ts
├── style
│ ├── App.css
│ └── global.css
└── utils
│ ├── classes.ts
│ └── index.ts
├── tsconfig.json
├── tsconfig.prod.json
├── tsconfig.test.json
├── tslint.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env.local
15 | .env.development.local
16 | .env.test.local
17 | .env.production.local
18 |
19 | npm-debug.log*
20 | yarn-debug.log*
21 | yarn-error.log*
22 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Blame
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Xue-press
2 |
3 | ## 一个基于 [Xue-react](https://github.com/BlameDeng/xue-react) 的 React 组件库文档模板(风格类似 ant-design)
4 |
5 | 
6 |
7 | ## 使用
8 |
9 | ### 克隆项目到本地
10 |
11 | ```
12 | $ git clone git@github.com:BlameDeng/xue-press.git
13 | ```
14 |
15 | ### 安装依赖
16 |
17 | ```
18 | $ npm install
19 | $ yarn
20 | ```
21 |
22 | ### 本地开发
23 |
24 | ```
25 | $ npm start
26 | $ yarn start
27 | ```
28 |
29 | ### 构建打包
30 |
31 | ```
32 | $ npm build
33 | $ yarn build
34 | ```
35 |
36 | ### 开发说明
37 |
38 | #### 路由配置
39 |
40 | XuePress 的路由导航使用了 [Xue-react](https://github.com/BlameDeng/xue-react) 的 Menu 组件。通过修改 App 组件的 routes 状态来修改路由,其相关属性配置可参考接口及注释说明。需要注意的是,当子元素定义了 children 属性时,该元素将被渲染为 SubMenu 组件,否则将被渲染为 MenuItem 组件。
41 | 示例:
42 |
43 | ```javascript
44 | {
45 | path: '/install',
46 | content: 'Install',
47 | page: InstallPage
48 | }
49 | ```
50 |
51 | 此数据结构将被渲染为:
52 |
53 | ```html
54 |
55 | ```
56 |
57 | 点击此组件路由将跳转至 '/install',对应页面为 InstallPage 组件。
58 |
59 | ```js
60 | {
61 | path: '/data',
62 | content: '数据',
63 | itemGroup: true,
64 | showArrow: false,
65 | children: [
66 | {
67 | path: '/table',
68 | content: 'Table',
69 | page: TablePage
70 | }
71 | ]
72 | }
73 | ```
74 |
75 | 这个数据结构将被渲染为:
76 |
77 | ```html
78 |
79 |
80 |
81 | ```
82 |
83 | #### 页面配置
84 |
85 | 一个完整的示例模板为:
86 |
87 | ```html
88 |
89 |
效果展示区
90 |
94 | {'折叠代码区'}
95 |
96 |
97 | ```
98 |
99 | 在 container 中写入效果展示代码(组件),在折叠代码区写入需要展示的代码(自行使用代码高亮插件)。
100 |
101 | 保持 ButtonPage.tsx 中的 JSX 结构即可使用与示例一致的样式,只需要根据组件的不同而修改文本描述即可。
102 |
103 | Header、Main、Footer 组件均可自定义类名及样式。Header、Footer 内容均可自定义。
104 |
105 | ### 完整效果可预览 [Xue-react文档](https://blamedeng.github.io/xue-react)。
106 |
107 | ### 如果这个项目对你有帮助,请不要吝惜你的 Star。
108 |
--------------------------------------------------------------------------------
/docs/asset-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "main.css": "static/css/main.7a169648.css",
3 | "main.css.map": "static/css/main.7a169648.css.map",
4 | "main.js": "static/js/main.b26813c1.js",
5 | "main.js.map": "static/js/main.b26813c1.js.map"
6 | }
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BlameDeng/xue-press/e47a51cbf7c4cecf46f0c57135611ca0a42aec72/docs/favicon.ico
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 | XuePress
--------------------------------------------------------------------------------
/docs/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/docs/service-worker.js:
--------------------------------------------------------------------------------
1 | "use strict";var precacheConfig=[["./index.html","b1a2dd46765d8f5c2f63003a5dbc86bc"],["./static/css/main.7a169648.css","4d59900e9421ec9a7847c91f1be92100"],["./static/js/main.b26813c1.js","5b5454f83ee73fcaaabc4d890085e700"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(t){return t.redirected?("body"in t?Promise.resolve(t.body):t.blob()).then(function(e){return new Response(e,{headers:t.headers,status:t.status,statusText:t.statusText})}):Promise.resolve(t)},createCacheKey=function(e,t,n,r){var a=new URL(e);return r&&a.pathname.match(r)||(a.search+=(a.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),a.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,n){var t=new URL(e);return t.hash="",t.search=t.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(t){return n.every(function(e){return!e.test(t[0])})}).map(function(e){return e.join("=")}).join("&"),t.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],r=new URL(t,self.location),a=createCacheKey(r,hashParamName,n,/\.\w{8}\./);return[r.toString(),a]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(r){return setOfCachedUrls(r).then(function(n){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(t){if(!n.has(t)){var e=new Request(t,{credentials:"same-origin"});return fetch(e).then(function(e){if(!e.ok)throw new Error("Request for "+t+" returned a response with status "+e.status);return cleanResponse(e).then(function(e){return r.put(t,e)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var n=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(t){return t.keys().then(function(e){return Promise.all(e.map(function(e){if(!n.has(e.url))return t.delete(e)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(t){if("GET"===t.request.method){var e,n=stripIgnoredUrlParameters(t.request.url,ignoreUrlParametersMatching),r="index.html";(e=urlsToCacheKeys.has(n))||(n=addDirectoryIndex(n,r),e=urlsToCacheKeys.has(n));var a="./index.html";!e&&"navigate"===t.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],t.request.url)&&(n=new URL(a,self.location).toString(),e=urlsToCacheKeys.has(n)),e&&t.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(e){return console.warn('Couldn\'t serve response for "%s" from cache: %O',t.request.url,e),fetch(t.request)}))}});
--------------------------------------------------------------------------------
/docs/static/css/main.7a169648.css:
--------------------------------------------------------------------------------
1 | .xue-press-header{width:100%;height:60px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15)}.xue-press-main{width:100%;-ms-flex-positive:1;flex-grow:1;padding-top:20px;display:-ms-flexbox;display:flex}.xue-press-footer{width:100%;height:70px;color:#fff;background-color:#34383b}.example{max-width:1000px;margin:20px auto}.example .container{padding:40px 32px;border:1px solid rgba(0,0,0,.15);border-bottom:none;border-top-right-radius:4px;border-top-left-radius:4px}.code-example-box{position:relative}.code-example-box .code-title{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;background-color:#fff;font-size:14px;color:rgba(0,0,0,.85);position:absolute;top:-11px;left:32px;line-height:22px;z-index:1;padding:0 8px;cursor:default;border-radius:4px}.code-example-box .code-description{padding:18px 32px;border:1px solid rgba(0,0,0,.15);border-bottom-left-radius:4px;border-bottom-right-radius:4px;position:relative;font-size:14px;line-height:22px;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65)}.code-example-box .code-description.code-visible{border-bottom-left-radius:0;border-bottom-right-radius:0}.code-example-box .code-description .icon-wrapper{color:rgba(0,0,0,.45);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;cursor:pointer;position:absolute;bottom:18px;right:12px}.code-example-box .code-example{background-color:#282828;color:#d4d4d4;font-size:16px;line-height:30px;font-weight:500;padding:18px 32px;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.label{color:gray}.component{color:#4ec9b0}.htmltag{color:#569cd6}.htmlstr{color:#d4d4d4}.string{color:#ce9178}.property{color:#9cdcfe}.keyword{color:#c586c0}.method{color:#dcdcaa}.text{color:#d4d4d4}.num{color:#b5cea8}.pop-content-code-tips{color:hsla(0,0%,100%,.85);font-size:12px;font-weight:500;line-height:22px;padding:4px 8px;white-space:nowrap}#root,.App,body,html{min-height:100vh}.App{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start}section{padding:20px;padding-bottom:0;padding-left:25px;max-width:1000px;margin:0 auto}section.sub{padding-top:0}section h1,section h2,section h3{color:#0d1a26}section .text{font-size:14px;font-weight:400;line-height:22px;color:rgba(0,0,0,.65)}.api-table,.method-table{width:100%;max-width:1000px;margin:0 auto;border-collapse:collapse}.api-table td,.api-table th,.method-table td,.method-table th{font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.65);min-width:120px;max-width:250px;text-align:center;padding:15px 10px;border-bottom:1px solid rgba(0,0,0,.15)}.api-table td.des,.api-table td.type,.api-table th.des,.api-table th.type,.method-table td.des,.method-table td.type,.method-table th.des,.method-table th.type{text-align:start;min-width:100px;max-width:300px}.api-table td.params,.api-table td.type,.method-table td.params,.method-table td.type{color:#c41d7f}.api-table th,.method-table th{background-color:rgba(0,0,0,.04);font-weight:500}a.link{color:#1890ff;margin:0 4px}*,:after,:before{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\\5FAE\8F6F\96C5\9ED1,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:20px;margin-top:8px;color:rgba(0,0,0,.85)}h1{font-size:30px;line-height:38px}h2{font-size:24px;line-height:32px}h3{font-size:18px;line-height:26px}h4{font-size:14px;line-height:22px}a{text-decoration:none;color:#1890ff}p{margin:14px 0;line-height:2em}img{vertical-align:top;border:none}.xue-react-wave-animation-animating{position:relative}.xue-react-wave-animation-animating:before{content:"";display:block;background-color:inherit;pointer-events:none;position:absolute;z-index:1;top:-1px;left:-1px;bottom:-1px;right:-1px;border-radius:inherit;border:0 solid;border-color:inherit;opacity:.3;-webkit-animation:xue-react-wave-animation .3s ease-in-out forwards;animation:xue-react-wave-animation .3s ease-in-out forwards;-ms-flex-negative:0;flex-shrink:0}@-webkit-keyframes xue-react-wave-animation{to{top:-6px;left:-6px;bottom:-6px;right:-6px;border-width:6px;opacity:0}}@keyframes xue-react-wave-animation{to{top:-6px;left:-6px;bottom:-6px;right:-6px;border-width:6px;opacity:0}}.xue-icon{fill:currentColor;vertical-align:top;overflow:hidden}.xue-button,.xue-icon{display:-ms-inline-flexbox;display:inline-flex}.xue-button{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:14px;line-height:22px;padding:4px 15px;border:1px solid;color:rgba(0,0,0,.65);border-color:rgba(0,0,0,.15);border-radius:4px;background-color:#fff;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-button>.loading{-webkit-animation:button-loading-spin 1s linear infinite;animation:button-loading-spin 1s linear infinite}.xue-button>.xue-button-inner{font-size:14px;line-height:22px}.xue-button.large{font-size:16px;line-height:24px;padding:6px 15px}.xue-button.small{font-size:12px;line-height:20px;padding:2px 10px}.xue-button>.xue-button-inner{font-size:inherit;line-height:inherit}.xue-button>.xue-button-icon.small{width:12px;height:12px}.xue-button>.xue-button-icon.medium{width:14px;height:14px}.xue-button>.xue-button-icon.large{width:16px;height:16px}.xue-button.left>.xue-button-icon{margin-right:2px;-ms-flex-order:1;order:1}.xue-button.left>.xue-button-inner{-ms-flex-order:2;order:2}.xue-button.right>.xue-button-icon{margin-left:2px;-ms-flex-order:2;order:2}.xue-button.right>.xue-button-inner{-ms-flex-order:1;order:1}.xue-button.ghost{color:#fff;border-color:#fff;background-color:transparent}.xue-button:focus,.xue-button:hover{color:#1890ff;border-color:#1890ff;z-index:1}.xue-button:focus{outline:none}.xue-button.dashed{border-style:dashed}.xue-button.primary{color:#fff;background-color:#1890ff;border-color:#1890ff}.xue-button.primary:hover{background-color:#40a9ff;border-color:#40a9ff}.xue-button.primary.ghost{color:#1890ff;border-color:#1890ff;background-color:transparent}.xue-button.primary.ghost:hover{color:#40a9ff;border-color:#40a9ff}.xue-button.primary.disabled{background-color:#e6e6e6;cursor:not-allowed}.xue-button.primary.disabled,.xue-button.primary.disabled:hover{color:rgba(0,0,0,.25);border-color:#d9d9d9}.xue-button.danger{color:#f5222d;background-color:#f5f5f5}.xue-button.danger:hover{color:#fff;background-color:#f5222d;border-color:#f5222d}.xue-button.danger:focus{color:#f5222d;background-color:#fff;border-color:#f5222d}.xue-button.danger:focus.disabled{border-color:#d9d9d9;color:rgba(0,0,0,.25);background-color:#e6e6e6}.xue-button.danger.ghost{color:#f5222d;border-color:#f5222d;background-color:transparent}.xue-button.danger.ghost:hover{color:#f7535b;border-color:#f7535b}.xue-button.danger.disabled{background-color:#e6e6e6}.xue-button.danger.ghost.disabled{border-color:#fff;color:rgba(0,0,0,.25);background-color:transparent}.xue-button.disabled{background-color:#e6e6e6;cursor:not-allowed}.xue-button.disabled,.xue-button.disabled:hover{color:rgba(0,0,0,.25);border-color:#d9d9d9}.xue-button.ghost.disabled{background-color:transparent}@-webkit-keyframes button-loading-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes button-loading-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.xue-buttongroup{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-buttongroup>.xue-button{border-radius:0}.xue-buttongroup>.xue-button:not(:first-child){margin-left:-1px}.xue-buttongroup>.xue-button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.xue-buttongroup>.xue-button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.xue-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.xue-col.col-span-1{width:4.16667%}.xue-col.col-span-2{width:8.33333%}.xue-col.col-span-3{width:12.5%}.xue-col.col-span-4{width:16.66667%}.xue-col.col-span-5{width:20.83333%}.xue-col.col-span-6{width:25%}.xue-col.col-span-7{width:29.16667%}.xue-col.col-span-8{width:33.33333%}.xue-col.col-span-9{width:37.5%}.xue-col.col-span-10{width:41.66667%}.xue-col.col-span-11{width:45.83333%}.xue-col.col-span-12{width:50%}.xue-col.col-span-13{width:54.16667%}.xue-col.col-span-14{width:58.33333%}.xue-col.col-span-15{width:62.5%}.xue-col.col-span-16{width:66.66667%}.xue-col.col-span-17{width:70.83333%}.xue-col.col-span-18{width:75%}.xue-col.col-span-19{width:79.16667%}.xue-col.col-span-20{width:83.33333%}.xue-col.col-span-21{width:87.5%}.xue-col.col-span-22{width:91.66667%}.xue-col.col-span-23{width:95.83333%}.xue-col.col-span-24{width:100%}.xue-col.col-offset-1{margin-left:4.16667%}.xue-col.col-offset-2{margin-left:8.33333%}.xue-col.col-offset-3{margin-left:12.5%}.xue-col.col-offset-4{margin-left:16.66667%}.xue-col.col-offset-5{margin-left:20.83333%}.xue-col.col-offset-6{margin-left:25%}.xue-col.col-offset-7{margin-left:29.16667%}.xue-col.col-offset-8{margin-left:33.33333%}.xue-col.col-offset-9{margin-left:37.5%}.xue-col.col-offset-10{margin-left:41.66667%}.xue-col.col-offset-11{margin-left:45.83333%}.xue-col.col-offset-12{margin-left:50%}.xue-col.col-offset-13{margin-left:54.16667%}.xue-col.col-offset-14{margin-left:58.33333%}.xue-col.col-offset-15{margin-left:62.5%}.xue-col.col-offset-16{margin-left:66.66667%}.xue-col.col-offset-17{margin-left:70.83333%}.xue-col.col-offset-18{margin-left:75%}.xue-col.col-offset-19{margin-left:79.16667%}.xue-col.col-offset-20{margin-left:83.33333%}.xue-col.col-offset-21{margin-left:87.5%}.xue-col.col-offset-22{margin-left:91.66667%}.xue-col.col-offset-23{margin-left:95.83333%}.xue-col.col-offset-24{margin-left:100%}.xue-col.col-span-0{display:none}@media (min-width:577px){.xue-col.sm-col-span-1{width:4.16667%}.xue-col.sm-col-span-2{width:8.33333%}.xue-col.sm-col-span-3{width:12.5%}.xue-col.sm-col-span-4{width:16.66667%}.xue-col.sm-col-span-5{width:20.83333%}.xue-col.sm-col-span-6{width:25%}.xue-col.sm-col-span-7{width:29.16667%}.xue-col.sm-col-span-8{width:33.33333%}.xue-col.sm-col-span-9{width:37.5%}.xue-col.sm-col-span-10{width:41.66667%}.xue-col.sm-col-span-11{width:45.83333%}.xue-col.sm-col-span-12{width:50%}.xue-col.sm-col-span-13{width:54.16667%}.xue-col.sm-col-span-14{width:58.33333%}.xue-col.sm-col-span-15{width:62.5%}.xue-col.sm-col-span-16{width:66.66667%}.xue-col.sm-col-span-17{width:70.83333%}.xue-col.sm-col-span-18{width:75%}.xue-col.sm-col-span-19{width:79.16667%}.xue-col.sm-col-span-20{width:83.33333%}.xue-col.sm-col-span-21{width:87.5%}.xue-col.sm-col-span-22{width:91.66667%}.xue-col.sm-col-span-23{width:95.83333%}.xue-col.sm-col-span-24{width:100%}.xue-col.sm-col-offset-1{margin-left:4.16667%}.xue-col.sm-col-offset-2{margin-left:8.33333%}.xue-col.sm-col-offset-3{margin-left:12.5%}.xue-col.sm-col-offset-4{margin-left:16.66667%}.xue-col.sm-col-offset-5{margin-left:20.83333%}.xue-col.sm-col-offset-6{margin-left:25%}.xue-col.sm-col-offset-7{margin-left:29.16667%}.xue-col.sm-col-offset-8{margin-left:33.33333%}.xue-col.sm-col-offset-9{margin-left:37.5%}.xue-col.sm-col-offset-10{margin-left:41.66667%}.xue-col.sm-col-offset-11{margin-left:45.83333%}.xue-col.sm-col-offset-12{margin-left:50%}.xue-col.sm-col-offset-13{margin-left:54.16667%}.xue-col.sm-col-offset-14{margin-left:58.33333%}.xue-col.sm-col-offset-15{margin-left:62.5%}.xue-col.sm-col-offset-16{margin-left:66.66667%}.xue-col.sm-col-offset-17{margin-left:70.83333%}.xue-col.sm-col-offset-18{margin-left:75%}.xue-col.sm-col-offset-19{margin-left:79.16667%}.xue-col.sm-col-offset-20{margin-left:83.33333%}.xue-col.sm-col-offset-21{margin-left:87.5%}.xue-col.sm-col-offset-22{margin-left:91.66667%}.xue-col.sm-col-offset-23{margin-left:95.83333%}.xue-col.sm-col-offset-24{margin-left:100%}.xue-col.sm-col-span-0{display:none}}@media (min-width:769px){.xue-col.md-col-span-1{width:4.16667%}.xue-col.md-col-span-2{width:8.33333%}.xue-col.md-col-span-3{width:12.5%}.xue-col.md-col-span-4{width:16.66667%}.xue-col.md-col-span-5{width:20.83333%}.xue-col.md-col-span-6{width:25%}.xue-col.md-col-span-7{width:29.16667%}.xue-col.md-col-span-8{width:33.33333%}.xue-col.md-col-span-9{width:37.5%}.xue-col.md-col-span-10{width:41.66667%}.xue-col.md-col-span-11{width:45.83333%}.xue-col.md-col-span-12{width:50%}.xue-col.md-col-span-13{width:54.16667%}.xue-col.md-col-span-14{width:58.33333%}.xue-col.md-col-span-15{width:62.5%}.xue-col.md-col-span-16{width:66.66667%}.xue-col.md-col-span-17{width:70.83333%}.xue-col.md-col-span-18{width:75%}.xue-col.md-col-span-19{width:79.16667%}.xue-col.md-col-span-20{width:83.33333%}.xue-col.md-col-span-21{width:87.5%}.xue-col.md-col-span-22{width:91.66667%}.xue-col.md-col-span-23{width:95.83333%}.xue-col.md-col-span-24{width:100%}.xue-col.md-col-offset-1{margin-left:4.16667%}.xue-col.md-col-offset-2{margin-left:8.33333%}.xue-col.md-col-offset-3{margin-left:12.5%}.xue-col.md-col-offset-4{margin-left:16.66667%}.xue-col.md-col-offset-5{margin-left:20.83333%}.xue-col.md-col-offset-6{margin-left:25%}.xue-col.md-col-offset-7{margin-left:29.16667%}.xue-col.md-col-offset-8{margin-left:33.33333%}.xue-col.md-col-offset-9{margin-left:37.5%}.xue-col.md-col-offset-10{margin-left:41.66667%}.xue-col.md-col-offset-11{margin-left:45.83333%}.xue-col.md-col-offset-12{margin-left:50%}.xue-col.md-col-offset-13{margin-left:54.16667%}.xue-col.md-col-offset-14{margin-left:58.33333%}.xue-col.md-col-offset-15{margin-left:62.5%}.xue-col.md-col-offset-16{margin-left:66.66667%}.xue-col.md-col-offset-17{margin-left:70.83333%}.xue-col.md-col-offset-18{margin-left:75%}.xue-col.md-col-offset-19{margin-left:79.16667%}.xue-col.md-col-offset-20{margin-left:83.33333%}.xue-col.md-col-offset-21{margin-left:87.5%}.xue-col.md-col-offset-22{margin-left:91.66667%}.xue-col.md-col-offset-23{margin-left:95.83333%}.xue-col.md-col-offset-24{margin-left:100%}.xue-col.md-col-span-0{display:none}}@media (min-width:993px){.xue-col.lg-col-span-1{width:4.16667%}.xue-col.lg-col-span-2{width:8.33333%}.xue-col.lg-col-span-3{width:12.5%}.xue-col.lg-col-span-4{width:16.66667%}.xue-col.lg-col-span-5{width:20.83333%}.xue-col.lg-col-span-6{width:25%}.xue-col.lg-col-span-7{width:29.16667%}.xue-col.lg-col-span-8{width:33.33333%}.xue-col.lg-col-span-9{width:37.5%}.xue-col.lg-col-span-10{width:41.66667%}.xue-col.lg-col-span-11{width:45.83333%}.xue-col.lg-col-span-12{width:50%}.xue-col.lg-col-span-13{width:54.16667%}.xue-col.lg-col-span-14{width:58.33333%}.xue-col.lg-col-span-15{width:62.5%}.xue-col.lg-col-span-16{width:66.66667%}.xue-col.lg-col-span-17{width:70.83333%}.xue-col.lg-col-span-18{width:75%}.xue-col.lg-col-span-19{width:79.16667%}.xue-col.lg-col-span-20{width:83.33333%}.xue-col.lg-col-span-21{width:87.5%}.xue-col.lg-col-span-22{width:91.66667%}.xue-col.lg-col-span-23{width:95.83333%}.xue-col.lg-col-span-24{width:100%}.xue-col.lg-col-offset-1{margin-left:4.16667%}.xue-col.lg-col-offset-2{margin-left:8.33333%}.xue-col.lg-col-offset-3{margin-left:12.5%}.xue-col.lg-col-offset-4{margin-left:16.66667%}.xue-col.lg-col-offset-5{margin-left:20.83333%}.xue-col.lg-col-offset-6{margin-left:25%}.xue-col.lg-col-offset-7{margin-left:29.16667%}.xue-col.lg-col-offset-8{margin-left:33.33333%}.xue-col.lg-col-offset-9{margin-left:37.5%}.xue-col.lg-col-offset-10{margin-left:41.66667%}.xue-col.lg-col-offset-11{margin-left:45.83333%}.xue-col.lg-col-offset-12{margin-left:50%}.xue-col.lg-col-offset-13{margin-left:54.16667%}.xue-col.lg-col-offset-14{margin-left:58.33333%}.xue-col.lg-col-offset-15{margin-left:62.5%}.xue-col.lg-col-offset-16{margin-left:66.66667%}.xue-col.lg-col-offset-17{margin-left:70.83333%}.xue-col.lg-col-offset-18{margin-left:75%}.xue-col.lg-col-offset-19{margin-left:79.16667%}.xue-col.lg-col-offset-20{margin-left:83.33333%}.xue-col.lg-col-offset-21{margin-left:87.5%}.xue-col.lg-col-offset-22{margin-left:91.66667%}.xue-col.lg-col-offset-23{margin-left:95.83333%}.xue-col.lg-col-offset-24{margin-left:100%}.xue-col.lg-col-span-0{display:none}}@media (min-width:1201px){.xue-col.xl-col-span-1{width:4.16667%}.xue-col.xl-col-span-2{width:8.33333%}.xue-col.xl-col-span-3{width:12.5%}.xue-col.xl-col-span-4{width:16.66667%}.xue-col.xl-col-span-5{width:20.83333%}.xue-col.xl-col-span-6{width:25%}.xue-col.xl-col-span-7{width:29.16667%}.xue-col.xl-col-span-8{width:33.33333%}.xue-col.xl-col-span-9{width:37.5%}.xue-col.xl-col-span-10{width:41.66667%}.xue-col.xl-col-span-11{width:45.83333%}.xue-col.xl-col-span-12{width:50%}.xue-col.xl-col-span-13{width:54.16667%}.xue-col.xl-col-span-14{width:58.33333%}.xue-col.xl-col-span-15{width:62.5%}.xue-col.xl-col-span-16{width:66.66667%}.xue-col.xl-col-span-17{width:70.83333%}.xue-col.xl-col-span-18{width:75%}.xue-col.xl-col-span-19{width:79.16667%}.xue-col.xl-col-span-20{width:83.33333%}.xue-col.xl-col-span-21{width:87.5%}.xue-col.xl-col-span-22{width:91.66667%}.xue-col.xl-col-span-23{width:95.83333%}.xue-col.xl-col-span-24{width:100%}.xue-col.xl-col-offset-1{margin-left:4.16667%}.xue-col.xl-col-offset-2{margin-left:8.33333%}.xue-col.xl-col-offset-3{margin-left:12.5%}.xue-col.xl-col-offset-4{margin-left:16.66667%}.xue-col.xl-col-offset-5{margin-left:20.83333%}.xue-col.xl-col-offset-6{margin-left:25%}.xue-col.xl-col-offset-7{margin-left:29.16667%}.xue-col.xl-col-offset-8{margin-left:33.33333%}.xue-col.xl-col-offset-9{margin-left:37.5%}.xue-col.xl-col-offset-10{margin-left:41.66667%}.xue-col.xl-col-offset-11{margin-left:45.83333%}.xue-col.xl-col-offset-12{margin-left:50%}.xue-col.xl-col-offset-13{margin-left:54.16667%}.xue-col.xl-col-offset-14{margin-left:58.33333%}.xue-col.xl-col-offset-15{margin-left:62.5%}.xue-col.xl-col-offset-16{margin-left:66.66667%}.xue-col.xl-col-offset-17{margin-left:70.83333%}.xue-col.xl-col-offset-18{margin-left:75%}.xue-col.xl-col-offset-19{margin-left:79.16667%}.xue-col.xl-col-offset-20{margin-left:83.33333%}.xue-col.xl-col-offset-21{margin-left:87.5%}.xue-col.xl-col-offset-22{margin-left:91.66667%}.xue-col.xl-col-offset-23{margin-left:95.83333%}.xue-col.xl-col-offset-24{margin-left:100%}.xue-col.xl-col-span-0{display:none}}.xue-affix{width:100%}.xue-affix-wrapper{width:100%;height:100%;z-index:100}.xue-menu{display:inline-block;border-right:1px solid rgba(0,0,0,.15);z-index:80}.xue-menu,.xue-menu .xue-submenu>.xue-submenu-title{color:rgba(0,0,0,.65);background-color:#fff;position:relative}.xue-menu .xue-submenu>.xue-submenu-title{height:40px;padding:4px 34px 4px 30px;font-size:14px;font-weight:500;line-height:22px;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;cursor:pointer}.xue-menu .xue-submenu>.xue-submenu-title,.xue-menu .xue-submenu>.xue-submenu-title>.xue-submenu-title-icon-wrapper{-ms-flex-align:center;align-items:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-menu .xue-submenu>.xue-submenu-title>.xue-submenu-title-icon-wrapper{position:absolute;top:50%;right:13px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-webkit-transform:translateY(-50%) rotate(90deg);-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}.xue-menu .xue-submenu>.xue-submenu-title:hover{color:#40a9ff}.xue-menu .xue-submenu>.xue-submenu-title.active>.xue-submenu-title-icon-wrapper{-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}.xue-menu .xue-submenu.item-group>.xue-submenu-title{color:rgba(0,0,0,.35);font-size:12px;line-height:20px;font-weight:500;cursor:default}.xue-menu .xue-menuitem{height:40px;padding:4px 16px 4px 30px;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;background-color:#fff;color:rgba(0,0,0,.65);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);position:relative;font-size:14px;font-weight:400;line-height:22px}.xue-menu .xue-menuitem>.xue-menuitem-filler{position:absolute;top:0;right:0;background-color:#1890ff;width:3px;height:100%;border-radius:1px}.xue-menu .xue-menuitem:hover{color:#40a9ff}.xue-menu .xue-menuitem.active{color:#1890ff;background-color:#e6f7ff}.xue-menu .xue-submenu .xue-menuitem,.xue-menu .xue-submenu .xue-sub-menu>.xue-submenu-title{padding-left:50px}.xue-menu .xue-submenu .xue-sub-menu>.xue-submenu-children-wrapper>.xue-menuitem{padding-left:70px}.xue-menu.horizontal{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;border-right:none;border-bottom:1px solid rgba(0,0,0,.15)}.xue-menu.horizontal .xue-submenu{-ms-flex-negative:0;flex-shrink:0;position:relative}.xue-menu.horizontal .xue-submenu>.xue-submenu-title:after{content:"";display:block;position:absolute;bottom:0;left:0;background-color:#1890ff;width:100%;height:3px;border-radius:1px;opacity:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-menu.horizontal .xue-submenu>.xue-submenu-title.active,.xue-menu.horizontal .xue-submenu>.xue-submenu-title.child-selected{color:#1890ff}.xue-menu.horizontal .xue-submenu>.xue-submenu-title.child-selected:after{opacity:1}.xue-menu.horizontal .xue-submenu>.xue-submenu-children-wrapper{width:100%;position:absolute;top:40px;left:0;-webkit-box-shadow:0 4px 8px rgba(0,0,0,.15);box-shadow:0 4px 8px rgba(0,0,0,.15);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.xue-menu.horizontal .xue-menuitem{-ms-flex-negative:0;flex-shrink:0}.xue-menu.horizontal .xue-menuitem:after{content:"";display:block;position:absolute;bottom:0;left:0;background-color:#1890ff;width:100%;height:3px;border-radius:1px;opacity:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-menu.horizontal .xue-menuitem.active{background-color:#fff}.xue-menu.horizontal .xue-menuitem.active:after{opacity:1}.xue-menu.horizontal .xue-menuitem:last-child,.xue-menu.horizontal .xue-menuitem:last-child:after{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.xue-menu.horizontal .xue-submenu .xue-menuitem,.xue-menu.horizontal .xue-submenu .xue-submenu>.xue-submenu-title{padding-left:20px}.xue-menu.dark{color:hsla(0,0%,100%,.65)}.xue-menu.dark .xue-submenu>.xue-submenu-title{background-color:#001529;color:hsla(0,0%,100%,.65)}.xue-menu.dark .xue-submenu>.xue-submenu-title:hover{color:hsla(0,0%,100%,.85)}.xue-menu.dark .xue-submenu>.xue-submenu-title.active{background-color:#001529;color:#fff}.xue-menu.dark .xue-submenu>.xue-submenu-title.active.vertical{color:hsla(0,0%,100%,.65)}.xue-menu.dark .xue-submenu>.xue-submenu-title.active.vertical:hover{color:hsla(0,0%,100%,.85)}.xue-menu.dark .xue-submenu>.xue-submenu-title.child-selected.horizontal{color:#fff}.xue-menu.dark .xue-submenu.item-group>.xue-submenu-title{color:hsla(0,0%,100%,.35);font-size:12px;line-height:20px;font-weight:500;cursor:default}.xue-menu.dark .xue-menuitem{background-color:#001529;color:hsla(0,0%,100%,.65)}.xue-menu.dark .xue-menuitem:hover{color:hsla(0,0%,100%,.85)}.xue-menu.dark .xue-menuitem.active{background-color:#1890ff;color:#fff}.xue-menu.dark.horizontal .xue-menuitem:after{display:none}.xue-pager{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:start;justify-content:flex-start;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:30px;color:rgba(0,0,0,.65)}.xue-pager,.xue-pager>.xue-pager-num{-ms-flex-align:center;align-items:center}.xue-pager>.xue-pager-num{font-size:14px;font-weight:500;line-height:22px;min-width:35px;height:100%;cursor:pointer;padding:2px 0;border-radius:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;border:1px solid;border-color:rgba(0,0,0,.15);-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-pager>.xue-pager-num:not(:first-child){margin-left:4px}.xue-pager>.xue-pager-num:hover:not(.seprator){color:#40a9ff;border-color:#40a9ff}.xue-pager>.xue-pager-num.active{cursor:default}.xue-pager>.xue-pager-num.active,.xue-pager>.xue-pager-num.active:hover{color:#1890ff;border-color:#1890ff}.xue-pager>.xue-pager-num.seprator:hover{color:#40a9ff}.xue-pager>.xue-pager-num.disabled{cursor:not-allowed}.xue-pager>.xue-pager-num.disabled,.xue-pager>.xue-pager-num.disabled:hover{color:rgba(0,0,0,.25);border-color:#d9d9d9}.xue-pager>.xue-pager-num>.xue-pager-icon{width:12px;height:12px}.xue-pager>.xue-pager-num>.xue-pager-icon.prev{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.xue-pager.simple>.xue-pager-num{border-color:transparent}.xue-pager.simple>.xue-pager-num:hover:not(.seprator){color:#40a9ff;border-color:#40a9ff}.xue-pager.simple>.xue-pager-num.active{color:#1890ff;border-color:#1890ff}.xue-pager.simple>.xue-pager-num.disabled,.xue-pager.simple>.xue-pager-num.disabled:hover{color:rgba(0,0,0,.25);border-color:transparent}.xue-pager.small>.xue-pager-num{min-width:25px;font-size:12px;line-height:20px;height:24px}.xue-cascader,.xue-cascader>.xue-cascader-input-wrapper{display:-ms-inline-flexbox;display:inline-flex;border-radius:4px;position:relative}.xue-cascader>.xue-cascader-input-wrapper>.xue-cascader-placeholder{position:absolute;top:50%;left:11px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:rgba(0,0,0,.45);pointer-events:none;font-size:13px}.xue-cascader>.xue-cascader-input-wrapper>.xue-cascader-icon-wrapper{position:absolute;top:50%;right:12px;color:rgba(0,0,0,.45);-webkit-transform:translateY(-50%) rotate(90deg);-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-cascader>.xue-cascader-input-wrapper>.xue-cascader-icon-wrapper.arrow{pointer-events:none}.xue-cascader>.xue-cascader-input-wrapper>.xue-cascader-icon-wrapper.close{right:9px;border-radius:50%;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);cursor:pointer;padding:2px;opacity:0;background-color:#969696;color:#c8c8c8}.xue-cascader>.xue-cascader-input-wrapper>.xue-cascader-input{width:100%;font-size:14px;padding:4px 20px 4px 11px;line-height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.15);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);color:rgba(0,0,0,.65);cursor:pointer}.xue-cascader>.xue-cascader-input-wrapper>.xue-cascader-input:focus{outline:none;border-color:#40a9ff}.xue-cascader>.xue-cascader-input-wrapper:hover>.xue-cascader-icon-wrapper.close{opacity:1}.xue-cascader>.xue-cascader-input-wrapper:hover>.xue-cascader-input{border-color:#40a9ff}.xue-cascader.active>.xue-cascader-input-wrapper>.xue-cascader-icon-wrapper{-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}.xue-cascader.active>.xue-cascader-input-wrapper>.xue-cascader-input{border-color:#40a9ff}.xue-cascader>.xue-cascader-menu-container{position:absolute;background-color:#fff;left:0;z-index:80;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);border-radius:4px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:stretch;align-items:stretch}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu{-ms-flex-negative:0;flex-shrink:0}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:first-child>.xue-cascadermenu-item:first-child{border-top-left-radius:4px}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:first-child>.xue-cascadermenu-item:last-child{border-bottom-left-radius:4px}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:last-child>.xue-cascadermenu-item:first-child{border-top-right-radius:4px}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:last-child>.xue-cascadermenu-item:last-child{border-bottom-right-radius:4px}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu:not(:last-child){border-right:1px solid rgba(0,0,0,.15)}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item{padding:5px 12px;font-size:14px;font-weight:400;line-height:22px;color:rgba(0,0,0,.65);cursor:pointer;background-color:#fff;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);white-space:nowrap}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item:hover{background-color:#e6f7ff}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item.selected{background-color:rgba(0,0,0,.04);font-weight:600}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item.has-children{padding-right:24px;position:relative}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item.has-children>.xue-cascadermenu-item-icon-wrapper{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:8px;width:8px;height:8px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item.disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.xue-cascader>.xue-cascader-menu-container>.xue-cascadermenu>.xue-cascadermenu-item.disabled:hover{background-color:#fff}.xue-datepanel{width:260px;height:200px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:wrap;flex-wrap:wrap}.xue-datepanel>.xue-datepanel-date,.xue-datepanel>.xue-datepanel-day{width:24px;height:24px;-ms-flex-negative:0;flex-shrink:0;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;margin:0 6px;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);background-color:#fff;cursor:pointer;border-radius:2px;color:rgba(0,0,0,.65);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xue-datepanel>.xue-datepanel-date.today,.xue-datepanel>.xue-datepanel-day.today{border:1px solid #1890ff;color:#1890ff}.xue-datepanel>.xue-datepanel-date:hover,.xue-datepanel>.xue-datepanel-day:hover{background-color:#e6f7ff}.xue-datepanel>.xue-datepanel-date.prefix,.xue-datepanel>.xue-datepanel-date.suffix,.xue-datepanel>.xue-datepanel-day.prefix,.xue-datepanel>.xue-datepanel-day.suffix{color:rgba(0,0,0,.25)}.xue-datepanel>.xue-datepanel-date.selected,.xue-datepanel>.xue-datepanel-day.selected{background-color:#1890ff;color:hsla(0,0%,100%,.85)}.xue-datepanel>.xue-datepanel-day{cursor:default}.xue-datepanel>.xue-datepanel-day:hover{background-color:#fff}.xue-decadepanel,.xue-monthpanel,.xue-yearpanel{width:260px;height:240px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:wrap;flex-wrap:wrap}.xue-decadepanel>.xue-decadepanel-decade,.xue-decadepanel>.xue-monthpanel-month,.xue-decadepanel>.xue-yearpanel-year,.xue-monthpanel>.xue-decadepanel-decade,.xue-monthpanel>.xue-monthpanel-month,.xue-monthpanel>.xue-yearpanel-year,.xue-yearpanel>.xue-decadepanel-decade,.xue-yearpanel>.xue-monthpanel-month,.xue-yearpanel>.xue-yearpanel-year{width:30%;-ms-flex-negative:0;flex-shrink:0;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;margin:10px 0}.xue-decadepanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-decadepanel-decade>.xue-monthpanel-month-item,.xue-decadepanel>.xue-decadepanel-decade>.xue-yearpanel-year-item,.xue-decadepanel>.xue-monthpanel-month>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-monthpanel-month>.xue-monthpanel-month-item,.xue-decadepanel>.xue-monthpanel-month>.xue-yearpanel-year-item,.xue-decadepanel>.xue-yearpanel-year>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-yearpanel-year>.xue-monthpanel-month-item,.xue-decadepanel>.xue-yearpanel-year>.xue-yearpanel-year-item,.xue-monthpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-decadepanel-decade>.xue-monthpanel-month-item,.xue-monthpanel>.xue-decadepanel-decade>.xue-yearpanel-year-item,.xue-monthpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-monthpanel-month>.xue-monthpanel-month-item,.xue-monthpanel>.xue-monthpanel-month>.xue-yearpanel-year-item,.xue-monthpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-yearpanel-year>.xue-monthpanel-month-item,.xue-monthpanel>.xue-yearpanel-year>.xue-yearpanel-year-item,.xue-yearpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-decadepanel-decade>.xue-monthpanel-month-item,.xue-yearpanel>.xue-decadepanel-decade>.xue-yearpanel-year-item,.xue-yearpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-monthpanel-month>.xue-monthpanel-month-item,.xue-yearpanel>.xue-monthpanel-month>.xue-yearpanel-year-item,.xue-yearpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-yearpanel-year>.xue-monthpanel-month-item,.xue-yearpanel>.xue-yearpanel-year>.xue-yearpanel-year-item{-webkit-transition:background-color .3s cubic-bezier(.645,.045,.355,1);-o-transition:background-color .3s cubic-bezier(.645,.045,.355,1);transition:background-color .3s cubic-bezier(.645,.045,.355,1);background-color:#fff;padding:4px 12px;cursor:pointer;border-radius:2px;color:rgba(0,0,0,.65);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xue-decadepanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-decadepanel-decade>.xue-monthpanel-month-item:hover,.xue-decadepanel>.xue-decadepanel-decade>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-monthpanel-month>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-monthpanel-month>.xue-monthpanel-month-item:hover,.xue-decadepanel>.xue-monthpanel-month>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-yearpanel-year>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-yearpanel-year>.xue-monthpanel-month-item:hover,.xue-decadepanel>.xue-yearpanel-year>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-decadepanel-decade>.xue-monthpanel-month-item:hover,.xue-monthpanel>.xue-decadepanel-decade>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-monthpanel-month>.xue-monthpanel-month-item:hover,.xue-monthpanel>.xue-monthpanel-month>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-yearpanel-year>.xue-monthpanel-month-item:hover,.xue-monthpanel>.xue-yearpanel-year>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-decadepanel-decade>.xue-monthpanel-month-item:hover,.xue-yearpanel>.xue-decadepanel-decade>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-monthpanel-month>.xue-monthpanel-month-item:hover,.xue-yearpanel>.xue-monthpanel-month>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-yearpanel-year>.xue-monthpanel-month-item:hover,.xue-yearpanel>.xue-yearpanel-year>.xue-yearpanel-year-item:hover{background-color:#e6f7ff;color:#1890ff}.xue-decadepanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item.selected,.xue-decadepanel>.xue-decadepanel-decade>.xue-monthpanel-month-item.selected,.xue-decadepanel>.xue-decadepanel-decade>.xue-yearpanel-year-item.selected,.xue-decadepanel>.xue-monthpanel-month>.xue-decadepanel-decade-item.selected,.xue-decadepanel>.xue-monthpanel-month>.xue-monthpanel-month-item.selected,.xue-decadepanel>.xue-monthpanel-month>.xue-yearpanel-year-item.selected,.xue-decadepanel>.xue-yearpanel-year>.xue-decadepanel-decade-item.selected,.xue-decadepanel>.xue-yearpanel-year>.xue-monthpanel-month-item.selected,.xue-decadepanel>.xue-yearpanel-year>.xue-yearpanel-year-item.selected,.xue-monthpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item.selected,.xue-monthpanel>.xue-decadepanel-decade>.xue-monthpanel-month-item.selected,.xue-monthpanel>.xue-decadepanel-decade>.xue-yearpanel-year-item.selected,.xue-monthpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item.selected,.xue-monthpanel>.xue-monthpanel-month>.xue-monthpanel-month-item.selected,.xue-monthpanel>.xue-monthpanel-month>.xue-yearpanel-year-item.selected,.xue-monthpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item.selected,.xue-monthpanel>.xue-yearpanel-year>.xue-monthpanel-month-item.selected,.xue-monthpanel>.xue-yearpanel-year>.xue-yearpanel-year-item.selected,.xue-yearpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item.selected,.xue-yearpanel>.xue-decadepanel-decade>.xue-monthpanel-month-item.selected,.xue-yearpanel>.xue-decadepanel-decade>.xue-yearpanel-year-item.selected,.xue-yearpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item.selected,.xue-yearpanel>.xue-monthpanel-month>.xue-monthpanel-month-item.selected,.xue-yearpanel>.xue-monthpanel-month>.xue-yearpanel-year-item.selected,.xue-yearpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item.selected,.xue-yearpanel>.xue-yearpanel-year>.xue-monthpanel-month-item.selected,.xue-yearpanel>.xue-yearpanel-year>.xue-yearpanel-year-item.selected{background-color:#1890ff;color:hsla(0,0%,100%,.85)}.xue-decadepanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-monthpanel-month>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-yearpanel-year>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-decadepanel-decade>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-monthpanel-month>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-yearpanel-year>.xue-decadepanel-decade-item{padding:4px 6px}.xue-decadepanel>.xue-decadepanel-decade:first-child>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-decadepanel-decade:first-child>.xue-yearpanel-year-item,.xue-decadepanel>.xue-decadepanel-decade:last-child>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-decadepanel-decade:last-child>.xue-yearpanel-year-item,.xue-decadepanel>.xue-monthpanel-month:first-child>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-monthpanel-month:first-child>.xue-yearpanel-year-item,.xue-decadepanel>.xue-monthpanel-month:last-child>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-monthpanel-month:last-child>.xue-yearpanel-year-item,.xue-decadepanel>.xue-yearpanel-year:first-child>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-yearpanel-year:first-child>.xue-yearpanel-year-item,.xue-decadepanel>.xue-yearpanel-year:last-child>.xue-decadepanel-decade-item,.xue-decadepanel>.xue-yearpanel-year:last-child>.xue-yearpanel-year-item,.xue-monthpanel>.xue-decadepanel-decade:first-child>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-decadepanel-decade:first-child>.xue-yearpanel-year-item,.xue-monthpanel>.xue-decadepanel-decade:last-child>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-decadepanel-decade:last-child>.xue-yearpanel-year-item,.xue-monthpanel>.xue-monthpanel-month:first-child>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-monthpanel-month:first-child>.xue-yearpanel-year-item,.xue-monthpanel>.xue-monthpanel-month:last-child>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-monthpanel-month:last-child>.xue-yearpanel-year-item,.xue-monthpanel>.xue-yearpanel-year:first-child>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-yearpanel-year:first-child>.xue-yearpanel-year-item,.xue-monthpanel>.xue-yearpanel-year:last-child>.xue-decadepanel-decade-item,.xue-monthpanel>.xue-yearpanel-year:last-child>.xue-yearpanel-year-item,.xue-yearpanel>.xue-decadepanel-decade:first-child>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-decadepanel-decade:first-child>.xue-yearpanel-year-item,.xue-yearpanel>.xue-decadepanel-decade:last-child>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-decadepanel-decade:last-child>.xue-yearpanel-year-item,.xue-yearpanel>.xue-monthpanel-month:first-child>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-monthpanel-month:first-child>.xue-yearpanel-year-item,.xue-yearpanel>.xue-monthpanel-month:last-child>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-monthpanel-month:last-child>.xue-yearpanel-year-item,.xue-yearpanel>.xue-yearpanel-year:first-child>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-yearpanel-year:first-child>.xue-yearpanel-year-item,.xue-yearpanel>.xue-yearpanel-year:last-child>.xue-decadepanel-decade-item,.xue-yearpanel>.xue-yearpanel-year:last-child>.xue-yearpanel-year-item{-webkit-transition:none;-o-transition:none;transition:none;color:rgba(0,0,0,.25)}.xue-decadepanel>.xue-decadepanel-decade:first-child>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-decadepanel-decade:first-child>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-decadepanel-decade:last-child>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-decadepanel-decade:last-child>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-monthpanel-month:first-child>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-monthpanel-month:first-child>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-monthpanel-month:last-child>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-monthpanel-month:last-child>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-yearpanel-year:first-child>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-yearpanel-year:first-child>.xue-yearpanel-year-item:hover,.xue-decadepanel>.xue-yearpanel-year:last-child>.xue-decadepanel-decade-item:hover,.xue-decadepanel>.xue-yearpanel-year:last-child>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-decadepanel-decade:first-child>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-decadepanel-decade:first-child>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-decadepanel-decade:last-child>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-decadepanel-decade:last-child>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-monthpanel-month:first-child>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-monthpanel-month:first-child>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-monthpanel-month:last-child>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-monthpanel-month:last-child>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-yearpanel-year:first-child>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-yearpanel-year:first-child>.xue-yearpanel-year-item:hover,.xue-monthpanel>.xue-yearpanel-year:last-child>.xue-decadepanel-decade-item:hover,.xue-monthpanel>.xue-yearpanel-year:last-child>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-decadepanel-decade:first-child>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-decadepanel-decade:first-child>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-decadepanel-decade:last-child>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-decadepanel-decade:last-child>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-monthpanel-month:first-child>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-monthpanel-month:first-child>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-monthpanel-month:last-child>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-monthpanel-month:last-child>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-yearpanel-year:first-child>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-yearpanel-year:first-child>.xue-yearpanel-year-item:hover,.xue-yearpanel>.xue-yearpanel-year:last-child>.xue-decadepanel-decade-item:hover,.xue-yearpanel>.xue-yearpanel-year:last-child>.xue-yearpanel-year-item:hover{background-color:#fff;color:rgba(0,0,0,.25)}.xue-datepicker,.xue-datepicker>.xue-datepicker-input-wrapper{display:-ms-inline-flexbox;display:inline-flex;border-radius:4px;position:relative}.xue-datepicker>.xue-datepicker-input-wrapper>.xue-datepicker-placeholder{position:absolute;top:50%;left:11px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:rgba(0,0,0,.45);pointer-events:none;font-size:13px}.xue-datepicker>.xue-datepicker-input-wrapper>.xue-datepicker-icon-wrapper{position:absolute;top:50%;right:12px;color:rgba(0,0,0,.45);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-datepicker>.xue-datepicker-input-wrapper>.xue-datepicker-icon-wrapper.arrow{pointer-events:none}.xue-datepicker>.xue-datepicker-input-wrapper>.xue-datepicker-icon-wrapper.close{right:12px;border-radius:50%;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);cursor:pointer;padding:2px;opacity:0;background-color:#969696;color:#c8c8c8}.xue-datepicker>.xue-datepicker-input-wrapper>.xue-datepicker-input{width:100%;font-size:14px;padding:4px 20px 4px 11px;line-height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.15);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);color:rgba(0,0,0,.65);cursor:pointer}.xue-datepicker>.xue-datepicker-input-wrapper>.xue-datepicker-input:focus{outline:none;border-color:#40a9ff}.xue-datepicker>.xue-datepicker-input-wrapper:hover>.xue-datepicker-icon-wrapper.close{opacity:1}.xue-datepicker.active>.xue-datepicker-input-wrapper>.xue-datepicker-input,.xue-datepicker>.xue-datepicker-input-wrapper:hover>.xue-datepicker-input{border-color:#40a9ff}.xue-datepicker>.xue-datepicker-calendar{position:absolute;top:0;left:0;width:280px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);border-radius:4px;background-color:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start;overflow:hidden}.xue-datepicker>.xue-datepicker-calendar>.calendar-placeholder{position:absolute;top:6.5px;left:11px;color:rgba(0,0,0,.45);pointer-events:none;font-size:13px}.xue-datepicker>.xue-datepicker-calendar>.calendar-input{width:100%;font-size:14px;padding:4px 20px 4px 11px;line-height:20px;border-top-left-radius:4px;border-top-right-radius:4px;border:1px solid transparent;border-bottom-color:rgba(0,0,0,.15);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);color:rgba(0,0,0,.65);cursor:pointer}.xue-datepicker>.xue-datepicker-calendar>.calendar-input:focus{outline:none}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar{width:100%;height:40px;border-bottom:1px solid rgba(0,0,0,.15);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:0 15px}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.icon-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.45);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);cursor:pointer}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.icon-wrapper:first-child{margin:0 10px}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.icon-wrapper:hover{color:#1890ff}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.value{font-size:14px;font-weight:600;line-height:22px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.65);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.value:hover{color:#1890ff}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.value.decade{cursor:default}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li>.value.decade:hover{color:rgba(0,0,0,.65)}.xue-datepicker>.xue-datepicker-calendar>.calendar-handlebar>li.left>.icon-wrapper{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.xue-datepicker>.xue-datepicker-calendar>.calendar-body{padding:10px}.xue-datepicker>.xue-datepicker-calendar>.calendar-footer{width:100%;height:40px;border-top:1px solid rgba(0,0,0,.15)}.xue-datepicker>.xue-datepicker-calendar>.calendar-footer>.footer-text{width:100%;height:100%;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;color:#1890ff;cursor:pointer;font-size:14px;font-weight:500;line-height:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xue-input-wrapper{display:-ms-inline-flexbox;display:inline-flex}.xue-input-wrapper .xue-input{font-size:14px;padding:4px 11px;line-height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.15);-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86);color:rgba(0,0,0,.65)}.xue-input-wrapper .xue-input:focus{outline:none;border-color:#40a9ff}.xue-input-wrapper .xue-input:hover{border-color:#40a9ff}.xue-input-wrapper.prefix{position:relative}.xue-input-wrapper.prefix .prefix-wrapper{position:absolute;top:50%;left:4px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);display:-ms-inline-flexbox;display:inline-flex;width:22px;height:22px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-input-wrapper.prefix .prefix-wrapper .prefix-string{font-size:14px;line-height:20px;padding:4px 10px;color:rgba(0,0,0,.65)}.xue-input-wrapper.prefix .xue-input{padding-left:30px}.xue-input-wrapper.suffix{position:relative}.xue-input-wrapper.suffix .suffix-wrapper{position:absolute;top:50%;right:4px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);display:-ms-inline-flexbox;display:inline-flex;width:22px;height:22px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-input-wrapper.suffix .suffix-wrapper .suffix-string{font-size:14px;line-height:20px;padding:4px 10px;color:rgba(0,0,0,.65)}.xue-input-wrapper.suffix .xue-input{padding-right:30px}.xue-input-wrapper.addon-before{-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}.xue-input-wrapper.addon-before .addon-before-wrapper .before-string{display:-ms-inline-flexbox;display:inline-flex;height:100%;border:1px solid rgba(0,0,0,.15);border-right:none;border-top-left-radius:4px;border-bottom-left-radius:4px;background-color:#fafafa;font-size:14px;line-height:20px;padding:4px 10px;color:rgba(0,0,0,.65)}.xue-input-wrapper.addon-before .xue-input{border-top-left-radius:0;border-bottom-left-radius:0}.xue-input-wrapper.addon-after{-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}.xue-input-wrapper.addon-after .addon-after-wrapper .after-string{display:-ms-inline-flexbox;display:inline-flex;height:100%;border:1px solid rgba(0,0,0,.15);border-left:none;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#fafafa;font-size:14px;line-height:20px;padding:4px 10px;color:rgba(0,0,0,.65);-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-input-wrapper.addon-after .xue-input{border-top-right-radius:0;border-bottom-right-radius:0}.xue-input-wrapper.disabled .xue-input{color:rgba(0,0,0,.25);border-color:#d9d9d9;background-color:#e6e6e6;cursor:not-allowed}.xue-input-wrapper.disabled .xue-input:focus,.xue-input-wrapper.disabled .xue-input:hover{border-color:#d9d9d9}.xue-input-wrapper.error .xue-input{border-color:#f5222d}.xue-input-wrapper.search .suffix-wrapper{color:rgba(0,0,0,.25);-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-input-wrapper.search:hover .suffix-wrapper{color:rgba(0,0,0,.65)}.xue-input-wrapper.search.enter-button .xue-input{border-right:none}.xue-input-wrapper.search .addon-after-wrapper .xue-search-enter-button{height:30px;padding:0 15px;border-top-right-radius:4px;border-bottom-right-radius:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;background-color:#1890ff;color:#fff;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xue-input-wrapper.search .addon-after-wrapper .xue-search-enter-button:hover{background-color:#40a9ff}.xueue-ui-hidden-textarea{min-height:0!important;max-height:none!important;height:0!important;visibility:hidden!important;overflow:hidden!important;position:absolute!important;z-index:-1000!important;top:0!important;right:0!important}.xue-textarea{padding:4px 11px;font-size:14px;line-height:22px;color:rgba(0,0,0,.65);border:1px solid;border-color:rgba(0,0,0,.15);-webkit-transition:border-color .3s cubic-bezier(.645,.045,.355,1);-o-transition:border-color .3s cubic-bezier(.645,.045,.355,1);transition:border-color .3s cubic-bezier(.645,.045,.355,1);border-radius:4px}.xue-textarea:focus{outline:none}.xue-textarea:focus,.xue-textarea:hover{border-color:#1890ff}.xue-textarea.autosize{resize:none;overflow-y:hidden}.xue-radio{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start;color:rgba(0,0,0,.65);font-size:14px;line-height:22px}.xue-radio.vertical{-ms-flex-direction:column;flex-direction:column}.xue-radio>.xue-option{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;cursor:pointer}.xue-radio>.xue-option>.label-dot{width:16px;height:16px;border-radius:50%;border:1px solid;border-color:rgba(0,0,0,.15);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;position:relative}.xue-radio>.xue-option>.label-dot,.xue-radio>.xue-option>.label-dot:after{-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86)}.xue-radio>.xue-option>.label-dot:after{position:absolute;top:3px;left:3px;content:"";display:block;width:8px;height:8px;background-color:#1890ff;border-radius:50%;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.xue-radio>.xue-option.checked>.label-dot,.xue-radio>.xue-option:hover>.label-dot{border-color:#1890ff}.xue-radio>.xue-option.checked>.label-dot:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.xue-radio>.xue-option>.label-text{padding:0 8px;background-color:#fff;-webkit-transition:all .3s cubic-bezier(.78,.14,.15,.86);-o-transition:all .3s cubic-bezier(.78,.14,.15,.86);transition:all .3s cubic-bezier(.78,.14,.15,.86)}.xue-radio>.xue-option.button-style>.label-text{padding:4px 15px;border:1px solid;border-color:rgba(0,0,0,.15)}.xue-radio>.xue-option.button-style>.label-text:hover{color:#1890ff}.xue-radio>.xue-option.button-style:not(:first-child)>.label-text{margin-left:-1px}.xue-radio>.xue-option.button-style:first-child>.label-text{border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0;border-bottom-right-radius:0}.xue-radio>.xue-option.button-style:last-child>.label-text{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.xue-radio>.xue-option.button-style.checked>.label-text{background-color:#1890ff;color:#fff;position:relative;z-index:1;border-color:#1890ff}.xue-radio>.xue-option.button-style.checked>.label-text:hover{background-color:#40a9ff;border-color:#40a9ff}.xue-radio>.xue-option.button-style.vertical>.label-text{margin-left:0;min-width:120px;text-align:center}.xue-radio>.xue-option.button-style.vertical:not(:first-child)>.label-text{margin-top:-1px}.xue-radio>.xue-option.button-style.vertical:first-child>.label-text{border-top-left-radius:4px;border-bottom-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:0}.xue-radio>.xue-option.button-style.vertical:last-child>.label-text{border-top-left-radius:0;border-bottom-left-radius:4px;border-top-right-radius:0;border-bottom-right-radius:4px}.xue-radio>.xue-option.disabled>.label-dot{cursor:not-allowed;border-color:#d9d9d9;background-color:#e6e6e6}.xue-radio>.xue-option.disabled>.label-dot:after{background-color:rgba(0,0,0,.35)}.xue-radio>.xue-option.disabled>.label-text{cursor:not-allowed;color:rgba(0,0,0,.25)}.xue-radio>.xue-option.disabled>.label-text:hover{color:rgba(0,0,0,.25)}.xue-radio>.xue-option.disabled.button-style.checked>.label-text{background-color:#e6e6e6;border-color:#d9d9d9}.xue-radio>.xue-option.disabled.button-style.checked>.label-text:hover{color:#fff}.xue-rate,.xue-rate>.xue-rate-star-container{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}.xue-rate>.xue-rate-star-container>.xue-star{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:24px;height:30px;cursor:pointer;position:relative}.xue-rate>.xue-rate-star-container>.xue-star .xue-rate-star-icon{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);pointer-events:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-rate>.xue-rate-star-container>.xue-star:hover .xue-rate-star-icon{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.xue-rate>.xue-rate-star-container>.xue-star>.xue-star-filler{width:12px;height:30px;position:absolute;top:0}.xue-rate>.xue-rate-star-container>.xue-star>.xue-star-filler.left{left:0}.xue-rate>.xue-rate-star-container>.xue-star>.xue-star-filler.right{right:0}.xue-rate>.xue-rate-tips{-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:400;line-height:22px;color:rgba(0,0,0,.65);margin-left:8px}.xue-rate>.xue-rate-tips,.xue-switch{display:-ms-inline-flexbox;display:inline-flex}.xue-switch{width:40px;height:22px;border-color:#1890ff;border-radius:11px;background-color:rgba(0,0,0,.25);cursor:pointer;padding:2px;position:relative}.xue-switch,.xue-switch>.xue-switch-core{-webkit-transition:all .2s linear;-o-transition:all .2s linear;transition:all .2s linear}.xue-switch>.xue-switch-core{width:18px;height:18px;border-radius:50%;background-color:#fff;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.xue-switch.checked{background-color:#1890ff}.xue-switch.checked>.xue-switch-core{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.xue-switch.disabled{cursor:not-allowed}.xue-switch.disabled:after{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background-color:#fff;opacity:.4}.xue-switch.small{width:32px;height:18px;padding:2px}.xue-switch.small>.xue-switch-core{width:14px;height:14px}.xue-collapse{border:1px solid rgba(0,0,0,.15);border-radius:4px;background-color:rgba(0,0,0,.04);font-size:14px;line-height:22px}.xue-collapse>.xue-panel-header{cursor:pointer;color:rgba(0,0,0,.85);-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border-bottom:1px solid;border-bottom-color:transparent}.xue-collapse>.xue-panel-header:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.xue-collapse>.xue-panel-header:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.xue-collapse>.xue-panel-header:not(:first-child){border-top:1px solid rgba(0,0,0,.15)}.xue-collapse>.xue-panel-header.active{border-bottom:1px solid;border-bottom-color:rgba(0,0,0,.15)}.xue-collapse>.xue-panel-header.with-arrow{padding-left:40px;position:relative}.xue-collapse>.xue-panel-header.with-arrow>.arrow-wrapper{position:absolute;top:50%;left:15px;-webkit-transform:translateY(-50%) rotate(0);-ms-transform:translateY(-50%) rotate(0);transform:translateY(-50%) rotate(0);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-collapse>.xue-panel-header.with-arrow.active>.arrow-wrapper{-webkit-transform:translateY(-50%) rotate(90deg);-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}.xue-collapse>.xue-panel-header.disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.xue-collapse .xue-panel-body{background-color:#fff;color:rgba(0,0,0,.65)}.xue-collapse .xue-panel-body:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.xue-popover-content-wrapper{position:absolute;z-index:90;background-color:transparent}.xue-popover-content-wrapper.position-top{-webkit-transform:translateX(-50%) translateY(-100%);-ms-transform:translateX(-50%) translateY(-100%);transform:translateX(-50%) translateY(-100%);padding-bottom:10px}.xue-popover-content-wrapper.position-bottom{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);padding-top:10px}.xue-popover-content-wrapper.position-left{-webkit-transform:translateX(-100%) translateY(-50%);-ms-transform:translateX(-100%) translateY(-50%);transform:translateX(-100%) translateY(-50%);padding-right:10px}.xue-popover-content-wrapper.position-right{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);padding-left:10px}.xue-popover-content-wrapper>.xue-popover-content{border-radius:4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);position:relative;background-color:#fff}.xue-popover-content-wrapper>.xue-popover-content>.xue-popover-content-arrow{position:absolute;border:5px solid;width:0;height:0;background-color:inherit}.xue-popover-content-wrapper>.xue-popover-content>.xue-popover-content-arrow.position-top{bottom:0;left:50%;-webkit-transform:translateX(-50%) translateY(50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(50%) rotate(45deg);transform:translateX(-50%) translateY(50%) rotate(45deg);-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07)}.xue-popover-content-wrapper>.xue-popover-content>.xue-popover-content-arrow.position-bottom{top:0;left:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-box-shadow:-3px -3px 7px rgba(0,0,0,.07);box-shadow:-3px -3px 7px rgba(0,0,0,.07)}.xue-popover-content-wrapper>.xue-popover-content>.xue-popover-content-arrow.position-left{top:50%;right:0;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);-webkit-box-shadow:3px -3px 7px rgba(0,0,0,.07);box-shadow:3px -3px 7px rgba(0,0,0,.07)}.xue-popover-content-wrapper>.xue-popover-content>.xue-popover-content-arrow.position-right{top:50%;left:0;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-box-shadow:-3px 3px 7px rgba(0,0,0,.07);box-shadow:-3px 3px 7px rgba(0,0,0,.07)}.xue-slides{width:100%;overflow:hidden;position:relative}.xue-slides>.xue-slides-container{display:-ms-flexbox;display:flex;width:100%;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.xue-slides>.xue-slides-container.has-transition-class-name{-webkit-transition:-webkit-transform .5s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .5s cubic-bezier(.645,.045,.355,1);-o-transition:transform .5s cubic-bezier(.645,.045,.355,1);transition:transform .5s cubic-bezier(.645,.045,.355,1);transition:transform .5s cubic-bezier(.645,.045,.355,1),-webkit-transform .5s cubic-bezier(.645,.045,.355,1)}.xue-slides>.xue-slides-dots-wrapper{position:absolute;bottom:15px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-slides>.xue-slides-dots-wrapper>.xue-slides-dot{display:block;background-color:#fff;opacity:.3;width:16px;height:3px;border-radius:1px;margin:0 2px;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);cursor:pointer}.xue-slides>.xue-slides-dots-wrapper>.xue-slides-dot:hover{opacity:.6}.xue-slides>.xue-slides-dots-wrapper>.xue-slides-dot.active{width:24px;opacity:.9}.xue-table-wrapper{position:relative}.xue-table-wrapper .xue-table{font-size:14px;line-height:22px;color:rgba(0,0,0,.65)}.xue-table-wrapper .xue-table.scroll-x{overflow-x:scroll}.xue-table-wrapper .xue-table-head{color:rgba(0,0,0,.85)}.xue-table-wrapper .xue-table-head.scroll-y{overflow-y:scroll}.xue-table-wrapper .xue-table-head-inner{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;background-color:#f5f5f5}.xue-table-wrapper .xue-table-head-inner.border{border-top:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell{border-bottom:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner{padding:16px}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.small{padding:8px}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.sort{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.sort .sort-icon{margin-left:4px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.sort .sort-icon .xue-table-ascend,.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.sort .sort-icon .xue-table-descend{color:rgba(0,0,0,.45);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.sort .sort-icon .xue-table-ascend.active,.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell-inner.sort .sort-icon .xue-table-descend.active{color:#1890ff}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner{position:relative}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:16px;height:16px;margin-top:-1px;border:1px solid;border-radius:2px;border-color:rgba(0,0,0,.15);background-color:#fff;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection:hover{border-color:#1890ff}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection:after{display:block;content:"";-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(0);-ms-transform:rotate(-45deg) translateX(1px) scale(0);transform:rotate(-45deg) translateX(1px) scale(0)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.checked{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.checked:after{border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(1.2);-ms-transform:rotate(-45deg) translateX(1px) scale(1.2);transform:rotate(-45deg) translateX(1px) scale(1.2)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.determinate{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.determinate:after{border:3px solid #fff;border-radius:1px;border-top:3;border-right:3;width:0;height:0;-webkit-transform:rotate(0) translateX(0) scale(1.2);-ms-transform:rotate(0) translateX(0) scale(1.2);transform:rotate(0) translateX(0) scale(1.2)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.border{border-right:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head-inner .xue-table-head-cell.border:first-child{border-left:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head-mask{position:absolute;top:0;left:0;-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-o-transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1),-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-webkit-box-shadow:4px 0 8px -4px transparent;box-shadow:4px 0 8px -4px transparent}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head-mask.end,.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head-mask.middle{-webkit-box-shadow:4px 0 8px -4px rgba(0,0,0,.25);box-shadow:4px 0 8px -4px rgba(0,0,0,.25)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head-mask .xue-table-left-fixed-head{position:static}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head{position:absolute;top:0;left:0;overflow-x:hidden;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;background-color:#f5f5f5;-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-o-transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1),-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-webkit-box-shadow:4px 0 8px -4px transparent;box-shadow:4px 0 8px -4px transparent}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head.border{border-top:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell{border-bottom:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner{padding:16px}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.small{padding:8px}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.sort{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.sort .sort-icon{margin-left:4px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-ascend,.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-descend{color:rgba(0,0,0,.45);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-ascend.active,.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-descend.active{color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner{position:relative}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:16px;height:16px;margin-top:-1px;border:1px solid;border-radius:2px;border-color:rgba(0,0,0,.15);background-color:#fff;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection:hover{border-color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection:after{display:block;content:"";-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(0);-ms-transform:rotate(-45deg) translateX(1px) scale(0);transform:rotate(-45deg) translateX(1px) scale(0)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.checked{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.checked:after{border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(1.2);-ms-transform:rotate(-45deg) translateX(1px) scale(1.2);transform:rotate(-45deg) translateX(1px) scale(1.2)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.determinate{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.determinate:after{border:3px solid #fff;border-radius:1px;border-top:3;border-right:3;width:0;height:0;-webkit-transform:rotate(0) translateX(0) scale(1.2);-ms-transform:rotate(0) translateX(0) scale(1.2);transform:rotate(0) translateX(0) scale(1.2)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.border{border-right:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head .xue-table-head-cell.border:first-child{border-left:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head.end,.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head.middle{-webkit-box-shadow:4px 0 8px -4px rgba(0,0,0,.25);box-shadow:4px 0 8px -4px rgba(0,0,0,.25)}.xue-table-wrapper .xue-table-head .xue-table-left-fixed-head.scroll-y{overflow-y:scroll}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head{position:absolute;top:0;right:0;overflow-x:hidden;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;background-color:#f5f5f5;-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-o-transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1),-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-webkit-box-shadow:-4px 0 8px -4px transparent;box-shadow:-4px 0 8px -4px transparent}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head.border{border-top:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell{border-bottom:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner{padding:16px}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.small{padding:8px}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.sort{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.sort .sort-icon{margin-left:4px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-ascend,.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-descend{color:rgba(0,0,0,.45);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-ascend.active,.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell-inner.sort .sort-icon .xue-table-descend.active{color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner{position:relative}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:16px;height:16px;margin-top:-1px;border:1px solid;border-radius:2px;border-color:rgba(0,0,0,.15);background-color:#fff;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection:hover{border-color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection:after{display:block;content:"";-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(0);-ms-transform:rotate(-45deg) translateX(1px) scale(0);transform:rotate(-45deg) translateX(1px) scale(0)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.checked{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.checked:after{border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(1.2);-ms-transform:rotate(-45deg) translateX(1px) scale(1.2);transform:rotate(-45deg) translateX(1px) scale(1.2)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.determinate{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.check-box .xue-table-head-cell-inner .xue-table-selection.determinate:after{border:3px solid #fff;border-radius:1px;border-top:3;border-right:3;width:0;height:0;-webkit-transform:rotate(0) translateX(0) scale(1.2);-ms-transform:rotate(0) translateX(0) scale(1.2);transform:rotate(0) translateX(0) scale(1.2)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.border{border-right:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head .xue-table-head-cell.border:first-child{border-left:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head.middle,.xue-table-wrapper .xue-table-head .xue-table-right-fixed-head.start{-webkit-box-shadow:-4px 0 8px -4px rgba(0,0,0,.25);box-shadow:-4px 0 8px -4px rgba(0,0,0,.25)}.xue-table-wrapper .xue-table-body{color:rgba(0,0,0,.65)}.xue-table-wrapper .xue-table-body.scroll-y{overflow-y:scroll}.xue-table-wrapper .xue-table-body-inner-row{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:stretch;align-items:stretch;background-color:#fff;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-body-inner-row.stripe{background-color:#f5f5f5}.xue-table-wrapper .xue-table-body-inner-row.hover{background-color:#e6f7ff}.xue-table-wrapper .xue-table-body-inner-row-cell{border-bottom:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner{position:relative}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:16px;height:16px;margin-top:-1px;border:1px solid;border-radius:2px;border-color:rgba(0,0,0,.15);background-color:#fff;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection:hover{border-color:#1890ff}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection:after{display:block;content:"";-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(0);-ms-transform:rotate(-45deg) translateX(1px) scale(0);transform:rotate(-45deg) translateX(1px) scale(0)}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection.checked{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection.checked:after{border:2px solid #fff;border-radius:1px;border-top:0;border-right:0;width:8px;height:5px;-webkit-transform:rotate(-45deg) translateX(1px) scale(1.2);-ms-transform:rotate(-45deg) translateX(1px) scale(1.2);transform:rotate(-45deg) translateX(1px) scale(1.2)}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection.determinate{border-color:#1890ff;background-color:#1890ff}.xue-table-wrapper .xue-table-body-inner-row-cell.check-box .xue-table-body-inner-row-cell-inner .xue-table-selection.determinate:after{border:3px solid #fff;border-radius:1px;border-top:3;border-right:3;width:0;height:0;-webkit-transform:rotate(0) translateX(0) scale(1.2);-ms-transform:rotate(0) translateX(0) scale(1.2);transform:rotate(0) translateX(0) scale(1.2)}.xue-table-wrapper .xue-table-body-inner-row-cell.border{border-right:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-body-inner-row-cell.border:first-child{border-left:1px solid rgba(0,0,0,.15)}.xue-table-wrapper .xue-table-body-inner-row-cell-inner{height:100%;padding:16px}.xue-table-wrapper .xue-table-body-inner-row-cell-inner.small{padding:8px}.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body-mask{position:absolute;left:0;-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-o-transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1),-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-webkit-box-shadow:4px 0 8px -4px transparent;box-shadow:4px 0 8px -4px transparent}.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body-mask.end,.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body-mask.middle{-webkit-box-shadow:4px 0 8px -4px rgba(0,0,0,.25);box-shadow:4px 0 8px -4px rgba(0,0,0,.25)}.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body-mask .xue-table-left-fixed-body{position:static}.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body{position:absolute;left:0;overflow-x:hidden;-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-o-transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1),-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-webkit-box-shadow:4px 0 8px -4px transparent;box-shadow:4px 0 8px -4px transparent}.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body.end,.xue-table-wrapper .xue-table-body .xue-table-left-fixed-body.middle{-webkit-box-shadow:4px 0 8px -4px rgba(0,0,0,.25);box-shadow:4px 0 8px -4px rgba(0,0,0,.25)}.xue-table-wrapper .xue-table-body .xue-table-right-fixed-body{position:absolute;right:0;overflow-x:hidden;-webkit-transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-o-transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1);transition:box-shadow .3s cubic-bezier(.645,.045,.355,1),-webkit-box-shadow .3s cubic-bezier(.645,.045,.355,1);-webkit-box-shadow:-4px 0 8px -4px transparent;box-shadow:-4px 0 8px -4px transparent}.xue-table-wrapper .xue-table-body .xue-table-right-fixed-body.middle,.xue-table-wrapper .xue-table-body .xue-table-right-fixed-body.start{-webkit-box-shadow:-4px 0 8px -4px rgba(0,0,0,.25);box-shadow:-4px 0 8px -4px rgba(0,0,0,.25)}@-webkit-keyframes xue-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes xue-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.xue-spin-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-spin-wrapper.with-children{display:block;position:relative}.xue-spin-wrapper .xue-spin-mask{position:absolute;z-index:100;top:0;left:0;bottom:0;right:0;pointer-events:none;-webkit-transition:background-color .3s cubic-bezier(.645,.045,.355,1);-o-transition:background-color .3s cubic-bezier(.645,.045,.355,1);transition:background-color .3s cubic-bezier(.645,.045,.355,1);background-color:transparent;display:none}.xue-spin-wrapper .xue-spin-mask.spinning{pointer-events:all;background-color:hsla(0,0%,100%,.7)}.xue-spin-wrapper .xue-spin-mask.active{display:block}.xue-spin-wrapper .xue-spin-container{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-spin-wrapper .xue-spin-container.with-children{position:absolute;z-index:100;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.xue-spin-wrapper .xue-spin-container.with-tip{-ms-flex-direction:column;flex-direction:column}.xue-spin-wrapper .xue-spin-container .xue-spin{-webkit-animation:xue-spin 1.2s linear infinite;animation:xue-spin 1.2s linear infinite}.xue-spin-wrapper .xue-spin-container .xue-spin-tip{font-size:14px;line-height:22px;color:#1890ff;margin-top:5px}.xue-tabs{font-size:14px;line-height:22px;width:100%;overflow-x:hidden}.xue-tabs.vertical{overflow-x:auto;overflow-y:hidden;-ms-flex-align:stretch;align-items:stretch}.xue-tabs.vertical,.xue-tabs>.xue-tabs-head{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start}.xue-tabs>.xue-tabs-head{-ms-flex-align:center;align-items:center;position:relative;border-bottom:1px solid rgba(0,0,0,.15)}.xue-tabs>.xue-tabs-head>.xue-tabs-title{padding:12px 16px;color:rgba(0,0,0,.65);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-tabs>.xue-tabs-head>.xue-tabs-title:not(:last-child){margin-right:32px}.xue-tabs>.xue-tabs-head>.xue-tabs-title.active{color:#1890ff}.xue-tabs>.xue-tabs-head>.xue-tabs-title.disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.xue-tabs>.xue-tabs-head>.xue-tabs-role{position:absolute;background-color:#1890ff;border-radius:1px;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-tabs>.xue-tabs-head>.xue-tabs-role.horizontal{height:3px;left:0;bottom:0}.xue-tabs>.xue-tabs-head>.xue-tabs-role.vertical{width:3px;right:0;top:0}.xue-tabs>.xue-tabs-head.vertical{-ms-flex-direction:column;flex-direction:column;border-bottom:none;border-right:1px solid rgba(0,0,0,.15)}.xue-tabs>.xue-tabs-body{width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);-o-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.xue-tabs>.xue-tabs-body>.xue-tabpane{width:100%;-ms-flex-negative:0;flex-shrink:0}.xue-tabs>.xue-tabs-body.vertical{-ms-flex-direction:column;flex-direction:column}.xue-message{position:fixed;z-index:100;left:50%;padding:8px 16px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);background-color:#fff;border-radius:4px;font-size:14px;line-height:22px;color:rgba(0,0,0,.65);display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;white-space:nowrap}.xue-message>.xue-message-icon-wrapper{display:none}.xue-message>.xue-message-close{cursor:pointer;margin-left:24px;-webkit-transform:translateX(8px);-ms-transform:translateX(8px);transform:translateX(8px);color:rgba(0,0,0,.45)}.xue-message.with-icon>.xue-message-icon-wrapper,.xue-message>.xue-message-close{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.xue-message.with-icon>.xue-message-icon-wrapper{width:16px;height:16px;margin-right:4px}.xue-message.with-icon>.xue-message-icon-wrapper.info{color:#1890ff}.xue-message.with-icon>.xue-message-icon-wrapper.success{color:#52c41a}.xue-message.with-icon>.xue-message-icon-wrapper.warning{color:#faad14}.xue-message.with-icon>.xue-message-icon-wrapper.error{color:#f5222d}.xue-modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#314659;z-index:99}.xue-modal-content{position:fixed;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);background-color:#fff;z-index:100;min-width:200px;border-radius:4px}.xue-modal-content>.xue-modal-header{padding:20px 16px;color:rgba(0,0,0,.85);font-size:16px;line-height:22px;font-weight:500;border-bottom:1px solid rgba(0,0,0,.15)}.xue-modal-content>.xue-modal-body{padding:0 24px;color:rgba(0,0,0,.65);font-size:14px;line-height:22px;font-weight:400}.xue-modal-content>.xue-modal-footer{padding:10px 16px;text-align:end;color:rgba(0,0,0,.65);font-size:14px;line-height:22px;font-weight:400;border-top:1px solid rgba(0,0,0,.15)}.xue-lightup-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.15);z-index:99}.xue-lightup-img-wrapper{position:fixed;z-index:100}.xue-lightup-img-wrapper>.xue-lightup-img{width:100%;height:100%;border-radius:4px}.xue-lightup-scale{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:-9999;pointer-events:none}.xue-scroll-wrapper{width:100%;height:100%;overflow-y:hidden;position:relative}.xue-scroll-wrapper .xue-scroll-container{-webkit-transition:-webkit-transform 50ms ease;transition:-webkit-transform 50ms ease;-o-transition:transform 50ms ease;transition:transform 50ms ease;transition:transform 50ms ease,-webkit-transform 50ms ease}.xue-scroll-wrapper .xue-scroll-y-track{position:absolute;top:0;right:0;height:100%;background-color:rgba(0,0,0,.04);display:none}.xue-scroll-wrapper .xue-scroll-y-track.y-visible{display:block}.xue-scroll-wrapper .xue-scroll-y-track .xue-scroll-bar{width:14px;height:80px;max-height:100%;-webkit-transition:-webkit-transform 50ms ease;transition:-webkit-transform 50ms ease;-o-transition:transform 50ms ease;transition:transform 50ms ease;transition:transform 50ms ease,-webkit-transform 50ms ease;background-color:#c1c1c1}
2 | /*# sourceMappingURL=main.7a169648.css.map*/
--------------------------------------------------------------------------------
/images.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.svg'
2 | declare module '*.png'
3 | declare module '*.jpg'
4 | declare module '*.jpeg'
5 | declare module '*.gif'
6 | declare module '*.bmp'
7 | declare module '*.tiff'
8 |
--------------------------------------------------------------------------------
/module.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'xue-react'
2 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "xue-press",
3 | "version": "0.1.0",
4 | "private": true,
5 | "homepage": ".",
6 | "dependencies": {
7 | "prop-types": "^15.7.2",
8 | "react": "^16.8.3",
9 | "react-dom": "^16.8.3",
10 | "react-router-dom": "^4.3.1",
11 | "react-scripts-ts": "3.1.0",
12 | "xue-react": "^0.0.5"
13 | },
14 | "scripts": {
15 | "start": "react-scripts-ts start",
16 | "build": "react-scripts-ts build",
17 | "test": "react-scripts-ts test --env=jsdom",
18 | "eject": "react-scripts-ts eject"
19 | },
20 | "devDependencies": {
21 | "@types/jest": "^24.0.9",
22 | "@types/node": "^11.9.6",
23 | "@types/react": "^16.8.6",
24 | "@types/react-dom": "^16.8.2",
25 | "@types/react-router-dom": "^4.3.1",
26 | "node-sass": "^4.11.0",
27 | "sass-loader": "^7.1.0",
28 | "typescript": "^3.3.3333"
29 | }
30 | }
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BlameDeng/xue-press/e47a51cbf7c4cecf46f0c57135611ca0a42aec72/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
23 | XuePress
24 |
25 |
26 |
27 |
30 |
31 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import { HashRouter as Router, Route } from 'react-router-dom'
3 | import { Icon } from 'xue-react'
4 |
5 | import Header from './components/header/Header'
6 | import Main from './components/main/Main'
7 | import Footer from './components/footer/Footer'
8 | import NavBar from './components/navbar/NavBar'
9 |
10 | import InstallPage from './pages/InstallPage'
11 | import StartPage from './pages/StartPage'
12 | import ButtonPage from './pages/ButtonPage'
13 | import IconPage from './pages/IconPage'
14 | import TablePage from './pages/TablePage'
15 |
16 | import { Provider } from './Context'
17 |
18 | import 'src/style/App.css'
19 |
20 | interface IRouteOption {
21 | path: string // 路由路径,唯一标志
22 | content: string | React.ReactNode // 在导航栏中显示的内容
23 | page?: any // 路由对应的页面,如果有 children 属性,此属性可不设置
24 | className?: string // 自定义类名
25 | style?: React.CSSProperties // 自定义样式
26 | itemGroup?: boolean // SubMenu 分组模式
27 | showArrow?: boolean // SubMenu 箭头图标
28 | children?: IRouteOption[]
29 | }
30 |
31 | interface IAppState {
32 | routes: IRouteOption[]
33 | }
34 |
35 | class App extends React.Component<{}, IAppState> {
36 | public state = {
37 | routes: [
38 | {
39 | path: '/install',
40 | content: 'Install',
41 | page: InstallPage
42 | },
43 | {
44 | path: '/start',
45 | content: 'Start',
46 | page: StartPage
47 | },
48 | {
49 | path: '/components',
50 | content: (
51 |
60 | Components
61 |
62 | ),
63 | itemGroup: true,
64 | showArrow: false,
65 | children: [
66 | {
67 | path: '/common',
68 | content: '通用',
69 | itemGroup: true,
70 | showArrow: false,
71 | children: [
72 | {
73 | path: '/button',
74 | content: 'Button',
75 | page: ButtonPage
76 | },
77 | {
78 | path: '/icon',
79 | content: 'Icon',
80 | page: IconPage
81 | }
82 | ]
83 | },
84 | {
85 | path: '/data',
86 | content: '数据',
87 | itemGroup: true,
88 | showArrow: false,
89 | children: [
90 | {
91 | path: '/table',
92 | content: 'Table',
93 | page: TablePage
94 | }
95 | ]
96 | }
97 | ]
98 | }
99 | ]
100 | }
101 |
102 | public renderRoute = (routes: IRouteOption[]): any => {
103 | return routes.map(route => {
104 | if (route.children && route.children.length) {
105 | return this.renderRoute(route.children)
106 | } else {
107 | return (
108 |
109 | )
110 | }
111 | })
112 | }
113 |
114 | public render() {
115 | const { routes } = this.state
116 | return (
117 |
118 |
119 |
120 |
156 |
157 |
158 |
159 | {this.renderRoute(routes)}
160 |
161 |
162 |
163 |
164 |
165 |
166 | )
167 | }
168 | }
169 |
170 | export default App
171 |
--------------------------------------------------------------------------------
/src/Context.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 |
3 | interface IRouteOption {
4 | path: string
5 | content: string | React.ReactNode
6 | page?: any
7 | className?: string
8 | style?: React.CSSProperties
9 | itemGroup?: boolean
10 | showArrow?:boolean
11 | children?: IRouteOption[]
12 | }
13 |
14 | export const { Provider, Consumer } = React.createContext([])
15 |
--------------------------------------------------------------------------------
/src/components/codebox/CodeBox.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as PropTypes from 'prop-types'
3 | import { classes } from 'src/utils'
4 | import { Icon, Popover, Unfold } from 'xue-react'
5 |
6 | import './style'
7 |
8 | interface ICodeProps {
9 | title: string
10 | description: string
11 | defaultVisible?: boolean // 代码默认是否展开
12 | }
13 |
14 | interface ICodeState {
15 | codeVisible: boolean
16 | }
17 |
18 | class CodeBox extends React.Component {
19 | public static displayName = 'CodeBox'
20 |
21 | public static defaultProps = {
22 | defaultVisible: false
23 | }
24 |
25 | public static propTypes = {
26 | title: PropTypes.string.isRequired,
27 | description: PropTypes.string.isRequired,
28 | defaultVisible: PropTypes.bool
29 | }
30 |
31 | constructor(props: ICodeProps) {
32 | super(props)
33 | this.state = {
34 | codeVisible: props.defaultVisible as boolean
35 | }
36 | }
37 |
38 | public toggleVisible = () => {
39 | this.setState({
40 | codeVisible: !this.state.codeVisible
41 | })
42 | }
43 |
44 | public render() {
45 | const { title, description, children } = this.props
46 | const { codeVisible } = this.state
47 | return (
48 |
49 |
{title}
50 |
55 | {description}
56 |
59 | {codeVisible ? 'Hide Code' : 'Show Code'}
60 |
61 | }
62 | style={{ backgroundColor: '#000' }}
63 | >
64 |
65 |
66 |
67 |
68 |
69 |
70 | {children && children}
71 |
72 |
73 | )
74 | }
75 | }
76 |
77 | export default CodeBox
78 |
--------------------------------------------------------------------------------
/src/components/codebox/style/index.css:
--------------------------------------------------------------------------------
1 | .example {
2 | max-width: 1000px;
3 | margin: 20px auto;
4 | }
5 | .example .container {
6 | padding: 40px 32px;
7 | border: 1px solid rgba(0, 0, 0, 0.15);
8 | border-bottom: none;
9 | border-top-right-radius: 4px;
10 | border-top-left-radius: 4px;
11 | }
12 |
13 | .code-example-box {
14 | position: relative;
15 | }
16 |
17 | .code-example-box .code-title {
18 | display: inline-flex;
19 | justify-content: flex-start;
20 | align-items: center;
21 | background-color: #fff;
22 | font-size: 14px;
23 | color: rgba(0, 0, 0, 0.85);
24 | position: absolute;
25 | top: -11px;
26 | left: 32px;
27 | line-height: 22px;
28 | z-index: 1;
29 | padding: 0 8px;
30 | cursor: default;
31 | border-radius: 4px;
32 | }
33 |
34 | .code-example-box .code-description {
35 | padding: 18px 32px;
36 | border: 1px solid rgba(0, 0, 0, 0.15);
37 | border-bottom-left-radius: 4px;
38 | border-bottom-right-radius: 4px;
39 | color: rgba(0, 0, 0, 0.65);
40 | position: relative;
41 | font-size: 14px;
42 | line-height: 22px;
43 | transition: all .3s cubic-bezier(.645, .045, .355, 1);
44 | color: rgba(0, 0, 0, 0.65);
45 |
46 | }
47 |
48 | .code-example-box .code-description.code-visible {
49 | border-bottom-left-radius: 0;
50 | border-bottom-right-radius: 0;
51 | }
52 |
53 | .code-example-box .code-description .icon-wrapper {
54 | color: rgba(0, 0, 0, 0.45);
55 | display: inline-flex;
56 | justify-content: center;
57 | align-content: center;
58 | cursor: pointer;
59 | position: absolute;
60 | bottom: 18px;
61 | right: 12px;
62 | }
63 |
64 | .code-example-box .code-example {
65 | background-color: rgb(40, 40, 40);
66 | color: rgb(212, 212, 212);
67 | font-size: 16px;
68 | line-height: 30px;
69 | font-weight: 500;
70 | padding: 18px 32px;
71 | border-bottom-left-radius: 4px;
72 | border-bottom-right-radius: 4px;
73 | }
74 |
75 | .label {
76 | color: rgb(128, 128, 128);
77 | }
78 | .component {
79 | color: rgb(78, 201, 176);
80 | }
81 | .htmltag {
82 | color: rgb(86, 156, 214);
83 | }
84 | .htmlstr {
85 | color: rgb(212, 212, 212);
86 | }
87 | .string {
88 | color: rgb(206, 145, 120);
89 | }
90 | .property {
91 | color: rgb(156, 220, 254);
92 | }
93 | .keyword {
94 | color: rgb(197, 134, 192);
95 | }
96 | .method {
97 | color: rgb(220, 220, 170);
98 | }
99 | .text {
100 | color: rgb(212, 212, 212);
101 | }
102 | .num {
103 | color: rgb(181, 206, 168);
104 | }
105 |
106 | .pop-content-code-tips {
107 | color: rgba(255, 255, 255, 0.85);
108 | font-size: 12px;
109 | font-weight: 500;
110 | line-height: 22px;
111 | padding: 4px 8px;
112 | white-space: nowrap;
113 | }
--------------------------------------------------------------------------------
/src/components/codebox/style/index.tsx:
--------------------------------------------------------------------------------
1 | import './index.css'
2 |
--------------------------------------------------------------------------------
/src/components/footer/Footer.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as PropTypes from 'prop-types'
3 | import { classes } from 'src/utils'
4 | import './style'
5 |
6 | interface IFooterProps {
7 | className?: string
8 | style?: React.CSSProperties
9 | }
10 |
11 | const componentName = 'Footer'
12 |
13 | class Footer extends React.Component {
14 | public static displayName = componentName
15 |
16 | public static propTypes = {
17 | className: PropTypes.string,
18 | style: PropTypes.object
19 | }
20 |
21 | public render() {
22 | const cn = componentName
23 | const { className, style, children } = this.props
24 | return (
25 |
28 | )
29 | }
30 | }
31 |
32 | export default Footer
33 |
--------------------------------------------------------------------------------
/src/components/footer/style/index.css:
--------------------------------------------------------------------------------
1 | .xue-press-footer {
2 | width: 100%;
3 | height: 70px;
4 | color: #fff;
5 | background-color: #34383b;
6 | }
--------------------------------------------------------------------------------
/src/components/footer/style/index.tsx:
--------------------------------------------------------------------------------
1 | import './index.css'
2 |
--------------------------------------------------------------------------------
/src/components/header/Header.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as PropTypes from 'prop-types'
3 | import { classes } from 'src/utils'
4 | import './style'
5 |
6 | interface IHeaderProps {
7 | className?: string
8 | style?: React.CSSProperties
9 | }
10 |
11 | const componentName = 'Header'
12 |
13 | class Header extends React.Component {
14 | public static displayName = componentName
15 |
16 | public static propTypes = {
17 | className: PropTypes.string,
18 | style: PropTypes.object
19 | }
20 |
21 | public render() {
22 | const cn = componentName
23 | const { className, style, children } = this.props
24 | return (
25 |
28 | )
29 | }
30 | }
31 |
32 | export default Header
33 |
--------------------------------------------------------------------------------
/src/components/header/style/index.css:
--------------------------------------------------------------------------------
1 | .xue-press-header {
2 | width: 100%;
3 | height: 60px;
4 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
5 | }
--------------------------------------------------------------------------------
/src/components/header/style/index.tsx:
--------------------------------------------------------------------------------
1 | import './index.css'
2 |
--------------------------------------------------------------------------------
/src/components/main/Main.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as PropTypes from 'prop-types'
3 | import { classes } from 'src/utils'
4 | import './style'
5 |
6 | interface IMainProps {
7 | className?: string
8 | style?: React.CSSProperties
9 | }
10 |
11 | const componentName = 'Main'
12 |
13 | class Main extends React.Component {
14 | public static displayName = componentName
15 |
16 | public static propTypes = {
17 | className: PropTypes.string,
18 | style: PropTypes.object
19 | }
20 |
21 | public render() {
22 | const cn = componentName
23 | const { className, style, children } = this.props
24 | return (
25 |
26 | {children}
27 |
28 | )
29 | }
30 | }
31 |
32 | export default Main
33 |
--------------------------------------------------------------------------------
/src/components/main/style/index.css:
--------------------------------------------------------------------------------
1 | .xue-press-main {
2 | width: 100%;
3 | flex-grow: 1;
4 | padding-top: 20px;
5 | display: flex;
6 | }
--------------------------------------------------------------------------------
/src/components/main/style/index.tsx:
--------------------------------------------------------------------------------
1 | import './index.css'
2 |
--------------------------------------------------------------------------------
/src/components/navbar/NavBar.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import { Menu, SubMenu, MenuItem } from 'xue-react'
3 | import { RouteComponentProps } from 'react-router-dom'
4 | import { classes } from 'src/utils'
5 |
6 | import { Consumer } from '../../Context'
7 |
8 | interface IRouteOption {
9 | path: string
10 | content: string | React.ReactNode
11 | page?: any
12 | className?: string
13 | style?: React.CSSProperties
14 | itemGroup?: boolean
15 | showArrow?: boolean
16 | children?: IRouteOption[]
17 | }
18 |
19 | interface INavBarProps extends RouteComponentProps {
20 | routes: IRouteOption[]
21 | }
22 |
23 | const componentName = 'NavBar'
24 |
25 | class NavBar extends React.Component {
26 | public static displayName = componentName
27 |
28 | public handleSelectedChange = (key: string) => {
29 | this.props.history.push(key)
30 | }
31 |
32 | public renderChildren = (routes: IRouteOption[]) => {
33 | return (
34 |
40 | )
41 | }
42 |
43 | public renderSubMenuOrMenuItem = (route: IRouteOption) => {
44 | if (route.children && route.children.length) {
45 | return (
46 |
54 | {route.children.map(childRoute =>
55 | this.renderSubMenuOrMenuItem(childRoute)
56 | )}
57 |
58 | )
59 | } else {
60 | return (
61 |
68 | )
69 | }
70 | }
71 |
72 | public render() {
73 | const cn = componentName
74 | return (
75 |
85 | )
86 | }
87 | }
88 |
89 | export default NavBar
90 |
--------------------------------------------------------------------------------
/src/components/navbar/style/index.css:
--------------------------------------------------------------------------------
1 | .xue-press-main {
2 | width: 100%;
3 | flex-grow: 1;
4 | }
--------------------------------------------------------------------------------
/src/components/navbar/style/index.tsx:
--------------------------------------------------------------------------------
1 | import './index.css'
2 |
--------------------------------------------------------------------------------
/src/index.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as ReactDOM from 'react-dom'
3 | import App from './App'
4 | import './style/global.css'
5 | import 'xue-react/lib/xue-react.css'
6 | import registerServiceWorker from './registerServiceWorker'
7 |
8 | ReactDOM.render(, document.getElementById('root') as HTMLElement)
9 | registerServiceWorker()
10 |
--------------------------------------------------------------------------------
/src/pages/ButtonPage.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 |
3 | import CodeBox from '../components/codebox/CodeBox'
4 |
5 | const componentName = 'ButtonPage'
6 |
7 | class ButtonPage extends React.Component {
8 | public static displayName = componentName
9 |
10 | public render() {
11 | return (
12 |
13 |
14 | Button 按钮
15 | 点击以开始即时操作。
16 |
17 |
18 | 何时使用
19 | 响应用户点击行为,触发相应业务逻辑。
20 |
21 |
24 |
25 |
效果展示区
26 |
30 | {'折叠代码区'}
31 |
32 |
33 |
34 |
效果展示区
35 |
39 | {'折叠代码区'}
40 |
41 |
42 |
43 |
效果展示区
44 |
48 | {'折叠代码区'}
49 |
50 |
51 |
52 |
效果展示区
53 |
57 | {'折叠代码区'}
58 |
59 |
60 |
63 |
64 |
65 |
66 | 参数 |
67 | 说明 |
68 | 类型 |
69 | 默认值 |
70 |
71 |
72 |
73 |
74 | icon |
75 | 内嵌 Icon 图标的 name 属性 |
76 | string |
77 | —— |
78 |
79 |
80 | position |
81 | 内嵌 Icon 图标的位置 |
82 | 'left' | 'right' |
83 | 'left' |
84 |
85 |
86 |
87 |
90 |
91 |
92 |
93 | 名称 |
94 | 描述 |
95 | 参数 |
96 |
97 |
98 |
99 |
100 | focus() |
101 | 获取焦点 |
102 | —— |
103 |
104 |
105 | blur() |
106 | 移除焦点 |
107 | —— |
108 |
109 |
110 |
111 |
112 | )
113 | }
114 | }
115 |
116 | export default ButtonPage
117 |
--------------------------------------------------------------------------------
/src/pages/IconPage.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as ReactDOM from 'react-dom'
3 | import * as PropTypes from 'prop-types'
4 |
5 | const componentName = 'IconPage'
6 |
7 | class IconPage extends React.Component {
8 | public static displayName = componentName
9 |
10 | public static defaultProps = {}
11 |
12 | public static propTypes = {}
13 |
14 | public render() {
15 | const cn = componentName
16 | return IconPage
17 | }
18 | }
19 |
20 | export default IconPage
21 |
--------------------------------------------------------------------------------
/src/pages/InstallPage.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as ReactDOM from 'react-dom'
3 | import * as PropTypes from 'prop-types'
4 |
5 | const componentName = 'InstallPage'
6 |
7 | class InstallPage extends React.Component {
8 | public static displayName = componentName
9 |
10 | public static defaultProps = {}
11 |
12 | public static propTypes = {}
13 |
14 | public render() {
15 | const cn = componentName
16 | return InstallPage
17 | }
18 | }
19 |
20 | export default InstallPage
21 |
--------------------------------------------------------------------------------
/src/pages/StartPage.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as ReactDOM from 'react-dom'
3 | import * as PropTypes from 'prop-types'
4 |
5 | const componentName = 'StartPage'
6 |
7 | class StartPage extends React.Component {
8 | public static displayName = componentName
9 |
10 | public static defaultProps = {}
11 |
12 | public static propTypes = {}
13 |
14 | public render() {
15 | const cn = componentName
16 | return StartPage
17 | }
18 | }
19 |
20 | export default StartPage
21 |
--------------------------------------------------------------------------------
/src/pages/TablePage.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import * as ReactDOM from 'react-dom'
3 | import * as PropTypes from 'prop-types'
4 |
5 | const componentName = 'TablePage'
6 |
7 | class TablePage extends React.Component {
8 | public static displayName = componentName
9 |
10 | public static defaultProps = {}
11 |
12 | public static propTypes = {}
13 |
14 | public render() {
15 | const cn = componentName
16 | return TablePage
17 | }
18 | }
19 |
20 | export default TablePage
21 |
--------------------------------------------------------------------------------
/src/registerServiceWorker.ts:
--------------------------------------------------------------------------------
1 | // tslint:disable:no-console
2 | // In production, we register a service worker to serve assets from local cache.
3 |
4 | // This lets the app load faster on subsequent visits in production, and gives
5 | // it offline capabilities. However, it also means that developers (and users)
6 | // will only see deployed updates on the 'N+1' visit to a page, since previously
7 | // cached resources are updated in the background.
8 |
9 | // To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
10 | // This link also includes instructions on opting out of this behavior.
11 |
12 | const isLocalhost = Boolean(
13 | window.location.hostname === 'localhost' ||
14 | // [::1] is the IPv6 localhost address.
15 | window.location.hostname === '[::1]' ||
16 | // 127.0.0.1/8 is considered localhost for IPv4.
17 | window.location.hostname.match(
18 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
19 | )
20 | );
21 |
22 | export default function register() {
23 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
24 | // The URL constructor is available in all browsers that support SW.
25 | const publicUrl = new URL(
26 | process.env.PUBLIC_URL!,
27 | window.location.toString()
28 | );
29 | if (publicUrl.origin !== window.location.origin) {
30 | // Our service worker won't work if PUBLIC_URL is on a different origin
31 | // from what our page is served on. This might happen if a CDN is used to
32 | // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
33 | return;
34 | }
35 |
36 | window.addEventListener('load', () => {
37 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
38 |
39 | if (isLocalhost) {
40 | // This is running on localhost. Lets check if a service worker still exists or not.
41 | checkValidServiceWorker(swUrl);
42 |
43 | // Add some additional logging to localhost, pointing developers to the
44 | // service worker/PWA documentation.
45 | navigator.serviceWorker.ready.then(() => {
46 | console.log(
47 | 'This web app is being served cache-first by a service ' +
48 | 'worker. To learn more, visit https://goo.gl/SC7cgQ'
49 | );
50 | });
51 | } else {
52 | // Is not local host. Just register service worker
53 | registerValidSW(swUrl);
54 | }
55 | });
56 | }
57 | }
58 |
59 | function registerValidSW(swUrl: string) {
60 | navigator.serviceWorker
61 | .register(swUrl)
62 | .then(registration => {
63 | registration.onupdatefound = () => {
64 | const installingWorker = registration.installing;
65 | if (installingWorker) {
66 | installingWorker.onstatechange = () => {
67 | if (installingWorker.state === 'installed') {
68 | if (navigator.serviceWorker.controller) {
69 | // At this point, the old content will have been purged and
70 | // the fresh content will have been added to the cache.
71 | // It's the perfect time to display a 'New content is
72 | // available; please refresh.' message in your web app.
73 | console.log('New content is available; please refresh.');
74 | } else {
75 | // At this point, everything has been precached.
76 | // It's the perfect time to display a
77 | // 'Content is cached for offline use.' message.
78 | console.log('Content is cached for offline use.');
79 | }
80 | }
81 | };
82 | }
83 | };
84 | })
85 | .catch(error => {
86 | console.error('Error during service worker registration:', error);
87 | });
88 | }
89 |
90 | function checkValidServiceWorker(swUrl: string) {
91 | // Check if the service worker can be found. If it can't reload the page.
92 | fetch(swUrl)
93 | .then(response => {
94 | // Ensure service worker exists, and that we really are getting a JS file.
95 | if (
96 | response.status === 404 ||
97 | response.headers.get('content-type')!.indexOf('javascript') === -1
98 | ) {
99 | // No service worker found. Probably a different app. Reload the page.
100 | navigator.serviceWorker.ready.then(registration => {
101 | registration.unregister().then(() => {
102 | window.location.reload();
103 | });
104 | });
105 | } else {
106 | // Service worker found. Proceed as normal.
107 | registerValidSW(swUrl);
108 | }
109 | })
110 | .catch(() => {
111 | console.log(
112 | 'No internet connection found. App is running in offline mode.'
113 | );
114 | });
115 | }
116 |
117 | export function unregister() {
118 | if ('serviceWorker' in navigator) {
119 | navigator.serviceWorker.ready.then(registration => {
120 | registration.unregister();
121 | });
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/src/style/App.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | min-height: 100vh;
4 | }
5 | #root,
6 | .App {
7 | min-height: 100vh;
8 | }
9 | .App {
10 | display: flex;
11 | flex-direction: column;
12 | justify-content: flex-start;
13 | align-items: flex-start;
14 | }
15 |
16 | /* 代码示例前的标题 */
17 | section {
18 | padding: 20px;
19 | padding-bottom: 0;
20 | padding-left: 25px;
21 | max-width: 1000px;
22 | margin: 0 auto;
23 | }
24 |
25 | section.sub {
26 | padding-top: 0;
27 | }
28 |
29 | section h1, section h2, section h3 {
30 | color: #0d1a26;
31 | }
32 |
33 | section .text {
34 | font-size: 14px;
35 | font-weight: 400;
36 | line-height: 22px;
37 | color: rgba(0, 0, 0, 0.65);
38 | }
39 |
40 | /* API 表格、Method 表格 */
41 | .api-table, .method-table {
42 | width: 100%;
43 | max-width: 1000px;
44 | margin: 0 auto;
45 | border-collapse: collapse;
46 | }
47 |
48 |
49 | .api-table th,
50 | .api-table td,
51 | .method-table th,
52 | .method-table td {
53 | font-weight: 400;
54 | font-size: 14px;
55 | line-height: 22px;
56 | color: rgba(0, 0, 0, 0.65);
57 | min-width: 120px;
58 | max-width: 250px;
59 | text-align: center;
60 | padding: 15px 10px;
61 | border-bottom: 1px solid rgba(0, 0, 0, 0.15);
62 | }
63 | .api-table th.des,
64 | .api-table td.des,
65 | .method-table th.des,
66 | .method-table td.des,
67 | .api-table th.type,
68 | .api-table td.type,
69 | .method-table th.type,
70 | .method-table td.type {
71 | text-align: start;
72 | min-width: 100px;
73 | max-width: 300px;
74 | }
75 |
76 | .api-table td.type,
77 | .api-table td.params,
78 | .method-table td.type,
79 | .method-table td.params {
80 | color: #c41d7f;
81 | }
82 |
83 | .api-table th,
84 | .method-table th {
85 | background-color: rgba(0, 0, 0, 0.04);
86 | font-weight: 500;
87 | }
88 |
89 |
90 | a.link {
91 | color: #1890ff;
92 | margin: 0 4px;
93 | }
--------------------------------------------------------------------------------
/src/style/global.css:
--------------------------------------------------------------------------------
1 | *, *::before, *::after {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 | ul, ol {
10 | list-style: none;
11 | }
12 | h1, h2, h3, h4, h5, h6 {
13 | font-weight: 500;
14 | margin-bottom: 20px;
15 | margin-top: 8px;
16 | color: rgba(0, 0, 0, .85);
17 | }
18 | h1 {
19 | font-size: 30px;
20 | line-height: 38px;
21 | }
22 | h2 {
23 | font-size: 24px;
24 | line-height: 32px;
25 | }
26 | h3 {
27 | font-size: 18px;
28 | line-height: 26px;
29 | }
30 | h4 {
31 | font-size: 14px;
32 | line-height: 22px;
33 | }
34 | a {
35 | text-decoration: none;
36 | color: #1890ff;
37 | }
38 | p {
39 | margin: 14px 0;
40 | line-height: 2em;
41 | }
42 | img {
43 | vertical-align: top;
44 | border: none;
45 | }
--------------------------------------------------------------------------------
/src/utils/classes.ts:
--------------------------------------------------------------------------------
1 | const prefix = 'xue-press'
2 |
3 | function classes(componentName: string, ...args: any): string {
4 | const className: string[] = []
5 | args.forEach((arg: any) => {
6 | if (typeof arg === 'string') {
7 | className.push(
8 | `${prefix}-${componentName.toLowerCase()}${arg && '-' + arg}`
9 | )
10 | } else if (arg instanceof Array) {
11 | arg.forEach(str => typeof str === 'string' && className.push(str))
12 | } else if (typeof arg === 'object' && !(arg instanceof Array)) {
13 | for (const key in arg) {
14 | if (arg.hasOwnProperty(key) && arg[key]) {
15 | className.push(key)
16 | }
17 | }
18 | }
19 | })
20 | return className.filter(v => v).join(' ')
21 | }
22 |
23 | export default classes
24 |
--------------------------------------------------------------------------------
/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | import classes from './classes'
2 |
3 | export { classes }
4 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "outDir": "build/dist",
5 | "module": "esnext",
6 | "target": "es5",
7 | "lib": ["es6", "dom"],
8 | "sourceMap": true,
9 | "allowJs": true,
10 | "jsx": "react",
11 | "moduleResolution": "node",
12 | "rootDir": "src",
13 | "forceConsistentCasingInFileNames": true,
14 | "noImplicitReturns": true,
15 | "noImplicitThis": true,
16 | "noImplicitAny": true,
17 | "importHelpers": true,
18 | "strictNullChecks": true,
19 | "suppressImplicitAnyIndexErrors": true,
20 | "noUnusedLocals": false
21 | },
22 | "exclude": [
23 | "node_modules",
24 | "build",
25 | "scripts",
26 | "acceptance-tests",
27 | "webpack",
28 | "jest",
29 | "src/setupTests.ts"
30 | ]
31 | }
--------------------------------------------------------------------------------
/tsconfig.prod.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json"
3 | }
--------------------------------------------------------------------------------
/tsconfig.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "module": "commonjs"
5 | }
6 | }
--------------------------------------------------------------------------------
/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
3 | "linterOptions": {
4 | "exclude": [
5 | "config/**/*.js",
6 | "node_modules/**/*.ts",
7 | "coverage/lcov-report/*.js",
8 | "src/packages/utils/svg.js"
9 | ]
10 | },
11 | "rules": {
12 | "no-console": [
13 | false
14 | ],
15 | "only-arrow-functions": [
16 | false
17 | ],
18 | "ordered-imports": [
19 | false
20 | ],
21 | "object-literal-sort-keys": [false],
22 | "jsx-no-lambda": [false]
23 | }
24 | }
--------------------------------------------------------------------------------