{"id":13810564,"url":"https://github.com/freakingeek/vue-share-modal","last_synced_at":"2025-05-14T10:34:03.782Z","repository":{"id":110827622,"uuid":"397163046","full_name":"freakingeek/vue-share-modal","owner":"freakingeek","description":"A pure, lightweight, and beautiful share modal for Vue3 (SFC)","archived":false,"fork":false,"pushed_at":"2024-03-20T10:25:29.000Z","size":240,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-04T02:07:27.666Z","etag":null,"topics":["sfc","share-modal","vue"],"latest_commit_sha":null,"homepage":"https://freakingeek.github.io/vue-share-modal/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freakingeek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-17T08:03:00.000Z","updated_at":"2024-04-26T12:18:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"e5f7ccb2-ca4d-463b-8900-035c05160a8e","html_url":"https://github.com/freakingeek/vue-share-modal","commit_stats":null,"previous_names":["freakingeek/vue-share-modal"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freakingeek%2Fvue-share-modal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freakingeek%2Fvue-share-modal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freakingeek%2Fvue-share-modal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freakingeek%2Fvue-share-modal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freakingeek","download_url":"https://codeload.github.com/freakingeek/vue-share-modal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254121228,"owners_count":22018126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["sfc","share-modal","vue"],"created_at":"2024-08-04T02:01:00.596Z","updated_at":"2025-05-14T10:33:58.768Z","avatar_url":"https://github.com/freakingeek.png","language":"Vue","funding_links":[],"categories":["Vue"],"sub_categories":[],"readme":"\n## vue-share-modal\n\nA pure, lightweight, and beautiful share modal for Vue 3  \n  ‌\n\n![screenshot](https://github.com/sttatusx/vue-share-modal/raw/master/screenshot.png)  \n\n  ‌\n\n## 🪁 Live version\nYou can see the live version here:  \n[https://freakingeek.github.io/vue-share-modal/](https://freakingeek.github.io/vue-share-modal/)\n\n  ‌\n\n## 💾 Install\n\n```shell\n$ yarn add vue-share-modal\n# npm install vue-share-modal\n```\nOr you can use any package manager you want\n\n  ‌\n\n## 🚀 Usage\n\nYou should import **share-modal** and **share-module** components from the vue-share-modal \npackage and use them like this.  \n  ‌\n\n```vue\n\u003ctemplate\u003e\n  \u003cshare-modal\n    :show=\"showModal\"\n    @update:show=\"showModal = false\"\n    link=\"https://www.figma.com/community/file/999287868143091993\"\n  \u003e\n    \u003ctemplate v-for=\"(m, key) in modules\" :key=\"key\"\u003e\n      \u003cshare-module tag=\"a\" href=\"#\" :name=\"m.name\"\u003e\n        \u003ccomponent :is=\"m.component\" /\u003e\n      \u003c/share-module\u003e\n    \u003c/template\u003e\n  \u003c/share-modal\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nimport ShareModal from \"vue-share-modal\";\nimport ShareModule from \"vue-share-modal/src/components/share-module.vue\";\nimport { ChatCircle, Instagram, Twitch, At, Share, Twitter } from \"@salmon-ui/icons\";\n\nexport default {\n  name: \"MyComponent\",\n\n  components: {\n    At,\n    Share,\n    Twitch,\n    Twitter,\n    Instagram,\n    ChatCircle,\n    ShareModal,\n    ShareModule,\n  },\n\n  data() {\n    return {\n      showModal: true,\n    };\n  },\n\n  computed: {\n    modules() {\n      return [\n        { name: \"Chat\", component: ChatCircle },\n        { name: \"Instagram\", component: Instagram },\n        { name: \"Twitter\", component: Twitter },\n        { name: \"Twitch\", component: Twitch },\n        { name: \"E-mail\", component: At },\n        { name: \"More\", component: Share },\n      ];\n    },\n  },\n};\n\u003c/script\u003e\n```\n  ‌\n\n\u003e NOTE: vue-share-modal does not contain any icons by default. So we use **@salmon-ui/icons** package for example here\n\n  ‌\n  \n## Options Or Props ( share-modal )\n\n```show``` prop is used for showing modal with animation  \n```@update:show``` event is used to update ```show``` value  \n\n```vue\n\u003cshare-modal\n  :show=\"showModal\"\n  @update:show=\"showModal = false\"\n/\u003e\n```\n\n  ‌\n  \n```link``` prop is used for showing link in the footer  \n\n```vue\n\u003cshare-modal\n  link=\"https://www.figma.com/community/file/999287868143091993\"\n/\u003e\n```\n\n  ‌\n  \n```mode``` prop is used for changing modal style ( ```normal``` / ```outline``` )  \n\n```vue\n\u003cshare-modal\n  mode=\"outline\"\n/\u003e\n```\n\n  ‌\n  \n```direction``` prop is used for changing modal direction ( ```ltr``` / ```rtl``` )  \n\n```vue\n\u003cshare-modal\n  direction=\"rtl\"\n/\u003e\n```\n\n  ‌\n  \n```title``` prop is used for changing modal title  \n\n```vue\n\u003cshare-modal\n  title=\"Share with\"\n/\u003e\n```\n\n  ‌\n  \n```footerHint``` prop is used for changing the footer text  \n\n```vue\n\u003cshare-modal\n  footerHint=\"Or share with link\"\n/\u003e\n```\n\n  ‌\n  \n```variables``` prop is used for changing the modal CSS variables ( like font-family and colors )  \n\n```vue\n\u003cshare-modal\n  :variables=\"{\n    fontFamily: 'Inter, sans-serif',\n    red: '#ee4d4d',\n    white: '#fefefe',\n    primary: '#ee6c4d',\n    primaryLight: '#ee6c4d08',\n    secondary: '#3d5a80',\n    secondaryLight: '#3d5a8096',\n  }\"\n/\u003e\n```\n\n  ‌\n  \n\n## Options Or Props ( share-module )\n\n```tag``` generated tag for share-module component ( default: ```span``` )   \n\n```vue\n\u003cshare-module\n  tag=\"a\"\n/\u003e\n```\n\n  ‌\n  \n```name``` name of the module   \n\n```vue\n\u003cshare-module\n  tag=\"a\"\n  name=\"Pinterest\"\n/\u003e\n```\n\n  ‌\n  \n\n```iconClassName``` you can pass this prop to use font icons   \n\n```vue\n\u003cshare-module\n  tag=\"a\"\n  name=\"Twitter\"\n  iconClassName=\"bi bi-twitter\"\n/\u003e\n```\n\n  ‌\n  \n```mode``` you can pass this prop to overwrite share-modal ```mode``` prop   \n\n```vue\n\u003cshare-modal mode=\"outline\"\u003e\n  \u003cshare-module\n    tag=\"a\"\n    mode=\"normal\"\n  /\u003e\n\u003c/share-modal\u003e\n```\n\n  ‌\n\n## ✏ Todo\n\n- [ ] Support for different themes\n\n  ‌\n\n## 📝 License\n\nThis project is under [ISC](https://github.com/sttatusx/vue-share-modal/blob/master/LICENSE) license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreakingeek%2Fvue-share-modal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreakingeek%2Fvue-share-modal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreakingeek%2Fvue-share-modal/lists"}