PageSourceSearch

https://www.cieplice.pl/node_modules/lightgallery/plugins/share/lg-share.umd.js

js cieplice.pl collected 2026-09-28 10:20:46 UTC 9,751 bytes, 227 lines download raw bytes

1/*!
2 * lightgallery | 2.7.1 | January 11th 2023
3 * http://www.lightgalleryjs.com/
4 * Copyright (c) 2020 Sachin Neravath;
5 * @license GPLv3
6 */
7
8(function (global, factory) {
9    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
10    typeof define === 'function' && define.amd ? define(factory) :
11    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgShare = factory());
12}(this, (function () { 'use strict';
13
14    /*! *****************************************************************************
15    Copyright (c) Microsoft Corporation.
16
17    Permission to use, copy, modify, and/or distribute this software for any
18    purpose with or without fee is hereby granted.
19
20    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
21    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
22    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
23    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
24    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
25    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
26    PERFORMANCE OF THIS SOFTWARE.
27    ***************************************************************************** */
28
29    var __assign = function() {
30        __assign = Object.assign || function __assign(t) {
31            for (var s, i = 1, n = arguments.length; i < n; i++) {
32                s = arguments[i];
33                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
34            }
35            return t;
36        };
37        return __assign.apply(this, arguments);
38    };
39
40    function __spreadArrays() {
41        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
42        for (var r = Array(s), k = 0, i = 0; i < il; i++)
43            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
44                r[k] = a[j];
45        return r;
46    }
47
48    var shareSettings = {
49        share: true,
50        facebook: true,
51        facebookDropdownText: 'Facebook',
52        twitter: true,
53        twitterDropdownText: 'Twitter',
54        pinterest: true,
55        pinterestDropdownText: 'Pinterest',
56        additionalShareOptions: [],
57        sharePluginStrings: { share: 'Share' },
58    };
59
60    function getFacebookShareLink(galleryItem) {
61        var facebookBaseUrl = '//www.facebook.com/sharer/sharer.php?u=';
62        return (facebookBaseUrl +
63            encodeURIComponent(galleryItem.facebookShareUrl || window.location.href));
64    }
65
66    function getTwitterShareLink(galleryItem) {
67        var twitterBaseUrl = '//twitter.com/intent/tweet?text=';
68        var url = encodeURIComponent(galleryItem.twitterShareUrl || window.location.href);
69        var text = galleryItem.tweetText;
70        return twitterBaseUrl + text + '&url=' + url;
71    }
72
73    function getPinterestShareLink(galleryItem) {
74        var pinterestBaseUrl = 'http://www.pinterest.com/pin/create/button/?url=';
75        var description = galleryItem.pinterestText;
76        var media = encodeURIComponent(galleryItem.src);
77        var url = encodeURIComponent(galleryItem.pinterestShareUrl || window.location.href);
78        return (pinterestBaseUrl +
79            url +
80            '&media=' +
81            media +
82            '&description=' +
83            description);
84    }
85
86    /**
87     * List of lightGallery events
88     * All events should be documented here
89     * Below interfaces are used to build the website documentations
90     * */
91    var lGEvents = {
92        afterAppendSlide: 'lgAfterAppendSlide',
93        init: 'lgInit',
94        hasVideo: 'lgHasVideo',
95        containerResize: 'lgContainerResize',
96        updateSlides: 'lgUpdateSlides',
97        afterAppendSubHtml: 'lgAfterAppendSubHtml',
98        beforeOpen: 'lgBeforeOpen',
99        afterOpen: 'lgAfterOpen',
100        slideItemLoad: 'lgSlideItemLoad',
101        beforeSlide: 'lgBeforeSlide',
102        afterSlide: 'lgAfterSlide',
103        posterClick: 'lgPosterClick',
104        dragStart: 'lgDragStart',
105        dragMove: 'lgDragMove',
106        dragEnd: 'lgDragEnd',
107        beforeNextSlide: 'lgBeforeNextSlide',
108        beforePrevSlide: 'lgBeforePrevSlide',
109        beforeClose: 'lgBeforeClose',
110        afterClose: 'lgAfterClose',
111        rotateLeft: 'lgRotateLeft',
112        rotateRight: 'lgRotateRight',
113        flipHorizontal: 'lgFlipHorizontal',
114        flipVertical: 'lgFlipVertical',
115        autoplay: 'lgAutoplay',
116        autoplayStart: 'lgAutoplayStart',
117        autoplayStop: 'lgAutoplayStop',
118    };
119
120    var Share = /** @class */ (function () {
121        function Share(instance) {
122            this.shareOptions = [];
123            // get lightGallery core plugin instance
124            this.core = instance;
125            // extend module default settings with lightGallery core settings
126            this.settings = __assign(__assign({}, shareSettings), this.core.settings);
127            return this;
128        }
129        Share.prototype.init = function () {
130            if (!this.settings.share) {
131                return;
132            }
133            this.shareOptions = __spreadArrays(this.getDefaultShareOptions(), this.settings.additionalShareOptions);
134            this.setLgShareMarkup();
135            this.core.outer
136                .find('.lg-share .lg-dropdown')
137                .append(this.getShareListHtml());
138            this.core.LGel.on(lGEvents.afterSlide + ".share", this.onAfterSlide.bind(this));
139        };
140        Share.prototype.getShareListHtml = function () {
141            var shareHtml = '';
142            this.shareOptions.forEach(function (shareOption) {
143                shareHtml += shareOption.dropdownHTML;
144            });
145            return shareHtml;
146        };
147        Share.prototype.setLgShareMarkup = function () {
148            var _this = this;
149            this.core.$toolbar.append("<button type=\"button\" aria-label=\"" + this.settings.sharePluginStrings['share'] + "\" aria-haspopup=\"true\" aria-expanded=\"false\" class=\"lg-share lg-icon\">\n                <ul class=\"lg-dropdown\" style=\"position: absolute;\"></ul></button>");
150            this.core.outer.append('<div class="lg-dropdown-overlay"></div>');
151            var $shareButton = this.core.outer.find('.lg-share');
152            $shareButton.first().on('click.lg', function () {
153                _this.core.outer.toggleClass('lg-dropdown-active');
154                if (_this.core.outer.hasClass('lg-dropdown-active')) {
155                    _this.core.outer.attr('aria-expanded', true);
156                }
157                else {
158                    _this.core.outer.attr('aria-expanded', false);
159                }
160            });
161            this.core.outer
162                .find('.lg-dropdown-overlay')
163                .first()
164                .on('click.lg', function () {
165                _this.core.outer.removeClass('lg-dropdown-active');
166                _this.core.outer.attr('aria-expanded', false);
167            });
168        };
169        Share.prototype.onAfterSlide = function (event) {
170            var _this = this;
171            var index = event.detail.index;
172            var currentItem = this.core.galleryItems[index];
173            setTimeout(function () {
174                _this.shareOptions.forEach(function (shareOption) {
175                    var selector = shareOption.selector;
176                    _this.core.outer
177                        .find(selector)
178                        .attr('href', shareOption.generateLink(currentItem));
179                });
180            }, 100);
181        };
182        Share.prototype.getShareListItemHTML = function (type, text) {
183            return "<li><a class=\"lg-share-" + type + "\" rel=\"noopener\" target=\"_blank\"><span class=\"lg-icon\"></span><span class=\"lg-dropdown-text\">
183" + text + "</span></a></li>";
184        };
185        Share.prototype.getDefaultShareOptions = function () {
186            return __spreadArrays((this.settings.facebook
187                ? [
188                    {
189                        type: 'facebook',
190                        generateLink: getFacebookShareLink,
191                        dropdownHTML: this.getShareListItemHTML('facebook', this.settings.facebookDropdownText),
192                        selector: '.lg-share-facebook',
193                    },
194                ]
195                : []), (this.settings.twitter
196                ? [
197                    {
198                        type: 'twitter',
199                        generateLink: getTwitterShareLink,
200                        dropdownHTML: this.getShareListItemHTML('twitter', this.settings.twitterDropdownText),
201                        selector: '.lg-share-twitter',
202                    },
203                ]
204                : []), (this.settings.pinterest
205                ? [
206                    {
207                        type: 'pinterest',
208                        generateLink: getPinterestShareLink,
209                        dropdownHTML: this.getShareListItemHTML('pinterest', this.settings.pinterestDropdownText),
210                        selector: '.lg-share-pinterest',
211                    },
212                ]
213                : []));
214        };
215        Share.prototype.destroy = function () {
216            this.core.outer.find('.lg-dropdown-overlay').remove();
217            this.core.outer.find('.lg-share').remove();
218            this.core.LGel.off('.lg.share');
219            this.core.LGel.off('.share');
220        };
221        return Share;
222    }());
223
224    return Share;
225
226})));
227//# sourceMappingURL=lg-share.umd.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.