[
  {
    "path": ".gitignore",
    "content": "node_modules\n"
  },
  {
    "path": "README.md",
    "content": "Angular Social Share\n=========\n\nAngular Social Share is a collection of directives which lets you easily share your links various social networks. Currently Facebok, Google, Twitter and Linkdin are supported. Social Networks get the Meta data of the shared content like Title, Summary and Image from the Meta tags on the page by scraping. But Single Page Apps like Angular are unable to support crawling. But these dirictives use alternative so that Meta data is displayed where it is possible.\nCheckout the [Demo].\nChange Log\n----\nAs of Verstion 1 This directive supports two way binding of data, so now you can populate the data in the directive from a HTTP request.\n\nFuture Plans\n----\nSupport asyncronous loading of corresponding social plugin javascript assets.\n\nGetting Started\n-----\nInstall the library through bower.\n```js\nbower install angular-socialshare\n```\nInclude the script (and optional css file) in your html file.\n```html\n<link rel='stylesheet' href=\"bower_components/angular-socialshare/angular-socialshare.min.css\">\n<script src=\"bower_components/angular-socialshare/angular-socialshare.min.js\"></script>\n```\n\nAdd to your APP's dependency.\n```js\nangular.module('testing',['djds4rce.angular-socialshare'])\n```\nIMPORTANT\n----\nFor Correct Sharing of links and updating share count you must enable HTML5 Mode True for your application. i.e No `#` in URL'S .\n```js\nangular.module('testing').config(function($locationProvider){\n    $locationProvider.html5Mode(true).hashPrefix('!');\n});\n```\nHTML5 Mode requires server configration [Explained Here]\n\n\nShare on Facebook\n----\nFacebook share uses facebook API which requires us to provide a APPID. Register a facebook app and Configure the APPID in your appplication. Note that you will get an error regarding 'not permitted URL' if you are testing this button in a localhost environment.\n\n```js\nangular.module('testing').run(function($FB){\n  $FB.init('YOUR_APPID', 'COUNTRY_CODE'); // Country code format example: fr_FR\n});\n```\nUse the Facebook Directive\n```html\n <a facebook class=\"facebookShare\" data-url='http://google.com' data-shares='shares'>{{ shares }}</a>\n```\nAs we are using Facebook share API and not the facebook share button, you will have to style your own Facebook button, or use the provided stylesheet that has styles for the horizontal count button. You also need to display the share count, which the directive fetches from a diffrent API. The directive has transclusion set to true. The latest Facebook share API only allows for a URL to be supplied, it will scrape the other data (image, title, description) from the supplied URL.\n\nThe Attributes for the directives are\n```js\n/*\ndata-url: URL of the Shared Content\ndata-shares: The Scope variable on which share count will be binded to. This lets you put\nmultiple share buttons on a single page and bind the share count to the respective model object.\ndata-callback: The Scope function which will receive [FB's Response object](https://developers.facebook.com/docs/javascript/reference/FB.ui)\ndata-translate: To change the text of the button. EX: data-translate=\"'Partager'\"\n*/\n```\n\n#### Share via Feed Dialog\nThe feed dialog works in the same way as the normal share dialog, but also has some addittional attributes available\n\n```html\n <a facebook-feed-share class=\"facebookShare\" data-url='http://google.com' data-shares='shares', data-description=\"Example text\">{{ shares }}</a>\n```\n\n```js\n/*\ndata-url: URL of the Shared Content\ndata-shares: The Scope variable on which share count will be binded to. This lets you put\nmultiple share buttons on a single page and bind the share count to the respective model object.\ndata-picture: The URL of a picture attached to the share. The picture must be at least 200px by 200px.\ndata-source: The URL of a media file (either SWF or MP3) attached to this share. If SWF, you must also specify picture to provide a thumbnail for the video.\ndata-name: The name of the link attachment.\ndata-caption: The caption of the link (appears beneath the link name). If not specified, this field is automatically populated with the URL of the link.\ndata-description: The description of the link (appears beneath the link caption). If not specified, this field is automatically populated by information scraped from the link, typically the title of the page.\ndata-properties: A JSON object of key/value pairs which will appear in the stream attachment beneath the description, with each property on its own line. Keys must be strings, and values can be either strings or JSON objects with the keys text and href.\ndata-actions: A JSON array containing a single object describing the action link which will appear next to the 'Comment' and 'Like' link under posts. The contained object must have the keys name and link.\ndata-callback: The Scope function which will receive [FB's Response object](https://developers.facebook.com/docs/javascript/reference/FB.ui)\ndata-translate: To change the text of the button. EX: data-translate=\"'Partager'\"\n*/\n```\n\nTwitter\n----\nInclude the twitter javascript in your HTML.\n```html\n<script src=\"http://platform.twitter.com/widgets.js\"></script>\n```\nAdd Directive to the element where you want to display your Twitter Button\n```html\n<a twitter  data-lang=\"en\" data-count='horizontal' data-url='http://google.com' data-via='notsosleepy' data-size=\"medium\" data-text='Testing Twitter Share' ></a>\n```\nThe Attributes for the directives are\n```js\n/*\ndata-lang: Language of the tweet\ndata-url: URL of the Shared Content\ndata-count: Position of the share counter\ndata-size: Size of the tweet button\ndata-text: Content of the tweet\ndata-via: User handle which will be tagged in the tweet\nFor options checkout https://dev.twitter.com/docs/tweet-button\n*/\n```\nLinkedin\n----\nAlthough Linkedin has a share button and also a Javascript share API it does not take the title and the content as its parameters hence we will have to use the raw share URL to share the content.\n\nUse the Linkedin Directive\n```html\n<div linkedin class=\"linkedinShare\" data-url='http://www.google.com.au' data-title='Linkedin Share' data-summary=\"testing Linkedin Share\" data-shares='linkedinshares'>{{linkedinshares}}</div>\n```\nLinkedin Directive works similar to the Facebook Mechanism. This will force us to add our own style to the button and also display count which is fetched by the directive through a diffrent API. The supplied stylesheet contains styling for the horizontal styled button.\n\nThe Attributes for the directives are\n```js\n/*\ndata-title: Title of the Shared Content\ndata-url: URL of the Shared Content\ndata-summary: Summary of the content\ndata-shares: The Scope variable on which share count will be binded to. This lets you put\nmultiple share buttons on a single page and bind the share count to the respective model object.\ndata-translate: To change the text of the button. EX: data-translate=\"'Partager'\"\n*/\n```\n\nGoogle +\n----\n```html\n <div gplus class=\"g-plus\" data-size=\"tall\" data-annotation=\"bubble\" data-href='http://google.com' data-action='share'></div>\n```\nFor more information on the share button attributes check the [Google Share Documentation]\n>If you change the class of the button to `g-plusone' it will be converted to a google plus one button.\n\nTumblr\n----\n\n\n#### Link Share\nInclude the tumblr javascript in your HTML. \n```html\n<script src=\"http://platform.tumblr.com/v1/share.js\"></script>\n\n```\n\n```html\n<div tumblr-text data-url='http://google.com' data-name='Sharing to Tumblr' data-title='test' data-buttontext='Sharing Text' data-styling=\"display:inline-block; text-indent:-9999px; overflow:hidden; width:129px; height:20px; background:url('http://platform.tumblr.com/v1/share_3.png') top left no-repeat transparent;\" data-description='this is awesome'></div>\n\n```\nThe Attributes for the directives are\n```js\n/*\ndata-url: URL of the content to be shared\ndata-name: Name of the content URL\ndata-title(Optional): Title of the button on hover\ndata-description: Description of the URL\ndata-style(Optional): Style of the button\n*/\n```\n\n#### Qoute Share\n\n```html\n<div tumblr-qoute data-qoute='Texting Tumblr Qoute share' data-source='http://djds4rce.github.io'></div>\n```\nThe Attributes for the directives are\n```js\n/*\ndata-source: Source URL of the qoute to be shared\ndata-qoute: Qoute to be shared\ndata-title(Optional): Title of the button on hover\ndata-style(Optional): Style of the button\n*/\n```\n\n#### Image Share\n\n```html\n<div tumblr-image data-source='http://plnkr.co/img/plunker.png' data-caption='Image Share' data-clickthru='http://google.com'></div>\n```\nThe Attributes for the directives are\n```js\n/*\ndata-source: Source URL of the Image to be shared\ndata-caption: Caption for the image\ndata-clickthru: clickthru URL for the image\ndata-title(Optional): Title of the button on hover\ndata-style(Optional): Style of the button\n*/\n```\n\n#### Image Share\n\n```html\n<div tumblr-video data-embedcode='<iframe width=\"560\" height=\"315\" src=\"//www.youtube.com/embed/aqHBLS_6gF8\" frameborder=\"0\" allowfullscreen></iframe>'></div>\n```\nThe Attributes for the directives are\n```js\n/*\ndata-embedcode: Embed code for the external video\ndata-caption: Caption for the Video\ndata-title(Optional): Title of the button on hover\ndata-style(Optional): Style of the button\n*/\n```\n\n\nPinterest\n----\n\nInclude the  Pinterest javascript in your HTML.\n```html\n<script type=\"text/javascript\" src=\"//assets.pinterest.com/js/pinit.js\" data-pin-build='parsePins'></script>\n\n```\n\n\n#### Usage\n```html\n<div pintrest data-href='http://google.com' data-description='testing share' data-img='http://plnkr.co/img/plunker.png' data-pin-do='buttonPin' data-pin-config='beside'></div>\n```\n\nThe Attributes for the directives are\n\n```js\n/*\ndata-href: Url To be shared\ndata-Description: Description of the content\ndata-img: Image for the Pin\ndata-pin-do(Optional): Type of pin\ndata-pin-config(Optional): Pin count Orientation 'beside' or 'above'\n*/\n```\n\n\n**Made with Love by [Djds4rce]**\n**Additions with ♡ by [haxxxton]**\n\n\n\n[Explained Here]:http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/\n[Demo]:http://plnkr.co/edit/Cah9FtwXDrUMQjChdBG2?p=info\n[Google Share Documentation]:https://developers.google.com/+/web/share/\n[Djds4rce]:http://djds4rce.wordpress.com/\n[haxxxton]:http://gaandder.com/\n\nLicenced Under MIT Licence.\n"
  },
  {
    "path": "angular-socialshare.css",
    "content": ".facebookShare {\n  border: none;\n  visibility: visible;\n  width: auto;\n  height: 22px;\n  background: transparent;\n  overflow: hidden;\n  -webkit-text-size-adjust: none;\n  color: #333;\n  line-height: 1.28;\n  margin: 0;\n  padding: 0;\n  text-align: left;\n  direction: ltr;\n  cursor: pointer;\n  font-family: 'Helvetica Neue', Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif;\n  display: inline-block;\n}\n.facebookShare:hover .facebookButton .pluginButton,\n.facebookShare:active .facebookButton .pluginButton,\n.facebookShare:focus .facebookButton .pluginButton {\n  background: #5b7bd5;\n  background: -moz-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);\n  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5b7bd5), color-stop(100%, #4864b1));\n  background: -webkit-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);\n  background: -o-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);\n  background: -ms-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);\n  background: linear-gradient(to bottom, #5b7bd5 0%, #4864b1 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5b7bd5', endColorstr='#4864b1', GradientType=0);\n  border-color: #5874c3 #4961a8 #41599f;\n  box-shadow: inset 0 0 1px #607fd6;\n}\n.facebookShare .facebookButton {\n  color: #3b5998;\n  text-decoration: none;\n  font-size: 11px;\n  text-align: left;\n  display: inline-block;\n  width: 55px;\n}\n.facebookShare .facebookButton .pluginButton {\n  background: #4c69ba;\n  background: -moz-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);\n  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4c69ba), color-stop(100%, #3b55a0));\n  background: -webkit-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);\n  background: -o-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);\n  background: -ms-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);\n  background: linear-gradient(to bottom, #4c69ba 0%, #3b55a0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4c69ba', endColorstr='#3b55a0', GradientType=0);\n  border: none;\n  border-radius: 3px;\n  color: #fff;\n  cursor: pointer;\n  font-weight: bold;\n  height: 20px;\n  line-height: 20px;\n  padding: 0;\n  text-shadow: 0 -1px 0 #354c8c;\n  white-space: nowrap;\n}\n.facebookShare .facebookButton .pluginButton .pluginButtonContainer {\n  -webkit-font-smoothing: antialiased;\n  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.004);\n}\n.facebookShare .facebookButton .pluginButton .pluginButtonContainer .pluginButtonImage {\n  display: inline-block;\n}\n.facebookShare .facebookButton .pluginButton button {\n  background: transparent;\n  border: 0;\n  color: inherit;\n  cursor: pointer;\n  font: inherit;\n  font-weight: bold;\n  margin: -1px;\n  outline: none;\n  padding: 0;\n  text-shadow: 0 -1px 0 #354c8c;\n}\n.facebookShare .facebookButton .pluginButton button .pluginButtonIcon {\n  height: 14px;\n  left: 0;\n  margin: 0 4px 0 4px;\n  position: relative;\n  top: 3px;\n  vertical-align: top;\n  width: 14px;\n}\n.facebookShare .facebookButton .pluginButton button .sp_plugin-button-2x {\n  background-image: url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/y5/r/KxVPs0eEy36.png);\n  background-size: 30px 72px;\n  background-repeat: no-repeat;\n  display: inline-block;\n  height: 14px;\n  width: 14px;\n}\n.facebookShare .facebookButton .pluginButton button .sx_plugin-button-2x_favblue {\n  background-position: 0 -42px;\n}\n.facebookShare .facebookButton .pluginButton button i.img {\n  -ms-high-contrast-adjust: none;\n  _overflow: hidden;\n}\n.facebookShare .facebookButton .pluginButton .pluginButtonLabel {\n  padding: 0 5px 0 0;\n  position: relative;\n  vertical-align: top;\n}\n.facebookShare .facebookCount {\n  display: inline-block;\n  width: auto;\n}\n.facebookShare .facebookCount .pluginCountButton {\n  background: white;\n  border: 1px solid #bbb;\n  border-radius: 3px;\n  color: #6a7180;\n  display: inline-block;\n  font-size: 11px;\n  height: auto;\n  line-height: 18px;\n  margin-left: 6px;\n  min-width: 15px;\n  padding: 0 3px;\n  text-align: center;\n  white-space: nowrap;\n}\n.facebookShare .facebookCount .pluginCountButton span {\n  display: inline-block;\n  min-height: 12px;\n  min-width: 4px;\n  color: #333;\n}\n.facebookShare .facebookCount .pluginCountButtonNub {\n  height: 0;\n  left: 2px;\n  position: relative;\n  top: -15px;\n  width: 5px;\n  z-index: 2;\n}\n.facebookShare .facebookCount .pluginCountButtonNub s,\n.facebookShare .facebookCount .pluginCountButtonNub i {\n  border-color: transparent #bbb;\n  border-style: solid;\n  border-width: 4px 5px 4px 0;\n  display: block;\n  position: relative;\n  top: 1px;\n}\n.facebookShare .facebookCount .pluginCountButtonNub i {\n  border-right-color: #fff;\n  left: 2px;\n  top: -7px;\n}\n@-moz-document url-prefix() {\n  .facebookShare .facebookButton .pluginButton button .pluginButtonIcon {\n    margin: 0 1px;\n  }\n}\n.linkedinShare {\n  line-height: 1;\n  vertical-align: baseline;\n  display: inline-block;\n  text-align: center;\n  width: auto;\n  padding: 0;\n  margin: 0;\n  position: relative;\n  border: 0;\n  text-decoration: none;\n  height: 20px;\n  cursor: pointer;\n}\n.linkedinShare:hover .linkedinButton .pluginButtonLabel,\n.linkedinShare:active .linkedinButton .pluginButtonLabel,\n.linkedinShare:focus .linkedinButton .pluginButtonLabel {\n  border: 1px solid #000;\n  border-top-color: #ABABAB;\n  border-right-color: #9A9A9A;\n  border-bottom-color: #787878;\n  border-left-color: #04568B;\n  border-left: 0;\n  background: #ededed;\n  background: -moz-linear-gradient(top, #ededed 0%, #dedede 100%);\n  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ededed), color-stop(100%, #dedede));\n  background: -webkit-linear-gradient(top, #ededed 0%, #dedede 100%);\n  background: -o-linear-gradient(top, #ededed 0%, #dedede 100%);\n  background: -ms-linear-gradient(top, #ededed 0%, #dedede 100%);\n  background: linear-gradient(to bottom, #ededed 0%, #dedede 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dedede', GradientType=0);\n}\n.linkedinShare .linkedinButton {\n  display: inline-block;\n  width: 59px;\n  height: 20px;\n  padding: 0;\n  margin: 0;\n}\n.linkedinShare .linkedinButton .pluginButtonImage {\n  background-image: url(https://www.linkedin.com/scds/common/u/images/apps/connect/sprites/sprite_connect_v14.png);\n  background-position: 0px -276px;\n  background-repeat: no-repeat;\n  cursor: pointer;\n  border: 0;\n  text-indent: -9999em;\n  overflow: hidden;\n  padding: 0;\n  margin: 0;\n  position: absolute;\n  left: 0px;\n  top: 0px;\n  display: block;\n  width: 20px;\n  height: 20px;\n  border-radius: 2px;\n  color: #069;\n}\n.linkedinShare .linkedinButton .pluginButtonLabel {\n  color: #333;\n  cursor: pointer;\n  display: block;\n  white-space: nowrap;\n  float: left;\n  margin-left: 1px;\n  overflow: hidden;\n  text-align: center;\n  height: 18px;\n  padding: 0 4px 0 23px;\n  border: 1px solid #000;\n  border-top-color: #E2E2E2;\n  border-right-color: #BFBFBF;\n  border-bottom-color: #B9B9B9;\n  border-left-color: #E2E2E2;\n  border-left: 0;\n  text-shadow: #ffffff -1px 1px 0;\n  line-height: 20px;\n  border-radius: 2px;\n  background-color: #ECECEC;\n  background: -moz-linear-gradient(top, #fefefe 0%, #ececec 100%);\n  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(100%, #ececec));\n  background: -webkit-linear-gradient(top, #fefefe 0%, #ececec 100%);\n  background: -o-linear-gradient(top, #fefefe 0%, #ececec 100%);\n  background: -ms-linear-gradient(top, #fefefe 0%, #ececec 100%);\n  background: linear-gradient(to bottom, #fefefe 0%, #ececec 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#ececec', GradientType=0);\n}\n.linkedinShare .linkedinButton .pluginButtonLabel span {\n  color: #333;\n  font-size: 11px;\n  font-family: Arial, sans-serif;\n  font-weight: bold;\n  font-style: normal;\n  -webkit-font-smoothing: antialiased;\n  display: inline-block;\n  background: transparent none;\n  vertical-align: top;\n  height: 18px;\n  line-height: 20px;\n  float: none;\n}\n.linkedinShare .linkedinCount {\n  padding: 0px;\n  margin: 0px;\n  text-indent: 0px;\n  display: inline-block;\n  vertical-align: baseline;\n}\n.linkedinShare .linkedinCount .pluginCountButton {\n  display: inline-block;\n  overflow: visible;\n  position: relative;\n  height: 18px;\n  padding-left: 2px;\n}\n.linkedinShare .linkedinCount .pluginCountButton .pluginCountButtonRight {\n  display: block;\n  float: left;\n  height: 18px;\n  padding-right: 4px;\n  background-image: url(https://www.linkedin.com/scds/common/u/images/apps/connect/sprites/sprite_connect_v14.png);\n  background-color: transparent;\n  background-repeat: no-repeat;\n  background-position: right -100px;\n}\n.linkedinShare .linkedinCount .pluginCountButton .pluginCountButtonRight .pluginCountButtonLeft {\n  display: block;\n  float: left;\n  padding-left: 8px;\n  text-align: center;\n  background-image: url(https://www.linkedin.com/scds/common/u/images/apps/connect/sprites/sprite_connect_v14.png);\n  background-color: transparent;\n  background-repeat: no-repeat;\n  background-position: 0px -60px;\n}\n.linkedinShare .linkedinCount .pluginCountButton .pluginCountButtonRight .pluginCountButtonLeft span {\n  display: inline;\n  font-size: 11px;\n  color: #04558B;\n  font-weight: bold;\n  font-family: Arial, sans-serif;\n  line-height: 18px;\n  padding: 0 2px;\n}\n"
  },
  {
    "path": "angular-socialshare.js",
    "content": "'use strict';\n\n/*\n *  * angular-socialshare v0.0.2\n *   * ♡ CopyHeart 2014 by Dayanand Prabhu http://djds4rce.github.io\n *    * Copying is an act of love. Please copy.\n *     */\n\nangular.module('djds4rce.angular-socialshare', [])\n\t.factory('$FB', ['$window', function($window) {\n\t\treturn {\n\t\t\tinit: function(fbId, languageCode) {\n\t\t\t\tif (fbId) {\n\t\t\t\t\tthis.fbId = fbId;\n\t\t\t\t\tlanguageCode = languageCode || 'en_US';\n\t\t\t\t\t$window.fbAsyncInit = function() {\n\t\t\t\t\t\tFB.init({\n\t\t\t\t\t\t\tappId: fbId,\n\t\t\t\t\t\t\tchannelUrl: 'app/channel.html',\n\t\t\t\t\t\t\tstatus: true,\n\t\t\t\t\t\t\txfbml: true\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\t(function(d) {\n\t\t\t\t\t\tvar js,\n\t\t\t\t\t\t\tid = 'facebook-jssdk',\n\t\t\t\t\t\t\tref = d.getElementsByTagName('script')[0];\n\t\t\t\t\t\tif (d.getElementById(id)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tjs = d.createElement('script');\n\t\t\t\t\t\tjs.id = id;\n\t\t\t\t\t\tjs.async = true;\n\t\t\t\t\t\tjs.src = \"//connect.facebook.net/\" + languageCode + \"/all.js\";\n\n\t\t\t\t\t\tref.parentNode.insertBefore(js, ref);\n\n\t\t\t\t\t}(document));\n\t\t\t\t} else {\n\t\t\t\t\tthrow (\"FB App Id Cannot be blank\");\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t}]).directive('facebook', ['$http', function($http) {\n\t\treturn {\n\t\t\tscope: {\n\t\t\t\tcallback: '=',\n\t\t\t\tshares: '=',\n\t\t\t\ttranslate: '=?'\n\t\t\t},\n\t\t\ttransclude: true,\n\t\t\ttemplate: '<div class=\"facebookButton\">' +\n\t\t\t\t'<div class=\"pluginButton\">' +\n\t\t\t\t'<div class=\"pluginButtonContainer\">' +\n\t\t\t\t'<div class=\"pluginButtonImage\">' +\n\t\t\t\t'<button type=\"button\">' +\n\t\t\t\t'<i class=\"pluginButtonIcon img sp_plugin-button-2x sx_plugin-button-2x_favblue\"></i>' +\n\t\t\t\t'</button>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<span class=\"pluginButtonLabel\" ng-bind=\"translate\"></span>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"facebookCount\">' +\n\t\t\t\t'<div class=\"pluginCountButton pluginCountNum\">' +\n\t\t\t\t'<span ng-transclude></span>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"pluginCountButtonNub\"><s></s><i></i></div>' +\n\t\t\t\t'</div>',\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tif(scope.translate == undefined)\n\t\t\t\t\tscope.translate = 'Share';\n\t\t\t\tattr.$observe('url', function() {\n\t\t\t\t\tif (attr.shares && attr.url) {\n\t\t\t\t\t\t$http.get('http://graph.facebook.com/?id=' + attr.url + '&format=json', {withCredentials: false}).success(function(res) {\n\t\t\t\t\t\t\tvar count = (res && res.share && res.share.share_count) ?res.share.share_count.toString() : 0;\n\t\t\t\t\t\t\tvar decimal = '';\n\t\t\t\t\t\t\tif (count.length > 6) {\n\t\t\t\t\t\t\t\tif (count.slice(-6, -5) != \"0\") {\n\t\t\t\t\t\t\t\t\tdecimal = '.' + count.slice(-6, -5);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcount = count.slice(0, -6);\n\t\t\t\t\t\t\t\tcount = count + decimal + 'M';\n\t\t\t\t\t\t\t} else if (count.length > 3) {\n\t\t\t\t\t\t\t\tif (count.slice(-3, -2) != \"0\") {\n\t\t\t\t\t\t\t\t\tdecimal = '.' + count.slice(-3, -2);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcount = count.slice(0, -3);\n\t\t\t\t\t\t\t\tcount = count + decimal + 'k';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tscope.shares = count;\n\t\t\t\t\t\t}).error(function() {\n\t\t\t\t\t\t\tscope.shares = 0;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telement.unbind();\n\t\t\t\t\telement.bind('click', function(e) {\n\t\t\t\t\t\tFB.ui({\n\t\t\t\t\t\t\tmethod: 'share',\n\t\t\t\t\t\t\thref: attr.url\n\t\t\t\t\t\t}, function(response){\n\t\t\t\t\t\t\tif (scope.callback !== undefined && typeof scope.callback === \"function\") {\n\t\t\t\t\t\t\t\tscope.callback(response);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}]).directive('facebookFeedShare', ['$http', function($http) {\n\t\treturn {\n\t\t\tscope: {\n\t\t\t\tcallback: '=',\n\t\t\t\tshares: '=',\n\t\t\t\ttranslate: '=?'\n\t\t\t},\n\t\t\ttransclude: true,\n\t\t\ttemplate: '<div class=\"facebookButton\">' +\n\t\t\t\t'<div class=\"pluginButton\">' +\n\t\t\t\t'<div class=\"pluginButtonContainer\">' +\n\t\t\t\t'<div class=\"pluginButtonImage\">' +\n\t\t\t\t'<button type=\"button\">' +\n\t\t\t\t'<i class=\"pluginButtonIcon img sp_plugin-button-2x sx_plugin-button-2x_favblue\"></i>' +\n\t\t\t\t'</button>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<span class=\"pluginButtonLabel\" ng-bind=\"translate\"></span>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"facebookCount\">' +\n\t\t\t\t'<div class=\"pluginCountButton pluginCountNum\">' +\n\t\t\t\t'<span ng-transclude></span>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"pluginCountButtonNub\"><s></s><i></i></div>' +\n\t\t\t\t'</div>',\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tif(scope.translate == undefined)\n\t\t\t\t\tscope.translate = 'Share';\n\t\t\t\tattr.$observe('url', function() {\n\t\t\t\t\tif (attr.shares && attr.url) {\n\t\t\t\t\t\t$http.get('https://api.facebook.com/method/links.getStats?urls=' + attr.url + '&format=json', {withCredentials: false}).success(function(res) {\n\t\t\t\t\t\t\tvar count = res[0] ? res[0].total_count.toString() : 0;\n\t\t\t\t\t\t\tvar decimal = '';\n\t\t\t\t\t\t\tif (count.length > 6) {\n\t\t\t\t\t\t\t\tif (count.slice(-6, -5) != \"0\") {\n\t\t\t\t\t\t\t\t\tdecimal = '.' + count.slice(-6, -5);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcount = count.slice(0, -6);\n\t\t\t\t\t\t\t\tcount = count + decimal + 'M';\n\t\t\t\t\t\t\t} else if (count.length > 3) {\n\t\t\t\t\t\t\t\tif (count.slice(-3, -2) != \"0\") {\n\t\t\t\t\t\t\t\t\tdecimal = '.' + count.slice(-3, -2);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcount = count.slice(0, -3);\n\t\t\t\t\t\t\t\tcount = count + decimal + 'k';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tscope.shares = count;\n\t\t\t\t\t\t}).error(function() {\n\t\t\t\t\t\t\tscope.shares = 0;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telement.unbind();\n\t\t\t\t\telement.bind('click', function(e) {\n\t\t\t\t\t\tFB.ui({\n\t\t\t\t\t\t\tmethod: 'feed',\n\t\t\t\t\t\t\tlink: attr.url,\n\t\t\t\t\t\t\tpicture: attr.picture,\n\t\t\t\t\t\t\tname: attr.name,\n\t\t\t\t\t\t\tcaption: attr.caption,\n\t\t\t\t\t\t\tdescription: attr.description\n\t\t\t\t\t\t}, function(response){\n\t\t\t\t\t\t\tif (scope.callback !== undefined && typeof scope.callback === \"function\") {\n\t\t\t\t\t\t\t\tscope.callback(response);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}]).directive('twitter', ['$timeout', function($timeout) {\n\t\treturn {\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar renderTwitterButton = debounce(function() {\n\t\t\t\t\tif (attr.url) {\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement[0].innerHTML = '';\n\t\t\t\t\t\t\ttwttr.widgets.createShareButton(\n\t\t\t\t\t\t\t\tattr.url,\n\t\t\t\t\t\t\t\telement[0],\n\t\t\t\t\t\t\t\tfunction() {}, {\n\t\t\t\t\t\t\t\t\tcount: attr.count,\n\t\t\t\t\t\t\t\t\ttext: attr.text,\n\t\t\t\t\t\t\t\t\tvia: attr.via,\n\t\t\t\t\t\t\t\t\tsize: attr.size\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}, 75);\n\t\t\t\tattr.$observe('url', renderTwitterButton);\n\t\t\t\tattr.$observe('text', renderTwitterButton);\n\t\t\t}\n\t\t};\n\t}]).directive('linkedin', ['$timeout', '$http', '$window', function($timeout, $http, $window) {\n\t\treturn {\n\t\t\tscope: {\n\t\t\t\tshares: '=',\n\t\t\t\ttranslate: '=?'\n\t\t\t},\n\t\t\ttransclude: true,\n\t\t\ttemplate: '<div class=\"linkedinButton\">' +\n\t\t\t\t'<div class=\"pluginButton\">' +\n\t\t\t\t'<div class=\"pluginButtonContainer\">' +\n\t\t\t\t'<div class=\"pluginButtonImage\">in' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<span class=\"pluginButtonLabel\"><span ng-bind=\"translate\"></span></span>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"linkedinCount\">' +\n\t\t\t\t'<div class=\"pluginCountButton\">' +\n\t\t\t\t'<div class=\"pluginCountButtonRight\">' +\n\t\t\t\t'<div class=\"pluginCountButtonLeft\">' +\n\t\t\t\t'<span ng-transclude></span>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'</div>',\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tif(scope.translate == undefined)\n\t\t\t\t\tscope.translate = 'Share';\n\t\t\t\tvar renderLinkedinButton = debounce(function() {\n\t\t\t\t\tif (attr.shares && attr.url) {\n\t\t\t\t\t\t$http.jsonp('https://www.linkedin.com/countserv/count/share?url=' + attr.url + '&callback=JSON_CALLBACK&format=jsonp').success(function(res) {\n\t\t\t\t\t\t\tscope.shares = res.count.toLocaleString();\n\t\t\t\t\t\t}).error(function() {\n\t\t\t\t\t\t\tscope.shares = 0;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\telement.unbind();\n\t\t\t\t\t\telement.bind('click', function() {\n\t\t\t\t\t\t\tvar url = encodeURIComponent(attr.url).replace(/'/g, \"%27\").replace(/\"/g, \"%22\")\n\t\t\t\t\t\t\t$window.open(\"//www.linkedin.com/shareArticle?mini=true&url=\" + url + \"&title=\" + attr.title + \"&summary=\" + attr.summary);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t\tattr.$observe('url', renderLinkedinButton);\n\t\t\t\tattr.$observe('title', renderLinkedinButton);\n\t\t\t\tattr.$observe('summary', renderLinkedinButton);\n\t\t\t}\n\t\t};\n\t}]).directive('gplus', [function() {\n\t\treturn {\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar googleShare = debounce(function() {\n\t\t\t\t\tif (typeof gapi == \"undefined\") {\n\t\t\t\t\t\t(function() {\n\t\t\t\t\t\t\tvar po = document.createElement('script');\n\t\t\t\t\t\t\tpo.type = 'text/javascript';\n\t\t\t\t\t\t\tpo.async = true;\n\t\t\t\t\t\t\tpo.src = 'https://apis.google.com/js/platform.js';\n\t\t\t\t\t\t\tpo.onload = renderGoogleButton;\n\t\t\t\t\t\t\tvar s = document.getElementsByTagName('script')[0];\n\t\t\t\t\t\t\ts.parentNode.insertBefore(po, s);\n\t\t\t\t\t\t})();\n\t\t\t\t\t} else {\n\t\t\t\t\t\trenderGoogleButton();\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t\t//voodo magic\n\t\t\t\tvar renderGoogleButton = (function(ele, attr) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tvar googleButton = document.createElement('div');\n\t\t\t\t\t\tvar id = attr.id || randomString(5);\n\t\t\t\t\t\tattr.id = id;\n\t\t\t\t\t\tgoogleButton.setAttribute('id', id);\n\t\t\t\t\t\telement.innerHTML = '';\n\t\t\t\t\t\telement.append(googleButton);\n\t\t\t\t\t\tif (attr.class && attr.class.indexOf('g-plusone') != -1) {\n\t\t\t\t\t\t\twindow.gapi.plusone.render(id, attr);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twindow.gapi.plus.render(id, attr);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}(element, attr));\n\t\t\t\tattr.$observe('href', googleShare);\n\t\t\t}\n\t\t};\n\t}]).directive('tumblrText', [function() {\n\t\treturn {\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar tumblr_button = document.createElement(\"a\");\n\t\t\t\tvar renderTumblrText = debounce(function() {\n\t\t\t\t\ttumblr_button.setAttribute(\"href\", \"https://www.tumblr.com/share/link?url=\" + encodeURIComponent(attr.url) + \"&name=\" + encodeURIComponent(attr.name) + \"&description=\" + encodeURIComponent(attr.description));\n\t\t\t\t\ttumblr_button.setAttribute(\"title\", attr.title || \"Share on Tumblr\");\n\t\t\t\t\ttumblr_button.setAttribute(\"style\", attr.styling || \"display:inline-block; text-indent:-9999px; overflow:hidden; width:81px; height:20px; background:url('https://platform.tumblr.com/v1/share_1.png') top left no-repeat transparent;\");\n\t\t\t\t\telement[0].innerHTML = '';\n\t\t\t\t\telement.append(tumblr_button);\n\t\t\t\t}, 100);\n\t\t\t\tattr.$observe('url', renderTumblrText);\n\t\t\t\tattr.$observe('name', renderTumblrText);\n\t\t\t\tattr.$observe('description', renderTumblrText);\n\t\t\t}\n\n\t\t}\n\t}]).directive('tumblrQoute', [function() {\n\t\treturn {\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar tumblr_button = document.createElement(\"a\");\n\t\t\t\tvar renderTumblrQoute = debounce(function() {\n\t\t\t\t\ttumblr_button.setAttribute(\"href\", \"https://www.tumblr.com/share/quote?quote=\" + encodeURIComponent(attr.qoute) + \"&source=\" + encodeURIComponent(attr.source));\n\t\t\t\t\ttumblr_button.setAttribute(\"title\", attr.title || \"Share on Tumblr\");\n\t\t\t\t\ttumblr_button.setAttribute(\"style\", attr.styling || \"display:inline-block; text-indent:-9999px; overflow:hidden; width:81px; height:20px; background:url('https://platform.tumblr.com/v1/share_1.png') top left no-repeat transparent;\");\n\t\t\t\t\telement[0].innerHTML = '';\n\t\t\t\t\telement.append(tumblr_button);\n\t\t\t\t}, 100);\n\t\t\t\tattr.$observe('qoute', renderTumblrQoute);\n\t\t\t\tattr.$observe('source', renderTumblrQoute);\n\t\t\t}\n\t\t}\n\t}]).directive('tumblrImage', [function() {\n\t\treturn {\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar tumblr_button = document.createElement(\"a\");\n\t\t\t\tvar renderTumblrImage = debounce(function() {\n\t\t\t\t\ttumblr_button.setAttribute(\"href\", \"https://www.tumblr.com/share/photo?source=\" + encodeURIComponent(attr.source) + \"&caption=\" + encodeURIComponent(attr.caption) + \"&clickthru=\" + encodeURIComponent(attr.clickthru));\n\t\t\t\t\ttumblr_button.setAttribute(\"title\", attr.title || \"Share on Tumblr\");\n\t\t\t\t\ttumblr_button.setAttribute(\"style\", attr.styling || \"display:inline-block; text-indent:-9999px; overflow:hidden; width:81px; height:20px; background:url('https://platform.tumblr.com/v1/share_1.png') top left no-repeat transparent;\");\n\t\t\t\t\telement[0].innerHTML = '';\n\t\t\t\t\telement.append(tumblr_button);\n\t\t\t\t}, 100);\n\t\t\t\tattr.$observe('source', renderTumblrImage);\n\t\t\t\tattr.$observe('caption', renderTumblrImage);\n\t\t\t\tattr.$observe('clickthru', renderTumblrImage);\n\t\t\t}\n\t\t}\n\t}]).directive('tumblrVideo', [function() {\n\t\treturn {\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar tumblr_button = document.createElement(\"a\");\n\t\t\t\tvar renderTumblrVideo = debounce(function() {\n\t\t\t\t\ttumblr_button.setAttribute(\"href\", \"https://www.tumblr.com/share/video?embed=\" + encodeURIComponent(attr.embedcode) + \"&caption=\" + encodeURIComponent(attr.caption));\n\t\t\t\t\ttumblr_button.setAttribute(\"title\", attr.title || \"Share on Tumblr\");\n\t\t\t\t\ttumblr_button.setAttribute(\"style\", attr.styling || \"display:inline-block; text-indent:-9999px; overflow:hidden; width:81px; height:20px; background:url('https://platform.tumblr.com/v1/share_1.png') top left no-repeat transparent;\");\n\t\t\t\t\telement[0].innerHTML = '';\n\t\t\t\t\telement.append(tumblr_button);\n\t\t\t\t}, 100);\n\t\t\t\tattr.$observe('embedcode', renderTumblrVideo);\n\t\t\t\tattr.$observe('caption', renderTumblrVideo);\n\t\t\t}\n\t\t}\n\t}]).directive('pintrest', ['$window', '$timeout', function($window, $timeout) {\n\t\treturn {\n\t\t\ttemplate: '<a href=\"{{href}}\" data-pin-do=\"{{pinDo}}\" data-pin-config=\"{{pinConfig}}\"><img src=\"//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png\" /></a>',\n\t\t\tlink: function(scope, element, attr) {\n\t\t\t\tvar pintrestButtonRenderer = debounce(function() {\n\t\t\t\t\tvar pin_button = document.createElement(\"a\");\n\t\t\t\t\tpin_button.setAttribute(\"href\", '//www.pinterest.com/pin/create/button/?url=' + encodeURIComponent(attr.href) + '&media=' + encodeURIComponent(attr.img) + '&description=' + encodeURIComponent(attr.description));\n\t\t\t\t\tpin_button.setAttribute(\"pinDo\", attr.pinDo || \"buttonPin\");\n\t\t\t\t\tpin_button.setAttribute(\"pinConfig\", attr.pinConfig || \"beside\");\n\t\t\t\t\telement[0].innerHTML = '';\n\t\t\t\t\telement.append(pin_button);\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t$window.parsePins(element);\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\n\t\t\t\tattr.$observe('href', pintrestButtonRenderer);\n\t\t\t\tattr.$observe('img', pintrestButtonRenderer);\n\t\t\t\tattr.$observe('description', pintrestButtonRenderer);\n\t\t\t}\n\t\t}\n\t}]);\n//Simple Debounce Implementation\n//http://davidwalsh.name/javascript-debounce-function\nfunction debounce(func, wait, immediate) {\n\tvar timeout;\n\treturn function() {\n\t\tvar context = this,\n\t\t\targs = arguments;\n\t\tvar later = function() {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) func.apply(context, args);\n\t\t};\n\t\tvar callNow = immediate && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t\tif (callNow) func.apply(context, args);\n\t};\n};\n//http://stackoverflow.com/questions/1349404/generate-a-string-of-5-random-characters-in-javascript\n/**\n * RANDOM STRING GENERATOR\n *\n * Info:      http://stackoverflow.com/a/27872144/383904\n * Use:       randomString(length [,\"A\"] [,\"N\"] );\n * Default:   return a random alpha-numeric string\n * Arguments: If you use the optional \"A\", \"N\" flags:\n *            \"A\" (Alpha flag)   return random a-Z string\n *            \"N\" (Numeric flag) return random 0-9 string\n */\nfunction randomString(len, an) {\n\tan = an && an.toLowerCase();\n\tvar str = \"\",\n\t\ti = 0,\n\t\tmin = an == \"a\" ? 10 : 0,\n\t\tmax = an == \"n\" ? 10 : 62;\n\tfor (; i++ < len;) {\n\t\tvar r = Math.random() * (max - min) + min << 0;\n\t\tstr += String.fromCharCode(r += r > 9 ? r < 36 ? 55 : 61 : 48);\n\t}\n\treturn str;\n}\n"
  },
  {
    "path": "angular-socialshare.less",
    "content": ".facebookShare{\n    border: none;\n    visibility: visible;\n    width: auto;\n    height: 22px;\n    background: transparent;\n    overflow: hidden;\n    -webkit-text-size-adjust: none;\n    color: #333;\n    line-height: 1.28;\n    margin: 0;\n    padding: 0;\n    text-align: left;\n    direction: ltr;\n    cursor: pointer;\n    font-family: 'Helvetica Neue', Helvetica, Arial, 'lucida grande',tahoma,verdana,arial,sans-serif;\n    display: inline-block;\n\n    &:hover .facebookButton .pluginButton,\n    &:active .facebookButton .pluginButton,\n    &:focus .facebookButton .pluginButton{\n        background: #5b7bd5;\n        background: -moz-linear-gradient(top,  #5b7bd5 0%, #4864b1 100%);\n        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5b7bd5), color-stop(100%,#4864b1));\n        background: -webkit-linear-gradient(top,  #5b7bd5 0%,#4864b1 100%);\n        background: -o-linear-gradient(top,  #5b7bd5 0%,#4864b1 100%);\n        background: -ms-linear-gradient(top,  #5b7bd5 0%,#4864b1 100%);\n        background: linear-gradient(to bottom,  #5b7bd5 0%,#4864b1 100%);\n        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5b7bd5', endColorstr='#4864b1',GradientType=0 );\n        border-color: #5874c3 #4961a8 #41599f;\n        box-shadow: inset 0 0 1px #607fd6;\n    }\n\n    .facebookButton{\n        color:#3b5998;\n        text-decoration: none;\n        font-size: 11px;\n        text-align: left;\n        display: inline-block;\n        width:55px;\n\n        .pluginButton{\n            background: #4c69ba;\n            background: -moz-linear-gradient(top,  #4c69ba 0%, #3b55a0 100%);\n            background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4c69ba), color-stop(100%,#3b55a0));\n            background: -webkit-linear-gradient(top,  #4c69ba 0%,#3b55a0 100%);\n            background: -o-linear-gradient(top,  #4c69ba 0%,#3b55a0 100%);\n            background: -ms-linear-gradient(top,  #4c69ba 0%,#3b55a0 100%);\n            background: linear-gradient(to bottom,  #4c69ba 0%,#3b55a0 100%);\n            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c69ba', endColorstr='#3b55a0',GradientType=0 );\n            border: none;\n            border-radius: 3px;\n            color: #fff;\n            cursor: pointer;\n            font-weight: bold;\n            height: 20px;\n            line-height: 20px;\n            padding: 0;\n            text-shadow: 0 -1px 0 #354c8c;\n            white-space: nowrap;\n\n            .pluginButtonContainer {\n                 -webkit-font-smoothing: antialiased;\n                 text-shadow: 1px 1px 1px rgba(255,255,255,0.004);\n\n                .pluginButtonImage {\n                    display: inline-block;\n                }\n            }\n            button {\n                background: transparent;\n                border: 0;\n                color: inherit;\n                cursor: pointer;\n                font: inherit;\n                font-weight: bold;\n                margin: -1px;\n                outline: none;\n                padding: 0;\n                text-shadow: 0 -1px 0 #354c8c;\n\n                .pluginButtonIcon {\n                    height: 14px;\n                    left: 0;\n                    margin: 0 4px 0 4px;\n                    position: relative;\n                    top: 3px;\n                    vertical-align: top;\n                    width: 14px;\n                }\n                .sp_plugin-button-2x {\n                    background-image: url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/y5/r/KxVPs0eEy36.png);\n                    background-size: 30px 72px;\n                    background-repeat: no-repeat;\n                    display: inline-block;\n                    height: 14px;\n                    width: 14px;\n                }\n                .sx_plugin-button-2x_favblue {\n                    background-position: 0 -42px;\n                }\n                i.img {\n                    -ms-high-contrast-adjust: none;\n                    _overflow: hidden;\n                }\n            }\n            .pluginButtonLabel {\n                padding: 0 5px 0 0;\n                position: relative;\n                vertical-align: top;\n            }\n        }\n    }\n    .facebookCount{\n        display: inline-block;\n        width: auto;\n\n        .pluginCountButton {\n            background: white;\n            border: 1px solid #bbb;\n            border-radius: 3px;\n            color: #6a7180;\n            display: inline-block;\n            font-size: 11px;\n            height: auto;\n            line-height: 18px;\n            margin-left: 6px;\n            min-width: 15px;\n            padding: 0 3px;\n            text-align: center;\n            white-space: nowrap;\n\n            span{\n                display: inline-block;\n                min-height:12px;\n                min-width:4px;\n                color:#333;\n            }\n        }\n        .pluginCountButtonNub {\n            height: 0;\n            left: 2px;\n            position: relative;\n            top: -15px;\n            width: 5px;\n            z-index: 2;\n\n            s,\n            i {\n                border-color: transparent #bbb;\n                border-style: solid;\n                border-width: 4px 5px 4px 0;\n                display: block;\n                position: relative;\n                top: 1px;\n            }\n            i {\n                border-right-color: #fff;\n                left: 2px;\n                top: -7px;\n            }\n        }\n    }\n}\n@-moz-document url-prefix() { \n  .facebookShare .facebookButton .pluginButton button .pluginButtonIcon{\n    margin:0 1px;\n  }\n}\n.linkedinShare{\n    line-height: 1;\n    vertical-align: baseline;\n    display: inline-block;\n    text-align: center;\n    width: auto;\n    padding:0;\n    margin: 0;\n    position: relative;\n    border:0;\n    text-decoration: none;\n    height:20px;\n    cursor: pointer;\n\n    &:hover .linkedinButton .pluginButtonLabel,\n    &:active .linkedinButton .pluginButtonLabel,\n    &:focus .linkedinButton .pluginButtonLabel{\n        border: 1px solid #000;\n        border-top-color: #ABABAB;\n        border-right-color: #9A9A9A;\n        border-bottom-color: #787878;\n        border-left-color: #04568B;\n        border-left: 0;\n        background: #ededed;\n        background: -moz-linear-gradient(top,  #ededed 0%, #dedede 100%);\n        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#dedede));\n        background: -webkit-linear-gradient(top,  #ededed 0%,#dedede 100%);\n        background: -o-linear-gradient(top,  #ededed 0%,#dedede 100%);\n        background: -ms-linear-gradient(top,  #ededed 0%,#dedede 100%);\n        background: linear-gradient(to bottom,  #ededed 0%,#dedede 100%);\n        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ededed', endColorstr='#dedede',GradientType=0 );\n    }\n\n    .linkedinButton{\n        display: inline-block;\n        width: 59px;\n        height:20px;\n        padding: 0;\n        margin: 0;\n\n        .pluginButtonImage{\n            background-image: url(https://www.linkedin.com/scds/common/u/images/apps/connect/sprites/sprite_connect_v14.png);\n            background-position: 0px -276px;\n            background-repeat: no-repeat;\n            cursor: pointer;\n            border: 0;\n            text-indent: -9999em;\n            overflow: hidden;\n            padding: 0;\n            margin: 0;\n            position: absolute;\n            left: 0px;\n            top: 0px;\n            display: block;\n            width: 20px;\n            height: 20px;\n            border-radius: 2px;\n            color: #069;\n        }\n        .pluginButtonLabel{\n            color: #333;\n            cursor: pointer;\n            display: block;\n            white-space: nowrap;\n            float: left;\n            margin-left: 1px;\n            overflow: hidden;\n            text-align: center;\n            height: 18px;\n            padding: 0 4px 0 23px;\n            border: 1px solid #000;\n            border-top-color: #E2E2E2;\n            border-right-color: #BFBFBF;\n            border-bottom-color: #B9B9B9;\n            border-left-color: #E2E2E2;\n            border-left: 0;\n            text-shadow: #FFFFFF -1px 1px 0;\n            line-height: 20px;\n            border-radius: 2px;\n            background-color: #ECECEC;\n            background: -moz-linear-gradient(top,  #fefefe 0%, #ececec 100%);\n            background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefefe), color-stop(100%,#ececec));\n            background: -webkit-linear-gradient(top,  #fefefe 0%,#ececec 100%);\n            background: -o-linear-gradient(top,  #fefefe 0%,#ececec 100%);\n            background: -ms-linear-gradient(top,  #fefefe 0%,#ececec 100%);\n            background: linear-gradient(to bottom,  #fefefe 0%,#ececec 100%);\n            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#ececec',GradientType=0 );\n\n            span{\n                color: #333;\n                font-size: 11px;\n                font-family: Arial, sans-serif;\n                font-weight: bold;\n                font-style: normal;\n                -webkit-font-smoothing: antialiased;\n                display: inline-block;\n                background: transparent none;\n                vertical-align: top;\n                height: 18px;\n                line-height: 20px;\n                float: none;\n            }\n        }\n    }\n    .linkedinCount{\n        padding: 0px;\n        margin: 0px;\n        text-indent: 0px;\n        display: inline-block;\n        vertical-align: baseline;\n\n        .pluginCountButton{\n            display: inline-block;\n            overflow: visible;\n            position: relative;\n            height: 18px;\n            padding-left: 2px;\n\n            .pluginCountButtonRight{\n                display: block;\n                float: left;\n                height: 18px;\n                padding-right: 4px;\n                background-image: url(https://www.linkedin.com/scds/common/u/images/apps/connect/sprites/sprite_connect_v14.png);\n                background-color: transparent;\n                background-repeat: no-repeat;\n                background-position: right -100px;\n\n                .pluginCountButtonLeft{\n                    display: block;\n                    float: left;\n                    padding-left: 8px;\n                    text-align: center;\n                    background-image: url(https://www.linkedin.com/scds/common/u/images/apps/connect/sprites/sprite_connect_v14.png);\n                    background-color: transparent;\n                    background-repeat: no-repeat;\n                    background-position: 0px -60px;\n\n                    span{\n                        display: inline;\n                        font-size: 11px;\n                        color: #04558B;\n                        font-weight: bold;\n                        font-family: Arial, sans-serif;\n                        line-height: 18px;\n                        padding: 0 2px;\n                    }\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "bower.json",
    "content": "{\n  \"name\": \"angular-socialshare\",\n  \"main\": [\n    \"angular-socialshare.js\",\n    \"angular-socialshare.css\",\n    \"angular-socialshare.less\"\n  ],\n  \"version\": \"1.4.4\",\n  \"authors\": [\n    \"djds4rce <djd4rce@gmail.com>\"\n  ],\n  \"description\": \"Social Share buttons for AngularJS\",\n  \"keywords\": [\n    \"social\",\n    \"googleplus\",\n    \"facebook\",\n    \"twitter\",\n    \"linkdin\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \"bower_components\",\n    \"test\",\n    \"tests\"\n  ]\n}\n"
  },
  {
    "path": "gulpfile.js",
    "content": "var gulp = require('gulp');\nvar gutil = require('gulp-util');\nvar uglify = require('gulp-uglify');\nvar rename = require('gulp-rename');\n\ngulp.task('default', function(){\n  gulp.src('./angular-socialshare.js')\n  .pipe(rename('angular-socialshare.min.js'))\n  .pipe(uglify())\n  .pipe(gulp.dest('./'));\n});\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"angular-socialshare\",\n  \"version\": \"1.5\",\n  \"description\": \"Angular Social Share =========\",\n  \"main\": \"angular-socialshare.js\",\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/djds4rce/angular-socialshare.git\"\n  },\n  \"author\": \"\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/djds4rce/angular-socialshare/issues\"\n  },\n  \"homepage\": \"https://github.com/djds4rce/angular-socialshare\",\n  \"dependencies\": {\n    \"gulp-rename\": \"^1.2.0\",\n    \"gulp-uglify\": \"^1.1.0\",\n    \"gulp-util\": \"^3.0.4\"\n  }\n}\n"
  }
]