├── .coveralls.yml ├── .editorconfig ├── .gitattributes ├── .github └── workflows │ └── node.js.yml ├── .gitignore ├── .npmignore ├── HISTORY.md ├── README.md ├── lib ├── cache.js ├── index.js ├── replace.js └── utils.js ├── package.json ├── perf ├── index.js ├── index.scss ├── lib │ ├── _components │ │ └── @alife │ │ │ ├── next-accordion │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-animate │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _expand-entrances │ │ │ │ └── _expandInDown.scss │ │ │ │ ├── _expand-exits │ │ │ │ └── _expandOutUp.scss │ │ │ │ ├── _fading-entrances │ │ │ │ ├── _fadeIn.scss │ │ │ │ ├── _fadeInDown.scss │ │ │ │ ├── _fadeInDownBig.scss │ │ │ │ ├── _fadeInLeft.scss │ │ │ │ ├── _fadeInLeftBig.scss │ │ │ │ ├── _fadeInRight.scss │ │ │ │ ├── _fadeInRightBig.scss │ │ │ │ ├── _fadeInUp.scss │ │ │ │ ├── _fadeInUpBig.scss │ │ │ │ └── fading-entrances.scss │ │ │ │ ├── _fading-exits │ │ │ │ ├── _fadeOut.scss │ │ │ │ ├── _fadeOutDown.scss │ │ │ │ ├── _fadeOutDownBig.scss │ │ │ │ ├── _fadeOutLeft.scss │ │ │ │ ├── _fadeOutLeftBig.scss │ │ │ │ ├── _fadeOutRight.scss │ │ │ │ ├── _fadeOutRightBig.scss │ │ │ │ ├── _fadeOutUp.scss │ │ │ │ ├── _fadeOutUpBig.scss │ │ │ │ └── fading-exits.scss │ │ │ │ ├── _sliding-entrances │ │ │ │ ├── _slideInDown.scss │ │ │ │ ├── _slideInLeft.scss │ │ │ │ ├── _slideInRight.scss │ │ │ │ ├── _slideInUp.scss │ │ │ │ └── sliding-entrances.scss │ │ │ │ ├── _sliding-exits │ │ │ │ ├── _slideOutDown.scss │ │ │ │ ├── _slideOutLeft.scss │ │ │ │ ├── _slideOutRight.scss │ │ │ │ ├── _slideOutUp.scss │ │ │ │ └── sliding-exits.scss │ │ │ │ ├── _zooming-entrances │ │ │ │ ├── _zoomIn.scss │ │ │ │ ├── _zoomInDown.scss │ │ │ │ ├── _zoomInLeft.scss │ │ │ │ ├── _zoomInRight.scss │ │ │ │ ├── _zoomInUp.scss │ │ │ │ └── zooming-entrances.scss │ │ │ │ ├── _zooming-exits │ │ │ │ ├── _zoomOut.scss │ │ │ │ ├── _zoomOutDown.scss │ │ │ │ ├── _zoomOutLeft.scss │ │ │ │ ├── _zoomOutRight.scss │ │ │ │ ├── _zoomOutUp.scss │ │ │ │ └── zooming-exits.scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-badge │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-balloon │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-breadcrumb │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-button │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ ├── next-calendar │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ ├── variable.scss │ │ │ │ ├── view-card.scss │ │ │ │ ├── view-fullscreen.scss │ │ │ │ └── view-picker.scss │ │ │ ├── next-card │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ ├── next-checkbox │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ └── variables.scss │ │ │ ├── next-core │ │ │ └── lib │ │ │ │ ├── base │ │ │ │ ├── _normalize.scss │ │ │ │ └── _typography.scss │ │ │ │ ├── index.scss │ │ │ │ ├── next.scss │ │ │ │ ├── util │ │ │ │ ├── _functions.scss │ │ │ │ └── _mixins.scss │ │ │ │ └── variables │ │ │ │ ├── _color.scss │ │ │ │ ├── _corner.scss │ │ │ │ ├── _font.scss │ │ │ │ ├── _global.scss │ │ │ │ ├── _icon.scss │ │ │ │ ├── _line.scss │ │ │ │ ├── _shadow.scss │ │ │ │ └── _size.scss │ │ │ ├── next-date-picker │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ ├── variable.scss │ │ │ │ ├── view-date-picker.scss │ │ │ │ ├── view-month-picker.scss │ │ │ │ └── view-range-picker.scss │ │ │ ├── next-dialog │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ └── variable.scss │ │ │ ├── next-dropdown │ │ │ └── lib │ │ │ │ └── index.scss │ │ │ ├── next-feedback │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-form │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-grid │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── iepack.scss │ │ │ │ ├── media-query-hack.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-icon │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── functions.scss │ │ │ │ ├── mixins.scss │ │ │ │ └── placeholders.scss │ │ │ ├── next-input │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-loading │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-menu │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ └── variables.scss │ │ │ ├── next-nav │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ └── variable.scss │ │ │ ├── next-navigation │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-notice │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-number-picker │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-overlay │ │ │ └── lib │ │ │ │ └── index.scss │ │ │ ├── next-pagination │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ └── variable.scss │ │ │ ├── next-progress │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ ├── next-radio │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ └── variable.scss │ │ │ ├── next-range │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-rating │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ └── variable.scss │ │ │ ├── next-search │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-select │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-slider │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-step │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── arrow.scss │ │ │ │ ├── basic.scss │ │ │ │ ├── circle.scss │ │ │ │ ├── dot.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ ├── next-switch │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── _function.scss │ │ │ │ ├── _mixin.scss │ │ │ │ ├── _placeholder.scss │ │ │ │ └── _variable.scss │ │ │ ├── next-tab │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── animation.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-table │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ └── variable.scss │ │ │ ├── next-tag │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── function.scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── motion.scss │ │ │ │ ├── placeholder.scss │ │ │ │ └── variable.scss │ │ │ ├── next-time-picker │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ ├── next-timeline │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ ├── next-tree │ │ │ └── lib │ │ │ │ ├── index.scss │ │ │ │ └── scss │ │ │ │ ├── mixin.scss │ │ │ │ ├── normalize.scss │ │ │ │ └── variable.scss │ │ │ └── next-upload │ │ │ └── lib │ │ │ ├── index.scss │ │ │ └── scss │ │ │ ├── cropper.scss │ │ │ └── variable.scss │ ├── accordion │ │ └── index.scss │ ├── animate │ │ └── index.scss │ ├── badge │ │ └── index.scss │ ├── balloon │ │ └── index.scss │ ├── breadcrumb │ │ └── index.scss │ ├── button │ │ └── index.scss │ ├── calendar │ │ └── index.scss │ ├── card │ │ └── index.scss │ ├── checkbox │ │ └── index.scss │ ├── core │ │ └── index.scss │ ├── date-picker │ │ └── index.scss │ ├── dialog │ │ └── index.scss │ ├── dropdown │ │ └── index.scss │ ├── feedback │ │ └── index.scss │ ├── form │ │ └── index.scss │ ├── grid │ │ └── index.scss │ ├── icon │ │ └── index.scss │ ├── input │ │ └── index.scss │ ├── loading │ │ └── index.scss │ ├── menu │ │ └── index.scss │ ├── nav │ │ └── index.scss │ ├── navigation │ │ └── index.scss │ ├── notice │ │ └── index.scss │ ├── number-picker │ │ └── index.scss │ ├── overlay │ │ └── index.scss │ ├── pagination │ │ └── index.scss │ ├── progress │ │ └── index.scss │ ├── radio │ │ └── index.scss │ ├── range │ │ └── index.scss │ ├── rating │ │ └── index.scss │ ├── search │ │ └── index.scss │ ├── select │ │ └── index.scss │ ├── slider │ │ └── index.scss │ ├── step │ │ └── index.scss │ ├── switch │ │ └── index.scss │ ├── tab │ │ └── index.scss │ ├── table │ │ └── index.scss │ ├── tag │ │ └── index.scss │ ├── time-picker │ │ └── index.scss │ ├── timeline │ │ └── index.scss │ ├── tree │ │ └── index.scss │ └── upload │ │ └── index.scss └── webpack.config.js └── test ├── fixtures ├── bom-issue │ ├── expect.css │ ├── index.scss │ ├── webpack.config.js │ └── with-bom.scss ├── comment-import │ ├── expect.css │ ├── header.scss │ ├── index.scss │ └── webpack.config.js ├── data-import-issue │ ├── expect.css │ ├── foobar.scss │ ├── index.scss │ ├── src │ │ └── theme.scss │ └── webpack.config.js ├── double-extensions │ ├── expect.css │ ├── foobar.default.scss │ ├── index.scss │ └── webpack.config.js ├── normal-no-url-resolve │ ├── actual │ │ ├── _sass2.scss │ │ ├── img │ │ │ ├── index.scss │ │ │ └── logo.png │ │ ├── index.scss │ │ ├── index2.sass │ │ ├── sass1.sass │ │ └── sass1.scss │ ├── expect.css │ ├── expect2.css │ ├── extra │ │ ├── foobar.scss │ │ └── include-test.scss │ ├── node_modules │ │ └── test-module │ │ │ ├── package.json │ │ │ └── test.scss │ ├── sass_modules │ │ └── foobaz │ │ │ ├── foobaz.scss │ │ │ └── index.scss │ ├── test.png │ └── webpack.config.js ├── normal │ ├── actual │ │ ├── _sass2.scss │ │ ├── img │ │ │ ├── index.scss │ │ │ └── logo.png │ │ ├── index.scss │ │ ├── index2.sass │ │ ├── sass1.sass │ │ └── sass1.scss │ ├── expect.css │ ├── expect2.css │ ├── extra │ │ ├── foobar.scss │ │ └── include-test.scss │ ├── node_modules │ │ └── test-module │ │ │ ├── package.json │ │ │ └── test.scss │ ├── sass_modules │ │ └── foobaz │ │ │ ├── foobaz.scss │ │ │ └── index.scss │ ├── test.png │ └── webpack.config.js ├── pass-output-style │ ├── expect.css │ ├── foobar.scss │ ├── index.scss │ └── webpack.config.js ├── simple │ ├── expect.css │ ├── foobar.scss │ ├── index.scss │ └── webpack.config.js ├── use-rule │ ├── expect.css │ ├── index.scss │ ├── second-with-use.scss │ ├── webpack.config.js │ ├── with-use.scss │ └── without-use.scss ├── withData │ ├── actual │ │ └── index.scss │ ├── expect.css │ ├── extra │ │ └── _variables.scss │ └── webpack.config.js ├── withSass │ ├── expect.css │ ├── foobar.scss │ ├── index.scss │ └── webpack.config.js └── withTransformer │ ├── actual │ ├── colors.color │ └── index.scss │ ├── expect.css │ └── webpack.config.js └── index.test.js /.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: travis-pro 2 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs. 2 | # More information at http://EditorConfig.org 3 | 4 | # No .editorconfig files above the root directory 5 | root = true 6 | 7 | [*] 8 | indent_style = space 9 | indent_size = 2 10 | charset = utf-8 11 | trim_trailing_whitespace = true 12 | insert_final_newline = true 13 | 14 | [package.json] 15 | indent_size = 2 16 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | perf/* linguist-documentation 2 | -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions 3 | 4 | name: Node.js CI 5 | 6 | on: 7 | push: 8 | branches: [ master ] 9 | pull_request: 10 | branches: [ master ] 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | strategy: 18 | matrix: 19 | node-version: [12.x, 14.x] 20 | # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ 21 | 22 | steps: 23 | - uses: actions/checkout@v2 24 | - name: Use Node.js ${{ matrix.node-version }} 25 | uses: actions/setup-node@v1 26 | with: 27 | node-version: ${{ matrix.node-version }} 28 | cache: 'npm' 29 | - run: npm install 30 | - run: npm run ci 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | **/.DS_Store 3 | *.log 4 | !.editorconfig 5 | !.npmignore 6 | !.gitignore 7 | !.gitattributes 8 | !.build 9 | !.*.yml 10 | !/test/fixtures/*/node_modules 11 | 12 | /node_modules 13 | /coverage 14 | /.idea 15 | /test/runtime/* 16 | /perf/dist/* 17 | 18 | 19 | .justconf 20 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | /node_modules/ 11 | /coverage/ 12 | /examples/ 13 | /test/ 14 | /.idea 15 | /perf/ 16 | 17 | 18 | .justconf 19 | -------------------------------------------------------------------------------- /lib/replace.js: -------------------------------------------------------------------------------- 1 | const async = require('async') 2 | 3 | /** 4 | * replace string async 5 | * 6 | * @param {String} text text to replace 7 | * @param {RegExp} rule RegExp 8 | * @param {Function} replacer function that return promise 9 | * @return {String} 10 | */ 11 | function replaceAsync (text, rule, replacer) { 12 | let matches 13 | const ranges = [] 14 | 15 | rule.lastIndex = 0 16 | 17 | while ((matches = rule.exec(text))) { 18 | // eslint-disable-line 19 | ranges.push([rule.lastIndex - matches[0].length, rule.lastIndex, matches.slice()]) 20 | } 21 | 22 | return new Promise((resolve, reject) => { 23 | async.mapSeries( 24 | ranges, 25 | function (range, done) { 26 | replacer 27 | .apply( 28 | { 29 | start: range[0], 30 | end: range[1] 31 | }, 32 | range[2] 33 | ) 34 | .then( 35 | ret => { 36 | done(null, ret) 37 | }, 38 | err => { 39 | done(err) 40 | } 41 | ) 42 | }, 43 | function (err, results) { 44 | if (err) { 45 | reject(err) 46 | } else { 47 | resolve(replaceByRanges(text, ranges, results)) 48 | } 49 | } 50 | ) 51 | }) 52 | } 53 | 54 | function replaceByRanges (text, ranges, replaces) { 55 | const points = [0] 56 | const map = {} 57 | const pieces = [] 58 | 59 | ranges.forEach((range, i) => { 60 | points.push(range[0]) 61 | points.push(range[1]) 62 | 63 | map[`${range[0]}-${range[1]}`] = replaces[i] || '' 64 | }) 65 | 66 | points.push(Infinity) 67 | 68 | while (points.length > 1) { 69 | const start = points.shift() 70 | const stop = points[0] 71 | const key = `${start}-${stop}` 72 | 73 | if (key in map) { 74 | pieces.push(map[key]) 75 | } else { 76 | pieces.push(text.substring(start, stop)) 77 | } 78 | } 79 | 80 | return pieces.join('') 81 | } 82 | 83 | module.exports = replaceAsync 84 | -------------------------------------------------------------------------------- /lib/utils.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | function isObject (item) { 4 | return item && typeof item === 'object' && !Array.isArray(item) 5 | } 6 | function mergeDeep (target, ...sources) { 7 | if (!sources.length) return target 8 | const source = sources.shift() 9 | 10 | if (isObject(target) && isObject(source)) { 11 | for (const key in source) { 12 | if (isObject(source[key])) { 13 | if (!target[key]) Object.assign(target, { [key]: {} }) 14 | mergeDeep(target[key], source[key]) 15 | } else { 16 | Object.assign(target, { [key]: source[key] }) 17 | } 18 | } 19 | } 20 | 21 | return mergeDeep(target, ...sources) 22 | } 23 | const utils = { 24 | fstat (file) { 25 | try { 26 | return fs.statSync(file) 27 | } catch (err) { 28 | return false 29 | } 30 | }, 31 | findComments (text) { 32 | const ranges = [] 33 | const ruleMap = { 34 | '//': '\n', 35 | '/*': '*/' 36 | } 37 | const startRule = /\/\/|\/\*/g 38 | let matches 39 | 40 | while ((matches = startRule.exec(text))) { 41 | // eslint-disable-line 42 | const endChars = ruleMap[matches[0]] 43 | const start = startRule.lastIndex - matches[0].length 44 | let end = text.indexOf(endChars, startRule.lastIndex) 45 | 46 | if (end < 0) { 47 | end = Infinity 48 | } 49 | 50 | ranges.push([start, end]) 51 | 52 | startRule.lastIndex = end 53 | } 54 | 55 | return ranges 56 | }, 57 | mergeDeep 58 | } 59 | 60 | module.exports = utils 61 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fast-sass-loader", 3 | "description": "fast sass loader for Webpack", 4 | "version": "2.0.1", 5 | "main": "lib/index.js", 6 | "scripts": { 7 | "lint": "standard --fix && npm-ensure -t deps", 8 | "test": "npm run lint && npm run test-local", 9 | "perf": "node perf/index.js", 10 | "test-local": "mocha test/**/*.test.js", 11 | "test-cov": "nyc npm run test-local", 12 | "ci": "npm run lint && npm run test-cov", 13 | "release": "npm test && npm-ensure -t changelog && git release $npm_package_version && npm publish", 14 | "precommit": "standard && npm-ensure -t deps" 15 | }, 16 | "ensure": { 17 | "deps": { 18 | "checkDirs": [ 19 | "lib/**/*" 20 | ] 21 | } 22 | }, 23 | "nyc": { 24 | "reporter": [ 25 | "text", 26 | "json", 27 | "lcov" 28 | ] 29 | }, 30 | "standard": { 31 | "global": [ 32 | "describe", 33 | "it", 34 | "beforeEach", 35 | "afterEach" 36 | ], 37 | "ignore": [ 38 | "/test", 39 | "/perf" 40 | ] 41 | }, 42 | "dependencies": { 43 | "async": "^2.0.1", 44 | "cli-source-preview": "^1.0.0", 45 | "co": "^4.6.0", 46 | "fs-extra": "3.x", 47 | "loader-utils": "^1.1.0" 48 | }, 49 | "peerDependencies": { 50 | "webpack": "1.x || 2.x || 3.x || 4.x || 5.x", 51 | "sass": "1.x" 52 | }, 53 | "devDependencies": { 54 | "coveralls": "^2.12.0", 55 | "css-loader": "^0.23.1", 56 | "extract-text-webpack-plugin": "^3.0.0", 57 | "fast-css-loader": "^1.0.2", 58 | "file-loader": "^0.9.0", 59 | "husky": "*", 60 | "mocha": "^3.2.0", 61 | "npm-ensure": "^1.1.0", 62 | "nyc": "*", 63 | "prettier": "^1.19.1", 64 | "raw-loader": "^0.5.1", 65 | "rimraf": "^2.6.1", 66 | "sass": "^1.32.8", 67 | "sass-loader": "^6.0.3", 68 | "standard": "*", 69 | "webpack": "3.x" 70 | }, 71 | "repository": { 72 | "type": "git", 73 | "url": "git+https://github.com/yibn2008/fast-sass-loader.git" 74 | }, 75 | "keywords": [ 76 | "sass-loader", 77 | "fast" 78 | ], 79 | "author": "yibn2008", 80 | "license": "MIT", 81 | "bugs": { 82 | "url": "https://github.com/yibn2008/fast-sass-loader/issues" 83 | }, 84 | "homepage": "https://github.com/yibn2008/fast-sass-loader#readme" 85 | } 86 | -------------------------------------------------------------------------------- /perf/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const cp = require('child_process') 4 | const path = require('path') 5 | const chalk = require('chalk') 6 | 7 | console.log('************** RUN WITH FAST SASS LOADER **************') 8 | let label = chalk.green('[total] fast-sass-loader') 9 | console.time(label) 10 | cp.spawnSync(process.execPath, ['../node_modules/.bin/webpack', '--progress'], { 11 | stdio: 'inherit', 12 | cwd: __dirname, 13 | env: Object.assign({ 14 | SASS_LOADER: 'fast-sass-loader' 15 | }, process.env) 16 | }) 17 | console.log() 18 | console.timeEnd(label) 19 | console.log() 20 | console.log() 21 | 22 | console.log('************** RUN WITH SASS LOADER **************') 23 | label = chalk.yellow('[total] sass-loader') 24 | console.time(label) 25 | cp.spawnSync(process.execPath, ['../node_modules/.bin/webpack', '--progress'], { 26 | stdio: 'inherit', 27 | cwd: __dirname, 28 | env: Object.assign({ 29 | SASS_LOADER: 'sass-loader' 30 | }, process.env) 31 | }) 32 | console.log() 33 | console.timeEnd(label) 34 | console.log() 35 | -------------------------------------------------------------------------------- /perf/index.scss: -------------------------------------------------------------------------------- 1 | @import "lib/_components/@alife/next-core/lib/index.scss"; 2 | @import "lib/_components/@alife/next-accordion/lib/index.scss"; 3 | @import "lib/_components/@alife/next-animate/lib/index.scss"; 4 | @import "lib/_components/@alife/next-badge/lib/index.scss"; 5 | @import "lib/_components/@alife/next-balloon/lib/index.scss"; 6 | @import "lib/_components/@alife/next-breadcrumb/lib/index.scss"; 7 | @import "lib/_components/@alife/next-button/lib/index.scss"; 8 | @import "lib/_components/@alife/next-calendar/lib/index.scss"; 9 | @import "lib/_components/@alife/next-card/lib/index.scss"; 10 | @import "lib/_components/@alife/next-checkbox/lib/index.scss"; 11 | @import "lib/_components/@alife/next-date-picker/lib/index.scss"; 12 | @import "lib/_components/@alife/next-dialog/lib/index.scss"; 13 | @import "lib/_components/@alife/next-dropdown/lib/index.scss"; 14 | @import "lib/_components/@alife/next-feedback/lib/index.scss"; 15 | @import "lib/_components/@alife/next-form/lib/index.scss"; 16 | @import "lib/_components/@alife/next-grid/lib/index.scss"; 17 | @import "lib/_components/@alife/next-icon/lib/index.scss"; 18 | @import "lib/_components/@alife/next-input/lib/index.scss"; 19 | @import "lib/_components/@alife/next-loading/lib/index.scss"; 20 | @import "lib/_components/@alife/next-menu/lib/index.scss"; 21 | @import "lib/_components/@alife/next-nav/lib/index.scss"; 22 | @import "lib/_components/@alife/next-navigation/lib/index.scss"; 23 | @import "lib/_components/@alife/next-notice/lib/index.scss"; 24 | @import "lib/_components/@alife/next-number-picker/lib/index.scss"; 25 | @import "lib/_components/@alife/next-overlay/lib/index.scss"; 26 | @import "lib/_components/@alife/next-pagination/lib/index.scss"; 27 | @import "lib/_components/@alife/next-progress/lib/index.scss"; 28 | @import "lib/_components/@alife/next-radio/lib/index.scss"; 29 | @import "lib/_components/@alife/next-range/lib/index.scss"; 30 | @import "lib/_components/@alife/next-rating/lib/index.scss"; 31 | @import "lib/_components/@alife/next-search/lib/index.scss"; 32 | @import "lib/_components/@alife/next-select/lib/index.scss"; 33 | @import "lib/_components/@alife/next-slider/lib/index.scss"; 34 | @import "lib/_components/@alife/next-step/lib/index.scss"; 35 | @import "lib/_components/@alife/next-switch/lib/index.scss"; 36 | @import "lib/_components/@alife/next-tab/lib/index.scss"; 37 | @import "lib/_components/@alife/next-table/lib/index.scss"; 38 | @import "lib/_components/@alife/next-tag/lib/index.scss"; 39 | @import "lib/_components/@alife/next-time-picker/lib/index.scss"; 40 | @import "lib/_components/@alife/next-timeline/lib/index.scss"; 41 | @import "lib/_components/@alife/next-tree/lib/index.scss"; 42 | @import "lib/_components/@alife/next-upload/lib/index.scss"; 43 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-accordion/lib/index.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @import "../../next-core/lib/next.scss"; 4 | @import "../../next-icon/lib/index.scss"; 5 | @import "./scss/function.scss"; 6 | @import "./scss/mixin.scss"; 7 | @import "./scss/placeholder.scss"; 8 | @import "./scss/variable.scss"; 9 | 10 | 11 | 12 | 13 | #{$accordion-prefix}{ 14 | box-sizing: border-box; 15 | position: relative; 16 | overflow: hidden; 17 | @include clearfix; 18 | border:solid $accordion-border-color; 19 | border-width:0 $accordion-border-width $accordion-border-width; 20 | #{$accordion-prefix}-icon{ 21 | 22 | position:absolute; 23 | 24 | @include accordion-icon-left-handler($accordion-icon-size, $accordion-icon-margin-l); 25 | 26 | transform:rotate(-270deg); 27 | transition: transform .3s; 28 | margin-top:-2px; 29 | &:before{ 30 | @include icon-size-handler($accordion-icon-size); 31 | color: $accordion-icon-color; 32 | } 33 | } 34 | #{$accordion-prefix}-section-expand{ 35 | >#{$accordion-prefix}-section-content{ 36 | display:block; 37 | padding: $accordion-content-padding-y $accordion-content-padding-x; 38 | height: auto; 39 | opacity:1; 40 | } 41 | >#{$accordion-prefix}-section-title>#{$accordion-prefix}-icon{ 42 | transform:rotate(-180deg) translate(-1px,0); 43 | } 44 | } 45 | 46 | &-section{ 47 | &-title{ 48 | overflow:hidden; 49 | border-top: $accordion-border-width solid $accordion-border-color; 50 | height: $accordion-title-height; 51 | line-height: $accordion-title-height - 1; 52 | background: $accordion-title-bgcolor; 53 | font-size: $accordion-title-font-size; 54 | color: $accordion-title-font-color; 55 | cursor: pointer; 56 | position: relative; 57 | padding-left: $accordion-icon-margin-r + $accordion-icon-margin-l + $accordion-icon-size; 58 | } 59 | &-title-disabled{ 60 | cursor: not-allowed; 61 | } 62 | &-title-mutli{ 63 | height: auto; 64 | line-height: $accordion-title-mutli-line-height; 65 | padding-top: $accordion-title-mutli-padding-y; 66 | padding-bottom: $accordion-title-mutli-padding-y; 67 | } 68 | &-content{ 69 | overflow: hidden; 70 | height: 0; 71 | padding: 0 $accordion-content-padding-x; 72 | background: $accordion-content-bgcolor; 73 | font-size: $accordion-content-font-size; 74 | color: $accordion-content-color; 75 | transition: all .3s; 76 | opacity: 0; 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-accordion/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-accordion/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | @mixin accordion-icon-size-handler($size, $left , $baseSize: $icon-s){ 6 | @if($size < 12) { 7 | width: $baseSize; 8 | font-size: #{$size} \9; 9 | transform: scale($size/$baseSize); 10 | }@else{ 11 | width: $size; 12 | font-size: $size; 13 | } 14 | line-height: inherit; 15 | } 16 | 17 | @mixin accordion-icon-left-handler($size, $left, $baseSize: $icon-s){ 18 | @if($size < 12) { 19 | left: $left - ($baseSize - $size) / 2; 20 | }@else{ 21 | left: $left; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-accordion/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-accordion/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | $accordion-prefix: '.#{$css-prefix}accordion'; 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | $accordion-border-color: $color-n1-6 !default; 23 | 24 | 25 | $accordion-border-width: $line-1-width !default; 26 | 27 | 28 | 29 | $accordion-title-height : $s10 !default; 30 | 31 | 32 | $accordion-title-bgcolor : $color-n1-2 !default; 33 | 34 | 35 | $accordion-title-font-color : $color-n2-4 !default; 36 | 37 | 38 | $accordion-title-font-size : $font-size-base-body1 !default; 39 | 40 | 41 | $accordion-title-mutli-line-height : $s4 !default; 42 | 43 | 44 | $accordion-title-mutli-padding-y : $s3 !default; 45 | 46 | 47 | 48 | $accordion-icon-size : $icon-xxs !default; 49 | 50 | 51 | $accordion-icon-color : $color-n2-4 !default; 52 | 53 | 54 | $accordion-icon-margin-r : $s1 !default; 55 | 56 | 57 | $accordion-icon-margin-l : $s3 !default; 58 | 59 | 60 | 61 | $accordion-content-bgcolor : $color-n1-1 !default; 62 | 63 | 64 | $accordion-content-padding-x : $s4 !default; 65 | 66 | 67 | $accordion-content-padding-y : $s3 !default; 68 | 69 | 70 | $accordion-content-font-size : $font-size-base-body1 !default; 71 | 72 | 73 | $accordion-content-color : $color-n2-3 !default; 74 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_expand-entrances/_expandInDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(expandInDown) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(scaleY(0)); 5 | @include transform-origin(left top 0px) 6 | } 7 | 100% { 8 | opacity: 1; 9 | @include transform(scaleY(1)); 10 | @include transform-origin(left top 0px) 11 | } 12 | } 13 | 14 | @mixin expandInDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(expandInDown); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_expand-exits/_expandOutUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(expandOutUp) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(scaleY(1)); 5 | @include transform-origin(left top 0px) 6 | } 7 | 100% { 8 | opacity: 0; 9 | @include transform(scaleY(0)); 10 | @include transform-origin(left top 0px) 11 | } 12 | } 13 | 14 | @mixin expandOutUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(expandOutUp); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeIn.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeIn) { 2 | 0% {opacity: 0;} 3 | 100% {opacity: 1;} 4 | } 5 | 6 | @mixin fadeIn($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 7 | @include animation-name(fadeIn); 8 | @include count($count); 9 | @include duration($duration); 10 | @include delay($delay); 11 | @include function($function); 12 | @include fill-mode($fill); 13 | @include visibility($visibility); 14 | } 15 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInDown) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateY(-20px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateY(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInDown); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInDownBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInDownBig) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateY(-2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateY(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInDownBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInDownBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInLeft.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInLeft) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateX(-20px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateX(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInLeft($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInLeft); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInLeftBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInLeftBig) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateX(-2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateX(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInLeftBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInLeftBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInRight.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInRight) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateX(20px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateX(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInRight($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInRight); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInRightBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInRightBig) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateX(2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateX(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInRightBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInRightBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInUp) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateY(20px));} 5 | 100% { 6 | opacity: 1; 7 | @include transform(translateY(0)); 8 | } 9 | } 10 | 11 | @mixin fadeInUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 12 | @include animation-name(fadeInUp); 13 | @include count($count); 14 | @include duration($duration); 15 | @include delay($delay); 16 | @include function($function); 17 | @include fill-mode($fill); 18 | @include visibility($visibility); 19 | } 20 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/_fadeInUpBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeInUpBig) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateY(2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateY(0)); 9 | } 10 | } 11 | 12 | @mixin fadeInUpBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeInUpBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-entrances/fading-entrances.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @import "./_fadeIn.scss"; 4 | @import "./_fadeInDown.scss"; 5 | @import "./_fadeInDownBig.scss"; 6 | @import "./_fadeInLeft.scss"; 7 | @import "./_fadeInLeftBig.scss"; 8 | @import "./_fadeInRight.scss"; 9 | @import "./_fadeInRightBig.scss"; 10 | @import "./_fadeInUp.scss"; 11 | @import "./_fadeInUpBig.scss"; 12 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOut.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOut) { 2 | 0% {opacity: 1;} 3 | 100% {opacity: 0;} 4 | } 5 | 6 | @mixin fadeOut($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 7 | @include animation-name(fadeOut); 8 | @include count($count); 9 | @include duration($duration); 10 | @include delay($delay); 11 | @include function($function); 12 | @include fill-mode($fill); 13 | @include visibility($visibility); 14 | } 15 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutDown) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateY(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateY(20px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutDown); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutDownBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutDownBig) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateY(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateY(2000px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutDownBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutDownBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutLeft.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutLeft) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateX(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateX(-20px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutLeft($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutLeft); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutLeftBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutLeftBig) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateX(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateX(-2000px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutLeftBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutLeftBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutRight.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutRight) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateX(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateX(20px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutRight($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutRight); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutRightBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutRightBig) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateX(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateX(2000px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutRightBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutRightBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutUp) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateY(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateY(-20px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutUp); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/_fadeOutUpBig.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(fadeOutUpBig) { 2 | 0% { 3 | opacity: 1; 4 | @include transform(translateY(0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(translateY(-2000px)); 9 | } 10 | } 11 | 12 | @mixin fadeOutUpBig($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(fadeOutUpBig); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_fading-exits/fading-exits.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @import "./_fadeOut.scss"; 4 | @import "./_fadeOutDown.scss"; 5 | @import "./_fadeOutDownBig.scss"; 6 | @import "./_fadeOutLeft.scss"; 7 | @import "./_fadeOutLeftBig.scss"; 8 | @import "./_fadeOutRight.scss"; 9 | @import "./_fadeOutRightBig.scss"; 10 | @import "./_fadeOutUp.scss"; 11 | @import "./_fadeOutUpBig.scss"; 12 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-entrances/_slideInDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideInDown) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateY(-2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateY(0)); 9 | } 10 | } 11 | 12 | @mixin slideInDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(slideInDown); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-entrances/_slideInLeft.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideInLeft) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateX(-2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateX(0)); 9 | } 10 | } 11 | 12 | @mixin slideInLeft($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(slideInLeft); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-entrances/_slideInRight.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideInRight) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateX(2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateX(0)); 9 | } 10 | } 11 | 12 | @mixin slideInRight($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(slideInRight); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-entrances/_slideInUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideInUp) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(translateY(2000px)); 5 | } 6 | 100% { 7 | opacity: 1; 8 | @include transform(translateY(0)); 9 | } 10 | } 11 | 12 | @mixin slideInUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 13 | @include animation-name(slideInUp); 14 | @include count($count); 15 | @include duration($duration); 16 | @include delay($delay); 17 | @include function($function); 18 | @include fill-mode($fill); 19 | @include visibility($visibility); 20 | } 21 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-entrances/sliding-entrances.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @import "./_slideInDown.scss"; 4 | @import "./_slideInLeft.scss"; 5 | @import "./_slideInRight.scss"; 6 | @import "./_slideInUp.scss"; 7 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-exits/_slideOutDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideOutDown) { 2 | 0% { 3 | @include transform(translateY(0)); 4 | } 5 | 100% { 6 | opacity: 0; 7 | @include transform(translateY(2000px)); 8 | } 9 | } 10 | 11 | @mixin slideOutDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 12 | @include animation-name(slideOutDown); 13 | @include count($count); 14 | @include duration($duration); 15 | @include delay($delay); 16 | @include function($function); 17 | @include fill-mode($fill); 18 | @include visibility($visibility); 19 | } 20 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-exits/_slideOutLeft.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideOutLeft) { 2 | 0% { 3 | @include transform(translateX(0)); 4 | } 5 | 100% { 6 | opacity: 0; 7 | @include transform(translateX(-2000px)); 8 | } 9 | } 10 | 11 | @mixin slideOutLeft($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 12 | @include animation-name(slideOutLeft); 13 | @include count($count); 14 | @include duration($duration); 15 | @include delay($delay); 16 | @include function($function); 17 | @include fill-mode($fill); 18 | @include visibility($visibility); 19 | } 20 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-exits/_slideOutRight.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideOutRight) { 2 | 0% { 3 | @include transform(translateX(0)); 4 | } 5 | 100% { 6 | opacity: 0; 7 | @include transform(translateX(2000px)); 8 | } 9 | } 10 | 11 | @mixin slideOutRight($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 12 | @include animation-name(slideOutRight); 13 | @include count($count); 14 | @include duration($duration); 15 | @include delay($delay); 16 | @include function($function); 17 | @include fill-mode($fill); 18 | @include visibility($visibility); 19 | } 20 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-exits/_slideOutUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(slideOutUp) { 2 | 0% { 3 | @include transform(translateY(0)); 4 | } 5 | 100% { 6 | opacity: 0; 7 | @include transform(translateY(-2000px)); 8 | } 9 | } 10 | 11 | @mixin slideOutUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 12 | @include animation-name(slideOutUp); 13 | @include count($count); 14 | @include duration($duration); 15 | @include delay($delay); 16 | @include function($function); 17 | @include fill-mode($fill); 18 | @include visibility($visibility); 19 | } 20 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_sliding-exits/sliding-exits.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @import "./_slideOutDown.scss"; 4 | @import "./_slideOutLeft.scss"; 5 | @import "./_slideOutRight.scss"; 6 | @import "./_slideOutUp.scss"; 7 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-entrances/_zoomIn.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomIn) { 2 | 0% { 3 | opacity: 0; 4 | @include transform(scale3d(.3, .3, .3)); 5 | } 6 | 50% { 7 | opacity: 1; 8 | } 9 | } 10 | 11 | @mixin zoomIn($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 12 | @include animation-name(zoomIn); 13 | @include count($count); 14 | @include duration($duration); 15 | @include delay($delay); 16 | @include function($function); 17 | @include fill-mode($fill); 18 | @include visibility($visibility); 19 | } 20 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-entrances/_zoomInDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomInDown) { 2 | 0% { 3 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 4 | opacity: 0; 5 | @include transform(scale3d(.1, .1, .1) translate3d(0, -1000px, 0)); 6 | } 7 | 60% { 8 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 9 | opacity: 1; 10 | @include transform(scale3d(.475, .475, .475) translate3d(0, 60px, 0)); 11 | } 12 | } 13 | 14 | @mixin zoomInDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(zoomInDown); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-entrances/_zoomInLeft.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomInLeft) { 2 | 0% { 3 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 4 | opacity: 0; 5 | @include transform(scale3d(.1, .1, .1) translate3d(-1000px, 0, 0)); 6 | } 7 | 60% { 8 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 9 | opacity: 1; 10 | @include transform(scale3d(.475, .475, .475) translate3d(10px, 0, 0)); 11 | } 12 | } 13 | 14 | @mixin zoomInLeft($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(zoomInLeft); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-entrances/_zoomInRight.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomInRight) { 2 | 0% { 3 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 4 | opacity: 0; 5 | @include transform(scale3d(.1, .1, .1) translate3d(1000px, 0, 0)); 6 | } 7 | 60% { 8 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 9 | opacity: 1; 10 | @include transform(scale3d(.475, .475, .475) translate3d(-10px, 0, 0)); 11 | } 12 | } 13 | 14 | @mixin zoomInRight($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(zoomInRight); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-entrances/_zoomInUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomInUp) { 2 | 0% { 3 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 4 | opacity: 0; 5 | @include transform(scale3d(.1, .1, .1) translate3d(0, 1000px, 0)); 6 | } 7 | 60% { 8 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 9 | opacity: 1; 10 | @include transform(scale3d(.475, .475, .475) translate3d(0, -60px, 0)); 11 | } 12 | } 13 | 14 | @mixin zoomInUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(zoomInUp); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-entrances/zooming-entrances.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @import "./_zoomIn.scss"; 4 | @import "./_zoomInDown.scss"; 5 | @import "./_zoomInLeft.scss"; 6 | @import "./_zoomInRight.scss"; 7 | @import "./_zoomInUp.scss"; 8 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-exits/_zoomOut.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomOut) { 2 | 0% { 3 | opacity: 1; 4 | } 5 | 50% { 6 | opacity: 0; 7 | @include transform(scale3d(.3, .3, .3)); 8 | } 9 | 100% { 10 | opacity: 0; 11 | } 12 | } 13 | 14 | @mixin zoomOut($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 15 | @include animation-name(zoomOut); 16 | @include count($count); 17 | @include duration($duration); 18 | @include delay($delay); 19 | @include function($function); 20 | @include fill-mode($fill); 21 | @include visibility($visibility); 22 | } 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-exits/_zoomOutDown.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomOutDown) { 2 | 40% { 3 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 4 | opacity: 1; 5 | @include transform(scale3d(.475, .475, .475) translate3d(0, -60px, 0)); 6 | } 7 | 100% { 8 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 9 | opacity: 0; 10 | @include transform(scale3d(.1, .1, .1) translate3d(0, 2000px, 0)); 11 | @include transform-origin(center bottom); 12 | } 13 | } 14 | 15 | @mixin zoomOutDown($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 16 | @include animation-name(zoomOutDown); 17 | @include count($count); 18 | @include duration($duration); 19 | @include delay($delay); 20 | @include function($function); 21 | @include fill-mode($fill); 22 | @include visibility($visibility); 23 | } 24 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-exits/_zoomOutLeft.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomOutLeft) { 2 | 40% { 3 | opacity: 1; 4 | @include transform(scale3d(.475, .475, .475) translate3d(42px, 0, 0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(scale(.1) translate3d(-2000px, 0, 0)); 9 | @include transform-origin(left center); 10 | } 11 | } 12 | 13 | @mixin zoomOutLeft($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 14 | @include animation-name(zoomOutLeft); 15 | @include count($count); 16 | @include duration($duration); 17 | @include delay($delay); 18 | @include function($function); 19 | @include fill-mode($fill); 20 | @include visibility($visibility); 21 | } 22 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-exits/_zoomOutRight.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomOutRight) { 2 | 40% { 3 | opacity: 1; 4 | @include transform(scale3d(.475, .475, .475) translate3d(-42px, 0, 0)); 5 | } 6 | 100% { 7 | opacity: 0; 8 | @include transform(scale(.1) translate3d(2000px, 0, 0)); 9 | @include transform-origin(right center); 10 | } 11 | } 12 | 13 | @mixin zoomOutRight($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 14 | @include animation-name(zoomOutRight); 15 | @include count($count); 16 | @include duration($duration); 17 | @include delay($delay); 18 | @include function($function); 19 | @include fill-mode($fill); 20 | @include visibility($visibility); 21 | } 22 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-exits/_zoomOutUp.scss: -------------------------------------------------------------------------------- 1 | @include keyframes(zoomOutUp) { 2 | 40% { 3 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 4 | opacity: 1; 5 | @include transform(scale3d(.475, .475, .475) translate3d(0, 60px, 0)); 6 | } 7 | 100% { 8 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 9 | opacity: 0; 10 | @include transform(scale3d(.1, .1, .1) translate3d(0, -2000px, 0)); 11 | @include transform-origin(center bottom); 12 | } 13 | } 14 | 15 | @mixin zoomOutUp($count: $countDefault, $duration: $durationDefault, $delay: $delayDefault, $function: $functionDefault, $fill: $fillDefault, $visibility: $visibilityDefault) { 16 | @include animation-name(zoomOutUp); 17 | @include count($count); 18 | @include duration($duration); 19 | @include delay($delay); 20 | @include function($function); 21 | @include fill-mode($fill); 22 | @include visibility($visibility); 23 | } 24 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/_zooming-exits/zooming-exits.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @import "./_zoomOut.scss"; 4 | @import "./_zoomOutDown.scss"; 5 | @import "./_zoomOutLeft.scss"; 6 | @import "./_zoomOutRight.scss"; 7 | @import "./_zoomOutUp.scss"; 8 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-animate/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | $countDefault: 1 !default; 8 | $durationDefault: .3s !default; 9 | $delayDefault: 0s !default; 10 | $functionDefault: cubic-bezier(0.23, 1, 0.32, 1) !default; 11 | $fillDefault: both; 12 | $visibilityDefault: hidden !default; 13 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-badge/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-badge/lib/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | @mixin badgeBounding{ 6 | position: relative; 7 | display: inline-block; 8 | vertical-align: middle; 9 | line-height: 1; 10 | } 11 | 12 | @mixin badgeState( 13 | $color, 14 | $bgColor, 15 | $borderRadius 16 | ){ 17 | color: $color; 18 | background: $bgColor; 19 | text-align: center; 20 | white-space: nowrap; 21 | border-radius: $borderRadius; 22 | a, 23 | a:hover { 24 | color: $color; 25 | } 26 | } 27 | 28 | @mixin badgeSize( 29 | $width, 30 | $minWidth, 31 | $height, 32 | $padding, 33 | $fontSize, 34 | $lineHeight 35 | ){ 36 | position: absolute; 37 | width: $width; 38 | height: $height; 39 | min-width: $minWidth; 40 | padding: $padding; 41 | font-size: $fontSize; 42 | line-height: $lineHeight; 43 | transform: translateX(-50%); 44 | } 45 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-badge/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-badge/lib/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | $badge-color-bg: $color-f2-1 !default; 21 | 22 | 23 | $badge-size-count-border-radius: $s2 !default; 24 | 25 | 26 | $badge-dot-color-bg: $color-f2-1 !default; 27 | 28 | 29 | $badge-dot-left-color-bg: $color-f2-1 !default; 30 | 31 | 32 | $badge-size-dot-border-radius: $s2 !default; 33 | 34 | $badge-color: $color-n1-1 !default; 35 | $badge-dot-color: $color-n1-1 !default; 36 | $badge-dot-left-color: $color-n1-1 !default; 37 | 38 | 39 | 40 | 41 | 42 | 43 | $badge-size-count-min-width: $s4 !default; 44 | 45 | 46 | $badge-size-count-padding-top: $s0 !default; 47 | 48 | 49 | $badge-size-count-padding-right: $s1 !default; 50 | 51 | 52 | $badge-size-count-padding-bottom: $s0 !default; 53 | 54 | 55 | $badge-size-count-padding-left: $s1 !default; 56 | 57 | 58 | $badge-size-count-font: $font-size-base-caption !default; 59 | 60 | 61 | $badge-size-dot-width: $s2 !default; 62 | 63 | 64 | $badge-dot-margin-left: $s3 !default; 65 | 66 | 67 | $badge-size-list-margin: $s0 !default; 68 | 69 | $badge-size-count-width: auto !default; 70 | $badge-size-count-height: $badge-size-count-min-width !default; 71 | $badge-size-count-padding: $badge-size-count-padding-top $badge-size-count-padding-right $badge-size-count-padding-bottom $badge-size-count-padding-left !default; 72 | $badge-size-count-lineheight: $badge-size-count-height !default; 73 | $badge-size-dot-min-width: $badge-size-dot-width !default; 74 | $badge-size-dot-height: $badge-size-dot-width !default; 75 | $badge-size-dot-padding: $s0 !default; 76 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-balloon/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-balloon/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-breadcrumb/lib/index.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @import "../../next-core/lib/next.scss"; 4 | @import "../../next-icon/lib/index.scss"; 5 | 6 | @import "./scss/function.scss"; 7 | @import "./scss/mixin.scss"; 8 | @import "./scss/placeholder.scss"; 9 | @import "./scss/variable.scss"; 10 | 11 | 12 | 13 | .#{$css-prefix}{ 14 | &breadcrumb{ 15 | @include breadcrumbBounding(); 16 | 17 | &{ 18 | @include breadcrumbSize( 19 | $breadcrumb-height, 20 | $breadcrumb-text-min-width, 21 | $breadcrumb-size-m-font-size, 22 | $breadcrumb-size-ellipsis-font-size, 23 | $breadcrumb-size-number-font-size, 24 | $breadcrumb-size-keyword-font-size, 25 | $breadcrumb-size-m-icon-size, 26 | $breadcrumb-size-m-icon-margin 27 | ); 28 | 29 | @include breadcrumbState( 30 | $breadcrumb-text-color, 31 | $breadcrumb-text-ellipsis-color, 32 | $breadcrumb-text-current-color, 33 | $breadcrumb-text-number-color, 34 | $breadcrumb-text-keyword-color, 35 | $breadcrumb-icon-color, 36 | $breadcrumb-text-color-hover, 37 | $breadcrumb-text-current-color-hover, 38 | $breadcrumb-text-number-color-hover, 39 | $breadcrumb-text-keyword-color-hover 40 | ); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-breadcrumb/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-breadcrumb/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-breadcrumb/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | $breadcrumb-height: $s4 !default; 20 | 21 | $breadcrumb-text-min-width: $s4 !default; 22 | 23 | 24 | 25 | 26 | 27 | 28 | $breadcrumb-size-m-font-size: $font-size-base-caption !default; 29 | 30 | 31 | 32 | $breadcrumb-size-ellipsis-font-size: $font-size-base-caption !default; 33 | 34 | 35 | 36 | $breadcrumb-size-number-font-size: $font-size-base-caption !default; 37 | 38 | 39 | 40 | $breadcrumb-size-keyword-font-size: $font-size-base-caption !default; 41 | 42 | 43 | 44 | $breadcrumb-size-m-icon-size: $icon-xs !default; 45 | 46 | 47 | 48 | $breadcrumb-size-m-icon-margin: $s2 !default; 49 | 50 | 51 | 52 | 53 | 54 | 55 | $breadcrumb-text-color: $color-n2-3 !default; 56 | 57 | 58 | 59 | $breadcrumb-text-ellipsis-color: $color-n2-3 !default; 60 | 61 | 62 | 63 | $breadcrumb-text-current-color: $color-n2-4 !default; 64 | 65 | 66 | 67 | $breadcrumb-text-number-color: $color-b1-6 !default; 68 | 69 | 70 | 71 | $breadcrumb-text-keyword-color: $color-n2-4 !default; 72 | 73 | 74 | 75 | $breadcrumb-icon-color: $color-n1-8 !default; 76 | 77 | 78 | 79 | 80 | 81 | 82 | $breadcrumb-text-color-hover: $color-b1-6 !default; 83 | 84 | 85 | 86 | $breadcrumb-text-current-color-hover: $color-b1-6 !default; 87 | 88 | 89 | 90 | $breadcrumb-text-number-color-hover: $color-b1-6 !default; 91 | 92 | 93 | 94 | $breadcrumb-text-keyword-color-hover: $color-b1-6 !default; 95 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-button/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin button-color( 2 | $color, 3 | $color-hover, 4 | $bg-color, 5 | $bg-color-hover, 6 | $border-color: transparent, 7 | $border-color-hover: transparent 8 | ) { 9 | background-color: $bg-color; 10 | border-color: $border-color; 11 | &, 12 | &:link, 13 | &:visited, 14 | &.visited { 15 | color: $color; 16 | } 17 | &:focus, 18 | &:active, 19 | &.active, 20 | &:hover, 21 | &.hover { 22 | color: $color-hover; 23 | background-color: $bg-color-hover; 24 | border-color: $border-color-hover; 25 | text-decoration: none; 26 | } 27 | } 28 | 29 | @mixin button-size( 30 | $margin, 31 | $padding, 32 | $height, 33 | $font-size, 34 | $border-width, 35 | $icon-margin, 36 | $icon-size, 37 | $icon-split-size 38 | ) { 39 | margin: $margin; 40 | height: $height; 41 | padding: 0 $padding; 42 | font-size: $font-size; 43 | line-height: $height - 2 * $border-width; 44 | border-width: $border-width; 45 | 46 | & > #{$btn-icon-prefix} { 47 | margin: 0 $icon-margin; 48 | 49 | @include icon-handler($icon-size); 50 | } 51 | & > #{$btn-icon-prefix}-first { 52 | margin-left: 0; 53 | } 54 | & > #{$btn-icon-prefix}-last { 55 | margin-right: 0; 56 | } 57 | & > #{$btn-icon-prefix}-alone { 58 | margin: 0; 59 | } 60 | & > #{$btn-icon-prefix}-split { 61 | @include icon-handler($icon-split-size); 62 | } 63 | &#{$btn-prefix}-loading { 64 | padding-left: $padding + $icon-size + $icon-margin; 65 | 66 | &:after { 67 | width: $icon-size; 68 | height: $icon-size; 69 | font-size: $icon-size; 70 | line-height: $icon-size; 71 | left: $padding; 72 | top: 50%; 73 | text-align: center; 74 | margin-top: -$icon-size/2; 75 | margin-right: $icon-margin; 76 | } 77 | > #{$btn-icon-prefix} { 78 | display: none; 79 | } 80 | } 81 | } 82 | 83 | @-webkit-keyframes loadingCircle { 84 | 0% { 85 | transform-origin: 50% 50%; 86 | transform: rotate(0deg); 87 | } 88 | 100% { 89 | transform-origin: 50% 50%; 90 | transform: rotate(360deg); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-button/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$btn-prefix} { 2 | @include global-font; 3 | 4 | &, 5 | &:before, 6 | &:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | *, 11 | *:before, 12 | *:after { 13 | box-sizing: border-box; 14 | } 15 | 16 | color: inherit; 17 | margin: 0; 18 | overflow: visible; 19 | text-transform: none; 20 | cursor: pointer; 21 | 22 | &[disabled] { 23 | cursor: default; 24 | } 25 | &::-moz-focus-inner { 26 | border: 0; 27 | padding: 0; 28 | } 29 | 30 | background-color: transparent; 31 | text-decoration: none; 32 | 33 | &:active, 34 | &:hover { 35 | outline: 0; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-calendar/lib/index.scss: -------------------------------------------------------------------------------- 1 | @import '../../next-core/lib/next.scss'; 2 | @import '../../next-icon/lib/index.scss'; 3 | @import '../../next-radio/lib/index.scss'; 4 | @import '../../next-select/lib/index.scss'; 5 | 6 | @import "./scss/variable.scss"; 7 | @import "./scss/normalize.scss"; 8 | @import "./scss/mixin.scss"; 9 | 10 | @import "./scss/view-picker.scss"; 11 | @import "./scss/view-card.scss"; 12 | @import "./scss/view-fullscreen.scss"; 13 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-calendar/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | @mixin calendar-cell-state( 4 | $background, 5 | $color, 6 | $border-color 7 | ) { 8 | background: $background; 9 | color: $color; 10 | border-color: $border-color; 11 | white-space: nowrap; 12 | overflow: hidden; 13 | text-overflow: ellipsis; 14 | } 15 | 16 | 17 | 18 | 19 | @mixin calendar-fullscreen-cell-size() { 20 | text-align: left; 21 | margin: 0 4px; 22 | display: block; 23 | padding: 4px 8px; 24 | border-top: 2px solid; 25 | -webkit-transition: background .3s ease; 26 | transition: background .3s ease; 27 | 28 | &-value { 29 | display: block; 30 | text-align: right; 31 | background: transparent; 32 | width: auto; 33 | margin: 0 auto; 34 | height: 22px; 35 | padding: 0; 36 | line-height: 22px; 37 | } 38 | 39 | &-content { 40 | height: 90px; 41 | overflow-y: auto; 42 | position: static; 43 | width: auto; 44 | left: auto; 45 | bottom: auto; 46 | } 47 | 48 | &:hover { 49 | cursor: pointer; 50 | } 51 | } 52 | 53 | 54 | 55 | 56 | @mixin calendar-card-cell-size( 57 | $padding-tb, 58 | $width, 59 | $height, 60 | $corner: 0 61 | ) { 62 | padding: $padding-tb 0; 63 | text-align: center; 64 | 65 | &-value { 66 | display: block; 67 | margin: 0 auto; 68 | border-radius: $corner; 69 | width: $width; 70 | height: $height; 71 | padding: 0; 72 | line-height: $height - 2; 73 | 74 | &:hover { 75 | cursor: pointer; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-calendar/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$calendar-prefix} { 2 | @include global-font; 3 | 4 | *, 5 | *:before, 6 | *:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | &, 11 | &:before, 12 | &:after { 13 | box-sizing: border-box; 14 | } 15 | 16 | table { 17 | border-collapse: collapse; 18 | border-spacing: 0; 19 | } 20 | 21 | td, 22 | th { 23 | padding: 0; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-calendar/lib/scss/view-fullscreen.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #{$calendar-prefix}-fullscreen { 5 | & { 6 | font-size: $calendar-fullscreen-font-size; 7 | background: $color-n1-1; 8 | } 9 | 10 | #{$calendar-prefix}-body { 11 | border-top: none; 12 | } 13 | 14 | #{$calendar-prefix}-table { 15 | 16 | #{$calendar-prefix}-th { 17 | text-align: right; 18 | padding-right: 12px; 19 | padding-bottom: 5px; 20 | border: 0; 21 | line-height: 18px; 22 | 23 | &-inner { 24 | display: block; 25 | font-weight: 400; 26 | } 27 | } 28 | 29 | #{$calendar-prefix}-cell { 30 | border: 0; 31 | position: relative; 32 | 33 | #{$calendar-prefix}-date, 34 | #{$calendar-prefix}-month { 35 | @include calendar-fullscreen-cell-size(); 36 | 37 | @include calendar-cell-state ( 38 | $calendar-fullscreen-cell-normal-background, 39 | $calendar-fullscreen-cell-normal-color, 40 | $calendar-fullscreen-cell-normal-border-color 41 | ); 42 | 43 | &:hover { 44 | @include calendar-cell-state ( 45 | $calendar-fullscreen-cell-hover-background, 46 | $calendar-fullscreen-cell-hover-color, 47 | $calendar-fullscreen-cell-hover-border-color 48 | ); 49 | } 50 | } 51 | 52 | &-prev-month { 53 | #{$calendar-prefix}-date { 54 | @include calendar-cell-state ( 55 | $calendar-fullscreen-cell-other-background, 56 | $calendar-fullscreen-cell-other-color, 57 | $calendar-fullscreen-cell-other-border-color 58 | ); 59 | } 60 | } 61 | 62 | &-next-month { 63 | #{$calendar-prefix}-date { 64 | @include calendar-cell-state ( 65 | $calendar-fullscreen-cell-other-background, 66 | $calendar-fullscreen-cell-other-color, 67 | $calendar-fullscreen-cell-other-border-color 68 | ); 69 | } 70 | } 71 | 72 | &-select { 73 | #{$calendar-prefix}-date, 74 | #{$calendar-prefix}-month { 75 | @include calendar-cell-state ( 76 | $calendar-fullscreen-cell-select-background, 77 | $calendar-fullscreen-cell-select-color, 78 | $calendar-fullscreen-cell-select-border-color 79 | ); 80 | } 81 | } 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-card/lib/index.scss: -------------------------------------------------------------------------------- 1 | @import "../../next-core/lib/next.scss"; 2 | @import "../../next-icon/lib/index.scss"; 3 | 4 | @import "./scss/variable.scss"; 5 | @import "./scss/normalize.scss"; 6 | @import "./scss/mixin.scss"; 7 | 8 | #{$card-prefix} { 9 | & { 10 | padding: $card-padding; 11 | border: $card-border-width $card-border-style $card-border-color; 12 | box-shadow: $card-shadow; 13 | min-width: $s25; 14 | display: inline-block; 15 | background: $card-background; 16 | } 17 | 18 | &-head { 19 | color: $card-title-color; 20 | font-size: $card-title-font-size; 21 | 22 | &:after { 23 | visibility: hidden; 24 | display: block; 25 | height: 0; 26 | font-size: 0; 27 | content: '\0020'; 28 | clear: both; 29 | } 30 | } 31 | 32 | &-head-prefix { 33 | #{$card-prefix}-title { 34 | border-left: $card-title-prefix-border-width $card-border-style $card-title-prefix-border-color; 35 | padding-left: $card-title-padding-left; 36 | } 37 | } 38 | 39 | &-head-bottom { 40 | padding-bottom: $card-title-padding-bottom; 41 | border-bottom: $card-title-bottom-border-width $card-border-style $card-title-bottom-border-color; 42 | } 43 | 44 | &-sub-title { 45 | font-size: $card-sub-title-font-size; 46 | color: $card-sub-title-color; 47 | padding-left: $card-sub-title-padding-left; 48 | } 49 | 50 | &-extra { 51 | padding-left: $s3; 52 | float: right; 53 | font-size: $card-title-extra-font-size; 54 | color: $card-title-extra-color; 55 | padding-top: $card-title-font-size - $card-title-extra-font-size; 56 | } 57 | 58 | &-body { 59 | padding-top: $card-body-padding-top; 60 | overflow: hidden; 61 | position: relative; 62 | } 63 | 64 | &-body-need-more { 65 | padding-bottom: $card-more-btn-height + $card-more-btn-padding-top; 66 | } 67 | 68 | &-body-no-title { 69 | padding-top: 0; 70 | } 71 | 72 | &-more-btn { 73 | padding-top: $card-more-btn-padding-top; 74 | height: $card-more-btn-height + $card-more-btn-padding-top; 75 | width: 100%; 76 | font-size: $font-size-base-body1; 77 | line-height: $card-more-btn-height; 78 | position: absolute; 79 | left: 0; 80 | bottom: 0; 81 | color: $card-more-btn-color; 82 | background: $card-more-btn-background; 83 | cursor: pointer; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-card/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-card/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$card-prefix} { 2 | @include global-font; 3 | 4 | *, 5 | *:before, 6 | *:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | &, 11 | &:before, 12 | &:after { 13 | box-sizing: border-box; 14 | } 15 | } -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-card/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | $card-prefix: '.' + $css-prefix + 'card'; 11 | 12 | 13 | 14 | 15 | $card-padding: $s5 !default; 16 | 17 | 18 | 19 | $card-border-width: $line-1-width !default; 20 | 21 | 22 | 23 | $card-border-style: $line-solid !default; 24 | 25 | 26 | 27 | $card-shadow: $shadow-sd1 !default; 28 | 29 | 30 | 31 | $card-title-font-size: $font-size-base-title !default; 32 | 33 | 34 | 35 | $card-sub-title-font-size: $font-size-base-caption !default; 36 | 37 | 38 | 39 | $card-more-btn-font-size: $font-size-base-body1 !default; 40 | 41 | 42 | 43 | $card-title-extra-font-size: $font-size-base-caption !default; 44 | 45 | 46 | 47 | $card-title-prefix-border-width: $line-3-width !default; 48 | 49 | 50 | 51 | $card-title-bottom-border-width: $line-1-width !default; 52 | 53 | 54 | 55 | $card-title-padding-bottom: $s3 !default; 56 | 57 | 58 | 59 | $card-title-padding-left: $s2 !default; 60 | 61 | 62 | 63 | $card-sub-title-padding-left: $s2 !default; 64 | 65 | 66 | 67 | $card-body-padding-top: $s3 !default; 68 | 69 | 70 | 71 | $card-more-btn-height: $s4 !default; 72 | 73 | 74 | 75 | $card-more-btn-padding-top: $s2 !default; 76 | 77 | 78 | 79 | 80 | 81 | $card-border-color: $color-n1-6 !default; 82 | 83 | 84 | 85 | $card-background: $color-n1-1 !default; 86 | 87 | 88 | 89 | $card-title-color: $color-n2-4 !default; 90 | 91 | 92 | 93 | $card-sub-title-color: $color-n2-3 !default; 94 | 95 | 96 | 97 | $card-title-extra-color: $color-f4-1 !default; 98 | 99 | 100 | 101 | $card-title-prefix-border-color: $color-b1-6 !default; 102 | 103 | 104 | 105 | $card-title-bottom-border-color: $color-n1-5 !default; 106 | 107 | 108 | 109 | $card-more-btn-color: $color-f4-1 !default; 110 | 111 | 112 | 113 | $card-more-btn-background: $color-n1-1 !default; 114 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-checkbox/lib/scss/variables.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | @charset "UTF-8"; 11 | 12 | $checkbox-prefix: '.#{$css-prefix}checkbox'; 13 | 14 | 15 | 16 | $checkbox-size: $s4 !default; 17 | 18 | 19 | $checkbox-border-radius: $corner-radius-r1 !default; 20 | 21 | 22 | $checkbox-circle-size: $icon-xs !default; 23 | 24 | 25 | 26 | $checkbox-border-color: $color-n1-7 !default; 27 | 28 | 29 | $checkbox-hovered-border-color: $color-b1-6 !default; 30 | 31 | 32 | $checkbox-checked-border-color: $color-b1-6 !default; 33 | 34 | 35 | $checkbox-disabled-border-color: $color-n1-6 !default; 36 | 37 | 38 | $checkbox-checked-hovered-border-color: $color-b1-9 !default; 39 | 40 | 41 | 42 | 43 | $checkbox-checked-circle-color: $color-b1-6 !default; 44 | 45 | 46 | $checkbox-disabled-circle-color: $color-n2-1 !default; 47 | 48 | 49 | $checkbox-checked-hovered-circle-color: $color-b1-9 !default; 50 | 51 | 52 | 53 | 54 | $checkbox-bg-color: $color-n1-1 !default; 55 | 56 | 57 | $checkbox-checked-bg-color: $color-n1-1 !default; 58 | 59 | 60 | $checkbox-hovered-bg-color: $color-b1-1 !default; 61 | 62 | 63 | $checkbox-checked-hovered-bg-color: $color-b1-1 !default; 64 | 65 | 66 | $checkbox-disabled-bg-color: $color-n1-2 !default; 67 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-core/lib/index.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | @import "./util/_functions.scss"; 5 | @import "./util/_mixins.scss"; 6 | 7 | 8 | @import "./variables/_global.scss"; 9 | @import "./variables/_size.scss"; 10 | @import "./variables/_color.scss"; 11 | @import "./variables/_corner.scss"; 12 | @import "./variables/_font.scss"; 13 | @import "./variables/_line.scss"; 14 | @import "./variables/_shadow.scss"; 15 | 16 | 17 | @import "./base/_normalize.scss"; 18 | @import "./base/_typography.scss"; 19 | 20 | 21 | @import "./variables/_icon.scss"; 22 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-core/lib/next.scss: -------------------------------------------------------------------------------- 1 | 2 | @import "./util/_functions.scss"; 3 | @import "./util/_mixins.scss"; 4 | 5 | 6 | @import "./variables/_global.scss"; 7 | @import "./variables/_size.scss"; 8 | @import "./variables/_color.scss"; 9 | @import "./variables/_corner.scss"; 10 | @import "./variables/_font.scss"; 11 | @import "./variables/_line.scss"; 12 | @import "./variables/_shadow.scss"; 13 | 14 | 15 | 16 | 17 | @import "./variables/_icon.scss"; 18 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-core/lib/variables/_corner.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | $corner-radius-base: 3px; 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | $corner-radius-r0: 0px !default; 29 | 30 | 31 | 32 | 33 | $corner-radius-r1: 3px !default; 34 | 35 | 36 | 37 | 38 | $corner-radius-r2: 5px !default; 39 | 40 | 41 | 42 | 43 | $corner-radius-r3: 7px !default; 44 | 45 | 46 | 47 | 48 | $corner-radius-r4: 10px !default; 49 | 50 | 51 | 52 | 53 | $corner-radius-r5: 15px !default; 54 | 55 | 56 | 57 | 58 | $corner-radius-circle: 50% !default; 59 | 60 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-core/lib/variables/_global.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | $css-prefix: "next-" !default; 12 | 13 | 14 | 15 | $typo-margin-bottom: 0.5; 16 | 17 | 18 | 19 | 20 | $z-pane: 89 !default; 21 | $z-menu: 99 !default; 22 | $z-select: 109 !default; 23 | $z-dialog: 199 !default; 24 | $z-balloon: 299 !default; 25 | $z-loading-panel: 399 !default; 26 | $z-tour-user: 499 !default; 27 | $z-tour-new: 599 !default; 28 | $z-dialog-login: 699 !default; 29 | $z-msg: 999 !default; 30 | 31 | 32 | 33 | $prefix-for-webkit: true !default; 34 | $prefix-for-mozilla: true !default; 35 | $prefix-for-microsoft: true !default; 36 | $prefix-for-opera: true !default; 37 | $prefix-for-spec: true !default; 38 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-core/lib/variables/_line.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | $line-1-width: 1px !default; 20 | 21 | 22 | 23 | 24 | $line-2-width: 2px !default; 25 | 26 | 27 | 28 | 29 | $line-3-width: 4px !default; 30 | 31 | 32 | 33 | 34 | $line-solid: solid !default; 35 | 36 | 37 | 38 | 39 | $line-dashed: dashed !default; 40 | 41 | 42 | 43 | 44 | $line-dotted: dotted !default; 45 | 46 | 47 | 48 | 49 | $line1: $line-1-width $line-solid; 50 | $line1-dashed: $line-1-width $line-dashed; 51 | $line1-dotted: $line-1-width $line-dotted; 52 | 53 | $line2: $line-2-width $line-solid; 54 | $line2-dashed: $line-2-width $line-dashed; 55 | $line2-dotted: $line-2-width $line-dotted; 56 | 57 | $line3: $line-3-width $line-solid; 58 | $line3-dashed: $line-3-width $line-dashed; 59 | $line3-dotted: $line-3-width $line-dotted; 60 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/index.scss: -------------------------------------------------------------------------------- 1 | @import "../../next-core/lib/next.scss"; 2 | @import "../../next-icon/lib/index.scss"; 3 | @import "../../next-input/lib/index.scss"; 4 | @import "../../next-overlay/lib/index.scss"; 5 | @import "../../next-calendar/lib/index.scss"; 6 | @import "../../next-time-picker/lib/index.scss"; 7 | 8 | @import "./scss/variable.scss"; 9 | @import "./scss/normalize.scss"; 10 | @import "./scss/mixin.scss"; 11 | 12 | @import "./scss/view-date-picker.scss"; 13 | @import "./scss/view-month-picker.scss"; 14 | @import "./scss/view-range-picker.scss"; 15 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @mixin date-picker-size ( 6 | $height, 7 | $font-size, 8 | $icon-size 9 | ) { 10 | #{$date-picker-input-prefix} { 11 | width: $s40; 12 | display: inline-block; 13 | 14 | input { 15 | @include inputSize($height, 0, $s2, $font-size); 16 | } 17 | } 18 | 19 | #{$date-picker-icon-prefix} { 20 | height: $height; 21 | line-height: $height; 22 | 23 | @include icon-handler($icon-size); 24 | } 25 | } 26 | 27 | @mixin range-picker-size ( 28 | $height, 29 | $font-size, 30 | $icon-size 31 | ) { 32 | #{$range-picker-prefix}-trigger { 33 | margin: 0; 34 | padding-right: $height; 35 | } 36 | 37 | #{$date-picker-input-prefix} { 38 | display: inline-block; 39 | 40 | input { 41 | @include inputSize($height, 0, $s2, $font-size); 42 | } 43 | } 44 | #{$date-picker-icon-prefix} { 45 | height: $height; 46 | line-height: $height; 47 | 48 | @include icon-handler($icon-size); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$range-picker-prefix}, 2 | #{$date-picker-prefix} { 3 | @include global-font; 4 | 5 | *, 6 | *:before, 7 | *:after { 8 | box-sizing: border-box; 9 | } 10 | 11 | &, 12 | &:before, 13 | &:after { 14 | box-sizing: border-box; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | $date-picker-prefix: '.' + $css-prefix + 'date-picker'; 12 | 13 | $range-picker-prefix: '.' + $css-prefix + 'range-picker'; 14 | 15 | $month-picker-prefix: '.' + $css-prefix + 'month-picker'; 16 | 17 | $date-picker-icon-prefix: '.' + $css-prefix + 'icon'; 18 | 19 | $date-picker-input-prefix: '.' + $css-prefix + 'input'; 20 | 21 | $date-picker-time-prefix: '.' + $css-prefix + 'time-picker'; 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | $date-picker-input-color: $color-n2-3 !default; 31 | 32 | 33 | 34 | $date-picker-input-background: $color-n1-1 !default; 35 | 36 | 37 | 38 | $date-picker-input-border-color: $color-n1-7 !default; 39 | 40 | 41 | 42 | $date-picker-input-separator-color: $color-n2-2 !default; 43 | 44 | 45 | 46 | $date-picker-input-s-height: $s5 !default; 47 | 48 | 49 | 50 | $date-picker-input-m-height: $s7 !default; 51 | 52 | 53 | 54 | $date-picker-input-l-height: $s10 !default; 55 | 56 | 57 | 58 | $date-picker-input-s-font: $font-size-base-caption !default; 59 | 60 | 61 | 62 | $date-picker-input-m-font: $font-size-base-body1 !default; 63 | 64 | 65 | 66 | $date-picker-input-l-font: $font-size-base-subhead !default; 67 | 68 | 69 | 70 | $date-picker-icon-s-font: $icon-xs !default; 71 | 72 | 73 | 74 | $date-picker-icon-m-font: $icon-s !default; 75 | 76 | 77 | 78 | $date-picker-icon-l-font: $icon-m !default; 79 | 80 | 81 | 82 | $date-picker-icon-right: $s3 !default; 83 | 84 | 85 | 86 | $date-picker-icon-color: $color-n2-1 !default; 87 | 88 | 89 | 90 | $date-picker-icon-color-hover: $color-n2-2 !default; 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | $date-picker-panel-border-color: $color-n1-7 !default; 100 | 101 | 102 | 103 | $date-picker-panel-inner-border-color: $color-n1-5 !default; 104 | 105 | 106 | 107 | $date-picker-panel-background: $color-n1-1 !default; 108 | 109 | 110 | 111 | $date-picker-panel-input-color: $color-n2-3 !default; 112 | 113 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/scss/view-date-picker.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | #{$date-picker-prefix} { 6 | & { 7 | position: relative; 8 | display: inline-block; 9 | } 10 | 11 | #{$date-picker-icon-prefix} { 12 | cursor: pointer; 13 | position: absolute; 14 | right: $date-picker-icon-right; 15 | top: 0; 16 | color: $date-picker-icon-color; 17 | 18 | &:hover{ 19 | color: $date-picker-icon-color-hover; 20 | } 21 | } 22 | 23 | &-small { 24 | @include date-picker-size ( 25 | $date-picker-input-s-height, 26 | $date-picker-input-s-font, 27 | $date-picker-icon-s-font 28 | ); 29 | } 30 | 31 | 32 | &-medium { 33 | @include date-picker-size ( 34 | $date-picker-input-m-height, 35 | $date-picker-input-m-font, 36 | $date-picker-icon-m-font 37 | ); 38 | } 39 | 40 | &-large { 41 | @include date-picker-size ( 42 | $date-picker-input-l-height, 43 | $date-picker-input-l-font, 44 | $date-picker-icon-l-font 45 | ); 46 | } 47 | 48 | &-panel { 49 | width: 270px; 50 | border: $line1 $date-picker-panel-border-color; 51 | background: $date-picker-panel-background; 52 | position: relative; 53 | 54 | #{$date-picker-prefix}-input { 55 | display: block; 56 | padding: 3px; 57 | border-bottom: $line1 $date-picker-panel-inner-border-color; 58 | } 59 | 60 | #{$date-picker-input-prefix} { 61 | border: 0; 62 | color: #666; 63 | } 64 | } 65 | 66 | &-panel-show-time { 67 | #{$date-picker-prefix}-input { 68 | padding: 6px 3px; 69 | } 70 | 71 | #{$date-picker-input-prefix} { 72 | font-size: 12px; 73 | border: $line1 $date-picker-panel-inner-border-color; 74 | color: #666; 75 | width: 100px; 76 | margin-left: 6px; 77 | } 78 | 79 | #{$date-picker-time-prefix}-input #{$date-picker-input-prefix} { 80 | border: 0; 81 | } 82 | } 83 | 84 | &-show-time { 85 | #{$date-picker-input-prefix} { 86 | min-width: 200px; 87 | } 88 | } 89 | 90 | &-time-panel { 91 | #{$date-picker-time-prefix}-input { 92 | input{ 93 | font-size: 12px; 94 | } 95 | 96 | } 97 | 98 | #{$date-picker-time-prefix}-select { 99 | width: 64px; 100 | font-size: 12px; 101 | } 102 | } 103 | } 104 | 105 | 106 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/scss/view-month-picker.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | #{$month-picker-prefix} { 6 | & { 7 | position: relative; 8 | display: inline-block; 9 | } 10 | 11 | #{$date-picker-icon-prefix} { 12 | cursor: pointer; 13 | position: absolute; 14 | right: $date-picker-icon-right; 15 | top: 0; 16 | color: $date-picker-icon-color; 17 | 18 | &:hover{ 19 | color: $date-picker-icon-color-hover; 20 | } 21 | } 22 | 23 | &-small { 24 | @include date-picker-size ( 25 | $date-picker-input-s-height, 26 | $date-picker-input-s-font, 27 | $date-picker-icon-s-font 28 | ); 29 | } 30 | 31 | 32 | &-medium { 33 | @include date-picker-size ( 34 | $date-picker-input-m-height, 35 | $date-picker-input-m-font, 36 | $date-picker-icon-m-font 37 | ); 38 | } 39 | 40 | &-large { 41 | @include date-picker-size ( 42 | $date-picker-input-l-height, 43 | $date-picker-input-l-font, 44 | $date-picker-icon-l-font 45 | ); 46 | } 47 | 48 | &-panel { 49 | width: 270px; 50 | border: $line1 $date-picker-panel-border-color; 51 | background: $date-picker-panel-background; 52 | position: relative; 53 | 54 | #{$month-picker-prefix}-input { 55 | display: block; 56 | padding: 3px; 57 | border-bottom: $line1 $date-picker-panel-inner-border-color; 58 | } 59 | 60 | #{$date-picker-input-prefix} { 61 | border: 0; 62 | color: #666; 63 | } 64 | } 65 | } 66 | 67 | 68 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-date-picker/lib/scss/view-range-picker.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | #{$range-picker-prefix} { 6 | & { 7 | position: relative; 8 | display: inline-block; 9 | } 10 | 11 | &-trigger { 12 | position: relative; 13 | transition: border 0.3s ease 0.1s; 14 | color: $date-picker-input-color; 15 | border: $line1 $date-picker-input-border-color; 16 | background-color: $date-picker-input-background; 17 | } 18 | 19 | &-disabled { 20 | color: $color-n2-1; 21 | border-color: $color-n1-5; 22 | background-color: $color-n1-2; 23 | cursor: not-allowed; 24 | } 25 | 26 | &-separator { 27 | color: $date-picker-input-separator-color; 28 | } 29 | 30 | #{$date-picker-input-prefix} { 31 | background-color: transparent; 32 | outline: 0; 33 | padding: 0; 34 | margin: 0; 35 | border: 0; 36 | width: $s25; 37 | text-align: center; 38 | } 39 | 40 | #{$date-picker-icon-prefix} { 41 | cursor: pointer; 42 | position: absolute; 43 | top: 0; 44 | right: $date-picker-icon-right; 45 | color: $date-picker-icon-color; 46 | 47 | &:hover{ 48 | color: $date-picker-icon-color-hover; 49 | } 50 | } 51 | 52 | &-small { 53 | @include range-picker-size ( 54 | $date-picker-input-s-height, 55 | $date-picker-input-s-font, 56 | $date-picker-icon-s-font 57 | ); 58 | } 59 | 60 | &-medium { 61 | @include range-picker-size ( 62 | $date-picker-input-m-height, 63 | $date-picker-input-m-font, 64 | $date-picker-icon-m-font 65 | ); 66 | } 67 | 68 | &-large { 69 | @include range-picker-size ( 70 | $date-picker-input-l-height, 71 | $date-picker-input-l-font, 72 | $date-picker-icon-l-font 73 | ); 74 | } 75 | 76 | &-panel { 77 | width: 540px; 78 | border: $line1 $date-picker-panel-border-color; 79 | background: $date-picker-panel-background; 80 | position: relative; 81 | 82 | #{$range-picker-prefix}-input { 83 | display: block; 84 | padding: 3px; 85 | border-bottom: $line1 $date-picker-panel-inner-border-color; 86 | } 87 | 88 | #{$date-picker-input-prefix} { 89 | width: 120px; 90 | border: 0; 91 | color: $date-picker-panel-input-color; 92 | text-align: center; 93 | } 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-dialog/lib/scss/mixin.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/perf/lib/_components/@alife/next-dialog/lib/scss/mixin.scss -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-dialog/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | $dialog-prefix: ".#{$css-prefix}dialog"; 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | $dialog-shadow: $shadow-sd1 !default; 23 | 24 | $dialog-padding: $s5 !default; 25 | 26 | 27 | 28 | $dialog-border-width: $line-1-width !default; 29 | 30 | 31 | $dialog-border-color: $color-n1-1 !default; 32 | 33 | 34 | $dialog-border-radius: $corner-radius-r0 !default; 35 | 36 | 37 | 38 | 39 | $dialog-title-font-size: $font-size-base-subhead !default; 40 | 41 | 42 | 43 | $dialog-title-padding-top-bottom: $s5 !default; 44 | 45 | 46 | $dialog-title-padding-top: $s5 !default; 47 | 48 | 49 | $dialog-title-padding-bottom: $s0 !default; 50 | 51 | 52 | $dialog-title-padding-left-right: $s5 !default; 53 | 54 | 55 | $dialog-title-border-width: 1px !default; 56 | 57 | 58 | $dialog-title-border-color: $color-transparent !default; 59 | 60 | 61 | $dialog-title-bg-color: $color-transparent !default; 62 | 63 | 64 | 65 | $dialog-footer-padding-top-bottom: $s5 !default; 66 | 67 | 68 | $dialog-footer-padding-top: $s0 !default; 69 | 70 | 71 | $dialog-footer-padding-bottom: $s5 !default; 72 | 73 | 74 | $dialog-footer-padding-left-right: $s5 !default; 75 | 76 | 77 | $dialog-footer-border-width: 1px !default; 78 | 79 | 80 | $dialog-footer-border-color: $color-transparent !default; 81 | 82 | 83 | $dialog-footer-bg-color: $color-transparent !default; 84 | 85 | 86 | 87 | 88 | 89 | $dialog-content-font-size: $font-size-base-body1 !default; 90 | 91 | 92 | $dialog-content-color: $color-n2-4 !default; 93 | 94 | $dialog-content-padding: $s5 !default; 95 | 96 | 97 | $dialog-content-padding-top: $s5 !default; 98 | 99 | 100 | $dialog-content-padding-bottom: $s5 !default; 101 | 102 | 103 | $dialog-content-padding-left-right: $s5 !default; 104 | 105 | 106 | 107 | $dialog-close-color: $color-n2-2 !default; 108 | 109 | 110 | $dialog-close-color-hovered: $color-n2-4 !default; 111 | 112 | 113 | $dialog-close-bg-hovered: $color-transparent !default; 114 | 115 | 116 | $dialog-close-right: $s5 !default; 117 | 118 | 119 | $dialog-close-top: $s5 !default; 120 | 121 | 122 | $dialog-close-width: $s5 !default; 123 | 124 | 125 | 126 | $dialog-close-height: $s5 !default; 127 | 128 | 129 | $dialog-close-size: $icon-s !default; 130 | 131 | $dialog-title-padding-right: $dialog-close-size + $dialog-padding + 10; 132 | 133 | 134 | 135 | $dialog-alert-icon-color: $color-f1-1 !default; 136 | 137 | 138 | $dialog-confirm-icon-color: $color-f1-1 !default; 139 | 140 | 141 | 142 | $dialog-bg: $color-n1-1 !default; 143 | 144 | 145 | 146 | $dialog-modal-bg: $color-n1-9 !default; 147 | 148 | 149 | $dialog-modal-opacity: .2 !default; 150 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-dropdown/lib/index.scss: -------------------------------------------------------------------------------- 1 | @import "../../next-overlay/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-feedback/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-feedback/lib/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin feedbackBounding() { 7 | @include clearfix(); 8 | position: relative; 9 | display: block; 10 | vertical-align: baseline; 11 | border-style: $feedback-border-style; 12 | } 13 | 14 | @mixin feedbackState( 15 | $titleColor, 16 | $contentColor, 17 | $iconColor, 18 | $corner 19 | ) { 20 | border-radius: $corner; 21 | .#{$css-prefix}feedback-title { 22 | color: $titleColor; 23 | } 24 | .#{$css-prefix}feedback-content { 25 | color: $contentColor; 26 | } 27 | .#{$css-prefix}feedback-symbol { 28 | color: $iconColor; 29 | } 30 | } 31 | 32 | @mixin feedbackSize( 33 | $borderWidth, 34 | $padding, 35 | $titlePadding, 36 | $titleFontSize, 37 | $contentPadding, 38 | $contentMarginTop, 39 | $contentFontSize, 40 | $iconSize 41 | ) { 42 | border-width: $borderWidth; 43 | padding: $padding; 44 | 45 | .#{$css-prefix}feedback-symbol { 46 | float: left; 47 | @include icon-handler($iconSize); 48 | line-height: $iconSize; 49 | } 50 | .#{$css-prefix}feedback-title { 51 | padding: $titlePadding; 52 | font-size: $titleFontSize; 53 | line-height: $titleFontSize; 54 | } 55 | .#{$css-prefix}feedback-content { 56 | margin-top: $contentMarginTop; 57 | padding: $contentPadding; 58 | font-size: $contentFontSize; 59 | line-height: $contentFontSize; 60 | } 61 | 62 | .#{$css-prefix}feedback-symbol + .#{$css-prefix}feedback-content { 63 | margin-top: 0; 64 | } 65 | } 66 | 67 | @mixin feedbackShape( 68 | $shape, 69 | $bgColor, 70 | $borderColor, 71 | $shadow 72 | ) { 73 | background-color: $bgColor; 74 | border-color: $borderColor; 75 | box-shadow: $shadow; 76 | 77 | @if ($shape =='toast') { 78 | position: fixed; 79 | } 80 | } 81 | 82 | @mixin verticalAlignMiddle( 83 | $fontSize, 84 | $iconSize, 85 | $className 86 | ) { 87 | @if ($fontSize > $iconSize) { 88 | .#{$css-prefix}feedback-symbol { 89 | line-height: $fontSize; 90 | } 91 | } 92 | 93 | @if ($fontSize < $iconSize) { 94 | .#{$css-prefix}feedback-#{$className} { 95 | line-height: $iconSize; 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-feedback/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-form/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-form/lib/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin labelAlignLeft($labelColor:$form-label-color) { 7 | 8 | #{$form-prefix}-item-control { 9 | display: inline-block; 10 | } 11 | 12 | #{$form-prefix}-item-label { 13 | text-align: right; 14 | padding-right: $form-label-horizontal-split; 15 | color: $labelColor; 16 | } 17 | 18 | &#{$form-prefix}-medium { 19 | #{$form-prefix}-item-label, #{$form-prefix}-text-align, p { 20 | line-height: $form-label-m-line-height; 21 | } 22 | .#{$css-prefix}radio-group { 23 | line-height: 24px; 24 | } 25 | #{$form-prefix}-item-label { 26 | font-size: $form-label-m-font-size; 27 | } 28 | } 29 | &#{$form-prefix}-large { 30 | #{$form-prefix}-item-label, #{$form-prefix}-text-align, p { 31 | line-height: $form-label-l-line-height; 32 | } 33 | .#{$css-prefix}radio-group { 34 | line-height: 36px; 35 | } 36 | #{$form-prefix}-item-label { 37 | font-size: $form-label-l-font-size; 38 | } 39 | } 40 | &#{$form-prefix}-small { 41 | #{$form-prefix}-item-label, #{$form-prefix}-text-align, p { 42 | line-height: $form-label-s-line-height; 43 | } 44 | #{$form-prefix}-item-label { 45 | font-size: $form-label-s-font-size; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-form/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-form/lib/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | @charset "UTF-8"; 11 | 12 | 13 | 14 | 15 | $form-prefix: ".#{$css-prefix}form"; 16 | 17 | 18 | 19 | $form-label-vertical-split-medium: $s1 !default; 20 | 21 | 22 | 23 | $form-label-horizontal-split: $s3 !default; 24 | 25 | 26 | 27 | $form-item-vertical-split-medium: $s4 !default; 28 | 29 | 30 | 31 | $form-item-hoz-split-medium: $s4 !default; 32 | 33 | 34 | 35 | $form-item-horizontal-split: $s3 !default; 36 | 37 | 38 | 39 | $form-explain-margin-top: $s1 !default; 40 | 41 | 42 | 43 | $form-explain-font-size: $font-size-base-caption !default; 44 | 45 | 46 | 47 | $form-label-color: $color-n2-3 !default; 48 | 49 | 50 | 51 | $form-inset-label-color: $color-n2-3 !default; 52 | 53 | 54 | 55 | $form-error-color: $color-f2-1 !default; 56 | 57 | 58 | 59 | $form-explain-color: $color-n2-3 !default; 60 | 61 | 62 | 63 | 64 | $form-label-required-color: $color-f2-1 !default; 65 | 66 | 67 | 68 | $form-inset-corner: $corner-radius-r0 !default; 69 | 70 | 71 | 72 | $form-inset-border-width: $line-1-width !default; 73 | 74 | 75 | 76 | $form-inset-border-color: $color-n1-7 !default; 77 | 78 | 79 | 80 | $form-inset-padding-r: $s3 !default; 81 | 82 | 83 | 84 | 85 | $form-label-s-line-height: $s5 !default; 86 | 87 | 88 | 89 | $form-label-s-font-size: $font-size-base-body1 !default; 90 | 91 | 92 | 93 | $form-label-m-line-height: $s7 !default; 94 | 95 | 96 | 97 | $form-label-m-font-size: $font-size-base-body1 !default; 98 | 99 | 100 | 101 | $form-label-l-line-height: $s10 !default; 102 | 103 | 104 | 105 | $form-label-l-font-size: $font-size-base-body1 !default; 106 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-grid/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-grid/lib/scss/iepack.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin display-ie { 7 | display: table; 8 | } 9 | 10 | @mixin display-col-ie() { 11 | display: table-cell; 12 | vertical-align: top; 13 | } 14 | 15 | @mixin col-width-ie($width) { 16 | width: #{$width}; 17 | } 18 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-grid/lib/scss/media-query-hack.scss: -------------------------------------------------------------------------------- 1 | $bps: (( 2 | "xxs", 3 | $grid-xxs, 4 | $grid-space-xxs 5 | ), ( 6 | "xs", 7 | $grid-xs, 8 | $grid-space-xs 9 | ), ( 10 | "s", 11 | $grid-s, 12 | $grid-space-s 13 | ), ( 14 | "m", 15 | $grid-m, 16 | $grid-space-m 17 | ), ( 18 | "l", 19 | $grid-l, 20 | $grid-space-l 21 | ), ( 22 | "xl", 23 | $grid-xl, 24 | $grid-space-xl 25 | )); 26 | 27 | @each $bp in $bps { 28 | $name: nth($bp, 1); 29 | $bpWidth: nth($bp, 2); 30 | $spaceWidth: nth($bp, 3); 31 | $minQuery: $bpWidth + $spaceWidth * 2; 32 | $minNumber: strip-units($minQuery); 33 | 34 | .next-w#{$minNumber} { 35 | .#{$css-prefix}row { 36 | padding: 0 $spaceWidth - ($grid-gutter / 2); 37 | } 38 | .#{$css-prefix}row-fixed { 39 | width: $bpWidth; 40 | } 41 | .#{$css-prefix}row-fluid { 42 | max-width: $bpWidth; 43 | } 44 | .#{$css-prefix}row .#{$css-prefix}col-#{$name}-hidden { 45 | display: none; 46 | } 47 | } 48 | 49 | .next-w#{$minNumber}-together { 50 | @for $i from 1 through $grid-columns { 51 | .#{$css-prefix}row .#{$css-prefix}col-#{$name}-#{$i} { 52 | $width: percentage($i / $grid-columns); 53 | max-width: $width; 54 | width: $width; 55 | } 56 | } 57 | @for $i from 1 through $grid-columns-5p { 58 | .#{$css-prefix}row .#{$css-prefix}col-#{$name}-#{$i}p#{$grid-columns-5p} { 59 | $width: percentage($i / $grid-columns-5p); 60 | max-width: $width; 61 | width: $width; 62 | } 63 | } 64 | } 65 | } 66 | 67 | 68 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-grid/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-grid/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | $grid-xxs: 320px !default; 9 | 10 | $grid-xs: 480px !default; 11 | 12 | $grid-s: 720px !default; 13 | 14 | $grid-m: 990px !default; 15 | 16 | $grid-l: 1200px !default; 17 | 18 | $grid-xl: 1500px !default; 19 | 20 | 21 | $grid-columns: 24 !default; 22 | $grid-columns-5p: 5 !default; 23 | $grid-columns-fixed: 30 !default; 24 | $grid-col-fixed-width: $s5 !default; 25 | 26 | 27 | 28 | $grid-gutter: $s2 !default; 29 | 30 | $grid-space-xxs: $s3 !default; 31 | $grid-space-xs: $s3 !default; 32 | $grid-space-s: $s4 !default; 33 | $grid-space-m: $s4 !default; 34 | $grid-space-l: $s4 !default; 35 | $grid-space-xl: $s4 !default; 36 | 37 | 38 | 39 | $breakpoints: (( 40 | "xxs", 41 | "(min-width: " + ($grid-xxs + $grid-space-xxs * 2) + ")", 42 | "(max-width: " + ($grid-xs + $grid-space-xs * 2 - 1) + ")" 43 | ), ( 44 | "xs", 45 | "(min-width: " + ($grid-xs + $grid-space-xs * 2) + ")", 46 | "(max-width: " + ($grid-s + $grid-space-s * 2 - 1) + ")" 47 | ), ( 48 | "s", 49 | "(min-width: " + ($grid-s + $grid-space-s * 2) + ")", 50 | "(max-width: " + ($grid-m + $grid-space-m * 2 - 1) + ")" 51 | ), ( 52 | "m", 53 | "(min-width: " + ($grid-m + $grid-space-m * 2) + ")", 54 | "(max-width: " + ($grid-l + $grid-space-l * 2 - 1) + ")" 55 | ), ( 56 | "l", 57 | "(min-width: " + ($grid-l + $grid-space-l * 2) + ")", 58 | "(max-width: " + ($grid-xl + $grid-space-xl * 2 - 1) + ")" 59 | ), ( 60 | "xl", 61 | "(min-width: " + ($grid-xl + $grid-space-xl * 2) + ")", 62 | "" 63 | )); 64 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-icon/lib/scss/functions.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/perf/lib/_components/@alife/next-icon/lib/scss/functions.scss -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-icon/lib/scss/mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin icon-handler($size, $baseSize: $icon-s, $offset: 0) { 2 | 3 | &:before { 4 | width: $size; 5 | font-size: $size; 6 | line-height: inherit; 7 | } 8 | 9 | 10 | @if ($size < 12) { 11 | @media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) { 12 | transform: scale($size / $baseSize) translateX($offset * 2); 13 | 14 | &:before { 15 | width: $baseSize; 16 | font-size: $baseSize; 17 | } 18 | } 19 | } 20 | } 21 | 22 | 23 | @mixin icon-size-handler($size, $baseSize: $icon-s){ 24 | @if ($size < 12) { 25 | width: $baseSize; 26 | font-size: #{$size} \9; 27 | transform: scale($size / $baseSize); 28 | } @else { 29 | width: $size; 30 | font-size: $size; 31 | } 32 | line-height: inherit; 33 | } 34 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-icon/lib/scss/placeholders.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/perf/lib/_components/@alife/next-icon/lib/scss/placeholders.scss -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-input/lib/scss/function.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/perf/lib/_components/@alife/next-input/lib/scss/function.scss -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-input/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/perf/lib/_components/@alife/next-input/lib/scss/placeholder.scss -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-loading/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-loading/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | // loading mixins 4 | // -------------------------------------------------- 5 | 6 | 7 | @mixin loading-fusion ( 8 | $name: top, 9 | $oldsize: 10px, 10 | $val: 19px, 11 | $newsize: 12px 12 | ) { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-loading/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-loading/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | $loading-prefix: '.#{$css-prefix}loading'; 14 | 15 | 16 | 17 | 18 | $loading-icon-size: $icon-xl !default; 19 | $loading-color: $color-n2-4 !default; 20 | 21 | $loading-fusion-vector-seconds: 5.6s; 22 | $loading-fusion-vector-dot-seconds: 1.4s; 23 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-menu/lib/scss/variables.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | $menu-prefixCls: '.next-menu'; 13 | 14 | $menu-width: $s1 * 50; 15 | 16 | 17 | 18 | $menu-padding-vertical: $s3 !default; 19 | 20 | 21 | $menu-padding-horizontal: $s5 !default; 22 | 23 | 24 | 25 | $menu-padding-title-horizontal: $s3 !default; 26 | 27 | 28 | 29 | $menu-divider-margin-hoz: $s5 !default; 30 | 31 | 32 | 33 | $menu-divider-margin-ver: $s2 !default; 34 | 35 | 36 | $menu-font-size: $font-size-base-body1 !default; 37 | 38 | 39 | $menu-line-height: $s7 !default; 40 | 41 | 42 | $menu-icon-margin: $s1 !default; 43 | 44 | 45 | 46 | $menu-color: $color-n2-4 !default; 47 | 48 | 49 | $menu-color-hover: $color-n2-4 !default; 50 | 51 | 52 | $menu-color-focused: $color-n2-4 !default; 53 | 54 | 55 | $menu-color-selected: $color-n2-4 !default; 56 | 57 | 58 | $menu-color-disabled: $color-n2-2 !default; 59 | 60 | 61 | $menu-background: $color-n1-1 !default; 62 | 63 | 64 | $menu-background-selected: $color-n1-1 !default; 65 | 66 | 67 | $menu-background-hover: $color-n1-3 !default; 68 | 69 | 70 | $menu-background-focused: $color-n1-3 !default; 71 | 72 | 73 | $menu-arrow-color: $color-n2-1 !default; 74 | 75 | 76 | $menu-arrow-color-hover: $color-n2-1 !default; 77 | 78 | 79 | 80 | $menu-shadow: $shadow-sd1 !default; 81 | 82 | 83 | $menu-shadow-focus: $shadow-sd2 !default; 84 | 85 | 86 | 87 | $menu-border-style: $line-solid !default; 88 | 89 | 90 | $menu-border-width: $line-1-width !default; 91 | 92 | 93 | 94 | $menu-border-color: $color-n1-5 !default; 95 | 96 | 97 | 98 | $menu-border-radius: $corner-radius-r0 !default; 99 | 100 | 101 | 102 | $menu-divider-border-color: $color-n1-5 !default; 103 | 104 | 105 | 106 | $menu-icon-color: $color-n2-1 !default; 107 | 108 | 109 | $menu-icon-size: $icon-xs !default; 110 | 111 | 112 | 113 | $menu-icon-selected-color: $color-b1-6 !default; 114 | 115 | 116 | 117 | $menu-submenu-title-size: $font-size-base-body1 !default; 118 | 119 | 120 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-navigation/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-navigation/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | @mixin navigationTransition ( 6 | $property : all, 7 | $options : 0.3s ease 8 | ) { 9 | transition: $property $options 10 | } 11 | 12 | @mixin navigationState ( 13 | $color, 14 | $fontsize, 15 | $borderStyle, 16 | $borderWidth, 17 | $borderColor 18 | ) { 19 | color: $color; 20 | font-size: $fontsize; 21 | border-style: $borderStyle; 22 | border-width: $borderWidth; 23 | border-color: $borderColor; 24 | } 25 | 26 | @mixin navigationItemLine ( 27 | $borderStyle, 28 | $borderWidth, 29 | $borderColor 30 | ) { 31 | @include navigationItemLineTop( 32 | $borderStyle, 33 | $borderWidth, 34 | $borderColor 35 | ); 36 | 37 | @include navigationItemLineBottom( 38 | $borderStyle, 39 | $borderWidth, 40 | $borderColor 41 | ); 42 | } 43 | 44 | @mixin navigationItemLineTop ( 45 | $borderStyle, 46 | $borderWidth, 47 | $borderColor 48 | ) { 49 | border-top-style: $borderStyle; 50 | border-top-width: $borderWidth; 51 | border-top-color: $borderColor; 52 | } 53 | 54 | @mixin navigationItemLineBottom ( 55 | $borderStyle, 56 | $borderWidth, 57 | $borderColor 58 | ) { 59 | border-bottom-style: $borderStyle; 60 | border-bottom-width: $borderWidth; 61 | border-bottom-color: $borderColor; 62 | } 63 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-navigation/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-notice/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-notice/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin noticeBounding(){ 7 | position: relative; 8 | display: block; 9 | vertical-align: baseline; 10 | } 11 | 12 | @mixin noticeState( 13 | $titleColor, 14 | $contentColor, 15 | $colorIcon, 16 | $colorClose 17 | ){ 18 | .#{$css-prefix}notice-title{ 19 | color: $titleColor; 20 | } 21 | .#{$css-prefix}notice-content{ 22 | color: $contentColor; 23 | } 24 | .#{$css-prefix}notice-symbol{ 25 | color: $colorIcon; 26 | } 27 | .#{$css-prefix}notice-close{ 28 | color: $colorClose; 29 | :hover{ 30 | color: $colorClose; 31 | } 32 | } 33 | } 34 | 35 | @mixin noticeSize( 36 | $borderWidth, 37 | $padding, 38 | $titlePadding, 39 | $titleFontSize, 40 | $contentMarginTop, 41 | $contentPadding, 42 | $contentFontSize, 43 | $iconSize 44 | ){ 45 | border-width: $borderWidth; 46 | padding: $padding; 47 | 48 | .#{$css-prefix}notice-symbol{ 49 | float: left; 50 | @include icon-handler($iconSize); 51 | line-height: $iconSize; 52 | } 53 | .#{$css-prefix}notice-title{ 54 | padding: $titlePadding; 55 | font-size: $titleFontSize; 56 | } 57 | .#{$css-prefix}notice-content{ 58 | margin-top: $contentMarginTop; 59 | padding: $contentPadding; 60 | font-size: $contentFontSize; 61 | } 62 | .#{$css-prefix}notice-symbol + .#{$css-prefix}notice-content { 63 | margin-top: 0; 64 | } 65 | } 66 | 67 | @mixin noticeSizeClose($top, $right, $iconSize){ 68 | position: absolute; 69 | top: $top; 70 | right: $right; 71 | .#{$css-prefix}icon { 72 | @include icon-handler($iconSize); 73 | line-height: $iconSize; 74 | } 75 | } 76 | @mixin noticeShape( 77 | $shape, 78 | $colorBorder, 79 | $colorBg 80 | ){ 81 | background: $colorBg; 82 | @if ($shape == 'addon') { 83 | &.#{$css-prefix}notice-large { 84 | border-width: $notice-size-l-border-width-addon; 85 | padding: $notice-size-l-padding-addon; 86 | } 87 | &.#{$css-prefix}notice-medium { 88 | border-width: $notice-size-m-border-width-addon; 89 | padding: $notice-size-m-padding-addon; 90 | } 91 | } 92 | @else { 93 | border-color: $colorBorder; 94 | border-radius: $notice-border-radius; 95 | border-style: $notice-border-style; 96 | } 97 | } 98 | 99 | @mixin verticalAlignMiddle( 100 | $fontSize, 101 | $iconSize, 102 | $className 103 | ) { 104 | @if ($fontSize > $iconSize) { 105 | .#{$css-prefix}notice-symbol { 106 | line-height: $fontSize; 107 | } 108 | } 109 | 110 | @if ($fontSize < $iconSize) { 111 | .#{$css-prefix}notice-#{$className} { 112 | line-height: $iconSize; 113 | } 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-notice/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-number-picker/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-number-picker/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin number-picker-disabled() { 7 | color: $number-picker-color-disabled; 8 | background-color: $number-picker-bg-disabled; 9 | border-color: $number-picker-border-color-disabled; 10 | cursor: default; 11 | &:hover { 12 | color: $number-picker-color-disabled; 13 | background-color: $number-picker-bg-disabled; 14 | border-color: $number-picker-border-color-disabled; 15 | cursor: default; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-number-picker/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-number-picker/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | $number-picker-prefix: '.#{$css-prefix}number-picker'; 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | $number-picker-color: $color-n2-3 !default; 22 | 23 | 24 | $number-picker-bg: $color-n1-2 !default; 25 | 26 | 27 | 28 | 29 | $number-picker-border-color: $color-n1-7 !default; 30 | 31 | 32 | 33 | $number-picker-border-width: $line-1-width !default; 34 | 35 | 36 | 37 | $number-picker-color-hover: $color-b1-6 !default; 38 | 39 | 40 | $number-picker-border-color-hover: $color-b1-6 !default; 41 | 42 | 43 | $number-picker-font-size: $font-size-base-body2 !default; 44 | 45 | 46 | 47 | $number-picker-color-disabled: $color-n2-1 !default; 48 | 49 | 50 | $number-picker-bg-disabled: $color-n1-3 !default; 51 | 52 | 53 | $number-picker-border-color-disabled: $color-n1-5 !default; 54 | 55 | 56 | 57 | 58 | 59 | $number-picker-width: $s10 !default; 60 | 61 | 62 | $number-picker-height: $s8 !default; 63 | 64 | 65 | 66 | $number-picker-handler-width: $s5 !default; 67 | 68 | 69 | $number-picker-handler-corner: $corner-radius-r0 !default; 70 | 71 | 72 | $number-picker-handler-icon-size: $icon-xxs !default; 73 | 74 | 75 | $number-picker-handler-margin-bottom: 2px !default; 76 | $number-picker-handler-margin-left: 2px !default; 77 | $number-picker-handler-height: ($number-picker-height + 2 * $number-picker-border-width - $number-picker-handler-margin-bottom) / 2; 78 | 79 | 80 | 81 | $number-picker-inline-width: $s11 !default; 82 | 83 | 84 | $number-picker-inline-height: $s7 !default; 85 | 86 | 87 | 88 | $number-picker-inline-handler-width: $s7 !default; 89 | 90 | 91 | $number-picker-inline-handler-height: $s7 !default; 92 | 93 | 94 | $number-picker-inline-handler-corner: $corner-radius-r0 !default; 95 | 96 | 97 | $number-picker-inline-handler-icon-size: $icon-xs !default; 98 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-overlay/lib/index.scss: -------------------------------------------------------------------------------- 1 | @import "../../next-core/lib/next.scss"; 2 | @import "../../next-animate/lib/index.scss"; 3 | 4 | .#{$css-prefix}overlay-backdrop{ 5 | background: #000000; 6 | position: fixed; 7 | width:100%; 8 | height:100%; 9 | top:0; 10 | left:0; 11 | z-index: 1001; 12 | transition: opacity 0.3s; 13 | opacity: 0; 14 | } 15 | 16 | .opened .#{$css-prefix}overlay-backdrop{ 17 | opacity: 0.2; 18 | } 19 | 20 | .#{$css-prefix}overlay-wrapper{ 21 | .#{$css-prefix}overlay-inner{ 22 | z-index: 1001; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-pagination/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @mixin paginationSize( 5 | $itemPaddingLeftRight, 6 | $ellipsisFontSize, 7 | $totalFontSize, 8 | $currentFontSize, 9 | $otherFontSize, 10 | $filterHeight, 11 | $numberPaddingLeftRight 12 | ) { 13 | #{$pagination-prefix}-item { 14 | padding: 0 $itemPaddingLeftRight; 15 | } 16 | #{$pagination-prefix}-ellipsis { 17 | font-size: $ellipsisFontSize; 18 | } 19 | #{$pagination-prefix}-display { 20 | font-size: $totalFontSize; 21 | em { 22 | font-size: $currentFontSize; 23 | } 24 | } 25 | #{$pagination-prefix}-jump { 26 | font-size: $otherFontSize; 27 | } 28 | #{$pagination-prefix}-size-selector-title { 29 | font-size: $otherFontSize; 30 | } 31 | #{$pagination-prefix}-size-selector-filter { 32 | height: $filterHeight; 33 | line-height: $filterHeight; 34 | } 35 | #{$pagination-prefix}-size-selector-btn { 36 | padding: 0 $numberPaddingLeftRight; 37 | } 38 | } 39 | 40 | @mixin arrowOnlySize( 41 | $prevNextWidth 42 | ) { 43 | #{$pagination-prefix}-item { 44 | &.prev, 45 | &.next { 46 | width: $prevNextWidth; 47 | padding: 0; 48 | .#{$css-prefix}icon { 49 | margin: 0 auto; 50 | } 51 | } 52 | } 53 | } 54 | 55 | @mixin arrowPrevOnlySize( 56 | $prevWidth 57 | ) { 58 | #{$pagination-prefix}-item.prev { 59 | width: $prevWidth; 60 | padding: 0; 61 | .#{$css-prefix}icon { 62 | margin: 0 auto; 63 | } 64 | } 65 | } 66 | 67 | @mixin noBorderSize( 68 | $displayMarginLeftRight 69 | ) { 70 | #{$pagination-prefix}-item { 71 | &.prev, 72 | &.next { 73 | border: none; 74 | background-color: transparent; 75 | padding: 0; 76 | .#{$css-prefix}icon { 77 | margin: 0; 78 | 79 | &:hover { 80 | color: $pagination-item-current-color; 81 | } 82 | } 83 | } 84 | } 85 | 86 | #{$pagination-prefix}-display { 87 | margin: 0 $displayMarginLeftRight; 88 | } 89 | } 90 | 91 | @mixin miniSize( 92 | $prevNextMarginLeftRight 93 | ) { 94 | #{$pagination-prefix}-item { 95 | &.prev { 96 | margin-right: $prevNextMarginLeftRight; 97 | } 98 | &.next { 99 | margin-left: $prevNextMarginLeftRight; 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-pagination/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | $pagination-prefix: ".#{$css-prefix}pagination"; 15 | 16 | 17 | 18 | 19 | 20 | 21 | $pagination-item-split: $s1 !default; 22 | 23 | 24 | 25 | $pagination-current-font-size: $font-size-base-body1 !default; 26 | 27 | 28 | 29 | $pagination-total-font-size: $font-size-base-body1 !default; 30 | 31 | 32 | 33 | $pagination-jump-font-size: $font-size-base-body1 !default; 34 | 35 | 36 | 37 | $pagination-ellipsis-font-size: $font-size-base-body1 !default; 38 | 39 | 40 | 41 | $pagination-input-width: $s9 !default; 42 | 43 | 44 | 45 | $pagination-input-margin: $s1 !default; 46 | 47 | 48 | 49 | $pagination-size-selector-title-margin-right: $s1 !default; 50 | 51 | 52 | 53 | $pagination-size-selector-number-padding: $s3 !default; 54 | 55 | 56 | 57 | $pagination-size-selector-filter-height: $s7 !default; 58 | 59 | 60 | 61 | 62 | 63 | 64 | $pagination-large-current-font-size: $font-size-base-subhead !default; 65 | 66 | 67 | 68 | $pagination-large-total-font-size: $font-size-base-subhead !default; 69 | 70 | 71 | 72 | $pagination-large-jump-font-size: $font-size-base-subhead !default; 73 | 74 | 75 | 76 | $pagination-large-ellipsis-font-size: $font-size-base-subhead !default; 77 | 78 | 79 | 80 | $pagination-large-size-selector-number-padding: $s4 !default; 81 | 82 | 83 | 84 | $pagination-large-size-selector-filter-height: $s10 !default; 85 | 86 | 87 | 88 | 89 | 90 | 91 | $pagination-small-current-font-size: $font-size-base-caption !default; 92 | 93 | 94 | 95 | $pagination-small-total-font-size: $font-size-base-caption !default; 96 | 97 | 98 | 99 | $pagination-small-jump-font-size: $font-size-base-caption !default; 100 | 101 | 102 | 103 | $pagination-small-ellipsis-font-size: $font-size-base-caption !default; 104 | 105 | 106 | 107 | $pagination-small-size-selector-number-padding: $s2 !default; 108 | 109 | 110 | 111 | $pagination-small-size-selector-filter-height: $s5 !default; 112 | 113 | 114 | 115 | 116 | 117 | 118 | $pagination-current-color: $color-b1-6 !default; 119 | 120 | 121 | 122 | $pagination-total-color: $color-n2-4 !default; 123 | 124 | 125 | 126 | $pagination-jump-color: $color-n2-2 !default; 127 | 128 | 129 | 130 | $pagination-ellipsis-color: $color-n2-4 !default; 131 | 132 | 133 | 134 | $pagination-size-selector-title-color: $color-n2-2 !default; 135 | 136 | 137 | 138 | 139 | 140 | 141 | $pagination-item-current-color: $color-b1-6 !default; 142 | 143 | 144 | 145 | $pagination-item-current-border-color: $color-b1-6 !default; 146 | 147 | 148 | 149 | $pagination-item-current-bg: $color-n1-2 !default; 150 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-progress/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin progress-bar-size( 2 | $underlay-size, 3 | $overlay-size, 4 | $font-size, 5 | $corner 6 | ) { 7 | #{$progress-prefix}-line-underlay { 8 | border-radius: $corner; 9 | height: $underlay-size; 10 | } 11 | #{$progress-prefix}-line-overlay { 12 | height: $overlay-size; 13 | border-radius: $corner; 14 | top: 50%; 15 | margin-top: -$overlay-size/2; 16 | } 17 | #{$progress-prefix}-line-text { 18 | font-size: $font-size; 19 | line-height: $underlay-size; 20 | } 21 | } 22 | 23 | @mixin progress-ring-size( 24 | $size, 25 | $font-size 26 | ) { 27 | width: $size; 28 | height: $size; 29 | font-size: $font-size; 30 | } 31 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-progress/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$progress-prefix}-line { 2 | @include global-font(); 3 | 4 | *, 5 | *:before, 6 | *:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | &, 11 | &:before, 12 | &:after { 13 | box-sizing: border-box; 14 | } 15 | } 16 | 17 | #{$progress-prefix}-circle { 18 | @include global-font(); 19 | 20 | *, 21 | *:before, 22 | *:after { 23 | box-sizing: border-box; 24 | } 25 | 26 | &, 27 | &:before, 28 | &:after { 29 | box-sizing: border-box; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-progress/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | $progress-prefix: '.' + $css-prefix + 'progress'; 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | $progress-line-overlay-size-l: $s4 !default; 20 | 21 | 22 | 23 | $progress-line-overlay-size-m: $s2 !default; 24 | 25 | 26 | 27 | $progress-line-overlay-size-s: $s1 !default; 28 | 29 | 30 | 31 | $progress-line-underlay-size-l: $s4 !default; 32 | 33 | 34 | 35 | $progress-line-underlay-size-m: $s2 !default; 36 | 37 | 38 | 39 | $progress-line-underlay-size-s: $s1 !default; 40 | 41 | 42 | 43 | $progress-line-radius-l: $corner-radius-r0 !default; 44 | 45 | 46 | 47 | $progress-line-radius-m: $corner-radius-r0 !default; 48 | 49 | 50 | 51 | $progress-line-radius-s: $corner-radius-r0 !default; 52 | 53 | 54 | 55 | $progress-line-font-l: $font-size-base-body1 !default; 56 | 57 | 58 | 59 | $progress-line-font-m: $font-size-base-caption !default; 60 | 61 | 62 | 63 | $progress-line-font-s: $font-size-base-caption !default; 64 | 65 | 66 | 67 | $progress-line-font-color: $color-n2-4 !default; 68 | 69 | 70 | 71 | $progress-line-underlay-color: $color-n1-4 !default; 72 | 73 | 74 | 75 | $progress-line-normal-color: $color-f4-1 !default; 76 | 77 | 78 | 79 | $progress-line-started-color: $color-f2-1 !default; 80 | 81 | 82 | 83 | $progress-line-middle-color: $color-f1-1 !default; 84 | 85 | 86 | 87 | $progress-line-almostfinished-color: $color-f3-1 !default; 88 | 89 | 90 | 91 | $progress-line-error-color: $color-f2-1 !default; 92 | 93 | 94 | 95 | $progress-line-success-color: $color-f3-1 !default; 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | $progress-circle-size-l: $s33 !default; 104 | 105 | 106 | 107 | $progress-circle-size-m: $s29 !default; 108 | 109 | 110 | 111 | $progress-circle-size-s: $s25 !default; 112 | 113 | 114 | 115 | $progress-circle-underlay-width: $s2 !default; 116 | 117 | 118 | 119 | $progress-circle-overlay-width: $s2 !default; 120 | 121 | 122 | 123 | $progress-circle-font-l: $font-size-base-display1 !default; 124 | 125 | 126 | 127 | $progress-circle-font-m: $font-size-base-headline !default; 128 | 129 | 130 | 131 | $progress-circle-font-s: $font-size-base-title !default; 132 | 133 | 134 | 135 | $progress-circle-underlay-color: $color-n1-4 !default; 136 | 137 | 138 | 139 | 140 | $progress-circle-corner: round !default; 141 | 142 | 143 | 144 | $progress-circle-normal-color: $color-f4-1 !default; 145 | 146 | 147 | 148 | $progress-circle-started-color: $color-f2-1 !default; 149 | 150 | 151 | 152 | $progress-circle-middle-color: $color-f1-1 !default; 153 | 154 | 155 | 156 | $progress-circle-almostfinished-color: $color-f3-1 !default; 157 | 158 | 159 | 160 | $progress-circle-error-color: $color-f2-1 !default; 161 | 162 | 163 | 164 | $progress-circle-success-color: $color-f3-1 !default; 165 | 166 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-radio/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | @charset "UTF-8"; 11 | 12 | 13 | 14 | 15 | $radio-prefix : '.#{$css-prefix}radio'; 16 | 17 | 18 | 19 | $radio-width: $s4 !default; 20 | 21 | 22 | $radio-circle-size: $s2 !default; 23 | 24 | 25 | $radio-radius-size: $corner-radius-circle !default; 26 | 27 | 28 | 29 | $radio-border-color: $color-n1-7 !default; 30 | 31 | 32 | $radio-hovered-border-color: $color-b1-6 !default; 33 | 34 | 35 | $radio-checked-border-color: $color-b1-6 !default; 36 | 37 | 38 | $radio-disabled-border-color: $color-n1-6 !default; 39 | 40 | 41 | $radio-checked-hovered-border-color: $color-b1-9 !default; 42 | 43 | 44 | 45 | 46 | $radio-checked-circle-color: $color-b1-6 !default; 47 | 48 | 49 | $radio-disabled-circle-color: $color-n2-1 !default; 50 | 51 | 52 | $radio-checked-hovered-circle-color: $color-b1-9 !default; 53 | 54 | 55 | 56 | 57 | $radio-bg-color: $color-n1-1 !default; 58 | 59 | 60 | $radio-disabled-bg-color: $color-n1-2 !default; 61 | 62 | 63 | $radio-checked-bg-color: $color-n1-1 !default; 64 | 65 | 66 | $radio-hovered-bg-color: $color-b1-1 !default; 67 | 68 | 69 | $radio-checked-hovered-bg-color: $color-b1-1 !default; 70 | 71 | 72 | 73 | 74 | $radio-button-border-color: $color-n1-8 !default; 75 | 76 | 77 | $radio-button-border-color-hovered: $color-n1-8 !default; 78 | 79 | 80 | $radio-button-border-color-checked: $color-b1-6 !default; 81 | 82 | 83 | $radio-button-border-color-disabled: $color-n1-5 !default; 84 | 85 | 86 | $radio-button-border-color-checked-disabled: $color-n1-5 !default; 87 | 88 | 89 | 90 | 91 | $radio-button-font-color: $color-n2-4 !default; 92 | 93 | 94 | $radio-button-font-color-hovered: $color-b1-6 !default; 95 | 96 | 97 | $radio-button-font-color-checked: $color-b1-6 !default; 98 | 99 | 100 | $radio-button-font-color-disabled: $color-n2-1 !default; 101 | 102 | 103 | $radio-button-font-color-checked-disabled: $color-n2-1 !default; 104 | 105 | 106 | 107 | 108 | $radio-button-bg-color: $color-n1-1 !default; 109 | 110 | 111 | $radio-button-bg-color-checked: $color-n1-1 !default; 112 | 113 | 114 | $radio-button-bg-color-hovered: $color-n1-1 !default; 115 | 116 | 117 | $radio-button-bg-color-disabled: $color-n1-2 !default; 118 | 119 | 120 | $radio-button-bg-color-checked-disabled: $color-n1-3 !default; 121 | 122 | 123 | 124 | 125 | $radio-button-font-size-large: $font-size-base-body1 !default; 126 | 127 | 128 | $radio-button-font-size-medium: $font-size-base-body1 !default; 129 | 130 | 131 | $radio-button-font-size-small: $font-size-base-caption !default; 132 | 133 | 134 | 135 | $radio-button-height-large: $s10 !default; 136 | 137 | 138 | $radio-button-height-medium: $s7 !default; 139 | 140 | 141 | $radio-button-height-small: $s5 !default; 142 | 143 | 144 | 145 | $radio-button-radius-size: $corner-radius-r1 !default; 146 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-range/lib/index.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | @import "../../next-core/lib/next.scss"; 3 | @import "../../next-balloon/lib/index.scss"; 4 | @import "./scss/_function.scss"; 5 | @import "./scss/_mixin.scss"; 6 | @import "./scss/_placeholder.scss"; 7 | @import "./scss/_variable.scss"; 8 | 9 | 10 | 11 | .#{$css-prefix}{ 12 | &range{ 13 | @include box-sizing; 14 | @include global-font; 15 | @include rangeBounding(); 16 | 17 | &{ 18 | @include rangeState( 19 | $range-normal-unselected-color, 20 | $range-normal-unselected-color-disabled, 21 | $range-normal-unselected-color-hover, 22 | $range-normal-selected-color, 23 | $range-normal-selected-color-disabled, 24 | $range-normal-selected-color-hover, 25 | $range-normal-slider-bg-color, 26 | $range-normal-slider-bg-color-disabled, 27 | $range-normal-slider-bg-color-hover, 28 | $range-normal-slider-border-color, 29 | $range-normal-slider-border-color-disabled, 30 | $range-normal-slider-border-color-hover, 31 | $range-normal-mark-color, 32 | $range-normal-mark-color-disabled, 33 | $range-normal-mark-color-hover, 34 | $range-normal-mark-selected-color, 35 | $range-normal-mark-selected-color-disabled, 36 | $range-normal-mark-selected-color-hover 37 | ); 38 | 39 | @include rangeSize( 40 | $range-size-m-track-height, 41 | $range-size-m-scale-height, 42 | $range-size-m-slider-hw, 43 | $range-size-m-slider-shadow, 44 | $range-size-m-mark-font-size, 45 | $range-size-m-mark-font-weight, 46 | $range-size-m-mark-font-lineheight 47 | ); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-range/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-range/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-range/lib/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | $range-size-m-track-height: $s1 !default; 18 | 19 | 20 | 21 | 22 | $range-size-m-scale-height: $s3 !default; 23 | 24 | 25 | 26 | $range-size-m-scale-item-border-width: $line-1-width !default; 27 | 28 | 29 | 30 | $range-size-m-slider-hw: $s4 !default; 31 | 32 | 33 | 34 | $range-size-slider-border-style: $line-solid !default; 35 | 36 | 37 | 38 | $range-size-slider-border-width: $line-1-width !default; 39 | 40 | 41 | 42 | 43 | 44 | $range-size-m-mark-top: -40px !default; 45 | 46 | 47 | 48 | 49 | $range-size-m-mark-font-size: $font-size-base-body1 !default; 50 | 51 | 52 | 53 | $range-size-m-mark-font-weight: $font-weight-base-body1 !default; 54 | 55 | 56 | 57 | 58 | $range-size-m-mark-font-lineheight: $font-lineheight-base-body1 !default; 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | $range-size-m-track-radius: $corner-radius-r0 !default; 68 | 69 | 70 | 71 | $range-size-m-scale-radius: $corner-radius-r0 !default; 72 | 73 | 74 | 75 | 76 | $range-size-m-slider-shadow: $shadow-sd1 !default; 77 | 78 | 79 | 80 | 81 | $range-normal-unselected-color: $color-n1-7 !default; 82 | 83 | 84 | 85 | 86 | $range-normal-selected-color: $color-b1-6 !default; 87 | 88 | 89 | 90 | 91 | $range-normal-slider-bg-color: $color-n1-1 !default; 92 | 93 | 94 | 95 | 96 | $range-normal-mark-color: $color-n2-2 !default; 97 | 98 | 99 | 100 | 101 | $range-normal-mark-selected-color: $color-n2-4 !default; 102 | 103 | 104 | 105 | 106 | 107 | $range-normal-unselected-color-disabled: $color-n1-7 !default; 108 | 109 | 110 | 111 | 112 | 113 | $range-normal-selected-color-disabled: $color-n1-8 !default; 114 | 115 | 116 | 117 | 118 | 119 | $range-normal-slider-bg-color-disabled: $color-n1-5 !default; 120 | 121 | 122 | 123 | $range-normal-slider-border-color: $color-transparent !default; 124 | 125 | 126 | 127 | $range-normal-slider-border-color-disabled: $color-n1-5 !default; 128 | 129 | 130 | 131 | 132 | $range-normal-mark-color-disabled: $color-n2-1 !default; 133 | 134 | 135 | 136 | 137 | 138 | $range-normal-mark-selected-color-disabled: $color-n2-2 !default; 139 | 140 | 141 | 142 | 143 | 144 | 145 | $range-normal-unselected-color-hover: $color-n1-7 !default; 146 | 147 | 148 | 149 | 150 | $range-normal-selected-color-hover: $color-b1-6 !default; 151 | 152 | 153 | 154 | 155 | $range-normal-slider-bg-color-hover: $color-n1-1 !default; 156 | 157 | 158 | 159 | 160 | $range-normal-mark-color-hover: $color-n2-2 !default; 161 | 162 | 163 | 164 | 165 | $range-normal-mark-selected-color-hover: $color-n2-4 !default; 166 | 167 | 168 | 169 | 170 | $range-normal-slider-border-color-hover: $color-transparent !default; 171 | 172 | 173 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-rating/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin rating-state( 2 | $color 3 | ) { 4 | #{$rating-icon-prefix} { 5 | color: $color; 6 | } 7 | } 8 | 9 | @mixin rating-size( 10 | $icon-size, 11 | $text-size, 12 | $text-margin-left 13 | ) { 14 | line-height: $icon-size; 15 | 16 | #{$rating-icon-prefix} { 17 | @include icon-handler($icon-size); 18 | } 19 | 20 | #{$rating-prefix}-text { 21 | font-size: $text-size; 22 | min-height: $icon-size; 23 | line-height: $icon-size; 24 | margin-left: $text-margin-left; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-rating/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | $rating-prefix: '.' + $css-prefix + 'rating'; 11 | 12 | $rating-icon-prefix: '.' + $css-prefix + 'icon'; 13 | 14 | 15 | 16 | 17 | $rating-small-text-margin-left: $s2 !default; 18 | 19 | 20 | 21 | $rating-small-icon-size: $icon-xs !default; 22 | 23 | 24 | 25 | $rating-small-font-size: $font-size-base-caption !default; 26 | 27 | 28 | 29 | $rating-medium-text-margin-left: $s3 !default; 30 | 31 | 32 | 33 | $rating-medium-icon-size: $icon-s !default; 34 | 35 | 36 | 37 | $rating-medium-font-size: $font-size-base-body1 !default; 38 | 39 | 40 | 41 | $rating-large-text-margin-left: $s4 !default; 42 | 43 | 44 | 45 | $rating-large-icon-size: $icon-m !default; 46 | 47 | 48 | 49 | $rating-large-font-size: $font-size-base-subhead !default; 50 | 51 | 52 | 53 | $rating-normal-underlay-color: $color-n1-7 !default; 54 | 55 | 56 | 57 | $rating-normal-overlay-color: $color-b1-6 !default; 58 | 59 | 60 | 61 | $rating-normal-overlay-hover-color: $color-b1-6 !default; 62 | 63 | 64 | 65 | $rating-grade-low-overlay-color: $color-n2-3 !default; 66 | 67 | 68 | 69 | $rating-grade-low-overlay-hover-color: $color-n2-2 !default; 70 | 71 | 72 | 73 | $rating-grade-high-overlay-color: $color-b1-6 !default; 74 | 75 | 76 | 77 | $rating-grade-high-overlay-hover-color: $color-b1-6 !default; 78 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-search/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-search/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-search/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-select/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-select/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin selectState( 7 | $color, 8 | $colorDisabled, 9 | $colorHint, 10 | $colorBorder, 11 | $colorBorderHover, 12 | $colorBorderFocus, 13 | $colorBorderDisabled, 14 | $colorBgDisabled, 15 | $colorBorderActive, 16 | $colorBackground 17 | ) { 18 | color: $color; 19 | border-color: $colorBorder; 20 | background-color: $colorBackground; 21 | &.disabled { 22 | color: $colorDisabled; 23 | border-color: $colorBorderDisabled; 24 | background-color: $colorBgDisabled; 25 | cursor: not-allowed; 26 | &:hover { 27 | border-color: $colorBorderDisabled; 28 | } 29 | #{$select-prefix}-arrow { 30 | color: $colorBorderDisabled; 31 | } 32 | #{$select-prefix}-inner-item { 33 | .#{$css-prefix}icon-close:before{ 34 | color: $colorDisabled; 35 | } 36 | } 37 | } 38 | &:hover { 39 | border-color: $colorBorderHover; 40 | } 41 | &:focus { 42 | border-color: $colorBorderActive; 43 | outline: 0; 44 | } 45 | &:active { 46 | border-color: $colorBorderActive; 47 | } 48 | } 49 | 50 | @mixin selectSize( 51 | $height, 52 | $padding, 53 | $padding-multiple, 54 | $padding-multiple-tb, 55 | $fontSize, 56 | $borderWidth, 57 | $icon-size 58 | ) { 59 | height: $height; 60 | line-height: $height - $borderWidth * 2; 61 | padding-left: $padding; 62 | padding-right: $icon-size * 2 + 1; 63 | font-size: $fontSize; 64 | border-width: $borderWidth; 65 | &.no-arrow { 66 | padding-right: $padding; 67 | } 68 | #{$select-prefix}-arrow, #{$select-prefix}-clear{ 69 | right: $icon-size / 2; 70 | top: 0px; 71 | @include icon-handler($icon-size, $icon-s, $icon-size / 2); 72 | } 73 | .#{$css-prefix}comobobox-arrow-wrapper { 74 | width: $icon-size*2 + 1; 75 | border-radius: 0 $select-border-radius $select-border-radius 0; 76 | } 77 | 78 | #{$select-prefix}-inner-item { 79 | height: ($height - $padding-multiple-tb * 2 - $borderWidth * 2); 80 | line-height: ($height - $padding-multiple-tb * 2 - $borderWidth * 2); 81 | margin-top: $padding-multiple-tb; 82 | .#{$css-prefix}icon-close{ 83 | margin-left:2px; 84 | } 85 | } 86 | 87 | &.multiple{ 88 | padding-left: $padding-multiple; 89 | height: auto; 90 | min-height: $height; 91 | } 92 | &.#{$css-prefix}comobobox #{$select-prefix}-clear{ 93 | position: absolute; 94 | right: $icon-size * 2 + 5; 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-select/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-select/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | $select-prefix: '.#{$css-prefix}select'; 16 | 17 | 18 | 19 | $select-color: $color-n2-4 !default; 20 | 21 | 22 | $select-color-hint: $color-n2-2 !default; 23 | 24 | 25 | $select-color-disabled: $color-n2-1 !default; 26 | 27 | 28 | 29 | $select-border-radius: $corner-radius-r0 !default; 30 | 31 | 32 | 33 | $select-color-border: $color-n1-7 !default; 34 | 35 | 36 | $select-color-border-hover: $color-n1-8 !default; 37 | 38 | 39 | $select-color-border-focus: $color-b2-6 !default; 40 | 41 | 42 | $select-color-border-disabled: $color-n1-5 !default; 43 | 44 | 45 | $select-color-border-active: $color-b2-6 !default; 46 | 47 | 48 | 49 | $select-color-bg: $color-n1-1 !default; 50 | 51 | 52 | $select-color-bg-disabled: $color-n1-2 !default; 53 | 54 | 55 | 56 | $select-border-width: $line-1-width !default; 57 | 58 | 59 | $select-border-style: $line-solid !default; 60 | 61 | 62 | $select-font: $font-size-base-body1 !default; 63 | 64 | 65 | $select-icon-color: $color-n1-8 !default; 66 | 67 | 68 | 69 | $select-color-item-bg: $color-n1-4 !default; 70 | 71 | 72 | 73 | 74 | 75 | $select-large-height: $s10 !default; 76 | 77 | 78 | 79 | $select-large-padding-lr: $s2 !default; 80 | 81 | 82 | $select-large-padding-multiple: $s2 !default; 83 | 84 | 85 | $select-large-padding-multiple-tb: $s2 !default; 86 | 87 | 88 | $select-icon-large-size: $icon-m !default; 89 | 90 | 91 | $select-large-font: $font-size-base-body1 !default; 92 | 93 | 94 | 95 | 96 | 97 | $select-middle-height: $s7 !default; 98 | 99 | 100 | $select-middle-padding-lr: $s2 !default; 101 | 102 | 103 | $select-middle-padding-multiple: $s1 !default; 104 | 105 | 106 | $select-middle-padding-multiple-tb: $s1 !default; 107 | 108 | 109 | $select-icon-middle-size: $icon-s !default; 110 | 111 | 112 | $select-middle-font: $font-size-base-body1 !default; 113 | 114 | 115 | 116 | 117 | $select-small-height: $s5 !default; 118 | 119 | 120 | $select-small-padding-lr: $s2 !default; 121 | 122 | 123 | $select-small-padding-multiple: $s1 !default; 124 | 125 | 126 | $select-small-padding-multiple-tb: 2px !default; 127 | 128 | 129 | $select-icon-small-size: $icon-xs !default; 130 | 131 | 132 | $select-small-font: $font-size-base-caption !default; 133 | 134 | 135 | 136 | 137 | $select-no-border-hover-color: $color-b1-6 !default; 138 | 139 | 140 | 141 | $select-box-bg: $color-n1-2 !default; 142 | 143 | 144 | $select-box-border-color: $color-n1-7 !default; 145 | 146 | 147 | $select-box-padding-large: $s2; 148 | $select-box-padding-medium: $s1; 149 | $select-box-padding-small: $s1; 150 | $select-box-padding-small-tb: 2px; 151 | $select-box-split: $s1; 152 | 153 | 154 | 155 | $select-item-border-radius: $corner-radius-r1 !default; 156 | 157 | 158 | 159 | $select-item-margin-right: $s1 !default; 160 | 161 | 162 | $select-item-padding-hoz: $s1 !default; 163 | 164 | 165 | $select-item-padding-ver: $s0 !default; 166 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-slider/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-slider/lib/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | @mixin slick-arrow-size($arrow-width, $arrow-height, $icon-size) { 7 | width: $arrow-width; 8 | height: $arrow-height; 9 | line-height: $arrow-height; 10 | 11 | .#{$css-prefix}icon { 12 | @include icon-handler($icon-size); 13 | } 14 | } 15 | 16 | @mixin slick-arrow-statement( 17 | $icon-color, 18 | $icon-color-hover, 19 | $icon-color-disabled, 20 | $icon-bg-color, 21 | $icon-bg-color-hover, 22 | $icon-bg-color-disabled, 23 | $icon-bg-opacity, 24 | $icon-bg-opacity-hover, 25 | $icon-bg-opacity-disabled 26 | ) { 27 | color: $icon-color; 28 | background: $icon-bg-color; 29 | opacity: $icon-bg-opacity; 30 | 31 | &:hover { 32 | color: $icon-color-hover; 33 | background: $icon-bg-color-hover; 34 | opacity: $icon-bg-opacity-hover; 35 | } 36 | 37 | &#{$slick-prefix}-disabled { 38 | color: $icon-color-disabled; 39 | background: $icon-bg-color-disabled; 40 | opacity: $icon-bg-opacity-disabled; 41 | } 42 | } 43 | 44 | @mixin slick-arrow-position-horizontal($top, $right, $bottom, $left) { 45 | top: $top; 46 | bottom: $bottom; 47 | 48 | &#{$slick-prefix}-prev { 49 | left: $left; 50 | } 51 | 52 | &#{$slick-prefix}-next { 53 | right: $right; 54 | } 55 | } 56 | 57 | @mixin slick-arrow-position-vertical($top, $right, $bottom, $left) { 58 | right: $right; 59 | left: $left; 60 | 61 | &#{$slick-prefix}-prev { 62 | top: $top; 63 | } 64 | 65 | &#{$slick-prefix}-next { 66 | bottom: $bottom; 67 | } 68 | } 69 | 70 | @mixin slick-dots-position( 71 | $dots-margin, 72 | $dots-padding-tb, 73 | $dots-padding-lr, 74 | $dots-height, 75 | $dots-width, 76 | $dots-position-top, 77 | $dots-position-right, 78 | $dots-position-bottom, 79 | $dots-position-left 80 | ) { 81 | margin: $dots-margin; 82 | padding: $dots-padding-tb $dots-padding-lr; 83 | height: $dots-height; 84 | width: $dots-width; 85 | top: $dots-position-top; 86 | right: $dots-position-right; 87 | bottom: $dots-position-bottom; 88 | left: $dots-position-left; 89 | } 90 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-slider/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-step/lib/index.scss: -------------------------------------------------------------------------------- 1 | @import '../../next-core/lib/next.scss'; 2 | @import '../../next-icon/lib/index.scss'; 3 | @import '../../next-progress/lib/index.scss'; 4 | 5 | @import "./scss/variable.scss"; 6 | @import "./scss/normalize.scss"; 7 | @import "./scss/mixin.scss"; 8 | 9 | @import "./scss/basic.scss"; 10 | @import "./scss/arrow.scss"; 11 | @import "./scss/circle.scss"; 12 | @import "./scss/dot.scss"; 13 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-step/lib/scss/basic.scss: -------------------------------------------------------------------------------- 1 | #{$step-prefix} { 2 | width: 100%; 3 | overflow: hidden; 4 | position: relative; 5 | border: none; 6 | 7 | &-item { 8 | display: inline-block; 9 | position: relative; 10 | text-align: center; 11 | vertical-align: top; 12 | } 13 | } 14 | 15 | #{$step-prefix}-horizontal { 16 | display: flex; 17 | } 18 | 19 | #{$step-prefix}-item { 20 | flex: 1; 21 | } 22 | 23 | #{$step-prefix}-vertical { 24 | #{$step-prefix}-item { 25 | display: block; 26 | text-align: left; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-step/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @mixin step-item-size( 5 | $height: auto, 6 | $width: auto, 7 | $margin-left: 0, 8 | $margin-right: 0 9 | ) { 10 | height: $height; 11 | line-height: $height; 12 | margin-left: $margin-left; 13 | margin-right: $margin-right; 14 | } 15 | 16 | 17 | 18 | 19 | @mixin step-item-state( 20 | $shape: 'circle', 21 | $background: $color-n1-1, 22 | $title-color: $color-n1-9, 23 | $icon-color: $color-n1-9, 24 | $tail-color: $color-n1-9, 25 | $icon-border-color: $color-n1-9, 26 | $content-color: $color-n1-9 27 | ) { 28 | #{$step-prefix}-item-tail { 29 | i { 30 | background: $tail-color; 31 | } 32 | } 33 | 34 | #{$step-prefix}-item-container { 35 | 36 | #{$step-prefix}-item-title { 37 | color: $title-color; 38 | } 39 | 40 | #{$step-prefix}-item-node { 41 | color: $icon-color; 42 | } 43 | 44 | #{$step-prefix}-item-node-circle { 45 | background: $background; 46 | border-color: $icon-border-color; 47 | } 48 | 49 | #{$step-prefix}-item-node-dot { 50 | background: $background; 51 | border-color: $icon-border-color; 52 | } 53 | } 54 | 55 | @if ($shape == 'arrow') { 56 | background: $background; 57 | 58 | &:before { 59 | border: $step-arrow-item-border-width solid $background; 60 | border-left-color: transparent; 61 | } 62 | 63 | &:after { 64 | border-left-color: $background; 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-step/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$step-prefix} { 2 | @include global-font; 3 | 4 | *, 5 | *:before, 6 | *:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | &, 11 | &:before, 12 | &:after { 13 | box-sizing: border-box; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-switch/lib/scss/_function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-switch/lib/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | @mixin bounding( 6 | $width, 7 | $trigger-size, 8 | $border-width-container, 9 | $border-width-trigger, 10 | $container-radius, 11 | $trigger-radius 12 | ){ 13 | position: relative; 14 | display: inline-block; 15 | border: $border-width-container solid transparent; 16 | width: $width; 17 | height: $trigger-size + $border-width-container * 2; 18 | border-radius: $container-radius; 19 | 20 | > .#{$css-prefix}switch-trigger { 21 | border: $border-width-trigger solid transparent; 22 | position: absolute; 23 | left: $width - $border-width-container * 2 - $trigger-size; 24 | width: $trigger-size; 25 | height: $trigger-size; 26 | border-radius: $trigger-radius; 27 | } 28 | > .#{$css-prefix}switch-children{ 29 | font-size: 12px; 30 | position: absolute; 31 | width: $trigger-size; 32 | height: $trigger-size; 33 | line-height:$trigger-size; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-switch/lib/scss/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-switch/lib/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | $switch-size-m-width: $s12 !default; 20 | 21 | 22 | 23 | $switch-size-m-trigger: $s6 !default; 24 | 25 | 26 | $switch-size-m-radius-trigger: $corner-radius-r5 !default; 27 | 28 | 29 | $switch-size-m-radius-container: $corner-radius-r5 !default; 30 | 31 | 32 | 33 | 34 | $switch-size-s-width: $s9 !default; 35 | 36 | 37 | 38 | $switch-size-s-trigger: $s5 !default; 39 | 40 | 41 | $switch-size-s-radius-trigger: $corner-radius-r5 !default; 42 | 43 | 44 | 45 | $switch-size-s-radius-container: $corner-radius-r5 !default; 46 | 47 | 48 | 49 | $switch-border-width-container: $line-1-width !default; 50 | 51 | 52 | $switch-text-on-left: $s2 !default; 53 | 54 | 55 | $switch-text-off-right: $s0 !default; 56 | 57 | 58 | 59 | $switch-border-width-trigger: $line-1-width !default; 60 | 61 | 62 | 63 | 64 | 65 | $switch-normal-on-bg-color: $color-f3-1 !default; 66 | 67 | 68 | 69 | 70 | $switch-hover-on-bg-color: $color-f3-3 !default; 71 | 72 | 73 | 74 | 75 | $switch-disabled-on-bg-color: $color-n1-7 !default; 76 | 77 | 78 | 79 | 80 | 81 | 82 | $switch-normal-on-trigger-bg-color: $color-n1-1 !default; 83 | 84 | 85 | 86 | 87 | $switch-hover-on-trigger-bg-color: $color-n1-1 !default; 88 | 89 | 90 | 91 | 92 | 93 | $switch-disabled-on-trigger-bg-color: $color-n1-5 !default; 94 | 95 | 96 | 97 | 98 | $switch-normal-on-color-font: $color-n1-1 !default; 99 | 100 | 101 | 102 | 103 | 104 | $switch-disabled-on-color-font: $color-n1-6 !default; 105 | 106 | 107 | 108 | 109 | 110 | $switch-disabled-on-border-color: $color-n1-6 !default; 111 | 112 | 113 | 114 | 115 | $switch-handle-on-border-color: $color-transparent !default; 116 | 117 | 118 | 119 | 120 | 121 | 122 | $switch-on-shadow: $shadow-sd1 !default; 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | $switch-normal-off-bg-color: $color-n1-1 !default; 131 | 132 | 133 | 134 | 135 | $switch-hover-off-bg-color: $color-n1-2 !default; 136 | 137 | 138 | 139 | 140 | $switch-disabled-off-bg-color: $color-n1-7 !default; 141 | 142 | 143 | 144 | 145 | 146 | $switch-normal-off-trigger-bg-color: $color-n1-1 !default; 147 | 148 | 149 | 150 | 151 | $switch-hover-off-trigger-bg-color: $color-n1-1 !default; 152 | 153 | 154 | 155 | 156 | $switch-disabled-off-trigger-bg-color: $color-n1-5 !default; 157 | 158 | 159 | 160 | $switch-handle-disabled-border-color: $color-transparent !default; 161 | 162 | 163 | 164 | $switch-normal-off-color-font: $color-n2-1 !default; 165 | 166 | 167 | 168 | 169 | 170 | $switch-disabled-off-color-font: $color-n1-6 !default; 171 | 172 | 173 | 174 | $switch-handle-off-border-color: $color-transparent !default; 175 | 176 | 177 | 178 | 179 | $switch-normal-off-border-color: $color-n1-6 !default; 180 | 181 | 182 | 183 | 184 | $switch-hover-off-border-color: $color-n1-7 !default; 185 | 186 | 187 | 188 | $switch-off-shadow: $shadow-sd1 !default; 189 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tab/lib/scss/animation.scss: -------------------------------------------------------------------------------- 1 | @keyframes MoveDownIn { 2 | 0% { 3 | transform-origin: 0 0; 4 | transform: translateY(100%); 5 | opacity: 0; 6 | } 7 | 100% { 8 | transform-origin: 0 0; 9 | transform: translateY(0%); 10 | opacity: 1; 11 | } 12 | } 13 | 14 | @keyframes MoveDownOut { 15 | 0% { 16 | transform-origin: 0 0; 17 | transform: translateY(0%); 18 | opacity: 1; 19 | } 20 | 100% { 21 | transform-origin: 0 0; 22 | transform: translateY(100%); 23 | opacity: 0; 24 | } 25 | } 26 | 27 | @keyframes MoveLeftIn { 28 | 0% { 29 | transform-origin: 0 0; 30 | transform: translateX(-100%); 31 | opacity: 0; 32 | } 33 | 100% { 34 | transform-origin: 0 0; 35 | transform: translateX(0%); 36 | opacity: 1; 37 | } 38 | } 39 | 40 | @keyframes MoveLeftOut { 41 | 0% { 42 | transform-origin: 0 0; 43 | transform: translateX(0%); 44 | opacity: 1; 45 | } 46 | 100% { 47 | transform-origin: 0 0; 48 | transform: translateX(-100%); 49 | opacity: 0; 50 | } 51 | } 52 | 53 | @keyframes MoveRightIn { 54 | 0% { 55 | opacity: 0; 56 | transform-origin: 0 0; 57 | transform: translateX(100%); 58 | } 59 | 100% { 60 | opacity: 1; 61 | transform-origin: 0 0; 62 | transform: translateX(0%); 63 | } 64 | } 65 | 66 | @keyframes MoveRightOut { 67 | 0% { 68 | transform-origin: 0 0; 69 | transform: translateX(0%); 70 | opacity: 1; 71 | } 72 | 100% { 73 | transform-origin: 0 0; 74 | transform: translateX(100%); 75 | opacity: 0; 76 | } 77 | } 78 | 79 | @keyframes MoveUpIn { 80 | 0% { 81 | transform-origin: 0 0; 82 | transform: translateY(-100%); 83 | opacity: 0; 84 | } 85 | 100% { 86 | transform-origin: 0 0; 87 | transform: translateY(0%); 88 | opacity: 1; 89 | } 90 | } 91 | 92 | @keyframes MoveUpOut { 93 | 0% { 94 | transform-origin: 0 0; 95 | transform: translateY(0%); 96 | opacity: 1; 97 | } 98 | 100% { 99 | transform-origin: 0 0; 100 | transform: translateY(-100%); 101 | opacity: 0; 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tab/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | %motion-common { 10 | animation-duration: .4s; 11 | animation-fill-mode: both; 12 | } 13 | 14 | %motion-common-leave { 15 | animation-duration: .4s; 16 | animation-fill-mode: both; 17 | } 18 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-table/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | $table-prefix: '.#{$css-prefix}table' !default; 16 | 17 | 18 | 19 | $table-normal-border-width: $line-1-width !default; 20 | 21 | 22 | $table-normal-border-style: $line-solid !default; 23 | 24 | 25 | $table-normal-border-color: $color-n1-6 !default; 26 | 27 | 28 | 29 | $table-th-bg: $color-n1-4 !default; 30 | 31 | 32 | $table-th-color: $color-n2-4 !default; 33 | 34 | 35 | $table-th-font-size: $font-size-base-body1 !default; 36 | 37 | 38 | $table-body-font-size: $font-size-base-body1 !default; 39 | 40 | 41 | $table-cell-padding-left: $s4 !default; 42 | 43 | 44 | $table-cell-padding-top: $s3 !default; 45 | 46 | 47 | 48 | $table-empty-padding: $s8 !default; 49 | 50 | 51 | $table-empty-color: $color-n1-8 !default; 52 | 53 | 54 | 55 | $table-td-gray: $color-n1-2 !default; 56 | 57 | 58 | $table-td-normal: $color-n1-1 !default; 59 | 60 | 61 | 62 | $table-group-split: $s2 !default; 63 | 64 | 65 | $table-group-header-bg: $color-n1-4 !default; 66 | 67 | 68 | 69 | $table-sort-color: $color-n2-4 !default; 70 | 71 | 72 | $table-sort-color-current: $color-b1-6 !default; 73 | 74 | 75 | 76 | $table-expanded-ctrl-disabled-color: $color-n2-2 !default; 77 | 78 | 79 | 80 | $table-sort-icon-size: $icon-xs !default; 81 | 82 | 83 | 84 | $table-filter-icon-size: $icon-xs !default; 85 | 86 | 87 | 88 | $table-expanded-icon-size: $icon-xs !default; 89 | 90 | 91 | 92 | $table-tree-expanded-icon-size: $icon-xs !default; 93 | 94 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tag/lib/scss/function.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tag/lib/scss/motion.scss: -------------------------------------------------------------------------------- 1 | @mixin animation($animate...) { 2 | $max: length($animate); 3 | $animations: ''; 4 | @for $i from 1 through $max { 5 | $animations: #{$animations + nth($animate, $i)}; 6 | @if $i < $max { 7 | $animations: #{$animations + ", "}; 8 | } 9 | } 10 | -webkit-animation: $animations; 11 | -moz-animation: $animations; 12 | -o-animation: $animations; 13 | animation: $animations; 14 | } 15 | 16 | @mixin keyframes($animationName) { 17 | @-webkit-keyframes #{$animationName} { 18 | @content; 19 | } 20 | @-moz-keyframes #{$animationName} { 21 | @content; 22 | } 23 | @-o-keyframes #{$animationName} { 24 | @content; 25 | } 26 | @keyframes #{$animationName} { 27 | @content; 28 | } 29 | } 30 | 31 | @include keyframes(artZoomIn) { 32 | 0% { 33 | opacity: 0; 34 | transform: scale(0); 35 | } 36 | 100% { 37 | transform: scale(1); 38 | } 39 | } 40 | 41 | @include keyframes(artZoomOut) { 42 | 0% { 43 | transform: scale(1); 44 | } 45 | 100% { 46 | opacity: 0; 47 | transform: scale(0); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tag/lib/scss/placeholder.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | 5 | 6 | %ellipsis { 7 | overflow: hidden; 8 | text-overflow: ellipsis; 9 | } 10 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-time-picker/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin time-picker-size ( 2 | $height, 3 | $font-size, 4 | $icon-size 5 | ) { 6 | #{$time-picker-input-prefix} { 7 | width: $s40; 8 | display: inline-block; 9 | 10 | input { 11 | @include inputSize($height, 0, $s2, $font-size); 12 | } 13 | } 14 | 15 | #{$time-picker-icon-prefix} { 16 | height: $height; 17 | line-height: $height; 18 | 19 | @include icon-handler($icon-size); 20 | } 21 | } -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-time-picker/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$time-picker-prefix}, 2 | #{$time-picker-prefix}-panel { 3 | @include global-font; 4 | 5 | *, 6 | *:before, 7 | *:after { 8 | box-sizing: border-box; 9 | } 10 | 11 | &, 12 | &:before, 13 | &:after { 14 | box-sizing: border-box; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-time-picker/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | $time-picker-prefix: '.' + $css-prefix + 'time-picker'; 11 | 12 | $time-picker-icon-prefix: '.' + $css-prefix + 'icon'; 13 | 14 | $time-picker-input-prefix: '.' + $css-prefix + 'input'; 15 | 16 | 17 | 18 | 19 | 20 | 21 | $time-picker-icon-right: $s3 !default; 22 | 23 | 24 | 25 | $time-picker-input-s-height: $s5 !default; 26 | 27 | 28 | 29 | $time-picker-input-s-font: $font-size-base-caption !default; 30 | 31 | 32 | 33 | $time-picker-icon-s-size: $icon-xs !default; 34 | 35 | 36 | 37 | $time-picker-input-m-height: $s7 !default; 38 | 39 | 40 | 41 | $time-picker-input-m-font: $font-size-base-body1 !default; 42 | 43 | 44 | 45 | $time-picker-icon-m-size: $icon-s !default; 46 | 47 | 48 | 49 | $time-picker-input-l-height: $s10 !default; 50 | 51 | 52 | 53 | $time-picker-input-l-font: $font-size-base-subhead !default; 54 | 55 | 56 | 57 | $time-picker-icon-l-size: $icon-m !default; 58 | 59 | 60 | 61 | $time-picker-icon-color: $color-n2-2 !default; 62 | 63 | 64 | 65 | 66 | 67 | 68 | $time-picker-panel-border-color: $color-n1-7 !default; 69 | 70 | 71 | 72 | $time-picker-panel-background: $color-n1-1 !default; 73 | 74 | 75 | 76 | $time-picker-panel-clear-btn-color: $color-n2-1 !default; 77 | 78 | 79 | 80 | $time-picker-panel-clear-btn-hover-color: $color-n2-3 !default; 81 | 82 | 83 | 84 | $time-picker-cell-font-size: $font-size-base-body1 !default; 85 | 86 | 87 | 88 | $time-picker-cell-width: $s21 !default; 89 | 90 | 91 | 92 | $time-picker-cell-height: $s7 !default; 93 | 94 | 95 | 96 | $time-picker-cell-color: $color-n2-3 !default; 97 | 98 | 99 | 100 | $time-picker-cell-bg: $color-n1-1 !default; 101 | 102 | 103 | 104 | $time-picker-cell-hover-color: $color-b1-6 !default; 105 | 106 | 107 | 108 | $time-picker-cell-hover-bg: $color-b1-1 !default; 109 | 110 | 111 | 112 | $time-picker-cell-selected-color: $color-n2-3 !default; 113 | 114 | 115 | 116 | $time-picker-cell-selected-bg: $color-n1-3 !default; 117 | 118 | 119 | 120 | $time-picker-cell-disabled-color: $color-n2-1 !default; 121 | 122 | 123 | 124 | $time-picker-cell-disabled-bg: $color-n1-1 !default; 125 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-timeline/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin node-state( 2 | $background, 3 | $color 4 | ) { 5 | #{$timeline-prefix}-item-dot { 6 | background: $background; 7 | } 8 | 9 | #{$timeline-prefix}-item-icon { 10 | background: $background; 11 | color: $color; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-timeline/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$timeline-prefix} { 2 | @include global-font; 3 | 4 | *, 5 | *:before, 6 | *:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | &, 11 | &:before, 12 | &:after { 13 | box-sizing: border-box; 14 | } 15 | 16 | ul { 17 | margin: 0; 18 | padding: 0; 19 | list-style: none; 20 | } 21 | 22 | p { 23 | margin: 0; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-timeline/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | $timeline-prefix: '.' + $css-prefix + 'timeline'; 11 | 12 | $timeline-icon-prefix: '.' + $css-prefix + 'icon'; 13 | 14 | 15 | 16 | $timeline-item-tail-size: $line-1-width !default; 17 | 18 | 19 | 20 | $timeline-item-node-size: $s4 !default; 21 | 22 | 23 | 24 | $timeline-item-node-padding: $s1 !default; 25 | 26 | 27 | 28 | $timeline-item-dot-size: $s2 !default; 29 | 30 | 31 | 32 | $timeline-item-icon-size: $icon-xs !default; 33 | 34 | 35 | 36 | $timeline-item-content-margin-left: $s3 !default; 37 | 38 | 39 | 40 | $timeline-item-title-font-size: $font-size-base-caption !default; 41 | 42 | 43 | 44 | $timeline-item-title-margin-top: $s1 !default; 45 | 46 | 47 | 48 | $timeline-item-body-font-size: $font-size-base-caption !default; 49 | 50 | 51 | 52 | $timeline-item-body-margin-top: $s2 !default; 53 | 54 | 55 | 56 | $timeline-item-time-font-size: $font-size-base-caption !default; 57 | 58 | 59 | 60 | $timeline-item-time-margin-top: $s2 !default; 61 | 62 | 63 | 64 | $timeline-item-folder-font-size: $font-size-base-caption !default; 65 | 66 | 67 | 68 | $timeline-item-folder-margin-top: $s1 !default; 69 | 70 | 71 | 72 | $timeline-item-folder-margin-bottom: $s1 !default; 73 | 74 | 75 | 76 | 77 | 78 | $timeline-item-title-color: $color-n2-3 !default; 79 | 80 | 81 | 82 | $timeline-item-body-color: $color-n2-2 !default; 83 | 84 | 85 | 86 | $timeline-item-time-color: $color-n2-2 !default; 87 | 88 | 89 | 90 | $timeline-item-tail-color: $color-n1-5 !default; 91 | 92 | 93 | 94 | $timeline-item-folder-color: $color-b2-6 !default; 95 | 96 | 97 | 98 | $timeline-item-folder-hover-color: $color-b1-6 !default; 99 | 100 | 101 | 102 | $timeline-item-done-background: $color-n1-7 !default; 103 | 104 | 105 | 106 | $timeline-item-done-color: $color-n1-1 !default; 107 | 108 | 109 | 110 | $timeline-item-process-background: $color-b2-6 !default; 111 | 112 | 113 | 114 | $timeline-item-process-color: $color-n1-1 !default; 115 | 116 | 117 | 118 | $timeline-item-success-background: $color-f3-1 !default; 119 | 120 | 121 | 122 | $timeline-item-success-color: $color-n1-1 !default; 123 | 124 | 125 | 126 | $timeline-item-error-background: $color-f2-1 !default; 127 | 128 | 129 | 130 | $timeline-item-error-color: $color-n1-1 !default; 131 | 132 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tree/lib/scss/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin switcher-icon() { 2 | position: relative; 3 | 4 | &:after { 5 | content: $icon-content-arrow-down; 6 | font-family: $icon-font-family; 7 | font-size: $icon-xs; 8 | position: absolute; 9 | color: #666; 10 | transition: transform .3s ease; 11 | transform: scale(0.5); 12 | } 13 | } 14 | 15 | @mixin tree-node-state ( 16 | $handle-color, 17 | $handle-background 18 | ) { 19 | color: $handle-color; 20 | background-color: $handle-background 21 | } 22 | 23 | @-webkit-keyframes loadingCircle { 24 | 0% { 25 | transform-origin: 50% 50%; 26 | transform: rotate(0deg); 27 | } 28 | 29 | 100% { 30 | transform-origin: 50% 50%; 31 | transform: rotate(360deg); 32 | } 33 | } 34 | 35 | @mixin tree-icon-handler($size, $transform: false) { 36 | @if ($transform) { 37 | transform: $transform; 38 | } 39 | 40 | &:before { 41 | width: $size; 42 | font-size: $size; 43 | line-height: inherit; 44 | } 45 | 46 | 47 | @if ($size < 12) { 48 | @media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) { 49 | @if ($transform) { 50 | transform: scale($size / $icon-s) translateX($size - $icon-s) $transform; 51 | } @else { 52 | transform: scale($size / $icon-s) translateX($size - $icon-s); 53 | } 54 | 55 | 56 | &:before { 57 | width: $icon-s; 58 | font-size: $icon-s; 59 | } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tree/lib/scss/normalize.scss: -------------------------------------------------------------------------------- 1 | #{$tree-prefix} { 2 | @include global-font; 3 | 4 | &, 5 | &:before, 6 | &:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | *, 11 | *:before, 12 | *:after { 13 | box-sizing: border-box; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /perf/lib/_components/@alife/next-tree/lib/scss/variable.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | $tree-prefix: '.' + $css-prefix + 'tree'; 11 | 12 | 13 | 14 | 15 | 16 | 17 | $tree-node-margin: $s2 !default; 18 | 19 | 20 | 21 | $tree-node-title-margin: $s1 !default; 22 | 23 | 24 | 25 | $tree-node-title-padding: $s1 !default; 26 | 27 | 28 | 29 | $tree-node-title-font-size: $font-size-base-body1 !default; 30 | 31 | 32 | 33 | $tree-node-title-border-radius: $corner-radius-r1 !default; 34 | 35 | 36 | 37 | $tree-switch-arrow-size: $icon-xs !default; 38 | 39 | 40 | 41 | $tree-switch-size: $s4 !default; 42 | 43 | 44 | 45 | $tree-switch-icon-size: $icon-xxs !default; 46 | 47 | 48 | 49 | $tree-switch-border-width: $line-1-width !default; 50 | 51 | 52 | 53 | $tree-switch-margint-right: $s2 !default; 54 | 55 | 56 | 57 | $tree-line-width: $line-1-width !default; 58 | 59 | $tree-child-indent: $s6 !default; 60 | $tree-child-indent-left: ($tree-switch-size - 1) / 2; 61 | $tree-child-indent-right: $tree-child-indent - $tree-line-width - $tree-child-indent-left; 62 | $tree-node-title-height: $s5 !default; 63 | 64 | 65 | 66 | 67 | 68 | 69 | $tree-node-normal-color: $color-n2-3 !default; 70 | 71 | 72 | 73 | $tree-node-normal-background: $color-transparent !default; 74 | 75 | 76 | 77 | $tree-line-color: $color-n1-5 !default; 78 | 79 | 80 | 81 | $tree-line-style: $line-solid !default; 82 | 83 | 84 | 85 | $tree-switch-arrow-color: $color-n2-2 !default; 86 | 87 | 88 | 89 | $tree-switch-border-color: $color-n1-7 !default; 90 | 91 | 92 | 93 | $tree-switch-bg-color: $color-n1-1 !default; 94 | 95 | 96 | 97 | $tree-switch-icon-color: $color-n2-3 !default; 98 | 99 | 100 | 101 | $tree-switch-corner: $corner-radius-r1 !default; 102 | 103 | 104 | 105 | 106 | 107 | 108 | $tree-node-hover-color: $color-n2-3 !default; 109 | 110 | 111 | 112 | $tree-node-hover-background-rgb: $color-b1-6 !default; 113 | 114 | 115 | 116 | 117 | $tree-node-hover-background-opacity: 0.9 !default; 118 | 119 | $tree-node-hover-background: transparentize($tree-node-hover-background-rgb, $tree-node-hover-background-opacity); 120 | 121 | 122 | 123 | $tree-switch-hover-arrow-color: $color-n2-4 !default; 124 | 125 | 126 | 127 | $tree-switch-hover-border-color: $color-n1-8 !default; 128 | 129 | 130 | 131 | $tree-switch-hover-bg-color: $color-n1-2 !default; 132 | 133 | 134 | 135 | $tree-switch-hover-icon-color: $color-n2-4 !default; 136 | 137 | 138 | 139 | 140 | 141 | 142 | $tree-node-selected-color: $color-n2-3 !default; 143 | 144 | 145 | 146 | $tree-node-selected-background-rgb: $color-b1-6 !default; 147 | 148 | 149 | 150 | 151 | $tree-node-selected-background-opacity: 0.8 !default; 152 | 153 | $tree-node-selected-background: transparentize($tree-node-selected-background-rgb, $tree-node-selected-background-opacity); 154 | 155 | 156 | 157 | 158 | 159 | 160 | $tree-node-disabled-color: $color-n2-2 !default; 161 | 162 | 163 | 164 | $tree-node-disabled-background: $color-transparent !default; 165 | 166 | $tree-line-style: $tree-line-width $tree-line-style $tree-line-color; 167 | -------------------------------------------------------------------------------- /perf/lib/accordion/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-accordion/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/animate/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-animate/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/badge/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-badge/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/balloon/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-balloon/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/breadcrumb/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-breadcrumb/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/button/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-button/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/calendar/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-calendar/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/card/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-card/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/checkbox/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-checkbox/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/core/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-core/lib/next.scss"; -------------------------------------------------------------------------------- /perf/lib/date-picker/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-date-picker/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/dialog/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-dialog/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/dropdown/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-dropdown/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/feedback/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-feedback/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/form/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-form/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/grid/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-grid/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/icon/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-icon/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/input/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-input/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/loading/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-loading/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/menu/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-menu/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/nav/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-nav/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/navigation/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-navigation/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/notice/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-notice/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/number-picker/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-number-picker/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/overlay/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-overlay/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/pagination/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-pagination/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/progress/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-progress/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/radio/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-radio/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/range/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-range/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/rating/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-rating/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/search/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-search/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/select/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-select/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/slider/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-slider/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/step/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-step/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/switch/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-switch/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/tab/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-tab/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/table/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-table/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/tag/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-tag/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/time-picker/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-time-picker/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/timeline/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-timeline/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/tree/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-tree/lib/index.scss"; -------------------------------------------------------------------------------- /perf/lib/upload/index.scss: -------------------------------------------------------------------------------- 1 | @import "../_components/@alife/next-upload/lib/index.scss"; -------------------------------------------------------------------------------- /perf/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const loader = require.resolve('..') 5 | 6 | module.exports = { 7 | context: path.join(__dirname), 8 | entry: { 9 | index: './index.scss' 10 | }, 11 | output: { 12 | path: path.join(__dirname), 13 | filename: 'dist/[name].js' 14 | }, 15 | module: { 16 | rules: [ 17 | { 18 | test: /\.(scss|sass)$/, 19 | use: [ 20 | 'fast-css-loader', 21 | process.env.SASS_LOADER === 'sass-loader' ? 'sass-loader' : loader 22 | ] 23 | }, 24 | { 25 | test: /\.png$/, 26 | loader: 'file-loader?name=[path][name].[ext]' 27 | } 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /test/fixtures/bom-issue/expect.css: -------------------------------------------------------------------------------- 1 | header { 2 | color: #AAA; 3 | } 4 | 5 | .foobar { 6 | color: #FFF; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /test/fixtures/bom-issue/index.scss: -------------------------------------------------------------------------------- 1 | 2 | header { 3 | color: #AAA; 4 | } 5 | 6 | @import "with-bom.scss"; 7 | -------------------------------------------------------------------------------- /test/fixtures/bom-issue/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/bom-issue'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | loader 25 | ] 26 | }) 27 | }, 28 | { 29 | test: /\.png$/, 30 | loader: 'file-loader?name=[path][name].[ext]' 31 | } 32 | ] 33 | }, 34 | plugins: [ 35 | new ExtractTextPlugin('[name].css') 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /test/fixtures/bom-issue/with-bom.scss: -------------------------------------------------------------------------------- 1 | // there's a BOM flag in header 2 | .foobar { 3 | color: #FFF; 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/comment-import/expect.css: -------------------------------------------------------------------------------- 1 | /* @import"header.scss"; */ 2 | .header { 3 | color: #000; 4 | } 5 | 6 | .foobar { 7 | color: #FFF; 8 | background-image: url(_/normal/actual/img/logo.png); 9 | } 10 | 11 | /* @import "footer.scss"; */ 12 | -------------------------------------------------------------------------------- /test/fixtures/comment-import/header.scss: -------------------------------------------------------------------------------- 1 | .header { 2 | color: #000; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/comment-import/index.scss: -------------------------------------------------------------------------------- 1 | /* @import"header.scss"; */ 2 | @import "header.scss"; 3 | .foobar { 4 | color: #FFF; 5 | background-image: url("../normal/../normal/../normal/../normal/../normal/../normal/../normal/../normal/../normal/actual/img/logo.png"); 6 | } 7 | /* @import "footer.scss"; */ 8 | -------------------------------------------------------------------------------- /test/fixtures/comment-import/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/comment-import'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | loader 25 | ] 26 | }) 27 | }, 28 | { 29 | test: /\.png$/, 30 | loader: 'file-loader?name=[path][name].[ext]' 31 | } 32 | ] 33 | }, 34 | plugins: [ 35 | new ExtractTextPlugin('[name].css') 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /test/fixtures/data-import-issue/expect.css: -------------------------------------------------------------------------------- 1 | .theme { 2 | color: #FFF; 3 | } 4 | 5 | .foobar { 6 | color: #FFF; 7 | background-image: url(_/normal/actual/img/logo.png); 8 | } 9 | 10 | header { 11 | color: #AAA; 12 | } 13 | -------------------------------------------------------------------------------- /test/fixtures/data-import-issue/foobar.scss: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url("../normal/actual/img/logo.png"); 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/data-import-issue/index.scss: -------------------------------------------------------------------------------- 1 | @import "foobar.scss"; 2 | 3 | header { 4 | color: #AAA; 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/data-import-issue/src/theme.scss: -------------------------------------------------------------------------------- 1 | .theme { 2 | color: #FFF; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/data-import-issue/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/data-import-issue'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | { 25 | loader, 26 | options: { 27 | // should only append to entry file 28 | data: '@import "./src/theme";' 29 | } 30 | } 31 | ] 32 | }) 33 | }, 34 | { 35 | test: /\.png$/, 36 | loader: 'file-loader?name=[path][name].[ext]' 37 | } 38 | ] 39 | }, 40 | plugins: [ 41 | new ExtractTextPlugin('[name].css') 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /test/fixtures/double-extensions/expect.css: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url(_/normal/actual/img/logo.png); 4 | } 5 | 6 | header { 7 | color: #AAA; 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/double-extensions/foobar.default.scss: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url("../normal/actual/img/logo.png"); 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/double-extensions/index.scss: -------------------------------------------------------------------------------- 1 | @import "foobar.default"; 2 | 3 | header { 4 | color: #AAA; 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/double-extensions/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/double-extensions'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | loader 25 | ] 26 | }) 27 | }, 28 | { 29 | test: /\.png$/, 30 | loader: 'file-loader?name=[path][name].[ext]' 31 | } 32 | ] 33 | }, 34 | plugins: [ 35 | new ExtractTextPlugin('[name].css') 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/_sass2.scss: -------------------------------------------------------------------------------- 1 | section { 2 | color: #222; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/img/index.scss: -------------------------------------------------------------------------------- 1 | footer { 2 | background-image: url("./logo.png"); 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/test/fixtures/normal-no-url-resolve/actual/img/logo.png -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/index.scss: -------------------------------------------------------------------------------- 1 | @import "sass1.scss"; 2 | @import "img/index.scss"; 3 | @import "./sass2.scss"; 4 | @import "~test-module/test.scss"; 5 | // @import "~not-exists-module/index.scss"; // this should be skiped 6 | /* 7 | @import "~not-exists-module2/index.scss"; // this should be skiped 8 | */ 9 | 10 | // include test 11 | @import "include-test"; 12 | @import "foobaz/index"; 13 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/index2.sass: -------------------------------------------------------------------------------- 1 | @import "sass1.sass" 2 | 3 | body 4 | background: #FFF 5 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/sass1.sass: -------------------------------------------------------------------------------- 1 | header 2 | color: #111 3 | background-image: url("img/logo.png") 4 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/actual/sass1.scss: -------------------------------------------------------------------------------- 1 | header { 2 | color: #111; 3 | background-image: url("../test.png"); 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/expect.css: -------------------------------------------------------------------------------- 1 | header { 2 | color: #111; 3 | background-image: url("../test.png"); 4 | } 5 | 6 | footer { 7 | background-image: url("./logo.png"); 8 | } 9 | 10 | section { 11 | color: #222; 12 | } 13 | 14 | body { 15 | color: #000; 16 | } 17 | 18 | /* 19 | @import "~not-exists-module2/index.scss"; // this should be skiped 20 | */ 21 | .foobar { 22 | color: #FFF; 23 | } 24 | 25 | .include-test { 26 | color: #FFF; 27 | } 28 | 29 | .web_foobaz { 30 | content: "web_foobaz"; 31 | } 32 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/expect2.css: -------------------------------------------------------------------------------- 1 | header { 2 | color: #111; 3 | background-image: url("img/logo.png"); 4 | } 5 | 6 | body { 7 | background: #FFF; 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/extra/foobar.scss: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | } -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/extra/include-test.scss: -------------------------------------------------------------------------------- 1 | 2 | @import "foobar"; 3 | 4 | .include-test { 5 | color: #FFF; 6 | } -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/node_modules/test-module/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-module", 3 | "version": "1.0.0", 4 | "description": "test module for sass" 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/node_modules/test-module/test.scss: -------------------------------------------------------------------------------- 1 | // test body color 2 | body { 3 | color: #000; 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/sass_modules/foobaz/foobaz.scss: -------------------------------------------------------------------------------- 1 | .web_foobaz { 2 | content: "web_foobaz"; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/sass_modules/foobaz/index.scss: -------------------------------------------------------------------------------- 1 | @import "foobaz.scss"; 2 | -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/test/fixtures/normal-no-url-resolve/test.png -------------------------------------------------------------------------------- /test/fixtures/normal-no-url-resolve/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './actual/index.scss', 12 | index2: './actual/index2.sass' 13 | }, 14 | output: { 15 | path: path.join(__dirname, '../../runtime/normal-no-url-resolve'), 16 | filename: '[name].js' 17 | }, 18 | module: { 19 | rules: [ 20 | { 21 | test: /\.(scss|sass)$/, 22 | use: ExtractTextPlugin.extract({ 23 | use: [ 24 | { 25 | loader: cssLoader, 26 | options: { 27 | url: false 28 | } 29 | }, 30 | { 31 | loader: loader, 32 | options: { 33 | includePaths: [ path.join(__dirname, 'extra'), 'sass_modules'], 34 | resolveURLs: false 35 | } 36 | } 37 | ] 38 | }) 39 | } 40 | ] 41 | }, 42 | plugins: [ 43 | new ExtractTextPlugin('[name].css') 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /test/fixtures/normal/actual/_sass2.scss: -------------------------------------------------------------------------------- 1 | section { 2 | color: #222; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/normal/actual/img/index.scss: -------------------------------------------------------------------------------- 1 | footer { 2 | background-image: url("./logo.png"); 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/normal/actual/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/test/fixtures/normal/actual/img/logo.png -------------------------------------------------------------------------------- /test/fixtures/normal/actual/index.scss: -------------------------------------------------------------------------------- 1 | @import "sass1.scss"; 2 | @import "img/index.scss"; 3 | @import "./sass2.scss"; 4 | @import "~test-module/test.scss"; 5 | // @import "~not-exists-module/index.scss"; // this should be skiped 6 | /* 7 | @import "~not-exists-module2/index.scss"; // this should be skiped 8 | */ 9 | 10 | // include test 11 | @import "include-test"; 12 | @import "foobaz/index"; 13 | -------------------------------------------------------------------------------- /test/fixtures/normal/actual/index2.sass: -------------------------------------------------------------------------------- 1 | @import "sass1.sass" 2 | 3 | body 4 | background: #FFF 5 | -------------------------------------------------------------------------------- /test/fixtures/normal/actual/sass1.sass: -------------------------------------------------------------------------------- 1 | header 2 | color: #111 3 | background-image: url("img/logo.png") 4 | -------------------------------------------------------------------------------- /test/fixtures/normal/actual/sass1.scss: -------------------------------------------------------------------------------- 1 | header { 2 | color: #111; 3 | background-image: url("../test.png"); 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/normal/expect.css: -------------------------------------------------------------------------------- 1 | header { 2 | color: #111; 3 | background-image: url(test.png); 4 | } 5 | 6 | footer { 7 | background-image: url(actual/img/logo.png); 8 | } 9 | 10 | section { 11 | color: #222; 12 | } 13 | 14 | body { 15 | color: #000; 16 | } 17 | 18 | /* 19 | @import "~not-exists-module2/index.scss"; // this should be skiped 20 | */ 21 | .foobar { 22 | color: #FFF; 23 | } 24 | 25 | .include-test { 26 | color: #FFF; 27 | } 28 | 29 | .web_foobaz { 30 | content: "web_foobaz"; 31 | } 32 | -------------------------------------------------------------------------------- /test/fixtures/normal/expect2.css: -------------------------------------------------------------------------------- 1 | header { 2 | color: #111; 3 | background-image: url(actual/img/logo.png); 4 | } 5 | 6 | body { 7 | background: #FFF; 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/normal/extra/foobar.scss: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | } -------------------------------------------------------------------------------- /test/fixtures/normal/extra/include-test.scss: -------------------------------------------------------------------------------- 1 | 2 | @import "foobar"; 3 | 4 | .include-test { 5 | color: #FFF; 6 | } -------------------------------------------------------------------------------- /test/fixtures/normal/node_modules/test-module/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-module", 3 | "version": "1.0.0", 4 | "description": "test module for sass" 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/normal/node_modules/test-module/test.scss: -------------------------------------------------------------------------------- 1 | // test body color 2 | body { 3 | color: #000; 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/normal/sass_modules/foobaz/foobaz.scss: -------------------------------------------------------------------------------- 1 | .web_foobaz { 2 | content: "web_foobaz"; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/normal/sass_modules/foobaz/index.scss: -------------------------------------------------------------------------------- 1 | @import "foobaz.scss"; 2 | -------------------------------------------------------------------------------- /test/fixtures/normal/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibn2008/fast-sass-loader/8e6c7c28ad08f6b2ec3b9cb2f173562ce22e74fb/test/fixtures/normal/test.png -------------------------------------------------------------------------------- /test/fixtures/normal/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './actual/index.scss', 12 | index2: './actual/index2.sass' 13 | }, 14 | output: { 15 | path: path.join(__dirname, '../../runtime/normal'), 16 | filename: '[name].js' 17 | }, 18 | module: { 19 | rules: [ 20 | { 21 | test: /\.(scss|sass)$/, 22 | use: ExtractTextPlugin.extract({ 23 | use: [ 24 | cssLoader, 25 | { 26 | loader: loader, 27 | options: { 28 | includePaths: [ path.join(__dirname, 'extra'), 'sass_modules'] 29 | } 30 | } 31 | ] 32 | }) 33 | }, 34 | { 35 | test: /\.png$/, 36 | loader: 'file-loader?name=[path][name].[ext]' 37 | } 38 | ] 39 | }, 40 | plugins: [ 41 | new ExtractTextPlugin('[name].css') 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /test/fixtures/pass-output-style/expect.css: -------------------------------------------------------------------------------- 1 | .foobar{color:#fff;background-image:url(_/normal/actual/img/logo.png)}header{color:#aaa} 2 | -------------------------------------------------------------------------------- /test/fixtures/pass-output-style/foobar.scss: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * This is a long explanatory usage comment that should not be put into the output .css file 3 | *--------------------------------------------------------------------------------------------*/ 4 | .foobar { 5 | color: #FFF; 6 | background-image: url("../normal/actual/img/logo.png"); 7 | } 8 | -------------------------------------------------------------------------------- /test/fixtures/pass-output-style/index.scss: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * This is a long explanatory usage comment that should not be put into the output .css file 3 | *--------------------------------------------------------------------------------------------*/ 4 | @import "foobar.scss"; 5 | 6 | header { 7 | color: #AAA; 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/pass-output-style/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/pass-output-style'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | { 25 | loader: loader, 26 | options: { 27 | sassOptions: { 28 | outputStyle: 'compressed' 29 | } 30 | } 31 | } 32 | ] 33 | }), 34 | }, 35 | { 36 | test: /\.png$/, 37 | loader: 'file-loader?name=[path][name].[ext]' 38 | } 39 | ] 40 | }, 41 | plugins: [ 42 | new ExtractTextPlugin('[name].css') 43 | ] 44 | } 45 | -------------------------------------------------------------------------------- /test/fixtures/simple/expect.css: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url(_/normal/actual/img/logo.png); 4 | } 5 | 6 | header { 7 | color: #AAA; 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/simple/foobar.scss: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url("../normal/actual/img/logo.png"); 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/simple/index.scss: -------------------------------------------------------------------------------- 1 | @import "foobar.scss"; 2 | 3 | header { 4 | color: #AAA; 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/simple/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/simple'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | loader 25 | ] 26 | }) 27 | }, 28 | { 29 | test: /\.png$/, 30 | loader: 'file-loader?name=[path][name].[ext]' 31 | } 32 | ] 33 | }, 34 | plugins: [ 35 | new ExtractTextPlugin('[name].css') 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /test/fixtures/use-rule/expect.css: -------------------------------------------------------------------------------- 1 | header { 2 | background: #ccc; 3 | } 4 | 5 | header { 6 | width: 1px; 7 | } 8 | 9 | header { 10 | height: 1px; 11 | } -------------------------------------------------------------------------------- /test/fixtures/use-rule/index.scss: -------------------------------------------------------------------------------- 1 | @import "without-use.scss"; 2 | @import "with-use.scss"; 3 | @import "second-with-use.scss"; -------------------------------------------------------------------------------- /test/fixtures/use-rule/second-with-use.scss: -------------------------------------------------------------------------------- 1 | @use "sass:math"; 2 | 3 | header { 4 | height: math.div(6px, 6); 5 | } -------------------------------------------------------------------------------- /test/fixtures/use-rule/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/use-rule'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | loader 25 | ] 26 | }) 27 | }, 28 | { 29 | test: /\.png$/, 30 | loader: 'file-loader?name=[path][name].[ext]' 31 | } 32 | ] 33 | }, 34 | plugins: [ 35 | new ExtractTextPlugin('[name].css') 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /test/fixtures/use-rule/with-use.scss: -------------------------------------------------------------------------------- 1 | @use "sass:math"; 2 | 3 | header { 4 | width: math.div(5px, 5); 5 | } -------------------------------------------------------------------------------- /test/fixtures/use-rule/without-use.scss: -------------------------------------------------------------------------------- 1 | header { 2 | background: #ccc; 3 | } -------------------------------------------------------------------------------- /test/fixtures/withData/actual/index.scss: -------------------------------------------------------------------------------- 1 | p { 2 | color: $white; 3 | } -------------------------------------------------------------------------------- /test/fixtures/withData/expect.css: -------------------------------------------------------------------------------- 1 | p { 2 | color: #fff; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/withData/extra/_variables.scss: -------------------------------------------------------------------------------- 1 | $white: #fff; -------------------------------------------------------------------------------- /test/fixtures/withData/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './actual/index.scss', 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/withData'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | { 25 | loader: loader, 26 | options: { 27 | includePaths: [ path.join(__dirname, 'extra'), 'sass_modules'], 28 | data: '@import "_variables.scss";' 29 | } 30 | } 31 | ] 32 | }) 33 | } 34 | ] 35 | }, 36 | plugins: [ 37 | new ExtractTextPlugin('[name].css') 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /test/fixtures/withSass/expect.css: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url(_/normal/actual/img/logo.png); 4 | } 5 | 6 | header { 7 | color: #AAA; 8 | } 9 | -------------------------------------------------------------------------------- /test/fixtures/withSass/foobar.scss: -------------------------------------------------------------------------------- 1 | .foobar { 2 | color: #FFF; 3 | background-image: url("../normal/actual/img/logo.png"); 4 | } 5 | -------------------------------------------------------------------------------- /test/fixtures/withSass/index.scss: -------------------------------------------------------------------------------- 1 | @import "foobar.scss"; 2 | 3 | header { 4 | color: #AAA; 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/withSass/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './index.scss' 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/withSass'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | { 25 | loader: loader, 26 | options: { 27 | implementation: require('sass') 28 | } 29 | } 30 | ] 31 | }) 32 | }, 33 | { 34 | test: /\.png$/, 35 | loader: 'file-loader?name=[path][name].[ext]' 36 | } 37 | ] 38 | }, 39 | plugins: [ 40 | new ExtractTextPlugin('[name].css') 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /test/fixtures/withTransformer/actual/colors.color: -------------------------------------------------------------------------------- 1 | white: #fff 2 | -------------------------------------------------------------------------------- /test/fixtures/withTransformer/actual/index.scss: -------------------------------------------------------------------------------- 1 | @import './colors.color'; 2 | 3 | p { 4 | color: $white; 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/withTransformer/expect.css: -------------------------------------------------------------------------------- 1 | p { 2 | color: #fff; 3 | } 4 | -------------------------------------------------------------------------------- /test/fixtures/withTransformer/webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const path = require('path') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const loader = require.resolve('../../..') 6 | const cssLoader = require.resolve('css-loader') 7 | 8 | module.exports = { 9 | context: path.join(__dirname), 10 | entry: { 11 | index: './actual/index.scss', 12 | }, 13 | output: { 14 | path: path.join(__dirname, '../../runtime/withTransformer'), 15 | filename: '[name].js' 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.(scss|sass)$/, 21 | use: ExtractTextPlugin.extract({ 22 | use: [ 23 | cssLoader, 24 | { 25 | loader: loader, 26 | options: { 27 | transformers: [{ 28 | extensions: ['.color'], 29 | transform: function(rawFile) { 30 | return '$' + rawFile + ';' 31 | } 32 | }], 33 | } 34 | } 35 | ] 36 | }) 37 | } 38 | ] 39 | }, 40 | plugins: [ 41 | new ExtractTextPlugin('[name].css') 42 | ] 43 | } 44 | --------------------------------------------------------------------------------