[
  {
    "path": ".babelrc",
    "content": "{\n  \"presets\": [\n    [\"@babel/preset-env\", {\n      \"modules\": false,\n      \"useBuiltIns\": \"usage\",\n      \"targets\": {\n        \"edge\": \"17\",\n        \"firefox\": \"60\",\n        \"chrome\": \"67\",\n        \"safari\": \"11.1\"\n      }\n    }]\n  ],\n  \"env\": {\n    \"test\": {\n      \"presets\": [\n        [\"@babel/preset-env\", {\n          \"targets\": {\n            \"node\": \"current\"\n          }\n        }]\n      ]\n    }\n  }\n}"
  },
  {
    "path": ".bookignore",
    "content": "dist/\nsrc/\ntest/\nnode_modules\npackage.json\n.editorconfig\n.eslintignore\n.npmignore\n.prettierrc\n.travis.yml\nCONTRIBUTING.md\nscreenshoot.PNG\nwebpack*\nyarn.lock"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".eslintignore",
    "content": "build/*.js\nconfig/*.js\ndist\nnode_modules\n*.config*"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  \"env\": {\n      \"browser\": true,\n      \"commonjs\": true,\n      \"es6\": true,\n      \"jest\": true\n  },\n  \"extends\": [\n    \"eslint:recommended\",\n    \"plugin:vue/recommended\"\n  ],\n  \"parserOptions\": {\n      \"ecmaVersion\": 2018,\n      \"sourceType\": \"module\"\n  },\n  \"rules\": {\n      \"indent\": [ \"error\", 2 ],\n      \"linebreak-style\": [ \"error\", \"unix\" ],\n      \"quotes\": [ \"error\", \"single\" ],\n      \"semi\": [ \"error\", \"never\" ],\n      \"no-console\": \"off\"\n  },\n  \"overrides\": {\n      \"files\": [ \"**/*.js\", \"**/*.vue\" ]\n  }\n};"
  },
  {
    "path": ".gitbook.yaml",
    "content": "# Root directory to locate the content\n# Default is the root directory of the repository.\nroot: ./docs\n\n# Files to use as SUMMARY/README.\n# (Relative to <root> directory)\nstructure:\n  readme: README.md\n  summary: SUMMARY.md\n"
  },
  {
    "path": ".gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules\njspm_packages\n\n# Optional npm cache directory\n.npm\n\n# Optional REPL history\n.node_repl_history\n.idea/\ne2e\n_book\ndist/"
  },
  {
    "path": ".npmignore",
    "content": "node_modules\n.idea\nbuild\nconfig\ndist\nfavicon\nimages\ntest\n.babelrc\n.editorconfig\n.eslintignore\n.eslintrc.js\n.gitignore\n.travis.yml\nhttp-dist.js\nindex.html\nindex-dev.html\nnpm-debug.log\nscreenshoot.PNG\nyarn-error.log\nyarn.lock\nsrc/App.vue\nsrc/custom-style.scss\nsrc/main.js"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\nnode_js: '8'\nbranches:\n  only:\n  - master\nscript: npm run test\nafter_script:\n  - npm install -g codecov\n  - codecov\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to Vue 2 Simplert\n\nLooking to contribute something? **Here's how you can help.**\n\nPlease take a moment to review this document in order to make the contribution process easy and effective for everyone in the community.\n\n\n## Using the [issue tracker](/issues)\n\nThe issue tracker is the preferred channel for [bug reports](#bug-reports), [features requests](#feature-requests) and [submitting pull requests](#pull-requests), but please respect the following\nrestrictions:\n\n* Please **do not** use the issue tracker for personal support requests.  Please [email me](mailto:mazipanneh@gmail.com) or [send me a tweet](https://twitter.com/Maz_Ipan) as they are better places to get help.\n\n* Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others.\n\n\n## Bug reports\n\nA bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely helpful, so thanks!\n\nGuidelines for bug reports:\n\n1. **Use the GitHub issue search** &mdash; check if the issue has already been reported.\n\n2. **Check if the issue has been fixed** &mdash; try to reproduce it using the latest `master` or development branch in the repository.\n\n3. **Isolate the problem** &mdash; ideally create a [reduced test case](https://css-tricks.com/reduced-test-cases/).\n\nA good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? Do other browsers show the bug differently? What would you expect to be the outcome? All these details will help people to fix any potential bugs.\n\nExample:\n\n> Short and descriptive example bug report title\n>\n> A summary of the issue and the browser/OS environment in which it occurs. If\n> suitable, include the steps required to reproduce the bug.\n>\n> 1. This is the first step\n> 2. This is the second step\n> 3. Further steps, etc.\n>\n> `<url>` - a link to the reduced test case\n>\n> Any other information you want to share that is relevant to the issue being\n> reported. This might include the lines of code that you have identified as\n> causing the bug, and potential solutions (and your opinions on their\n> merits).\n\n\n## Feature requests\n\nFeature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible.\n\n\n## Pull requests\n\nGood pull requests—patches, improvements, new features—are a fantastic help. They should remain focused in scope and avoid containing unrelated commits.\n\n**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code, porting to a different language), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project.\n\nPlease adhere to the [coding guidelines](#code-guidelines) used throughout the project (indentation, accurate comments, etc.) and any other requirements (such as test coverage).\n\nAdhering to the following process is the best way to get your work included in the project:\n\n1. [Fork](https://help.github.com/fork-a-repo/) the project, clone your fork,\n   and configure the remotes:\n\n   ```bash\n   # Clone your fork of the repo into the current directory\n   git clone https://github.com/<your-username>/<repo-name>\n   # Navigate to the newly cloned directory\n   cd <repo-name>\n   # Assign the original repo to a remote called \"upstream\"\n   git remote add upstream https://github.com/mazipan/vue2-simplert\n   ```\n\n2. If you cloned a while ago, get the latest changes from upstream:\n\n   ```bash\n   git checkout master\n   git pull upstream master\n   ```\n\n3. Create a new topic branch (off the main project development branch) to\n   contain your feature, change, or fix:\n\n   ```bash\n   git checkout -b <topic-branch-name>\n   ```\n\n4. Make sure to update, or add to the tests when appropriate. **Patches and\n   features will not be accepted without tests.** Run `npm test` to check that\n   all tests pass after you've made changes.\n\n5. Locally merge (or rebase) the upstream development branch into your topic branch:\n\n   ```bash\n   git pull [--rebase] upstream master\n   ```\n\n6. Push your topic branch up to your fork:\n\n   ```bash\n   git push origin <topic-branch-name>\n   ```\n\n7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)\n    with a clear title and description against the `master` branch.\n\n**IMPORTANT**: By submitting a patch, you agree to allow the project owners to\nlicense your work under the terms of the [MIT License](LICENSE).\n\n\n## Code guidelines\n\n### HTML\n\n- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags).\n\n### JS\n\n- No semicolons (in client-side JS)\n- 2 spaces (no tabs)\n- Don't use jQuery (no \"$\" allowed)\n\n### Checking code\n\nRun `npm run dev` before committing to ensure your changes follow our coding standards.\n\n\n## License\n\nBy contributing your code, you agree to license your contribution under the [MIT License](LICENSE).\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2017 Irfan Maulana\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": "# ⚠️ vue2-simplert\n\n> Vue 2 Simple Alert Component (SweetAlert Inspired)\n\n[![License](https://img.shields.io/github/license/mazipan/vue2-simplert.svg?maxAge=3600)](https://github.com/mazipan/vue2-simplert) ![minified](https://badgen.net/bundlephobia/minzip/vue2-simplert) [![version](https://img.shields.io/npm/v/vue2-simplert.svg)](https://www.npmjs.com/package/vue2-simplert) [![Travis](https://img.shields.io/travis/mazipan/vue2-simplert.svg)](https://travis-ci.org/mazipan/vue2-simplert)\n[![codecov](https://codecov.io/gh/mazipan/vue2-simplert/branch/master/graph/badge.svg)](https://codecov.io/gh/mazipan/vue2-simplert)\n\n## ❗️❗️❗️ Vue2-Simplert Now Coming as Vue.js Plugin\n\nPlease use the plugin version: [https://github.com/mazipan/vue2-simplert-plugin](https://github.com/mazipan/vue2-simplert-plugin)\n\n## Demo\n\nhttps://mazipan.github.io/vue2-simplert/\n\n## Documentation\n\nSee docs in GitBook: https://vue2-simplert.gitbook.io\n\n- [Download](https://vue2-simplert.gitbook.io/docs/download)\n- [Usage Guide](https://vue2-simplert.gitbook.io/docs/usage)\n- [Methods And Props](https://vue2-simplert.gitbook.io/docs/method-and-props)\n- [Example Code](https://vue2-simplert.gitbook.io/docs/example)\n- [Articles](https://vue2-simplert.gitbook.io/docs/articles)\n- [FAQ](https://vue2-simplert.gitbook.io/docs/faq)\n\n## Credit\n\nIcon from [SweetAlert](https://github.com/t4t5/sweetalert)\n\n## Contributing\n\nIf you'd like to contribute, head to the [contributing guidelines](CONTRIBUTING.md). Inside you'll find directions for opening issues, coding standards, and notes on development.\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)\n"
  },
  {
    "path": "book.json",
    "content": "{\n  \"gitbook\": \"3.2.0\",\n  \"title\": \"Vue2-Simplert\",\n  \"description\": \"Vue 2 Alert Component (SweetAlert Inspired)\",\n  \"author\": \"Irfan Maulana (https://www.gitbook.com/@mazipan)\",\n  \"plugins\": [\n    \"prism-ext\",\n    \"-highlight\",\n    \"github\",\n    \"favicon\",\n    \"-sharing\",\n    \"comment@1.0.5\"\n  ],\n  \"root\": \"/docs\",\n  \"pluginsConfig\": {\n    \"github\": {\n      \"url\": \"https://github.com/mazipan/vue2-simplert/\"\n    },\n    \"prism\": {\n      \"theme\": \"prismjs/themes/prism-tomorrow.css\"\n    },\n    \"git-author\":{\n      \"position\": \"top\",\n      \"modifyTpl\": \"Last modified by {user} {timeStamp}\",\n      \"createTpl\": \"Created by {user} {timeStamp}\",\n      \"timeStampFormat\": \"YYYY-MM-DD HH:mm:ss\"\n    },\n    \"sharing\": {\n      \"facebook\": true,\n      \"twitter\": true,\n      \"google\": false,\n      \"weibo\": false,\n      \"instapaper\": false,\n      \"vk\": false\n    },\n    \"favicon\": {\n      \"shortcut\": \"favicon/favicon.ico\",\n      \"bookmark\": \"favicon/favicon.ico\",\n      \"appleTouch\": \"favicon/apple-icon-152x152.png\",\n      \"appleTouchMore\": {\n        \"120x120\": \"favicon/apple-icon-120x120.png\",\n        \"180x180\": \"favicon/apple-icon-180x180.png\"\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/README.md",
    "content": "# Home\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\n## Demo\n\nhttps://mazipan.github.io/vue2-simplert/\n\n## Documentation\n\n+ [Home](/README.md)\n+ [Download](/download.md)\n+ [Usage Guide](/usage.md)\n+ [Methods And Props](/method-and-props.md)\n+ [Example Code](/example.md)\n+ [Articles](/articles.md)\n+ [FAQ](/faq.md)\n\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)\n"
  },
  {
    "path": "docs/SUMMARY.md",
    "content": "# Summary\n\n+ [Home](/README.md)\n+ [Download](/download.md)\n+ [Usage Guide](/usage.md)\n+ [Methods And Props](/method-and-props.md)\n+ [Example Code](/example.md)\n+ [Articles](/articles.md)\n+ [FAQ](/faq.md)\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)"
  },
  {
    "path": "docs/articles.md",
    "content": "# Articles\n\n## English Article\n\n+ Vue2-Simplert — SweetAlert Alternative for VueJs - [read here](https://medium.com/@mazipanneh/vue2-simplert-sweetalert-alternative-for-vuejs-12bbb5b2173d)\n+ Vue.js Component: Vue 2 Simple Alert, Inspired by SweetAlert - [read here](https://vuejsfeed.com/blog/vue-js-component-vue-2-simple-alert-inspired-by-sweetalert)\n\n## Artikel Bahasa Indonesia\n\n+ Vue2-Simplert - Alternatif SweatAlert untuk Framework VueJS - [baca disini](https://www.codepolitan.com/vue2-simplert-alternatif-sweatalert-untuk-framework-vuejs-59279ae22e8ce)\n+ Vue2-Simplert – Pengalaman Membuat Library Menggunakan Vue2 - [baca disini](https://mazipanneh.com/blog/2017/06/vue2-simplert-pengalaman-membuat-library-menggunakan-vue2/)\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)"
  },
  {
    "path": "docs/download.md",
    "content": "# Download\n\n## Latest Version\n\n[![version](https://img.shields.io/npm/v/vue2-simplert.svg?maxAge=3600)](https://www.npmjs.com/package/vue2-simplert)\n[![downloads](https://img.shields.io/npm/dt/vue2-simplert.svg?maxAge=3600)](https://www.npmjs.com/package/vue2-simplert) \n\n## Via npm\n\n[![npmjs](https://img.shields.io/badge/download-npmjs-red.svg?maxAge=3600)](https://www.npmjs.com/package/vue2-simplert) \n\n```bash\nnpm install vue2-simplert@latest --save-dev\n```\n\n## Via yarn\n\n[![yarnpkg](https://img.shields.io/badge/download-yarn-blue.svg?maxAge=3600)](https://yarnpkg.com/en/package/vue2-simplert)\n\n```bash\nyarn add vue2-simplert@latest\n```\n\n## Via CDN\n\n![cdn](https://img.shields.io/badge/download-cdn-green.svg?maxAge=3600)\n\n```bash\nhttps://unpkg.com/vue2-simplert@{version}/dist/simplert.bundle.js\n```\n\nExample : https://unpkg.com/vue2-simplert@0.5.1/dist/simplert.bundle.js\n\n## Download zip\n\nhttps://github.com/mazipan/vue2-simplert/releases\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)"
  },
  {
    "path": "docs/example.md",
    "content": "# Example\n\nAll code example using same HTML template :\n\n```html\n<simplert :useRadius=\"true\"\n      :useIcon=\"true\"\n      ref=\"simplert\">\n</simplert>\n```\n\nSee [demo page](https://mazipan.github.io/vue2-simplert/) for check interface result.\n\n## Table of Contents\n\n+ [Information Alert](#information-alert)\n+ [Success Alert](#success-alert)\n+ [Error Alert](#error-alert)\n+ [Warning Alert](#warning-alert)\n+ [Alert Without Title](#alert-without-title)\n+ [Alert With HTML Content](#alert-with-html-content)\n+ [Alert With Custom Close Text](#alert-with-custom-close-text)\n+ [Alert With Custom Close Class](#alert-with-custom-close-class)\n+ [Alert With Custom Close Function](#alert-with-custom-close-function)\n+ [Alert With Custom Class](#alert-with-custom-class)\n+ [Alert With Custom Icon](#alert-with-custom-icon)\n+ [Alert With Confirm Button](#alert-with-confirm-button)\n+ [Alert With Confirm Button Custom Text](#alert-with-confirm-button-custom-text)\n+ [Alert With Confirm Button Custom Class](#alert-with-confirm-button-custom-class)\n+ [Alert With Confirm Button Function](#alert-with-confirm-button-function)\n+ [Alert With Disable Overlay Click](#alert-with-disable-overlay-click)\n+ [Alert With No Button Show](#alert-with-no-button-show)\n+ [Alert With onOpen Function](#alert-with-onopen-function)\n+ [Alert With close X](#alert-with-close-x)\n\n## Information Alert\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Success Alert\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'success'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Error Alert\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'error'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Warning Alert\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'warning'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert Without Title\n\n```javascript\nlet obj = {\n  message: 'Alert Message',\n  type: 'info'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With HTML Content\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: '<span style=\"color:red;\">I am HTML</span>',\n  type: 'info'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Custom Close Text\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  customCloseBtnText: 'I am Close Button'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Custom Close Class\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  customCloseBtnClass: 'btn-warning'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Custom Close Function\n\n```javascript\nlet closeFn = function() {\n  alert(\"I am Closed\")\n}\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  onClose: closeFn\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Custom Class\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  customClass: 'popup-custom-class'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Custom Icon\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  customIconUrl: 'https://cdn2.iconfinder.com/data/icons/social-productivity-line-art-1/128/face-sad-512.png'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Confirm Button\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  useConfirmBtn: true\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Confirm Button Custom Text\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  useConfirmBtn: true,\n  customConfirmBtnText: 'OK'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Confirm Button Custom Class\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  useConfirmBtn: true,\n  customConfirmBtnClass: 'btn-warning'\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Confirm Button Function\n\n```javascript\nlet confirmFn = function() {\n  alert(\"I am Confirmed\")\n}\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  useConfirmBtn: true,\n  onConfirm: confirmFn\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Disable Overlay Click\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  disableOverlayClick: true\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With No Button Show\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  hideAllButton: true\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With onOpen Function\n\n```javascript\nlet openFn = function() {\n  alert(\"I am Confirmed\")\n}\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  onOpen: openFn\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n## Alert With Close X\n\n```javascript\nlet obj = {\n  title: 'Alert Title',\n  message: 'Alert Message',\n  type: 'info',\n  showXclose: true\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n[back to top](#table-of-contents)\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)\n"
  },
  {
    "path": "docs/faq.md",
    "content": "# FAQ\n\n### onConfirm fired immediately\n\n**Q** : Hey I made config like this\n\n```js\nlet Warning = {\n  message: 'Do you really want to leave? you have unsaved changes!',\n  useConfirmBtn: true,\n  customCloseBtnText: 'Yes',\n  customConfirmBtnText: 'No',\n  onClose: this.Leave(),\n  onConfirm: this.StayWhereYouAre()\n}\n```\n\nBut function `this.StayWhereYouAre()` was fired when I open alert, even not clicked yet.\n\n**A** : It because you put function to be executed.\nThe solution is change the way you pass function, try like this:\n\n```js\nlet Warning = {\n  message: 'Do you really want to leave? you have unsaved changes!',\n  useConfirmBtn: true,\n  customCloseBtnText: 'Yes',\n  customConfirmBtnText: 'No',\n  onClose: this.Leave,\n  onConfirm: this.StayWhereYouAre\n}\n```\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)\n"
  },
  {
    "path": "docs/method-and-props.md",
    "content": "# Methods And Props\n\n## Available Props\n\nYou can add props in `simplert` component, example :\n\n```html\n<simplert :useRadius=\"true\"\n          :useIcon=\"true\"\n          ref=\"simplert\">\n</simplert>\n```\n\n| Attribute         \t        | Value Type            |Default Value| Description                          \t|\n|---------------------------\t|-----------------------|-------------|--------------------------------------\t|\n| :useRadius         \t        | Boolean               | true | Setting useRadius to true will make Simplert's message box and buttons have rounded corners    \t|\n| :useIcon         \t          | Boolean               | true | true : will use SweatAlert icon based on `type`, false : not use icon         \t|\n| ref                         | String                | -           | child reference, [read here]         \t|\n\n## Available Methods\n\nYou can call available methods in `simplert` with `this.$refs.simplert.someMethod()`, example : \n\n```javascript\nvar obj = {\n  isShown: true,\n  title: 'test',\n  message: 'message',\n  type: 'success',\n  onClose: this.onClose\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n| Method Name                   | Parameter             | Description                                        \t|\n|-----------------------------\t|-----------------------|---------------------------------------------------\t|\n| closeOverlay                  | -                     | close overlay and simplert (internal method : do not call) |\n| justCloseSimplert             | -                     | close simplert without fired `onClose` method        \t|\n| whenConfirm                   | -                     | fired `onConfirm` and close simplert popup            |\n| closeSimplert                 | -                     | close simplert popup                                  |\n| openSimplert         \t        | Object                | open simplert popup with predifined object passed     |\n\n## Object Parameter Simplert\n\n| Property                   | Type - Default       | Description                                        \t|\n|--------------------------- |----------------------|---------------------------------------------------\t|\n| title                      | string - empty       | Title of alert                                      |\n| message                    | string - empty       | Message of alert                                    |\n| type                       | string - 'info'      | Type of icon will used                              |\n| customClass                | string - empty       | Adding extra class in parent simplert               |\n| customIconUrl              | string - empty       | Using custom icon instead of default                |\n| customCloseBtnText         | string - empty       | Using custom text in button close                   |\n| customCloseBtnClass        | string - empty       | Change default class in button close                |\n| onClose                    | func - undefined     | Function will fired when close button clicked       |\n| useConfirmBtn              | boolean - false      | Using two button with close and confirm             |\n| customConfirmBtnText       | string - empty       | Using custom text in button confirm                 |\n| customConfirmBtnClass      | string - empty       | Change default class in button confirm              |\n| onConfirm                  | func - undefined     | Function will fired when confirm button clicked     |\n| disableOverlayClick        | string - empty       | Prevent click overlay will close alert              |\n| hideAllButton              | boolean - false      | Hide both button close and confirm                  |\n| onOpen                     | func - undefined     | Function will fired when open alert                 |\n| showXclose                 | boolean - false      | Show X close button in right corner of alert        |\n\n```javascript\n{\n  title: 'test', //string -- title alert\n  message: 'message', //string -- message alert\n  type: 'success', //string -- type : info (default), success, warning, error\n  customClass: '', //string -- custom class in simplert div\n  customIconUrl: '', //string -- custom url custom image icon\n  customCloseBtnText: '', //string -- close button text\n  customCloseBtnClass: '', //string -- custom class for close button\n  onClose: this.onClose, //function -- when close triggered\n  useConfirmBtn: false, //boolean -- using confirm button\n  customConfirmBtnText: '', //string -- confirm button text\n  customConfirmBtnClass: '', //string -- custom class for confirm button\n  onConfirm: this.onConfirm, //function -- when confirm button triggered\n  disableOverlayClick: false, //boolean -- set to true if you want disable overlay click function\n  hideAllButton: false, //boolean -- set to true if you want hide all button\n  onOpen: null, //function -- when simplert open will fire this method if available\n  showXclose: true //boolean -- show x close button\n}\n```\n\n[read here]: https://vuejs.org/v2/guide/components.html#Child-Component-Refs\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)"
  },
  {
    "path": "docs/usage.md",
    "content": "# Usage\n\n## Add Simplert from CDN (Not supported again from v1.1.0)\n\nJust add this script link, replace `latest` with spesific version you want, ex : 0.5.1\n\n```html\n<script src=\"https://unpkg.com/vue2-simplert@latest/dist/simplert.bundle.js\"></script>\n```\n\n## Import from node_modules\n\nYou need run `npm install vue2-simplert --save` first, then import `simplert` to your component like\n\n```javascript\nimport Simplert from 'vue2-simplert'\nrequire('vue2-simplert/dist/simplert.css')\n```\n\n## Refer Simplert to components\n\n```javascript\n<script>\nexport default {\n   components: { Simplert }\n};\n</script>\n```\n\n## Template\n\n```html\n<simplert :useRadius=\"true\"\n          :useIcon=\"true\"\n          ref=\"simplert\">\n</simplert>\n```\n\n## Open Simplert\n\n```javascript\nlet obj = {\n   title: 'Custom Function',\n   message: 'Click close to trigger custom function',\n   type: 'info',\n   onClose: this.onClose\n}\nthis.$refs.simplert.openSimplert(obj)\n```\n\n![vue2-simplert](https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png)\n\nCopyright © 2017 by [Irfan Maulana](https://github.com/mazipan/)"
  },
  {
    "path": "favicon/browserconfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<browserconfig><msapplication><tile><square70x70logo src=\"/ms-icon-70x70.png\"/><square150x150logo src=\"/ms-icon-150x150.png\"/><square310x310logo src=\"/ms-icon-310x310.png\"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>"
  },
  {
    "path": "favicon/manifest.json",
    "content": "{\n    \"theme_color\": \"#f27474\",\n    \"background_color\": \"#fff\",\n    \"display\": \"standalone\",\n    \"start_url\": \"https://mazipan.github.io/vue2-simplert/?utm_source=pwa&utm_medium=homescreen\",\n    \"name\": \"Vue2-Simplert\",\n    \"short_name\": \"Vue2-Simplert\",\n    \"icons\": [{\n        \"src\": \"https://mazipan.github.io/vue2-simplert/favicon/android-icon-36x36.png\",\n        \"sizes\": \"36x36\",\n        \"type\": \"image\\/png\",\n        \"density\": \"0.75\"\n    }, {\n        \"src\": \"https://mazipan.github.io/vue2-simplert/favicon/android-icon-48x48.png\",\n        \"sizes\": \"48x48\",\n        \"type\": \"image\\/png\",\n        \"density\": \"1.0\"\n    }, {\n        \"src\": \"https://mazipan.github.io/vue2-simplert/favicon/android-icon-72x72.png\",\n        \"sizes\": \"72x72\",\n        \"type\": \"image\\/png\",\n        \"density\": \"1.5\"\n    }, {\n        \"src\": \"https://mazipan.github.io/vue2-simplert/favicon/android-icon-96x96.png\",\n        \"sizes\": \"96x96\",\n        \"type\": \"image\\/png\",\n        \"density\": \"2.0\"\n    }, {\n        \"src\": \"https://mazipan.github.io/vue2-simplert/favicon/android-icon-144x144.png\",\n        \"sizes\": \"144x144\",\n        \"type\": \"image\\/png\",\n        \"density\": \"3.0\"\n    }, {\n        \"src\": \"https://mazipan.github.io/vue2-simplert/favicon/android-icon-192x192.png\",\n        \"sizes\": \"192x192\",\n        \"type\": \"image\\/png\",\n        \"density\": \"4.0\"\n    }]\n}\n"
  },
  {
    "path": "jest.config.js",
    "content": "module.exports = {\n  verbose: true,\n  collectCoverageFrom: [\n    'src/Simplert.vue',\n    '!**/node_modules/**'\n  ],\n  coverageDirectory: 'test/coverage',\n  moduleNameMapper: {\n    '^~/(.*)$': '<rootDir>/src/$1',\n    '^@/(.*)$': '<rootDir>/src/$1',\n    '^vue$': 'vue/dist/vue.common.js'\n  },\n  moduleFileExtensions: ['js', 'vue', 'json'],\n  transform: {\n    '.*\\\\.(vue)$': 'vue-jest',\n    '^.+\\\\.js$': '<rootDir>/node_modules/babel-jest',\n  },\n  snapshotSerializers: ['<rootDir>/node_modules/jest-serializer-vue'],\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"vue2-simplert\",\n  \"description\": \"Vue 2 Alert Component (SweetAlert Inspired)\",\n  \"version\": \"1.0.0\",\n  \"license\": \"MIT\",\n  \"author\": \"Irfan Maulana (https://github.com/mazipan/)\",\n  \"homepage\": \"https://mazipan.github.io/vue2-simplert/\",\n  \"keywords\": [\n    \"vue2 alert\",\n    \"vue2 sweet alert\",\n    \"vue2 popup\",\n    \"vue alert\",\n    \"vue sweet alert\",\n    \"vue popup\"\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/mazipan/vue2-simplert.git\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/mazipan/vue2-simplert/issues\"\n  },\n  \"engines\": {\n    \"node\": \">= 4.0.0\",\n    \"npm\": \">= 3.0.0\"\n  },\n  \"scripts\": {\n    \"dev\": \"cross-env NODE_ENV=development webpack-dev-server --hot --color --open --config webpack.config.dev.js\",\n    \"build:demo\": \"cross-env NODE_ENV=production webpack --color --progress --hide-modules --config webpack.config.dev.js\",\n    \"build:lib\": \"cross-env NODE_ENV=production webpack --color --progress --hide-modules --config webpack.config.prod.js\",\n    \"dist\": \"./node_modules/.bin/rimraf ./dist && npm run build:demo && npm run build:lib\",\n    \"test\": \"./node_modules/.bin/jest --coverage\",\n    \"docs\": \"gitbook install && gitbook serve\",\n    \"publish-demo\": \"node ./publish-demo.js\"\n  },\n  \"main\": \"dist/simplert.js\",\n  \"files\": [\n    \"dist/simplert.js\",\n    \"dist/simplert.js.gz\",\n    \"dist/simplert.css\",\n    \"dist/simplert.css.gz\",\n    \"src/main-dist.js\",\n    \"src/Simplert.vue\"\n  ],\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.1.2\",\n    \"@babel/preset-env\": \"^7.1.0\",\n    \"@vue/test-utils\": \"^1.0.0-beta.25\",\n    \"autoprefixer\": \"^9.1.5\",\n    \"babel-core\": \"7.0.0-bridge.0\",\n    \"babel-jest\": \"23.6.0\",\n    \"babel-loader\": \"^8.0.4\",\n    \"compression-webpack-plugin\": \"^2.0.0\",\n    \"copy-webpack-plugin\": \"4.5.2\",\n    \"cross-env\": \"^5.2.0\",\n    \"css-loader\": \"^1.0.0\",\n    \"es6-promise\": \"^4.2.5\",\n    \"eslint\": \"^5.6.1\",\n    \"eslint-plugin-vue\": \"4.7.1\",\n    \"friendly-errors-webpack-plugin\": \"^1.7.0\",\n    \"gh-pages\": \"^2.0.1\",\n    \"gitbook-cli\": \"2.3.2\",\n    \"gitbook-plugin-comment\": \"^1.0.5\",\n    \"gitbook-plugin-favicon\": \"0.0.2\",\n    \"gitbook-plugin-git-author\": \"1.1.2\",\n    \"gitbook-plugin-github\": \"^3.0.0\",\n    \"gitbook-plugin-prism-ext\": \"^3.1.2\",\n    \"html-webpack-plugin\": \"^3.2.0\",\n    \"jest\": \"^23.6.0\",\n    \"jest-serializer-vue\": \"^2.0.2\",\n    \"mini-css-extract-plugin\": \"^0.4.3\",\n    \"node-sass\": \"^4.9.3\",\n    \"optimize-css-assets-webpack-plugin\": \"^5.0.1\",\n    \"sass-loader\": \"^7.1.0\",\n    \"uglifyjs-webpack-plugin\": \"^2.0.1\",\n    \"vue\": \"^2.5.17\",\n    \"vue-highlightjs\": \"1.3.3\",\n    \"vue-jest\": \"^2.6.0\",\n    \"vue-loader\": \"^15.4.2\",\n    \"vue-template-compiler\": \"^2.5.17\",\n    \"vue-test-utils\": \"^1.0.0-beta.11\",\n    \"webpack\": \"^4.20.2\",\n    \"webpack-cli\": \"^3.1.2\",\n    \"webpack-dev-server\": \"^3.1.9\",\n    \"webpack-merge\": \"^4.1.4\",\n    \"webpack-serve\": \"^2.0.2\",\n    \"webpack-shell-plugin\": \"^0.5.0\",\n    \"workbox-webpack-plugin\": \"^3.6.2\"\n  },\n  \"dependencies\": {\n    \"gitbook-plugin-github\": \"^2.0.0\",\n    \"vue2-simplert-core\": \"1.0.3\"\n  }\n}\n"
  },
  {
    "path": "publish-demo.js",
    "content": "const ghpages = require('gh-pages')\nconst BRANCH = 'gh-pages'\nconst FOLDER_DIST = 'dist'\n\nconst TODAY = new Date().toLocaleString()\n\nconsole.log(`start publishing folder ${FOLDER_DIST} to ${BRANCH}`)\n\nghpages.publish(FOLDER_DIST, {\n  branch: BRANCH,\n  message: `Publishing folder ${FOLDER_DIST} to ${BRANCH} in ${TODAY}`\n}, () => {\n  console.log(`done publishing folder ${FOLDER_DIST} to ${BRANCH}`)\n})"
  },
  {
    "path": "src/App.vue",
    "content": "<template>\n  <div class=\"grid__row\">\n\n    <div class=\"fixed-top\">\n      <a class=\"button button--radius button--green btn-top\"  href=\"https://vue2-simplert.gitbook.io/docs/\"\n        target=\"_blank\">\n          <i class=\"fa fa-book\" aria-hidden=\"true\"></i> Docs\n      </a>\n      <a class=\"button button--radius button--blue btn-top\"  href=\"https://github.com/mazipan/vue2-simplert\"\n        target=\"_blank\">\n          <i class=\"fa fa-download\" aria-hidden=\"true\"></i> Download\n      </a>\n    </div>\n\n    <div class=\"header__title\">\n      <img src=\"https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png\"\n      alt=\"Vue2-Simplert\" title=\"Vue2-Simplert\" />\n\n      <h1 class=\"header__subtitle\">\n        Vue 2 Simple Alert Component (SweetAlert Inspired) By Irfan Maulana\n      </h1>\n    </div>\n\n    <div class=\"grid__row content centered\">\n      <h2>Basic Examples</h2>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Information Alert</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"open('Information!', 'Hey, I am Opened...', 'info')\">\n                Click Me!\n          </button>\n        </div>\n\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n        <div class=\"example__title\">Success Alert</div>\n          <button class=\"button button--radius button--green\"\n                  @click=\"open('Success!', 'Hey, I am Opened...', 'success')\">\n                Click Me!\n          </button>\n        </div>\n\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'success'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Error Alert</div>\n          <button class=\"button button--radius button--red\"\n                  @click=\"open('Error!', 'Hey, I am Opened...', 'error')\">\n                Click Me!\n          </button>\n        </div>\n\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'error'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Warning Alert</div>\n          <button class=\"button button--radius button--orange\"\n                  @click=\"open('Warning!', 'Hey, I am Opened...', 'warning')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'warning'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <h2>More Advance Examples</h2>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert Without Title</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"open('', 'Hey, I am Opened, but I dont have title', '')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              message: 'Alert Message',\n              type: 'info'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With HTML</div>\n          <button class=\"button button--radius button--orange\"\n                  @click=\"openCustomHtml\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: '&lt;span style=\"color:red;\">I am HTML&lt;/span>',\n              type: 'info'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Custom Close Text</div>\n          <button class=\"button button--radius button--green\"\n                  @click=\"open('Custom Close Text', 'Hey, I am Opened...', '', '', 'Custom Close Text')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              customCloseBtnText: 'I am Close Button'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Custom Close Class</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"open('Custom Close Class', 'Hey, I am Opened...', '', '', '', 'button button--radius button--red')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              customCloseBtnClass: 'btn-warning'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Custom Close Function</div>\n          <button class=\"button button--radius button--red\"\n                  @click=\"openCustomFunction\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let closeFn = function() {\n              alert(\"I am Closed\")\n            }\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              onClose: closeFn\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Custom Class</div>\n          <button class=\"button button--radius button--red\"\n                  @click=\"open('Custom Class', 'Hey, I am Opened...', '', '', '', '', 'custom-class')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              customClass: 'popup-custom-class'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Custom Icon</div>\n          <button class=\"button button--radius button--green\"\n                  @click=\"open('Custom Icon', 'Hey, I am Opened...', '', '', '', '', '', 'https://cdn2.iconfinder.com/data/icons/social-productivity-line-art-1/128/face-sad-512.png')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              customIconUrl: 'https://cdn2.iconfinder.com/data/icons/social-productivity-line-art-1/128/face-sad-512.png'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Confirm Button</div>\n          <button class=\"button button--radius button--red\"\n                  @click=\"openWithConfirm('Confirm Button', 'Hey, I have Confirm Button Now', false)\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              useConfirmBtn: true\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Confirm Button Custom Text</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"openWithConfirm('Confirm Button Custom Text', 'Hey, I am Opened...', false, 'Custom Text Confirm')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              useConfirmBtn: true,\n              customConfirmBtnText: 'OK'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Confirm Function</div>\n          <button class=\"button button--radius button--orange\"\n                  @click=\"openWithConfirm('Confirm Function', 'Click Confirm to trigger function', true)\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let confirmFn = function() {\n              alert(\"I am Confirmed\")\n            }\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              useConfirmBtn: true,\n              onConfirm: confirmFn\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Confirm Button Custom Class</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"openWithConfirm('Confirm Button Custom Class', 'Hey, I am Opened...', false, '', 'button button--radius button--red')\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              useConfirmBtn: true,\n              customConfirmBtnClass: 'btn-warning'\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Disable Overlay Click</div>\n          <button class=\"button button--radius button--green\"\n                  @click=\"openDisabledOverlayClick\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              disableOverlayClick: true\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With All Button Hidden</div>\n          <button class=\"button button--radius button--orange\"\n                  @click=\"openWithHiddenButton\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              hideAllButton: true\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert With Very Custom Style</div>\n          <button class=\"button button--radius button--green\"\n                  @click=\"openWithStyle\">\n                Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Confirmation',\n              message: 'Do you want to procced ?',\n              customClass: 'custom-simplert',\n              customIconUrl: '',\n              customCloseBtnText: 'No, Just Close',\n              customCloseBtnClass: 'no-procced-btn',\n              onClose: this.onClose,\n              useConfirmBtn: true,\n              customConfirmBtnText: 'Yes, Procced Me',\n              customConfirmBtnClass: 'procced-btn',\n              onConfirm: this.onConfirm\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert with OnOpen Function</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"openWithOnOpen\">\n            Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let openFn = function() {\n              alert(\"I am Confirmed\")\n            }\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              onOpen: openFn\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n      <div class=\"grid__row content__row\">\n        <div class=\"grid__col-6\">\n          <div class=\"example__title\">Alert with X close button</div>\n          <button class=\"button button--radius button--blue\"\n                  @click=\"openWithXbtn\">\n            Click Me!\n          </button>\n        </div>\n        <div class=\"grid__col-6\">\n          <pre v-highlightjs>\n            <code class=\"javascript\">\n            let obj = {\n              title: 'Alert Title',\n              message: 'Alert Message',\n              type: 'info',\n              showXclose: true\n            }\n            this.$refs.simplert.openSimplert(obj)\n            </code>\n          </pre>\n        </div>\n      </div>\n\n    </div>\n\n\n    <div class=\"grid__row content centered\">\n      <h2>Download</h2>\n\n      <p>\n        <a href=\"https://www.npmjs.com/package/vue2-simplert\">\n          <img src=\"https://img.shields.io/badge/download-npmjs-red.svg?maxAge=3600\" alt=\"vue2simplert-npmjs\">\n        </a>\n        <br/><br/>\n        <code>npm install vue2-simplert@latest --save-dev</code>\n      </p>\n\n      <p>\n        <a href=\"https://yarnpkg.com/en/package/vue2-simplert\">\n          <img src=\"https://img.shields.io/badge/download-yarn-blue.svg?maxAge=3600\" alt=\"vue2simplert-yarnpkg\">\n        </a>\n        <br/><br/>\n        <code>yarn add vue2-simplert@latest</code>\n      </p>\n\n      <p>\n        Or download latest release <a href=\"https://github.com/mazipan/vue2-simplert/releases\">here</a>\n      </p>\n\n\n      <p>\n        Current Version\n        <br/><br/>\n        <a href=\"https://www.npmjs.com/package/vue2-simplert\">\n          <img src=\"https://img.shields.io/npm/v/vue2-simplert.svg\" alt=\"vue2simplert-version\">\n        </a>\n      </p>\n\n    </div>\n\n    <div class=\"grid__row content centered\">\n      <h2>Projects Using Vue2-Simplert</h2>\n\n      <ul class=\"users\">\n          <li>\n              <a href=\"https://www.blibli.com/?utm_source=mazipan-github-io&utm_medium=vue2-simplert\" title=\"Blibli.com\">\n                <img src=\"https://www.static-src.com/resources/images/logo-blibli.png\">\n              </a>\n          </li>\n          <li>\n              <a href=\"https://www.blibli.com/travel?utm_source=mazipan-github-io&utm_medium=vue2-simplert\" title=\"Blibli.com Travel\">\n                <img src=\"https://www.static-src.com/travel/2.2.1/resources/hotel/images/thumbnail-blibli-travel.png\">\n              </a>\n          </li>\n          <li>\n            <a class=\"add-button\" href=\"https://github.com/mazipan/vue2-simplert/issues/19\" title=\"Add your logo here\">\n              <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i>\n            </a>\n          </li>\n          <li>\n            <a class=\"add-button\" href=\"https://github.com/mazipan/vue2-simplert/issues/14\" title=\"Share your experience\">\n              <i class=\"fa fa-comments\" aria-hidden=\"true\"></i>\n            </a>\n          </li>\n      </ul>\n\n    </div>\n\n    <div class=\"grid__row content centered\">\n      <h2>Contribute</h2>\n\n      <p>\n        Feel free to fork <i class=\"fa fa-code-fork\"></i> Vue2-Simplert on <a href=\"https://github.com/mazipan/vue2-simplert\"\n      target=\"_blank\">GitHub <i class=\"fa fa-github\"></i></a> if you have any features <i class=\"fa fa-cart-plus\"></i> or bugs <i class=\"fa fa-bug\"></i>!\n      </p>\n\n    </div>\n\n    <div class=\"grid__row content centered\">\n      <h2>Contact Developer</h2>\n\n      <p>\n\n        <a href=\"https://github.com/mazipan\">\n          <img src=\"https://img.shields.io/badge/mazipan-Github-lightgrey.svg?maxAge=3600\"\n            alt=\"Github\">\n        </a>\n\n        <a href=\"mailto:mazipanneh@gmail.com\">\n          <img src=\"https://img.shields.io/badge/mazipanneh-Email-yellow.svg?maxAge=3600\"\n            alt=\"Email\">\n        </a>\n\n        <a href=\"https://mazipanneh.com/blog/\">\n          <img src=\"https://img.shields.io/badge/mazipanneh-Blog-brightgreen.svg?maxAge=3600\"   alt=\"Blog\">\n        </a>\n\n        <a href=\"https://facebook.com/mazipanneh\">\n          <img src=\"https://img.shields.io/badge/mazipanneh-Facebook-blue.svg?maxAge=3600\"\n            alt=\"Facebook\">\n        </a>\n\n        <br/>\n\n        <a href=\"https://twitter.com/Maz_Ipan\">\n          <img src=\"https://img.shields.io/badge/Maz_Ipan-Twitter-55acee.svg?maxAge=3600\"\n            alt=\"Twitter\">\n        </a>\n\n        <a href=\"https://id.linkedin.com/in/irfanmaulanamazipan\">\n          <img src=\"https://img.shields.io/badge/irfanmaulanamazipan-Linkedin-0077b5.svg?maxAge=3600\"\n            alt=\"Linkedin\">\n        </a>\n\n        <a href=\"https://www.slideshare.net/IrfanMaulana21\">\n          <img src=\"https://img.shields.io/badge/IrfanMaulana21-Slideshare-0077b5.svg?maxAge=3600\"\n            alt=\"Slideshare\">\n        </a>\n      </p>\n\n    </div>\n\n    <div class=\"grid__row content centered\">\n      <p>\n        Copyright © 2017 <a href=\"https://mazipanneh.com/blog/\">Irfan Maulana</a>, All Rights Reserved.\n      </p>\n    </div>\n\n    <!-- Vue2-Simplert DOM start -->\n    <simplert :useRadius=\"true\"\n              :useIcon=\"true\"\n              ref=\"simplert\">\n    </simplert>\n\n  </div>\n</template>\n\n<script src=\"./app.js\">\n</script>\n\n<style lang=\"css\" src=\"./custom-style.css\"></style>\n"
  },
  {
    "path": "src/Simplert.vue",
    "content": "<template\n  src=\"vue2-simplert-core/simplert.html\">\n</template>\n\n<script>\nimport simplertMixin from 'vue2-simplert-core'\n\nexport default {\n  name: 'Simplert',\n  mixins: [\n    simplertMixin\n  ]\n}\n</script>\n\n<style\n  src=\"vue2-simplert-core/simplert.css\">\n</style>\n"
  },
  {
    "path": "src/app.js",
    "content": "import Simplert from './Simplert.vue'\n\nexport default {\n  components: {\n    Simplert\n  },\n  data() {\n    return {}\n  },\n  methods: {\n    open(title, message, type, color, customCloseBtnText, customCloseBtnClass, customClass, customIconUrl) {\n      let obj = {\n        title: title,\n        message: message,\n        type: type\n      }\n\n      if (customCloseBtnText) {\n        obj.customCloseBtnText = customCloseBtnText\n      }\n\n      if (customCloseBtnClass) {\n        obj.customCloseBtnClass = customCloseBtnClass\n      }\n\n      if (customClass) {\n        obj.customClass = customClass\n      }\n\n      if (customIconUrl) {\n        obj.customIconUrl = customIconUrl\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openCustomHtml() {\n      let obj = {\n        title: 'Custom HTML',\n        message: '<span style=\"color:red;\">I am HTML</span>',\n        type: 'info'\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    onOpen() {\n      alert(\"Hey, I am called when alert is opened\")\n    },\n\n    onClose() {\n      alert('Hey, I am Close Function')\n    },\n\n    onConfirm() {\n      alert('Hey, You Confirmed')\n    },\n\n    openCustomFunction() {\n      let obj = {\n        title: 'Custom Function',\n        message: 'Click close to trigger custom function',\n        type: 'info',\n        onClose: this.onClose\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openWithOnOpen() {\n      let obj = {\n        title: 'On Open Function',\n        message: 'There should be an alert before you see this',\n        type: 'info',\n        onOpen: this.onOpen\n      }\n\n      console.log('open simplert with obj: ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openWithConfirm(title, message, isCustomFunction, customConfirmBtnText, customConfirmBtnClass) {\n      let obj = {\n        title: title,\n        message: message,\n        type: 'info',\n        useConfirmBtn: true,\n      }\n\n      if (isCustomFunction) {\n        obj.onConfirm = this.onConfirm\n      }\n\n      if (customConfirmBtnText) {\n        obj.customConfirmBtnText = customConfirmBtnText\n      }\n\n      if (customConfirmBtnClass) {\n        obj.customConfirmBtnClass = customConfirmBtnClass\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openDisabledOverlayClick() {\n      let obj = {\n        title: 'Disable Overlay Click',\n        message: 'Now You can not close me by clicking overlay',\n        type: 'info',\n        disableOverlayClick: true\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openWithHiddenButton() {\n      let obj = {\n        title: 'Hey, I am Title',\n        message: 'I am Message',\n        type: 'info',\n        hideAllButton: true\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openWithXbtn() {\n      let obj = {\n        title: 'Hey, I am Title',\n        message: 'I am Message',\n        type: 'info',\n        showXclose: true\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    },\n\n    openWithStyle() {\n      let obj = {\n        title: 'Confirmation',\n        message: 'Do you want to procced ?',\n        customClass: 'custom-simplert',\n        customIconUrl: '',\n        customCloseBtnText: 'No, Just Close',\n        customCloseBtnClass: 'no-procced-btn',\n        onClose: this.onClose,\n        useConfirmBtn: true,\n        customConfirmBtnText: 'Yes, Procced Me',\n        customConfirmBtnClass: 'procced-btn',\n        onConfirm: this.onConfirm\n      }\n\n      console.log('open simplert with obj : ', obj)\n      this.$refs.simplert.openSimplert(obj)\n    }\n\n  }\n};\n"
  },
  {
    "path": "src/custom-style.css",
    "content": "body {\n  background-color: #f2f4f6;\n}\n\npre{\n  border: 0;\n  text-align: left;\n  margin: 0;\n  padding: 0;\n}\ncode{\n  margin: 0;\n  padding: 0;\n}\n\n.centered {\n  text-align: center;\n}\n\n.header__title {\n  margin-top: 26px;\n  text-align: center;\n}\n\n.header__subtitle {\n  font-size: 2rem;\n  font-weight: 200;\n  font-style: italic;\n  color: #a6b6b9;\n}\n\n.fixed-top {\n  position: fixed;\n  z-index: 3;\n  top: 0;\n  right: 30px;\n  margin: 26px 5px 0 5px;\n}\n\n.btn-top {\n  font-weight: 500;\n  text-transform: uppercase;\n}\n\n.example__title {\n  font-size: 1.6rem;\n  color: #a6b6b9;\n  margin: 1em;\n}\n\n.content__row {\n  margin: 20px 0;\n}\n\n.content {\n  margin: 20px 0;\n}\n\n.custom-class .simplert__content {\n  color: #fff !important;\n  background-color: purple !important;\n}\n\n.users {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  text-align: center;\n}\n\n.users li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.users li a {\n  display: block;\n  padding: 20px;\n  transition: all .3s ease;\n}\n\n.users li a:hover {\n  background-color: #d4dbe1;\n}\n\n.users li a img {\n  max-width: 100%;\n  height: 40px;\n}\n\n.add-button {\n  font-size: 3rem;\n}\n\n@media (max-width: 768px) {\n  .header__title img {\n    width: 80%;\n  }\n\n  .fixed-top {\n    position: inherit;\n  }\n\n  .grid__col-3 {\n    padding: .5em 1em;\n    text-align: center;\n  }\n}\n.custom-simplert {\n  color: #666;\n}\n\n.procced-btn {\n  outline: none;\n  border: none;\n  text-align: center;\n  text-decoration: none;\n  cursor: pointer;\n  display: block !important;\n  width: 100% !important;\n  margin: 5px !important;\n  padding: 15px 20px !important;\n  background-color: #f7931e !important;\n  color: #fff;\n  border-radius: .25em;\n}\n\n.no-procced-btn {\n  outline: none;\n  border: none;\n  text-align: center;\n  text-decoration: none;\n  cursor: pointer;\n  display: block !important;\n  width: 100% !important;\n  margin: 5px !important;\n  padding: 15px 20px !important;\n  color: #0096d9 !important;\n  border: 1px solid #0096d9 !important;\n  background-color: white !important;\n  border-radius: .25em;\n}\n"
  },
  {
    "path": "src/index.ejs",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n  <meta name=\"robots\" content=\"index, follow\" />\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=7\">\n  <title>Vue2-Simplert | Vue2 Simple Alert Component By Irfan Maulana</title>\n  <meta name=\"language\" content=\"en-EN\" />\n  <meta name=\"author\" content=\"Irfan Maulana\" />\n  <meta name=\"keywords\" content=\"vue alert, vue2 alert, vue sweatalert, vue simple alert, vue simplert\" />\n  <meta name=\"description\" content=\"Vue2-Simplert - Vue 2 Simple Alert Component (SweetAlert Inspired) Developed By Irfan Maulana\" />\n  <link rel=\"author\" href=\"https://plus.google.com/u/0/+irfanmaulana-mazipan/posts\" />\n  <link rel=\"publisher\" href=\"https://plus.google.com/u/0/+irfanmaulana-mazipan\" />\n  <meta property=\"og:title\" content=\"Vue2-Simplert | Vue2 Simple Alert Component By Irfan Maulana\" />\n  <meta property=\"og:description\" content=\"Vue2-Simplert - Vue 2 Simple Alert Component (SweetAlert Inspired) Developed By Irfan Maulana\" />\n  <meta property=\"og:url\" content=\"https://mazipan.github.io/vue2-simplert/\" />\n  <meta property=\"og:image\" content=\"https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo+icon.png\" />\n  <meta property=\"og:image:secure_url\" content=\"https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo+icon.png\" />\n  <meta property=\"og:site_name\" content=\"vue2-simplert\" />\n  <meta property=\"og:type\" content=\"website\" />\n  <meta property=\"og:image:width\" content=\"300\" />\n  <meta property=\"og:image:height\" content=\"300\" />\n  <meta name=\"twitter:card\" content=\"summary_large_image\" />\n  <meta name=\"twitter:site\" content=\"@maz_ipan\" />\n  <meta name=\"twitter:creator\" content=\"@maz_ipan\" />\n  <meta name=\"twitter:title\" content=\"Vue2-Simplert | Vue2 Simple Alert Component By Irfan Maulana\" />\n  <meta name=\"twitter:description\" content=\"Vue2-Simplert - Vue 2 Simple Alert Component (SweetAlert Inspired) Developed By Irfan Maulana\" />\n  <meta name=\"twitter:image:src\" content=\"https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo+icon.png\" />\n  <meta name=\"twitter:image:width\" content=\"300\" />\n  <meta name=\"twitter:image:height\" content=\"300\" />\n  <meta name=\"twitter:domain\" content=\"https://mazipan.github.io/vue2-simplert/\" />\n  <link rel=\"home\" href=\"https://mazipan.github.io/vue2-simplert/\">\n  <link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"/vue2-simplert/favicon/apple-icon-57x57.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"/vue2-simplert/favicon/apple-icon-60x60.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"/vue2-simplert/favicon/apple-icon-72x72.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"/vue2-simplert/favicon/apple-icon-76x76.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"/vue2-simplert/favicon/apple-icon-114x114.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"/vue2-simplert/favicon/apple-icon-120x120.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"/vue2-simplert/favicon/apple-icon-144x144.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"/vue2-simplert/favicon/apple-icon-152x152.png\">\n  <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/vue2-simplert/favicon/apple-icon-180x180.png\">\n  <link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/vue2-simplert/favicon/android-icon-192x192.png\">\n  <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/vue2-simplert/favicon/favicon-32x32.png\">\n  <link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"/vue2-simplert/favicon/favicon-96x96.png\">\n  <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/vue2-simplert/favicon/favicon-16x16.png\">\n  <link rel=\"manifest\" href=\"/vue2-simplert/favicon/manifest.json\">\n  <meta name=\"msapplication-TileColor\" content=\"#ffffff\">\n  <meta name=\"msapplication-TileImage\" content=\"/vue2-simplert/favicon/ms-icon-144x144.png\">\n  <meta name=\"theme-color\" content=\"#ffffff\">\n  <link rel=\"stylesheet\" href=\"https://mazipan.github.io/bem-kit/dist/bem-kit.min.css\">\n  <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\">\n  <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/monokai.min.css\">\n\n\t<!-- Global site tag (gtag.js) - Google Analytics -->\n\t<script async src=\"https://www.googletagmanager.com/gtag/js?id=UA-25065548-2\"></script>\n\t<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-25065548-2');</script>\n\n\t<!-- GOOGLE ANALYTICS AND FRIENDS -->\n  <script async src=\"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script>\n  <script>(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: \"ca-pub-5442972248172818\",enable_page_level_ads: true});</script>\n\n</head>\n\n<body>\n  <noscript><p>Please use the latest browser and enable javascript.</p></noscript>\n\n  <div id=\"app\"></div>\n\n <!-- GOOGLE ANALYTICS AND FRIENDS -->\n <script async src=\"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script>\n <ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-5442972248172818\" data-ad-slot=\"1487770485\" data-ad-format=\"auto\"></ins>\n <script>(adsbygoogle = window.adsbygoogle || []).push({});</script>\n <script type=\"application/ld+json\">{\"@context\":\"http://schema.org\",\"@type\":\"WebSite\",\"url\":\"https://www.mazipan.github.io/\",\"name\":\"Irfan Maulana | Front End Developer\",\"author\":\"Irfan Maulana\",\"image\":\"http://mazipan.github.io/images/irfan-maulana.jpg\",\"description\":\"Irfan Maulana is Front End Developer from Indonesia - Man that craft some code to build a beauty and readable code, experienced in web and desktop technology.\",\"sameAs\":[\"https://www.facebook.com/mazipanneh\",\"https://instagram.com/maz_ipan\",\"https://twitter.com/Maz_Ipan\",\"https://id.linkedin.com/in/irfanmaulanamazipan\",\"https://www.slideshare.net/IrfanMaulana21\",\"https://github.com/mazipan\"]}</script> <script type=\"application/ld+json\">{\"@context\":\"http://schema.org\",\"@type\":\"Person\",\"email\":\"mailto:mazipanneh@gmail.com\",\"image\":\"http://mazipan.github.io/images/irfan-maulana.jpg\",\"jobTitle\":\"Software Engineer\",\"name\":\"Irfan Maulana\",\"url\":\"https://www.mazipan.github.io/\",\"sameAs\":[\"https://www.facebook.com/mazipanneh\",\"https://instagram.com/maz_ipan\",\"https://twitter.com/Maz_Ipan\",\"https://id.linkedin.com/in/irfanmaulanamazipan\",\"https://www.slideshare.net/IrfanMaulana21\",\"https://github.com/mazipan\"]}</script>\n <script type=\"application/ld+json\">{\"@context\":\"http://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@id\":\"http://mazipan.github.io/\",\"name\":\"Home\",\"image\":\"http://mazipan.github.io/images/irfan-maulana.jpg\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"http://mazipan.github.io/demo/\",\"name\":\"Demo\",\"image\":\"http://mazipan.github.io/images/irfan-maulana.jpg\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@id\":\"http://mazipan.github.io/vue2-simplert\",\"name\":\"vue2-simplert\",\"image\":\"https://mazipan.github.io/vue2-simplert/images/vue2-simplert-logo.png\"}}]}</script>\n\n</body>\n\n</html>\n"
  },
  {
    "path": "src/main-dist.js",
    "content": "import Simplert from './Simplert.vue'\n\nconst plugin = {\n  install: Vue => {\n    Vue.component(Simplert.name, Simplert)\n  }\n}\n\nSimplert.install = plugin.install\nexport default Simplert\n"
  },
  {
    "path": "src/main.js",
    "content": "/* eslint-disable space-before-blocks */\n// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport App from './App.vue'\nimport VueHighlightJS from 'vue-highlightjs'\n\nif (process.env.NODE_ENV !== 'production'){\n  Vue.config.devtools = true\n}\n\nVue.use(VueHighlightJS)\n\n/* eslint-disable no-new */\nnew Vue({\n  el: '#app',\n  components: {App},\n  template: '<App/>'\n})\n"
  },
  {
    "path": "test/.eslintrc",
    "content": "{\n  \"globals\": {\n    \"expect\": true,\n    \"describe\": true,\n    \"it\": true,\n    \"beforeEach\": true\n  }\n}\n"
  },
  {
    "path": "test/Simplert.spec.js",
    "content": "import {\n  createLocalVue,\n  shallowMount\n} from '@vue/test-utils'\nimport Simplert from '../src/Simplert.vue'\n\ndescribe('Simplert.vue', () => {\n  // -- UNIT TEST COMPUTED VARIABEL\n  it('Computed Class Simplert', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.customClass = 'custom'\n    expect(vm.classSimplert).toEqual('custom')\n  })\n\n  it('Computed Class Simplert When Popup Show', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.customClass = 'custom'\n    vm.showSimplert = true\n    expect(vm.classSimplert).toEqual('custom simplert--shown')\n  })\n  it('Computed Class Content', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.useRadius = false\n    expect(vm.classContent).toEqual('')\n  })\n  it('Computed Class Content When useRadius', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.useRadius = true\n    expect(vm.classContent).toEqual('simplert__content--radius')\n  })\n  it('Computed Class Button Close', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.useRadius = false\n    expect(vm.classBtnClose).toEqual('simplert__close')\n  })\n  it('Computed Class Button Close When useRadius', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.useRadius = true\n    expect(vm.classBtnClose).toEqual('simplert__close simplert__close--radius')\n  })\n  it('Computed Class Button Close When customCloseBtnClass', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.customCloseBtnClass = 'custom'\n    expect(vm.classBtnClose).toEqual('custom')\n  })\n  it('Computed Class Button Confirm', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.useRadius = false\n    expect(vm.classBtnConfirm).toEqual('simplert__confirm')\n  })\n  it('Computed Class Button Confirm When useRadius', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.useRadius = true\n    expect(vm.classBtnConfirm).toEqual(\n      'simplert__confirm simplert__confirm--radius'\n    )\n  })\n  it('Computed Class Button Confirm When customConfirmBtnClass', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.customConfirmBtnClass = 'custom'\n    expect(vm.classBtnConfirm).toEqual('custom')\n  })\n  // -- UNIT TEST METHOD FUNCTION\n  it('Close Overlay Wrong Class', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.disableOverlayClick = false\n    vm.closeOverlay({\n      preventDefault: function () {},\n      target: {\n        className: 'classDummy'\n      }\n    })\n    expect(typeof vm.closeOverlay).toEqual('function')\n    expect(vm.showSimplert).toBe(true)\n  })\n  it('Close Overlay Wrong Class And NOT disableOverlayClick', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.disableOverlayClick = true\n    vm.closeOverlay({\n      preventDefault: function () {},\n      target: {\n        className: 'classDummy'\n      }\n    })\n    expect(typeof vm.closeOverlay).toEqual('function')\n    expect(vm.showSimplert).toBe(true)\n  })\n  it('Close Overlay Right Class', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.disableOverlayClick = false\n    vm.closeOverlay({\n      preventDefault: function () {},\n      target: {\n        className: 'simplert simplert--shown'\n      }\n    })\n    expect(typeof vm.closeOverlay).toEqual('function')\n    expect(vm.showSimplert).toBe(false)\n  })\n  it('Close Overlay Right Class And NOT disableOverlayClick', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.disableOverlayClick = true\n    vm.closeOverlay({\n      preventDefault: function () {},\n      target: {\n        className: 'simplert simplert--shown'\n      }\n    })\n    expect(typeof vm.closeOverlay).toEqual('function')\n    expect(vm.showSimplert).toBe(true)\n  })\n  it('Default Confirm Function', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.whenConfirm({\n      preventDefault: function () {}\n    })\n    expect(vm.showSimplert).toBe(false)\n  })\n  it('Custom Confirm Function', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.onConfirm = function () {}\n    vm.whenConfirm({\n      preventDefault: function () {}\n    })\n    expect(vm.showSimplert).toBe(false)\n  })\n  it('Default Close Simplert', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.closeSimplert({\n      preventDefault: function () {}\n    })\n    expect(vm.showSimplert).toBe(false)\n  })\n  it('Custom Close Simplert', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.onClose = function () {}\n    vm.closeSimplert({\n      preventDefault: function () {}\n    })\n    expect(vm.showSimplert).toBe(false)\n  })\n  it('Open with empty config', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.openSimplert()\n    expect(vm.showSimplert).toBe(false)\n  })\n  it('Open with title', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n  })\n  it('Open with message', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n  })\n  it('Open with type', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      type: 'success'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.type).toEqual('success')\n  })\n  it('Open with custom class', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      customClass: 'custom-class'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.customClass).toEqual('custom-class')\n  })\n  it('Open with custom icon', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      customIconUrl: 'url'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.type).toEqual('INVALID_TYPE')\n    expect(vm.customIconUrl).toEqual('url')\n  })\n  it('Open with custom close button text', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      customCloseBtnText: 'close me'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.customCloseBtnText).toEqual('close me')\n  })\n  it('Open with custom close button class', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      customCloseBtnClass: 'custom-class'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.customCloseBtnClass).toEqual('custom-class')\n  })\n  it('Open with custom close function', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      onClose: function () {}\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.onClose).not.toBe(null)\n  })\n  it('Open with confirm button', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      useConfirmBtn: true\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.useConfirmBtn).toBe(true)\n  })\n  it('Open with custom confirm button text', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      useConfirmBtn: true,\n      customConfirmBtnText: 'confirm me'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.useConfirmBtn).toBe(true)\n    expect(vm.customConfirmBtnText).toEqual('confirm me')\n  })\n  it('Open with custom confirm button class', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      useConfirmBtn: true,\n      customConfirmBtnClass: 'custom-class'\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.useConfirmBtn).toBe(true)\n    expect(vm.customConfirmBtnClass).toEqual('custom-class')\n  })\n  it('Open with custom confirm function', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      useConfirmBtn: true,\n      onConfirm: function () {}\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.useConfirmBtn).toBe(true)\n    expect(vm.onConfirm).not.toBe(null)\n  })\n  it('Open with disabled overlay click', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      disableOverlayClick: true\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.disableOverlayClick).toBe(true)\n  })\n  it('Open with all button hidden', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      hideAllButton: true\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.hideAllButton).toBe(true)\n  })\n  it('Open with showXclose', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      showXclose: true\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.showXclose).toBe(true)\n  })\n  it('Open with onOpen function', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    let obj = {\n      title: 'title',\n      message: 'message',\n      onOpen: function () {}\n    }\n    vm.openSimplert(obj)\n    expect(vm.showSimplert).toBe(true)\n    expect(vm.title).toEqual('title')\n    expect(vm.message).toEqual('message')\n    expect(vm.onOpen).not.toBe(null)\n  })\n  it('Call justCloseSimplert', () => {\n    let localVue = createLocalVue()\n    let wrapper = shallowMount(Simplert, {\n      localVue\n    })\n    const vm = wrapper.vm\n\n    vm.showSimplert = true\n    vm.justCloseSimplert()\n    expect(vm.showSimplert).toBe(false)\n  })\n})\n"
  },
  {
    "path": "webpack.config.base.js",
    "content": "const webpack = require('webpack')\nconst path = require('path')\nconst VueLoaderPlugin = require('vue-loader/lib/plugin')\nconst UglifyJsPlugin = require('uglifyjs-webpack-plugin')\nconst MiniCssExtractPlugin = require(\"mini-css-extract-plugin\")\nconst OptimizeCSSAssetsPlugin = require(\"optimize-css-assets-webpack-plugin\")\n\nconst SRC = path.resolve(__dirname, 'src');\nconst NODE_ENV = process.env.NODE_ENV;\n\nrequire('es6-promise').polyfill()\n\nconst isDev = () => {\n  return (NODE_ENV === 'development');\n};\n\nmodule.exports = {\n  mode: isDev() ? 'development' : 'production',\n  optimization:{\n    runtimeChunk: false,\n    splitChunks: {\n      chunks: \"all\",\n    },\n    // minimize: !isDev(),\n    // minimizer: isDev() ? [\n    //   new UglifyJsPlugin(),\n    //   new OptimizeCSSAssetsPlugin({})\n    // ] : []\n  },\n  resolve: {\n    extensions: ['.js', '.json', '.vue'],\n    alias: {\n      'vue$': 'vue/dist/vue.esm.js',\n      '@': SRC\n    }\n  },\n  devServer: {\n    historyApiFallback: true,\n    noInfo: false\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.css$/,\n        use: [\n          isDev()\n            ? 'vue-style-loader'\n            : MiniCssExtractPlugin.loader,\n          'css-loader'\n        ],\n      },\n      {\n        test: /\\.scss$/,\n        use: [\n          isDev()\n            ? 'vue-style-loader'\n            : MiniCssExtractPlugin.loader,\n          'css-loader',\n          'sass-loader'\n        ],\n      },\n      {\n        test: /\\.sass$/,\n        use: [\n          isDev()\n            ? 'vue-style-loader'\n            : MiniCssExtractPlugin.loader,\n          'css-loader',\n          'sass-loader?indentedSyntax'\n        ],\n      },\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader',\n        options: {\n          loaders: {\n            js: 'babel-loader',\n            scss: 'vue-style-loader!css-loader!sass-loader',\n            sass: 'vue-style-loader!css-loader!sass-loader?indentedSyntax'\n          }\n        }\n      },\n      {\n        test: /\\.m?js$/,\n        exclude: /(node_modules|bower_components)/,\n        use: {\n          loader: 'babel-loader',\n          options: {\n            presets: ['@babel/preset-env']\n          }\n        }\n      }\n    ]\n  },\n  plugins: [\n    new VueLoaderPlugin(),\n    new webpack.DefinePlugin({\n      'process.env': {\n        isStaging: (isDev() || NODE_ENV === 'staging'),\n        NODE_ENV: '\"'+NODE_ENV+'\"'\n      }\n    })\n  ]\n}\n"
  },
  {
    "path": "webpack.config.dev.js",
    "content": "const path = require('path');\nconst merge = require('webpack-merge')\nconst HtmlWebpackPlugin = require('html-webpack-plugin')\nconst CompressionPlugin = require(\"compression-webpack-plugin\")\nconst MiniCssExtractPlugin = require(\"mini-css-extract-plugin\")\nconst CopyWebpackPlugin = require('copy-webpack-plugin')\n\nconst baseConfig = require('./webpack.config.base');\n\nconst NODE_ENV = process.env.NODE_ENV;\n\nconst setPath = function(folderName) {\n  return path.join(__dirname, folderName);\n}\n\nconst isDev = () => {\n  return (NODE_ENV === 'development');\n};\n\nconst setPublicPath = () => {\n  return isDev() ? '/' : '/vue2-simplert/';\n};\n\nconst extractHTML = new HtmlWebpackPlugin({\n  title: 'History Search',\n  filename: 'index.html',\n  inject: true,\n  template: setPath('/src/index.ejs'),\n  minify: {\n    removeAttributeQuotes: true,\n    collapseWhitespace: true,\n    html5: true,\n    minifyCSS: true,\n    removeComments: true,\n    removeEmptyAttributes: true\n  },\n  environment: process.env.NODE_ENV\n});\n\nmodule.exports = merge(baseConfig, {\n  entry: {\n    app: './src/main.js'\n  },\n  output: {\n    path: isDev() ? path.resolve(__dirname) : setPath('dist'),\n    publicPath: setPublicPath(),\n    filename: isDev() ? '[name].js' : '[name].[hash].js'\n  },\n  plugins: [\n    extractHTML,\n    new MiniCssExtractPlugin({\n      filename: \"[name].[hash].css\"\n    }),\n    new CompressionPlugin({\n      algorithm: 'gzip'\n    }),\n    new CopyWebpackPlugin([\n      'images/*'\n    ])\n  ]\n});"
  },
  {
    "path": "webpack.config.prod.js",
    "content": "const webpack = require('webpack')\nconst path = require('path')\nconst npm = require(\"./package.json\")\nconst CompressionPlugin = require(\"compression-webpack-plugin\")\nconst MiniCssExtractPlugin = require(\"mini-css-extract-plugin\")\n\nconst merge = require('webpack-merge');\nconst baseConfig = require('./webpack.config.base');\n\nmodule.exports = merge(baseConfig, {\n  entry: {\n    app: './src/main-dist.js'\n  },\n  output: {\n    path: path.resolve(__dirname, 'dist'),\n    publicPath: '/dist',\n    filename: 'simplert.js',\n    library: 'Simplert',\n    libraryTarget: 'commonjs'\n  },\n  mode: 'production',\n  optimization: {\n    minimize: true\n  },\n  externals: {\n    \"vue\": \"Vue\"\n  },\n  plugins: [\n    new MiniCssExtractPlugin({\n      filename: \"simplert.css\"\n    }),\n    new CompressionPlugin({\n      algorithm: 'gzip'\n    }),\n    new webpack.BannerPlugin({\n      banner: `Vue2-Simplert v.${npm.version}`\n    }),\n  ]\n});\n"
  }
]