{"_id":"@codedungeon/vue-toolbar-button","_rev":"2-cdc6161218770b4c2ce1c9410bc469ba","name":"@codedungeon/vue-toolbar-button","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.4":{"name":"@codedungeon/vue-toolbar-button","version":"0.0.4","build":"19","description":"Vue Toolbar Button provides a multipurpose button which fits nicely in toolbars","keywords":["vue","toolbar","button","codedungeon"],"main":"dist/index","unpkg":"dist/vue-toolbar-button.js","browser":{"./sfc":"dist/VueToolbarButton.vue"},"contributors":[{"name":"Mike Erickson","email":"mike.erickson@codedungeon.io","url":"https://github.com/mikeerickson"}],"scripts":{"bump":"./tasks/bumpBuild.js --verbose","build":"npm run bump && NODE_ENV=production webpack --progress --hide-modules","build:watch":"npm run bump && NODE_ENV=production webpack --progress --hide-modules --watch","lint":"./tasks/lint.js","dev":"NODE_ENV=development webpack --progress --hide-modules","test":"jest ./__tests__/*.spec.js","todo":"leasot -x './**/*.{ts,js,vue,sh,md}' --ignore './node_modules,./dist,./demo/node_modules' --tags 'review,note' --inline-files","todo:print":"npm run todo && leasot -x './**/*.{ts,js,vue,sh,md}' --ignore './node_modules,./dist,./demo/node_modules' --tags 'review,note' --inline-files --reporter=vscode > TODO.md && echo './TODO.md created successfully'","pre-publish":"npm run lint && npm run test && npm run build","watch":"NODE_ENV=development webpack --progress --hide-modules --watch"},"repository":{"type":"git","url":"git+https://github.com/mikeerickson/vue-toolbar-button.git"},"license":"MIT","bugs":{"url":"https://github.com/mikeerickson/vue-toolbar-button/issues"},"homepage":"https://github.com/mikeerickson/vue-toolbar-button/issues#readme","devDependencies":{"@codedungeon/messenger":"0.7.0","@rollup/plugin-buble":"0.21.3","@rollup/plugin-commonjs":"15.1.0","@vue/test-utils":"1.1.0","babel-core":"6.26.3","babel-loader":"7.1.5","babel-preset-env":"1.7.0","babel-preset-stage-3":"6.24.1","chai":"4.2.0","clean-webpack-plugin":"0.1.19","colors":"1.4.0","copy-webpack-plugin":"4.5.4","cross-env":"5.0.5","css-loader":"0.28.11","file-loader":"1.1.11","jest":"26.5.3","sass":"1.27.0","sass-loader":"10.0.3","uglifyjs-webpack-plugin":"2.2.0","vue":"2.6.12","vue-loader":"14.2.4","vue-template-compiler":"2.6.12","webpack":"4.44.2","webpack-cleanup-plugin":"0.5.1","webpack-cli":"3.3.12","webpack-dev-server":"2.9.7","webpack-merge":"4.1.5"},"gitHead":"f995339f438b2c77cf9da1a4cab1d4a58b74ac77","_id":"@codedungeon/vue-toolbar-button@0.0.4","_nodeVersion":"14.15.5","_npmVersion":"7.20.1","dist":{"integrity":"sha512-kGhU2zHXxD5/1/5xKleeyIMwT43ppQr+KHtjooIxNayWUPPcsMuWK0c4dxA2zUXChFbNPGDoI1M5s0WvW/GWbw==","shasum":"feeb953102064d5b2f4520e873a6337aeaacb651","tarball":"https://registry.npmjs.org/@codedungeon/vue-toolbar-button/-/vue-toolbar-button-0.0.4.tgz","fileCount":13,"unpackedSize":127633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhErlbCRA9TVsSAnZWagAA+08P/1Qo6uvAZFSbUOPkM6xp\nFtDFsEb6/9wIEmXNXm2hTQLjRE/u0Qdlgt4+m5kwYabWnFtbRmWfj4Dll4gb\n7Z9JrwYb26aayXQxN0O8o9HamUeh69VZCvNPx+6itIx+OtTigYXP0Jtlyyjp\nb0Wjwv9ob7iJj+Ve1CGP7HV7vxOjBRFipOziz94dcl5CMLDAuudSq+Q84pP6\n8yR852f+PSYYqCU0dvQ/yAzcO3SAhBY9TKKo2Zg9tk5qO1vLI0xIz4NW4QJz\nLtIE3ICstIoZ7Uri5Trnsm8wGhsyoOQYomrLoORapor4gB6Oyz/n/S3XERWn\nvtlD/T8DdJePR30deuIBkPZibqWRP3xfO39h2L7He+DsUFOSQJeWgoatIZUv\n9O8ek/SBKvEHO0DLpAJhNB1Czi4vbHysMe3ZycDhnZ/0i6GXg7f6/LNE9aRp\nnOof8lmhCRXIXO1t+sijxmnuWOnO+0bSmjIM30ZTP+whP8mf/k7n9wMx6PpO\n76q7QX8lW4dZ4205WQlLnTQp6TABRRYxcgofQjV23pCbMYKk/O3Pfa818enz\neGxyFcZo1bB5DKyIVg8fM16tON0l4T0VexlcadzGB3EnCv4HFK/R8/T/gwoj\neZhnzf/CI4sLTi621uKbz65vy5pCFIU7+ToK0Pblux4mobei4+uNfcPQLiUy\nK6or\r\n=uTyB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8uRu6HUldE4a9uMhdLj+5UxOv8Fx2HeMLbwQ9XVMEVQIhALRHGPL3fkNHfQpub/YtTeS5BBahN79GbTHXFSPvMzCt"}]},"_npmUser":{"name":"codedungeon","email":"codedungeon@gmail.com"},"directories":{},"maintainers":[{"name":"codedungeon","email":"codedungeon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-toolbar-button_0.0.4_1628617051064_0.9142001302202629"},"_hasShrinkwrap":false},"0.0.5":{"name":"@codedungeon/vue-toolbar-button","version":"0.0.5","build":"20","description":"Vue Toolbar Button provides a multipurpose button which fits nicely in toolbars","keywords":["vue","toolbar","button","codedungeon"],"main":"dist/index","unpkg":"dist/vue-toolbar-button.js","browser":{"./sfc":"dist/VueToolbarButton.vue"},"contributors":[{"name":"Mike Erickson","email":"mike.erickson@codedungeon.io","url":"https://github.com/mikeerickson"}],"scripts":{"bump":"./tasks/bumpBuild.js --verbose","build":"npm run bump && NODE_ENV=production webpack --progress --hide-modules","build:watch":"npm run bump && NODE_ENV=production webpack --progress --hide-modules --watch","lint":"./tasks/lint.js","dev":"NODE_ENV=development webpack --progress --hide-modules","test":"jest ./__tests__/*.spec.js","todo":"leasot -x './**/*.{ts,js,vue,sh,md}' --ignore './node_modules,./dist,./demo/node_modules' --tags 'review,note' --inline-files","todo:print":"npm run todo && leasot -x './**/*.{ts,js,vue,sh,md}' --ignore './node_modules,./dist,./demo/node_modules' --tags 'review,note' --inline-files --reporter=vscode > TODO.md && echo './TODO.md created successfully'","pre-publish":"npm run lint && npm run test && npm run build","watch":"NODE_ENV=development webpack --progress --hide-modules --watch"},"repository":{"type":"git","url":"git+https://github.com/mikeerickson/vue-toolbar-button.git"},"license":"MIT","bugs":{"url":"https://github.com/mikeerickson/vue-toolbar-button/issues"},"homepage":"https://github.com/mikeerickson/vue-toolbar-button/issues#readme","devDependencies":{"@codedungeon/messenger":"0.7.0","@rollup/plugin-buble":"0.21.3","@rollup/plugin-commonjs":"15.1.0","@vue/test-utils":"1.1.0","babel-core":"6.26.3","babel-loader":"7.1.5","babel-preset-env":"1.7.0","babel-preset-stage-3":"6.24.1","chai":"4.2.0","clean-webpack-plugin":"0.1.19","colors":"1.4.0","copy-webpack-plugin":"4.5.4","cross-env":"5.0.5","css-loader":"0.28.11","file-loader":"1.1.11","jest":"26.5.3","sass":"1.27.0","sass-loader":"10.0.3","uglifyjs-webpack-plugin":"2.2.0","vue":"2.6.12","vue-loader":"14.2.4","vue-template-compiler":"2.6.12","webpack":"4.44.2","webpack-cleanup-plugin":"0.5.1","webpack-cli":"3.3.12","webpack-dev-server":"2.9.7","webpack-merge":"4.1.5"},"gitHead":"cf253b494f4b9733a6c7293199cf7dc7dc73009b","_id":"@codedungeon/vue-toolbar-button@0.0.5","_nodeVersion":"14.15.5","_npmVersion":"7.20.1","dist":{"integrity":"sha512-5l43viZXAVrcxxv2VH15guvpNTE3tOGLe4u8+VkMwTHj4p89NjWf2dgnY5grpciiT6lOe1MqluBG+p8wzQSkbw==","shasum":"d887a4d81a0b63636e5e70de8a35c2f7a26aa2d5","tarball":"https://registry.npmjs.org/@codedungeon/vue-toolbar-button/-/vue-toolbar-button-0.0.5.tgz","fileCount":13,"unpackedSize":128357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEurbCRA9TVsSAnZWagAAdvYQAKIqpHnHiH2Hg2DGMOjN\n86+3wwjg4WATdYIKz3HuArWx5RhFqS4NcEo8iyKqx3sZjyY3LbTq23S8yN20\nKc+ec6KpGTNVgL+/SaShCve+arZyXdz4Syy2hFnpfWhmi94ghKWRa9H8rBWa\nflIG2FhAtjsqK1MZM4+4ACn+z+27xgUwOMpiPdknEJpT8SSHphd+3Ri+GexW\nocievMwwp5ms+7kiV64scCQc/FRgvA1BU38kffQtTclBBiVogbFaVSSUzler\ni0tCY1S9ffd4+g25p65v+d+e+kfGulempi9wRQtVfnTpfcLzvaqf3PCteqVz\nW8kDxLOA7utBL2QE/A9gw8clGkVEYxgYtct2w6qxFoVB1VUUh7CIYvj3TUCJ\nTHO3IhEuE/rrGy8LmeC+lGVN9B81vkvVbJME45QV/i7OTCHBVT0jR5EwHWyM\nfx0RIrOxdYOo0bi7SInXZhdz7InCwUVC89i8lKFU+Gf6R1avAdp2D4n9IwVu\nADFiVTAWM/fmfhFYKPzBg491b1vJwYUS+sba9g1A4DLVp/zEUXKW+YbwCbQE\n+i/gOfhA0cMyWxmXvjzEo/jJgUDw0Ht01Mec8CEgi+OwXZMfcwIsQoLQ/dwS\n/ZX57A3OW9qI5YX7bYgIkc77AcBIYqaRDS6QtYwGfe5vyCr3fDixbt5XWugQ\nrwpP\r\n=d0ok\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu6wjQq6TRev0fo03G7ait9N9JbE2YftQWPGEaV3f27wIgOzmtBkSZclD6MsuK2HflahyBeWEnIkYlv/HbxFzLY9A="}]},"_npmUser":{"name":"codedungeon","email":"codedungeon@gmail.com"},"directories":{},"maintainers":[{"name":"codedungeon","email":"codedungeon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-toolbar-button_0.0.5_1628629723410_0.4386045663394542"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-10T17:37:31.017Z","0.0.4":"2021-08-10T17:37:31.229Z","modified":"2022-04-05T00:02:17.858Z","0.0.5":"2021-08-10T21:08:43.565Z"},"maintainers":[{"name":"codedungeon","email":"codedungeon@gmail.com"}],"description":"Vue Toolbar Button provides a multipurpose button which fits nicely in toolbars","homepage":"https://github.com/mikeerickson/vue-toolbar-button/issues#readme","keywords":["vue","toolbar","button","codedungeon"],"repository":{"type":"git","url":"git+https://github.com/mikeerickson/vue-toolbar-button.git"},"contributors":[{"name":"Mike Erickson","email":"mike.erickson@codedungeon.io","url":"https://github.com/mikeerickson"}],"bugs":{"url":"https://github.com/mikeerickson/vue-toolbar-button/issues"},"license":"MIT","readme":"# vue-toolbar-button\n\n## Description\n\n<h1 align=\"center\">\n    <img src=\"docs/images/vue-toolbar-button.png\" alt=\"Vue Toolbar Button\">\n</h1>\n\nVueToolbarButton provides a clean button component which may include an icon and/or down arrow with built-in dropdown menu. Using the simple slot interface, you can choose to supply markup for a fontawesome aware icon prop, or using the simple slot interface, you can provide your own icons such as `svg` images. In addition, VueToolbarButton can be configured to show a down arrow, again using the built-in prop, or any other markup you wish to display in the `arrow` slot\n\n## Installation\n\nUsing `npm`\n\n```bash\nnpm i @codedungeon/vue-toolbar-button\n```\n\nUsing `yarn`\n\n```bash\nyarn @codedungeon/vue-toolbar-button\n```\n\n## Usage\n\nVueToolbarButton provides a series of `props` which control how the buttons are created (see prop list below)\n\n### Standard Buttons\n\nThe following examples outline the general interface for creating buttons. You can use the `icon` prop to provide a standard fontawesome icon\n\n```html\n<!-- displays button with plus icon and down arrow, no slot value so no button text -->\n<vue-toolbar-button @click=\"onToolbar('show popup')\" icon=\"far fa-plus\" :down-arrow=\"true\" arrow-size=\"mini\"></vue-toolbar-button>\n```\n\nThe following examples outline the general interface for creating buttons. You can use the `icon` prop to provide a standard fontawesome icon\n\n```html￼￼\n<!-- displays button with plus icon, button text of `New` and down arrow in default (normal) statue -->\n<vue-toolbar-button name=\"new\" @click=\"onToolbar\" icon=\"far fa-plus\" :down-arrow=\"true\">\n    New\n</vue-toolbar-button>\n```\n\nThe following examples creates a standard button without an `icon`, or `downArrow`, providing a standard button using custom `style`\n\n```html\n<!-- displays button with no icon, button text and down arrow; in addition custom class has been applied -->\n<vue-toolbar-button name=\"search\" style=\"color: red;\" @click=\"onToolbar\">\n    Use Custom Class\n</vue-toolbar-button>\n```\n\n### Dropdown Only\n\nFor example, the following demonstrates how to create a simple button which includes both icon and down arrow (but not button text) using the `dropdownOnly` prop\n\n```html\n<vue-toolbar-button\n    ref=\"new-icon-only\"\n    name=\"new-icon-only\"\n    title=\"New\"\n    icon=\"far fa-plus\"\n    :down-arrow=\"true\"\n    arrow-size=\"mini\"\n    :options=\"options\"\n    :dropdown-only=\"true\"\n    @buttonClick=\"onButtonClick\"\n></vue-toolbar-button>\n```\n\n<h1 align=\"center\">\n    <img src=\"docs/images/icon-only.png\" alt=\"VueToolbarButton Icon Only\">\n</h1>\n\n### Using `icon` and `arrow` Slots\n\nThe following example demonstrates how to create a button which uses `icon` and `arrow` slots, using `svg` icons for both parts\n\n```html\n<!-- uses `icon` and `arrow` slots, using svg icons -->\n<vue-toolbar-button title=\"Test\" name=\"test\" :down-arrow=\"true\" :options=\"options\" @buttonClick=\"onButtonClick\">\n    <template v-slot:icon>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n            <path d=\"M12 14l9-5-9-5-9 5 9 5z\" />\n            <path d=\"M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z\" />\n            <path\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n                stroke-width=\"2\"\n                d=\"M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222\"\n            />\n        </svg>\n    </template>\n    <template v-slot:arrow>\n        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n            <path\n                fill-rule=\"evenodd\"\n                d=\"M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z\"\n                clip-rule=\"evenodd\"\n            />\n        </svg>\n    </template>\n    Test\n</vue-toolbar-button>\n```\n\n<h1 align=\"center\">\n    <img src=\"docs/images/custom-icon-slot.png\" alt=\"VueToolbarButton Slots\">\n</h1>\n\n## Props\n\nVueToolbarButton provides the following `props`\n\n| **Prop**        | **Type**                   | **Description**                                                                            |\n| --------------- | -------------------------- | ------------------------------------------------------------------------------------------ |\n| `name`          | String                     | Unique name for component (similar to `ref` but ref can't be used as prop)                 |\n| `icon`          | String                     | Something like font awesome here “fas fa-plus”                                             |\n|                 |                            | - if no slot data, downArrow will be next to icon and smaller text                         |\n|                 |                            | - if slot data, downArrow should be to right of slot data (see current New Contact button) |\n| `down-arrow`    | Boolean (default: `false`) | Show down arrow                                                                            |\n| `arrow-size`    | String (default: `normal`) | Currently, there are two arrow sizes `normal` or `mini`                                    |\n| `disabled`      | Boolean (default: `false`) | Disable button                                                                             |\n| `options`       | Array                      | Items displayed if **down-arrow** enabled                                                  |\n| `dropdown-only` | Boolean (default: `false`) | Button should only trigger dropdown                                                        |\n\n## Events\n\nVueToolbarButton provides the following `events`\n\n| **Event**     | **Description**                                                         |\n| ------------- | ----------------------------------------------------------------------- |\n| `buttonClick` | method executed on mouse click or arrow item selection                  |\n|               | - **name** - the `name` property (for identify which button was clicked |\n|               | - **menuItem** - if button dropdown item selected                       |\n\n## Slots\n\nVueToolbarButton provides the following `slots`, which can be used to override the default \"props\"\n\n| **Slot**  | **Description**                                           |\n| --------- | --------------------------------------------------------- |\n| `default` | Typically contains the button text                        |\n| `icon`    | Can be used in place of \"icon\" prop to use svg icons, etc |\n| `arrow`   | Can be used in place of default down arrow                |\n\n## References\n\n### svg icons\n\nIf you are looking for svg based icons, there are a number of nice places. The following is just a small subset of resources.\n\n**hericons**\nOne of my favorite sources for svg icons and the source used for some of the demo icons [heroicons.com](https://heroicons.dev/)\n\n**iconfinder**\nAnother source of svg based icons [iconfinder](https://www.iconfinder.com/)\n\n**icon8**\nThis site has a huge collection of icons, available in both svg and png format [icon8](https://icons8.com/icons)\n\n## Contributing\n\nPlease see [CONTRIBUTING](CONTRIBUTING.md) for details.\n\n## Changelog\n\nPlease see [CHANGELOG](CHANGELOG.md) for details.\n\n## Security\n\nIf you discover any security related issues, please email [support@codedungeon.io](mailto:support@codedungeon.io) instead of using the issue tracker.\n\n## Credits\n\nvue-toolbar-button written by Mike Erickson\n\nE-Mail: [mike.erickson@codedungeon.io](mailto:mike.erickson@codedungeon.io)\n\nTwitter: [@codedungeon](http://twitter.com/codedungeon)\n\nWebsite: [codedungeon.io](https://codedungeon.io)\n\n## License\n\nCopyright &copy; 2021-2022 Mike Erickson\nReleased under the MIT [License](LICENSE)\n","readmeFilename":"README.md"}