[
  {
    "path": ".babelrc",
    "content": "{\n  \"presets\": [\n    [\"@babel/env\", { \"modules\": false }]\n  ]\n}\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\nnode_modules/\ndist/\nlib/\nnpm-debug.log\nyarn-error.log\n.npmignore\n.editorconfig\n\n# Editor directories and files\n.idea\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n\nyarn.lock\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2018 Pongsatorn\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE. \n"
  },
  {
    "path": "README.md",
    "content": "# ⛔️ DEPRECATED <no-maintenance-intended> This repo has not been maintained\n\n<p>\n  <a href=\"https://npmjs.com/package/vue-element-loading\"><img src=\"https://img.shields.io/npm/v/vue-element-loading.svg?style=flat\" alt=\"NPM version\"></a>\n  <a href=\"https://npmjs.com/package/vue-element-loading\"><img src=\"https://img.shields.io/npm/dm/vue-element-loading.svg?style=flat\" alt=\"NPM downloads\"></a>\n  <a href=\"https://www.npmjs.com/package/vue-element-loading\"><img src=\"https://img.shields.io/npm/l/vue-element-loading.svg?style=flat\" alt=\"License\"></a>\n  <a href=\"https://www.npmjs.com/package/vue-element-loading\"><img src=\"https://travis-ci.org/biigpongsatorn/biigpongsatorn.github.io.svg?branch=dev\" alt=\"Build Status\"></a>\n</p>\n\n# vue-element-loading\n\n⏳ Loading inside a container or full screen for Vue.js\n\n# 👀 Document & Demo Page\n\n- [Docs & Live demo](https://biigpongsatorn.github.io/#/vue-element-loading)\n- [Fully feature live demo](https://vue-element-loading.netlify.com/)\n\n# 💻 Install\n\n```sh\nnpm install --save vue-element-loading\n```\n\nor\n\n```sh\nyarn add vue-element-loading\n```\n\n# 🖥 Install (Vue 3)\n\n```sh\nnpm install --save vue-element-loading@next\n```\n\nor\n\n```sh\nyarn add vue-element-loading@next\n```\n\n# 🕹 Usage\n\n```javascript\nimport Vue from \"vue\";\nimport VueElementLoading from \"vue-element-loading\";\n\nVue.component(\"VueElementLoading\", VueElementLoading);\n```\n\nor\n\n```javascript\nimport VueElementLoading from \"vue-element-loading\";\n\nexport default {\n  components: {\n    VueElementLoading\n  }\n};\n```\n\n# 🔎 Example\n\n## Inside container\n\n```html\n<div class=\"parent\">\n  <vue-element-loading :active=\"show\" spinner=\"bar-fade-scale\" />\n  <span>\n    This is my content.\n  </span>\n</div>\n```\n\n## Full screen\n\n```html\n<body>\n  <vue-element-loading :active=\"show\" is-full-screen />\n</body>\n```\n\n## Adjust Spinner Color\n\nUse the `color` parameter to set the color of the displayed spinner (does not affect custom spinner images).\n\n```html\n<div class=\"parent\">\n  <vue-element-loading\n    :active=\"show\"\n    spinner=\"bar-fade-scale\"\n    color=\"#FF6700\"\n  />\n  <span>\n    This is my content.\n  </span>\n</div>\n```\n\n## Set text\n\nUse the `text` parameter to set the text which will appear below loader.\n\n```html\n<div class=\"parent\">\n  <vue-element-loading\n    :active=\"show\"\n    spinner=\"bar-fade-scale\"\n    color=\"#FF6700\"\n    text=\"Please wait...\"\n  />\n  <span>\n    This is my content.\n  </span>\n</div>\n```\n\n## Set text style\n\nUse the `textStyle` parameter to set the style of text( you need to pass css-in-js way using camelCase exp. fontSize, backgroundColor etc).\n\n```html\n<div class=\"parent\">\n  <vue-element-loading\n    :active=\"show\"\n    spinner=\"bar-fade-scale\"\n    color=\"#FF6700\"\n    text=\"Please textStyle={fontSize: '25px'}  wait...\"\n  />\n  <span>\n    This is my content.\n  </span>\n</div>\n```\n\n## Adjust Spinner Size\n\nUse the `size` parameter to set the size of the displayed spinner (does not affect custom spinner images).\n\n```html\n<div class=\"parent\">\n  <vue-element-loading :active=\"show\" spinner=\"bar-fade-scale\" size=\"128\" />\n  <span>\n    This is my content.\n  </span>\n</div>\n```\n\n## Adjust Spinner Animation Speed\n\nUse the `duration` parameter to set the animation loop duration in seconds (does not affect custom spinner images).\n\n```html\n<div class=\"parent\">\n  <vue-element-loading :active=\"show\" spinner=\"bar-fade-scale\" duration=\"1.0\" />\n  <span>\n    This is my content.\n  </span>\n</div>\n```\n\n## Customize loader\n\n```html\n<div class=\"parent\">\n  <vue-element-loading :active=\"show\">\n    <img src=\"/static/pikachu.gif\" width=\"55px\" height=\"55px\" />\n  </vue-element-loading>\n</div>\n```\n\n# 🌀 Spinner\n\n<img src=\"https://raw.githubusercontent.com/biigpongsatorn/vue-element-loading/HEAD/static/spinner.png\">\n\n[See full document here.](https://biigpongsatorn.github.io/#/vue-element-loading)\n\n# ⚙️ Props\n\n| Props            | Type             | Default                 | Description                                                                                                                |\n| ---------------- | :--------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| active           | Boolean          | -                       | Status for show/hide loading                                                                                               |\n| spinner          | String           | spinner                 | Spinner icon name: `spinner`, `mini-spinner`, `ring`, `line-wave`, `line-scale`, `line-down`, `bar-fade`, `bar-fade-scale` |\n| color            | String           | #000                    | Color of spinner icon                                                                                                      |\n| background-color | String           | rgba(255, 255, 255, .9) | Background color of spinner icon (for overlay)                                                                             |\n| size             | String           | \"40\"                    | The size to display the spinner in pixels (**NOTE:** this will not affect custom spinner images)                           |\n| duration         | String           | \"0.6\"                   | The duration of one 'loop' of the spinner animation, in seconds (**NOTE:** this will not affect custom spinner images)     |\n| delay            | Number \\| String | 0                       | The minimum appearing duration of loading in seconds                                                                       |\n| is-full-screen   | Boolean          | false                   | Loader will overlay the full page                                                                                          |\n| text             | String           | -                       | Text will appear below loader                                                                                              |\n| text-style       | Object           | {}                      | Change style of the text below loader                                                                                      |\n\n# 🤝 Contributing\n\n1. Fork this repository.\n2. Create new branch with feature name.\n3. Run `npm install` and `npm run dev`.\n4. Create your feature.\n5. Commit and set commit message with feature name.\n6. Push your code to your fork repository.\n7. Create pull request. 🙂\n\n# ⭐️ Support\n\nIf you like this project, You can support me with starring ⭐ this repository.\n\n# 📄 License\n\n[MIT](LICENSE)\n\nDeveloped with ❤️ and ☕️\n"
  },
  {
    "path": "bili.config.js",
    "content": "const vue = require('rollup-plugin-vue');\n\nmodule.exports = {\n  banner: true,\n  format: ['umd-min'],\n  css: true,\n  plugins: [\n    vue({ css: true })\n  ],\n  outDir: 'lib'\n};\n"
  },
  {
    "path": "example/App.vue",
    "content": "<template>\n  <div>\n    <div id=\"app\">\n      <VueElementLoading\n        :spinner=\"spinnerKind\"\n        :size=\"spinnerSize\"\n        :duration=\"spinnerDuration\"\n        :color=\"spinnerColor\"\n        :active=\"fullscreenGreenBg\"\n        :text=\"text\"\n        :textStyle=\"textStyles[spinnerTextStyle] || {}\"\n        backgroundColor=\"rgba(66, 185, 131, .9)\"\n        is-full-screen\n      />\n      <VueElementLoading\n        :spinner=\"spinnerKind\"\n        :size=\"spinnerSize\"\n        :duration=\"spinnerDuration\"\n        :color=\"spinnerColor\"\n        :active=\"fullscreen\"\n        :text=\"text\"\n        :textStyle=\"textStyles[spinnerTextStyle] || {}\"\n        is-full-screen\n      />\n      <VueElementLoading\n        :spinner=\"spinnerKind\"\n        :size=\"spinnerSize\"\n        :duration=\"spinnerDuration\"\n        :color=\"spinnerColor\"\n        :active=\"show && !fullscreen && !fullscreenGreenBg\"\n        :text=\"text\"\n        :textStyle=\"textStyles[spinnerTextStyle] || {}\"\n      />\n      <VueElementLoading :active=\"pikachu\">\n        <img\n          src=\"https://i.pinimg.com/originals/9f/b1/25/9fb125f1fedc8cc62ab5b20699ebd87d.gif\"\n          width=\"55px\"\n          height=\"55px\"\n        >\n      </VueElementLoading>\n      <span>\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id fermentum quam. Proin sagittis,\n        nibh id hendrerit imperdiet, elit sapien laoreet elit\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id fermentum quam. Proin sagittis,\n        nibh id hendrerit imperdiet, elit sapien laoreet elit\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id fermentum quam. Proin sagittis,\n        nibh id hendrerit imperdiet, elit sapien laoreet elit\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id fermentum quam. Proin sagittis,\n        nibh id hendrerit imperdiet, elit sapien laoreet elit\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id fermentum quam. Proin sagittis,\n        nibh id hendrerit imperdiet, elit sapien laoreet elit\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id fermentum quam. Proin sagittis,\n        nibh id hendrerit imperdiet, elit sapien laoreet elit\n      </span>\n    </div>\n    <div class=\"f-left-w-100pct\">\n      <br>\n      <div>\n        <select v-model=\"spinnerKind\">\n          <option value=\"bar-fade-scale\">bar-fade-scale</option>\n          <option value=\"bar-fade\">bar-fade</option>\n          <option value=\"line-down\">line-down</option>\n          <option value=\"line-scale\">line-scale</option>\n          <option value=\"line-wave\">line-wave</option>\n          <option value=\"ring\">ring</option>\n          <option value=\"spinner\">spinner</option>\n          <option value=\"mini-spinner\">mini-spinner</option>\n        </select>\n        <select v-model=\"spinnerColor\">\n          <option value=\"#f00\">Red</option>\n          <option value=\"#0f0\">Green</option>\n          <option value=\"#FF6700\">Default Color</option>\n          <option value=\"#00f\">Blue</option>\n        </select>\n        <select v-model=\"spinnerSize\">\n          <option value=\"32\">32px</option>\n          <option value=\"64\">64px</option>\n          <option value=\"128\">128px</option>\n          <option value=\"256\">256px</option>\n        </select>\n        <select v-model=\"spinnerDuration\">\n          <option value=\"0.1\">Very Fast</option>\n          <option value=\"0.3\">Fast</option>\n          <option value=\"0.6\">Default Speed</option>\n          <option value=\"1.2\">Slow</option>\n          <option value=\"2.4\">Very Slow</option>\n        </select>\n        <select v-model=\"spinnerTextStyle\">\n          <option value=\"none\">No Text Style</option>\n          <option value=\"bold\">Bold Text</option>\n          <option value=\"bigNeonGreen\">Big Neon Green</option>\n        </select>\n      </div>\n      <input\n        v-model=\"text\"\n        class=\"btn-toggle\"\n        type=\"text\"\n        placeholder=\"Custom text...\"\n      />\n    </div>\n    <div class=\"f-left-w-100pct\">\n      <div class=\"btn-toggle\">\n        <button @click=\"toggleInsideComponentLoader\">Toggle (Inside Container)</button>\n      </div>\n      <div class=\"btn-toggle\">\n        <button @click=\"togglePikachuLoader\">Toggle (Pikachu)</button>\n      </div>\n      <div class=\"btn-toggle\">\n        <button @click=\"activateFullScreen()\">Full Screen</button>\n      </div>\n      <div class=\"btn-toggle\">\n        <button @click=\"activateFullScreenGreenBg()\">Full Screen (Green background color)</button>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\n// import VueElementLoading from '../src'\nimport VueElementLoading from '../lib/vue-element-loading.min.js'\n\nexport default {\n  name: 'app',\n  data () {\n    return {\n      textStyles: {\n          none: {},\n          bold: {'font-weight':'bold'},\n          bigNeonGreen : { 'font-size':'300%', color:'#0F0', 'text-shadow':'0 0 1em #0F0' }\n      },\n      text: '',\n      show: true,\n      fullscreen: false,\n      fullscreenGreenBg: false,\n      pikachu: false,\n      spinnerKind: 'bar-fade-scale',\n      spinnerColor: '#FF6700',\n      spinnerSize: '32',\n      spinnerDuration: '0.6',\n      spinnerTextStyle: 'none'\n    }\n  },\n  created () {\n    setTimeout(() => { this.show = false }, 2000)\n  },\n  methods: {\n    toggleInsideComponentLoader () {\n      this.show = !this.show;\n      this.pikachu = false;\n    },\n    togglePikachuLoader () {\n      this.pikachu = !this.pikachu;\n      this.show = false;\n    },\n    activateFullScreen () {\n      this.fullscreen = true\n      setTimeout(() => { this.fullscreen = false }, 2000)\n    },\n    activateFullScreenGreenBg () {\n      this.fullscreenGreenBg = true\n      setTimeout(() => { this.fullscreenGreenBg = false }, 2000)\n    }\n  },\n  components: { VueElementLoading }\n}\n</script>\n\n<style scoped>\n#app {\n  float: left;\n  width: 500px;\n  height: 500px;\n  border: 1px solid #ccc;\n}\n.btn-toggle {\n  float: left;\n  margin: 20px;\n}\n.f-left-w-100pct {\n  float: left;\n  width: 100%;\n}\n</style>\n"
  },
  {
    "path": "example/main.js",
    "content": "import Vue from 'vue'\nimport App from './App.vue'\n\nnew Vue({\n  el: '#app',\n  render: function (h) { return h(App) }\n})\n"
  },
  {
    "path": "index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>vue-element-loading</title>\n  </head>\n  <body>\n    <div id=\"app\"></div>\n    <script src=\"./dist/build.js\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"vue-element-loading\",\n  \"description\": \"Loading inside a container or full screen for Vue.js\",\n  \"version\": \"2.0.2\",\n  \"author\": \"biig_pongsatorn <biig_pongsatorn@hotmail.com>\",\n  \"license\": \"MIT\",\n  \"main\": \"lib/vue-element-loading.min.js\",\n  \"files\": [\n    \"lib\"\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/biigpongsatorn/vue-element-loading.git\"\n  },\n  \"scripts\": {\n    \"dev\": \"cross-env NODE_ENV=development webpack-dev-server --mode development --open --hot\",\n    \"build:lib\": \"rm -rf ./lib && bili src/index.vue\",\n    \"build:example\": \"rm -rf ./dist && cross-env NODE_ENV=production webpack --mode production --progress --hide-modules\",\n    \"prepublish\": \"npm run build:lib\"\n  },\n  \"dependencies\": {\n    \"vue\": \"^2.5.22\"\n  },\n  \"browserslist\": [\n    \"> 1%\",\n    \"last 2 versions\",\n    \"not ie <= 8\"\n  ],\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.2.2\",\n    \"@babel/preset-env\": \"^7.2.3\",\n    \"babel-loader\": \"^8.0.5\",\n    \"bili\": \"^3.4.2\",\n    \"cross-env\": \"^5.2.0\",\n    \"css-loader\": \"^2.1.0\",\n    \"file-loader\": \"^3.0.1\",\n    \"rollup-plugin-vue\": \"^4.6.1\",\n    \"uglifyjs-webpack-plugin\": \"^2.1.1\",\n    \"vue-loader\": \"^15.5.1\",\n    \"vue-template-compiler\": \"^2.5.22\",\n    \"webpack\": \"^4.28.4\",\n    \"webpack-cli\": \"^3.2.1\",\n    \"webpack-dev-server\": \">=3.1.11\"\n  }\n}\n"
  },
  {
    "path": "src/index.vue",
    "content": "<template>\n  <transition name=\"fade\">\n    <div\n      v-show=\"isActive || isActiveDelay\"\n      :class=\"{ 'velmld-full-screen': isFullScreen }\"\n      :style=\"{ backgroundColor }\"\n      ref=\"velmld\"\n      class=\"velmld-overlay\"\n    >\n      <div class=\"velmld-spinner\">\n        <slot name=\"default\">\n          <component\n            :is=\"spinner\"\n            :color=\"color\"\n            :size=\"`${size}px`\"\n            :duration=\"`${duration}s`\"\n          />\n        </slot>\n        <div\n          v-if=\"text.length\"\n          :style=\"{ color, ...textStyle }\"\n        >\n          {{ text }}\n        </div>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\nimport Loaders from './loaders'\n\nexport default {\n  name: 'vue-element-loading',\n  props: {\n    active: Boolean,\n    spinner: {\n      type: String,\n      default: 'spinner'\n    },\n    text: {\n      type: String,\n      default: ''\n    },\n    textStyle: {\n      type: Object,\n      default: function () {\n        return {}\n      }\n    },\n    color: {\n      type: String,\n      default: '#000'\n    },\n    isFullScreen: {\n      type: Boolean,\n      default: false\n    },\n    backgroundColor: {\n      type: String,\n      default: 'rgba(255, 255, 255, .9)'\n    },\n    size: {\n      type: String,\n      default: '40'\n    },\n    duration: {\n      type: String,\n      default: '0.6'\n    },\n    delay: {\n      type: [String, Number],\n      default: 0\n    }\n  },\n  data () {\n    return {\n      isActive: this.active || false,\n      isActiveDelay: false\n    }\n  },\n  /**\n   * Append class 'velmld-parent' to parent container.\n   */\n  mounted () {\n    this.$refs.velmld.parentNode.classList.add('velmld-parent')\n\n    if (this.delay) {\n      const delayMs = (+this.delay) * 1000\n      this.delayActive(delayMs)\n    }\n  },\n  methods: {\n    delayActive (ms) {\n      this.isActiveDelay = true\n\n      setTimeout(() => {\n        this.isActiveDelay = false  \n      }, ms)\n    }\n  },\n  watch: {\n    /**\n     * Binding outside component value and inside component value.\n     * Append class 'velmld-parent' to parent container.\n     */\n    active (value) {\n      this.isActive = value\n      if (value) {\n        this.$refs.velmld.parentNode.classList.add('velmld-parent')\n      }\n    }\n  },\n  components: Loaders\n}\n</script>\n\n<style scoped>\n.fade-enter-active, .fade-leave-active {\n  transition: opacity .3s;\n}\n.fade-enter, .fade-leave-to {\n  opacity: 0;\n}\n.velmld-overlay {\n  position: absolute;\n  z-index: 3000;\n  margin: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  transition: opacity .3s;\n}\n.velmld-spinner {\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  position: absolute;\n  text-align: center\n}\n.velmld-full-screen {\n  position: fixed;\n}\n</style>\n\n<style>\n.velmld-parent {\n  position: relative !important;\n}\n</style>\n"
  },
  {
    "path": "src/loaders/bar-fade-scale.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 24 30\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <rect x=\"0\" y=\"10\" width=\"4\" height=\"10\" :fill=\"color\" opacity=\"0.2\">\n      <animate attributeName=\"opacity\" attributeType=\"XML\" values=\"0.2; 1; .2\" begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"height\" attributeType=\"XML\" values=\"10; 20; 10\" begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"y\" attributeType=\"XML\" values=\"10; 5; 10\" begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"8\" y=\"10\" width=\"4\" height=\"10\" :fill=\"color\"  opacity=\"0.2\">\n      <animate attributeName=\"opacity\" attributeType=\"XML\" values=\"0.2; 1; .2\" begin=\"0.15s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"height\" attributeType=\"XML\" values=\"10; 20; 10\" begin=\"0.15s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"y\" attributeType=\"XML\" values=\"10; 5; 10\" begin=\"0.15s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"16\" y=\"10\" width=\"4\" height=\"10\" :fill=\"color\"  opacity=\"0.2\">\n      <animate attributeName=\"opacity\" attributeType=\"XML\" values=\"0.2; 1; .2\" begin=\"0.3s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"height\" attributeType=\"XML\" values=\"10; 20; 10\" begin=\"0.3s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"y\" attributeType=\"XML\" values=\"10; 5; 10\" begin=\"0.3s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'bar-fade-scale',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/bar-fade.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 24 30\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <rect x=\"0\" y=\"0\" width=\"4\" height=\"20\" :fill=\"color\">\n      <animate attributeName=\"opacity\" attributeType=\"XML\"\n        values=\"1; .2; 1\" \n        begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"7\" y=\"0\" width=\"4\" height=\"20\" :fill=\"color\">\n      <animate attributeName=\"opacity\" attributeType=\"XML\"\n        values=\"1; .2; 1\" \n        begin=\"0.2s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"14\" y=\"0\" width=\"4\" height=\"20\" :fill=\"color\">\n      <animate attributeName=\"opacity\" attributeType=\"XML\"\n        values=\"1; .2; 1\" \n        begin=\"0.4s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'bar-fade',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/index.js",
    "content": "import Spinner from './spinner.vue'\nimport Ring from './ring.vue'\nimport MiniSpinner from './mini-spinner.vue'\nimport LineWave from './line-wave.vue'\nimport LineScale from './line-scale.vue'\nimport LineDown from './line-down.vue'\nimport BarFade from './bar-fade.vue'\nimport BarFadeScale from './bar-fade-scale.vue'\n\nexport default {\n  Spinner,\n  Ring,\n  MiniSpinner,\n  LineWave,\n  LineScale,\n  LineDown,\n  BarFade,\n  BarFadeScale\n}\n"
  },
  {
    "path": "src/loaders/line-down.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 24 24\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <rect x=\"0\" y=\"0\" width=\"4\" height=\"7\" :fill=\"color\">\n      <animateTransform  attributeType=\"xml\"\n        attributeName=\"transform\" type=\"scale\"\n        values=\"1,1; 1,3; 1,1\"\n        begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />       \n    </rect>\n\n    <rect x=\"10\" y=\"0\" width=\"4\" height=\"7\" :fill=\"color\">\n      <animateTransform  attributeType=\"xml\"\n        attributeName=\"transform\" type=\"scale\"\n        values=\"1,1; 1,3; 1,1\"\n        begin=\"0.2s\" :dur=\"duration\" repeatCount=\"indefinite\" />       \n    </rect>\n    <rect x=\"20\" y=\"0\" width=\"4\" height=\"7\" :fill=\"color\">\n      <animateTransform  attributeType=\"xml\"\n        attributeName=\"transform\" type=\"scale\"\n        values=\"1,1; 1,3; 1,1\"\n        begin=\"0.4s\" :dur=\"duration\" repeatCount=\"indefinite\" />       \n    </rect>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'line-down',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/line-scale.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 24 30\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <rect x=\"0\" y=\"13\" width=\"4\" height=\"5\" :fill=\"color\">\n      <animate attributeName=\"height\" attributeType=\"XML\"\n        values=\"5;21;5\" \n        begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"y\" attributeType=\"XML\"\n        values=\"13; 5; 13\"\n        begin=\"0s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"10\" y=\"13\" width=\"4\" height=\"5\" :fill=\"color\">\n      <animate attributeName=\"height\" attributeType=\"XML\"\n        values=\"5;21;5\" \n        begin=\"0.15s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"y\" attributeType=\"XML\"\n        values=\"13; 5; 13\"\n        begin=\"0.15s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"20\" y=\"13\" width=\"4\" height=\"5\" :fill=\"color\">\n      <animate attributeName=\"height\" attributeType=\"XML\"\n        values=\"5;21;5\" \n        begin=\"0.3s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n      <animate attributeName=\"y\" attributeType=\"XML\"\n        values=\"13; 5; 13\"\n        begin=\"0.3s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'line-scale',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/line-wave.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 24 30\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <rect x=\"0\" y=\"0\" width=\"4\" height=\"10\" :fill=\"color\">\n      <animateTransform attributeType=\"xml\"\n        attributeName=\"transform\" type=\"translate\"\n        values=\"0 0; 0 20; 0 0\"\n        begin=\"0\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"10\" y=\"0\" width=\"4\" height=\"10\" :fill=\"color\">\n      <animateTransform attributeType=\"xml\"\n        attributeName=\"transform\" type=\"translate\"\n        values=\"0 0; 0 20; 0 0\"\n        begin=\"0.2s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n    <rect x=\"20\" y=\"0\" width=\"4\" height=\"10\" :fill=\"color\">\n      <animateTransform attributeType=\"xml\"\n        attributeName=\"transform\" type=\"translate\"\n        values=\"0 0; 0 20; 0 0\"\n        begin=\"0.4s\" :dur=\"duration\" repeatCount=\"indefinite\" />\n    </rect>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'line-wave',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/mini-spinner.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"loader-1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 50 50\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <path :fill=\"color\" d=\"M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z\">\n      <animateTransform attributeType=\"xml\"\n        attributeName=\"transform\"\n        type=\"rotate\"\n        from=\"0 25 25\"\n        to=\"360 25 25\"\n        :dur=\"duration\"\n        repeatCount=\"indefinite\"/>\n    </path>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'mini-spinner',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/ring.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"loader-1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 40 40\" enable-background=\"new 0 0 40 40\" xml:space=\"preserve\">\n    <path opacity=\"0.2\" :fill=\"color\" d=\"M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946\n      s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634\n      c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z\"/>\n    <path :fill=\"color\" d=\"M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0\n      C22.32,8.481,24.301,9.057,26.013,10.047z\">\n      <animateTransform attributeType=\"xml\"\n        attributeName=\"transform\"\n        type=\"rotate\"\n        from=\"0 20 20\"\n        to=\"360 20 20\"\n        :dur=\"duration\"\n        repeatCount=\"indefinite\"/>\n    </path>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'ring',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "src/loaders/spinner.vue",
    "content": "<template>\n  <svg version=\"1.1\" id=\"loader-1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" :width=\"size\" :height=\"size\" viewBox=\"0 0 50 50\" style=\"enable-background:new 0 0 50 50;\" xml:space=\"preserve\">\n    <path :fill=\"color\" d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\">\n      <animateTransform attributeType=\"xml\"\n        attributeName=\"transform\"\n        type=\"rotate\"\n        from=\"0 25 25\"\n        to=\"360 25 25\"\n        :dur=\"duration\"\n        repeatCount=\"indefinite\"/>\n    </path>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'spinner',\n  props: {\n    color: {\n      type: String,\n      default: '#CCC'\n    },\n    size: {\n      type: String,\n      default: '40px'\n    },\n    duration: {\n      type: String,\n      default: '0.6s'\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "webpack.config.js",
    "content": "const path = require('path');\nconst webpack = require('webpack');\nconst UglifyJsPlugin = require('uglifyjs-webpack-plugin');\nconst VueLoaderPlugin = require('vue-loader/lib/plugin');\n\nmodule.exports = {\n  entry: './example/main.js',\n  output: {\n    path: path.resolve(__dirname, './dist'),\n    publicPath: '/dist',\n    filename: 'build.js'\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.css$/,\n        use: [\n          'vue-style-loader',\n          'css-loader'\n        ],\n      },\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader',\n        options: {\n          loaders: {\n          }\n          // other vue-loader options go here\n        }\n      },\n      {\n        test: /\\.js$/,\n        loader: 'babel-loader',\n        exclude: /node_modules/\n      },\n      {\n        test: /\\.(png|jpg|gif|svg)$/,\n        loader: 'file-loader',\n        options: {\n          name: '[name].[ext]?[hash]'\n        }\n      }\n    ]\n  },\n  resolve: {\n    alias: {\n      'vue$': 'vue/dist/vue.esm.js'\n    },\n    extensions: ['*', '.js', '.vue', '.json']\n  },\n  optimization: {\n    minimizer: [\n      new UglifyJsPlugin({\n        sourceMap: true,\n        parallel: 4,\n        uglifyOptions: {\n          warnings: false,\n          compress: {\n            warnings: false\n          },\n        },\n      })\n    ]\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n  ],\n  devServer: {\n    historyApiFallback: true,\n    noInfo: true,\n    overlay: true\n  },\n  performance: {\n    hints: false\n  },\n  devtool: '#eval-source-map'\n};\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports.devtool = '#source-map';\n  // http://vue-loader.vuejs.org/en/workflow/production.html\n  module.exports.plugins = (module.exports.plugins || []).concat([\n    new webpack.DefinePlugin({\n      'process.env': {\n        NODE_ENV: '\"production\"'\n      }\n    }),\n    new webpack.LoaderOptionsPlugin({\n      minimize: true\n    })\n  ]);\n}\n"
  }
]