{"version":3,"file":"js/decidim_core-f306e60085dae75b4b63.js","mappings":"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","sources":["webpack://freiwillig/webpack/runtime/chunk loaded","webpack://freiwillig//tmp/build/app/packs/images|sync|/^\\.\\/.*$/","webpack://freiwillig/./app/packs/src/decidim/decidim_application.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/input_multiple_mentions.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/input_character_counter.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/dropdowns_menus.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/icon.js","webpack://freiwillig/./app/packs/src/decidim/external_link.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/external_domain_warning.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/form_validator.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-comments-0.25.2/app/packs/src/decidim/comments/comments.component.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/input_emoji.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/index.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/clipboard.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/append_elements.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/conferences.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/results_listing.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/impersonation.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/entrypoints/decidim_core.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/account_form.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/append_redirect_url_to_modals.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/callout.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/conversations.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/diff_mode_dropdown.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/floating_help.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/history.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/identity_selector_dialog.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/input_autojump.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/notifications.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/represent_user_group.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/responsive_horizontal_tabs.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/security/selfxss_warning.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/start_conversation_dialog.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/tooltip_keep_on_hover.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/user_registrations.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/vendor/modernizr.js","webpack://freiwillig//tmp/build/vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/images|sync|/^\\.\\/.*$/","webpack://freiwillig/webpack/bootstrap","webpack://freiwillig/webpack/runtime/compat get default export","webpack://freiwillig/webpack/runtime/define property getters","webpack://freiwillig/webpack/runtime/global","webpack://freiwillig/webpack/runtime/hasOwnProperty shorthand","webpack://freiwillig/webpack/runtime/node module decorator","webpack://freiwillig/webpack/runtime/publicPath","webpack://freiwillig/webpack/runtime/jsonp chunk loading","webpack://freiwillig/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var map = {\n\t\"./BMSGPK_Logo.png\": 87711,\n\t\"./IGO_Logo.png\": 20677,\n\t\"./Kartenersatz.jpg\": 75450,\n\t\"./Teilen_ICON.svg\": 86537,\n\t\"./cc-by-sa.svg\": 73356,\n\t\"./decidim-logo-mobile.svg\": 43943,\n\t\"./default-avatar.png\": 53277,\n\t\"./hero_cover.png\": 22002,\n\t\"./hero_cover_small.png\": 46792,\n\t\"./icon_process_step_1.png\": 71768,\n\t\"./icon_process_step_1.svg\": 42038,\n\t\"./icon_process_step_2.png\": 15784,\n\t\"./icon_process_step_2.svg\": 79626,\n\t\"./icon_process_step_3.png\": 16686,\n\t\"./icon_process_step_3.svg\": 23805,\n\t\"./icon_process_step_4.png\": 58815,\n\t\"./icon_process_step_4.svg\": 76692,\n\t\"./mitgestalten-logo.png\": 71758\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 48999;","// This file is compiled inside Decidim core pack. Code can be added here and will be executed\n// as part of that pack\n\n// Load images\n// require.context(\"../../images\", true)\nrequire.context(\"../../images\", true)\n\n/* solve share button problems */\n/*\n * decaffeinate suggestions:\n * DS102: Remove unnecessary code created because of implicit returns\n * DS205: Consider reworking code to avoid use of IIFEs\n * DS207: Consider shorter variations of null checks\n * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md\n */\nwindow.SocialShareButton = {\n openUrl(url, width, height) {\n if (width === null) { width = 640; }\n if (height === null) { height = 480; }\n const left = (screen.width / 2) - (width / 2);\n const top = (screen.height * 0.3) - (height / 2);\n const opt = `width=${width},height=${height},left=${left},top=${top},menubar=no,status=no,location=no`;\n window.open(url, 'popup', opt);\n return false;\n },\n \n share(el) {\n if (el.getAttribute === null) {\n el = document.querySelector(el);\n }\n \n const site = el.getAttribute(\"data-site\");\n const appkey = el.getAttribute(\"data-appkey\") || '';\n const $parent = el.parentNode;\n let title = encodeURIComponent(el.getAttribute(\"data-\" + site + \"-title\") || $parent.getAttribute('data-title') || '');\n const img = encodeURIComponent($parent.getAttribute(\"data-img\") || '');\n let url = encodeURIComponent($parent.getAttribute(\"data-url\") || '');\n const via = encodeURIComponent($parent.getAttribute(\"data-via\") || '');\n const desc = encodeURIComponent($parent.getAttribute(\"data-desc\") || ' ');\n \n // tracking click events if google analytics enabled\n const ga = window[window['GoogleAnalyticsObject'] || 'ga'];\n if (typeof ga === 'function') {\n ga('send', 'event', 'Social Share Button', 'click', site);\n }\n \n if (url.length === 0) {\n url = encodeURIComponent(location.href);\n }\n switch (site) {\n case \"email\":\n location.href = `mailto:?subject=${title}&body=${url}`;\n break;\n case \"weibo\":\n SocialShareButton.openUrl(`http://service.weibo.com/share/share.php?url=${url}&type=3&pic=${img}&title=${title}&appkey=${appkey}`, 620, 370);\n break;\n case \"twitter\":\n var hashtags = encodeURIComponent(el.getAttribute(\"data-\" + site + \"-hashtags\") || $parent.getAttribute(\"data-hashtags\") || '');\n var via_str = '';\n if (via.length > 0) { via_str = `&via=${via}`; }\n SocialShareButton.openUrl(`https://twitter.com/intent/tweet?url=${url}&text=${title}&hashtags=${hashtags}${via_str}`, 650, 300);\n break;\n case \"douban\":\n SocialShareButton.openUrl(`http://shuo.douban.com/!service/share?href=${url}&name=${title}&image=${img}&sel=${desc}`, 770, 470);\n break;\n case \"facebook\":\n SocialShareButton.openUrl(`http://www.facebook.com/sharer/sharer.php?u=${url}`, 555, 400);\n break;\n case \"qq\":\n SocialShareButton.openUrl(`http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${url}&title=${title}&pics=${img}&summary=${desc}&site=${appkey}`);\n break;\n case \"google_bookmark\":\n SocialShareButton.openUrl(`https://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=${url}&title=${title}`);\n break;\n case \"delicious\":\n SocialShareButton.openUrl(`https://del.icio.us/save?url=${url}&title=${title}&jump=yes&pic=${img}`);\n break;\n case \"pinterest\":\n SocialShareButton.openUrl(`http://www.pinterest.com/pin/create/button/?url=${url}&media=${img}&description=${title}`);\n break;\n case \"linkedin\":\n SocialShareButton.openUrl(`https://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${title}&summary=${desc}`);\n break;\n case \"xing\":\n SocialShareButton.openUrl(`https://www.xing.com/spi/shares/new?url=${url}`);\n break;\n case \"vkontakte\":\n SocialShareButton.openUrl(`http://vk.com/share.php?url=${url}&title=${title}&image=${img}`);\n break;\n case \"odnoklassniki\":\n SocialShareButton.openUrl(`https://connect.ok.ru/offer?url=${url}&title=${title}&description=${desc}&imageUrl=${img}`);\n break;\n case \"wechat\":\n if (!window.SocialShareWeChatButton) { throw new Error(\"You should require social-share-button/wechat to your application.js\"); }\n window.SocialShareWeChatButton.qrcode({\n url: decodeURIComponent(url),\n header: el.getAttribute('title'),\n footer: el.getAttribute(\"data-wechat-footer\")\n });\n break;\n \n case \"tumblr\":\n var get_tumblr_extra = function(param) {\n const cutom_data = el.getAttribute(`data-${param}`);\n if (cutom_data) { return encodeURIComponent(cutom_data); }\n };\n \n var tumblr_params = function() {\n const path = get_tumblr_extra('type') || 'link';\n \n const params = (() => { switch (path) {\n case 'text':\n title = get_tumblr_extra('title') || title;\n return `title=${title}`;\n case 'photo':\n title = get_tumblr_extra('caption') || title;\n var source = get_tumblr_extra('source') || img;\n return `caption=${title}&source=${source}`;\n case 'quote':\n var quote = get_tumblr_extra('quote') || title;\n source = get_tumblr_extra('source') || '';\n return `quote=${quote}&source=${source}`;\n default: // actually, it's a link clause\n title = get_tumblr_extra('title') || title;\n url = get_tumblr_extra('url') || url;\n return `name=${title}&url=${url}`;\n } })();\n \n \n return `/${path}?${params}`;\n };\n \n SocialShareButton.openUrl(`http://www.tumblr.com/share${tumblr_params()}`);\n break;\n \n case \"reddit\":\n SocialShareButton.openUrl(`http://www.reddit.com/submit?url=${url}&newwindow=1`, 555, 400);\n break;\n case \"hacker_news\":\n SocialShareButton.openUrl(`http://news.ycombinator.com/submitlink?u=${url}&t=${title}`, 770, 500);\n break;\n case \"telegram\":\n SocialShareButton.openUrl(`https://telegram.me/share/url?text=${title}&url=${url}`);\n break;\n case \"whatsapp_app\":\n var whatsapp_app_url = `whatsapp://send?text=${title}%0A${url}`;\n window.open(whatsapp_app_url, '_top');\n break;\n case \"whatsapp_web\":\n SocialShareButton.openUrl(`https://web.whatsapp.com/send?text=${title}%0A${url}`);\n break;\n }\n return false;\n }\n };","/* eslint no-unused-vars: 0 */\nimport Tribute from \"src/decidim/vendor/tribute\"\n\n$(() => {\n const $multipleMentionContainer = $(\".js-multiple-mentions\");\n const $multipleMentionRecipientsContainer = $(\".js-multiple-mentions-recipients\");\n const nodatafound = $multipleMentionContainer.attr(\"data-noresults\");\n const directMessageDisabled = $multipleMentionContainer.attr(\"data-direct-messages-disabled\");\n\n const maxRecipients = 9;\n let mentionsCount = 0;\n\n /* eslint no-unused-vars: 0 */\n let deleteRecipient = function(element) {\n // Remove recipient\n element.remove();\n mentionsCount -= 1;\n // In case mentions container disable, enable again\n if ($multipleMentionContainer.prop(\"disabled\")) {\n $multipleMentionContainer.prop(\"disabled\", false);\n }\n };\n\n let noMatchTemplate = null\n if (nodatafound) {\n noMatchTemplate = () => `
  • ${nodatafound}
  • `;\n }\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds\n /* eslint no-invalid-this: 0 */\n /* eslint consistent-this: 0 */\n /* eslint prefer-reflect: 0 */\n const debounce = function(callback, wait) {\n let timeout = null;\n return (...args) => {\n const context = this;\n clearTimeout(timeout);\n timeout = setTimeout(() => callback.apply(context, args), wait);\n };\n }\n\n /* eslint no-use-before-define: [\"error\", { \"variables\": false }]*/\n /* eslint no-unused-expressions: 0 */\n let remoteSearch = function(text, cb) {\n let exclusionIds = [];\n $multipleMentionRecipientsContainer.find(\"input[name^='recipient_id']\").each(function(index) {\n exclusionIds.push($(this).val());\n });\n let query = `{users(filter:{wildcard:\"${text}\",excludeIds:[${exclusionIds}]}){id,nickname,name,avatarUrl,__typename,...on UserGroup{membersCount},...on User{directMessagesEnabled}}}`;\n $.post(\"/api\", {query: query}).\n then((response) => {\n let data = response.data.users || {};\n cb(data)\n }).fail(function() {\n cb([])\n }).always(() => {\n // This function runs Tribute every single time you type something\n // So we must evalute DOM properties after each\n const $parent = $(tribute.current.element).parent();\n $parent.addClass(\"is-active\");\n\n // We need to move the container to the wrapper selected\n const $tribute = $parent.find(\".tribute-container\");\n // Remove the inline styles, relative to absolute positioning\n $tribute.removeAttr(\"style\");\n })\n };\n\n // tribute.js docs - http://github.com/zurb/tribute\n /* global Tribute*/\n /* eslint multiline-ternary: 0 */\n /* eslint no-ternary: 0 */\n let tribute = new Tribute({\n autocompleteMode: true,\n // avoid overloading the API if the user types too fast\n values: debounce(function (text, cb) {\n remoteSearch(text, (users) => cb(users));\n }, 250),\n positionMenu: true,\n menuContainer: null,\n menuItemLimit: 10,\n fillAttr: \"nickname\",\n noMatchTemplate: noMatchTemplate,\n lookup: (item) => item.nickname + item.name,\n selectTemplate: function(item) {\n mentionsCount += 1;\n if (mentionsCount >= maxRecipients) {\n $multipleMentionContainer.prop(\"disabled\", true);\n }\n if (typeof item === \"undefined\") {\n return null;\n }\n // Set recipient profile view\n let recipientLabel = `\n \n `;\n\n // Append new recipient to DOM\n if (item.original.__typename === \"UserGroup\" || item.original.directMessagesEnabled === \"true\") {\n $multipleMentionRecipientsContainer.append($(recipientLabel));\n $multipleMentionContainer.val(\"\");\n }\n\n // In order to add tabindex accessibility control to each recipient in list\n $multipleMentionRecipientsContainer.find(\"label\").each(function(index) {\n $(this).find(\"div\").attr(\"tabIndex\", 0).attr(\"aria-controls\", 0).attr(\"aria-label\", \"Close\").attr(\"role\", \"tab\");\n });\n\n // Clean input\n return \"\";\n },\n menuItemTemplate: function(item) {\n let svg = \"\";\n let enabled = item.original.directMessagesEnabled === \"true\";\n if (window.Decidim && item.original.__typename === \"UserGroup\") {\n enabled = true;\n const iconsPath = window.Decidim.config.get(\"icons_path\");\n svg = `${item.original.membersCount}x `;\n }\n let disabledElementClass = enabled ? \"\" : \"disabled-tribute-element\";\n let disabledElementMessage = enabled ? \"\" : ` ${directMessageDisabled}`;\n return `
    \n \"author-avatar\"\n ${item.original.nickname}\n ${item.original.name}\n ${svg}\n ${disabledElementMessage}\n
    `;\n }\n });\n\n let setupEvents = function($element) {\n // DOM manipulation\n $element.on(\"focusin\", (event) => {\n // Set the parent container relative to the current element\n tribute.menuContainer = event.target.parentNode;\n });\n $element.on(\"focusout\", (event) => {\n let $parent = $(event.target).parent();\n\n if ($parent.hasClass(\"is-active\")) {\n $parent.removeClass(\"is-active\");\n }\n });\n $element.on(\"input\", (event) => {\n let $parent = $(event.target).parent();\n\n if (tribute.isActive) {\n // We need to move the container to the wrapper selected\n let $tribute = $(\".tribute-container\");\n $tribute.appendTo($parent);\n // Remove the inline styles, relative to absolute positioning\n $tribute.removeAttr(\"style\");\n // Parent adaptation\n $parent.addClass(\"is-active\");\n } else {\n $parent.removeClass(\"is-active\");\n }\n });\n };\n\n let setupRecipientEvents = function($element) {\n // Allow delete with click on element in recipients list\n $element.on(\"click\", (event) => {\n let $target = event.target.parentNode;\n if ($target.tagName === \"LABEL\") {\n deleteRecipient($target);\n }\n });\n // Allow delete with keypress on element in recipients list\n $element.on(\"keypress\", (event) => {\n let $target = event.target.parentNode;\n if ($target.tagName === \"LABEL\") {\n deleteRecipient($target);\n }\n });\n };\n\n // Call only if we have containter to bind events to\n if ($multipleMentionContainer.length) {\n setupEvents($multipleMentionContainer);\n tribute.attach($multipleMentionContainer);\n }\n\n // Call only if we have containter to bind events to\n if ($multipleMentionRecipientsContainer.length) {\n setupRecipientEvents($multipleMentionRecipientsContainer);\n }\n});\n","const COUNT_KEY = \"%count%\";\nconst DEFAULT_MESSAGES = {\n charactersAtLeast: {\n one: `at least ${COUNT_KEY} character`,\n other: `at least ${COUNT_KEY} characters`\n },\n charactersLeft: {\n one: `${COUNT_KEY} character left`,\n other: `${COUNT_KEY} characters left`\n }\n};\nlet MESSAGES = DEFAULT_MESSAGES;\n\nexport default class InputCharacterCounter {\n static configureMessages(messages) {\n MESSAGES = $.extend(DEFAULT_MESSAGES, messages);\n }\n\n constructor(input) {\n this.$input = input;\n this.$target = $(this.$input.data(\"remaining-characters\"));\n this.minCharacters = parseInt(this.$input.attr(\"minlength\"), 10);\n this.maxCharacters = parseInt(this.$input.attr(\"maxlength\"), 10);\n\n if (this.$target.length < 1) {\n let targetId = null;\n if (this.$input.attr(\"id\") && this.$input.attr(\"id\").length > 0) {\n targetId = `${this.$input.attr(\"id\")}_characters`;\n } else {\n targetId = `characters_${Math.random().toString(36).substr(2, 9)}`;\n }\n\n this.$target = $(``)\n\n // If input is a hidden for WYSIWYG editor add it at the end\n if (this.$input.parent().is(\".editor\")) {\n this.$input.parent().after(this.$target);\n }\n // Prefix and suffix columns are wrapped in columns, so put the\n // character counter before that.\n else if (\n this.$input.parent().is(\".columns\") &&\n this.$input.parent().parent().is(\".row\")\n ) {\n this.$input.parent().parent().after(this.$target);\n } else {\n this.$input.after(this.$target);\n }\n }\n\n if (this.$target.length > 0 && (this.maxCharacters > 0 || this.minCharacters > 0)) {\n this.bindEvents();\n }\n }\n\n bindEvents() {\n // In WYSIWYG editors (Quill) we need to find the active editor from the\n // DOM node. Quill has the experimental \"find\" method that should work\n // fine in this case\n if (Quill && this.$input.parent().is(\".editor\")) {\n // Wait until the next javascript loop so Quill editors are created\n setTimeout(() => {\n const editor = Quill.find(this.$input.siblings(\".editor-container\")[0]);\n editor.on(\"text-change\", () => {\n this.updateStatus();\n });\n })\n }\n this.$input.on(\"keyup\", () => {\n this.updateStatus();\n });\n if (this.$input.get(0) !== null) {\n this.$input.get(0).addEventListener(\"emoji.added\", () => {\n this.updateStatus();\n });\n }\n this.updateStatus();\n }\n\n updateStatus() {\n const numCharacters = this.$input.val().length;\n const showMessages = [];\n\n if (this.minCharacters > 0) {\n let message = MESSAGES.charactersAtLeast.other;\n if (this.minCharacters === 1) {\n message = MESSAGES.charactersAtLeast.one;\n }\n showMessages.push(message.replace(COUNT_KEY, this.minCharacters));\n }\n\n if (this.maxCharacters > 0) {\n const remaining = this.maxCharacters - numCharacters;\n let message = MESSAGES.charactersLeft.other;\n if (remaining === 1) {\n message = MESSAGES.charactersLeft.one;\n }\n showMessages.push(message.replace(COUNT_KEY, remaining));\n }\n\n this.$target.text(showMessages.join(\", \"));\n }\n}\n\nconst createCharacterCounter = ($input) => {\n $input.data(\"remaining-characters-counter\", new InputCharacterCounter($input));\n}\n\n$(() => {\n $(\"input[type='text'], textarea, .editor>input[type='hidden']\").each((_i, elem) => {\n const $input = $(elem);\n\n if (!$input.is(\"[minlength]\") && !$input.is(\"[maxlength]\")) {\n return;\n }\n\n createCharacterCounter($input);\n });\n});\n\nexport { InputCharacterCounter, createCharacterCounter };\n","/* eslint-disable require-jsdoc */\n\n// This will apply some fixes for the Foundation dropdown menu element\n// according to W3C instructions at:\n// https://www.w3.org/TR/wai-aria-practices/examples/menu-button/menu-button-links.html\n//\n// NOTE:\n// This needs to run AFTER Foundation has been initialized because those\n// initializers will affect the drop down menu elements.\nexport default function fixDropdownMenus() {\n $(\"[data-dropdown-menu]\").each((_i, element) => {\n // This will break navigation on macOS VoiceOver app since it will let the\n // user to focus on the li element instead of the element where we\n // actually need the focus to be in.\n $(\"li.is-dropdown-submenu-parent\", element).removeAttr(\"aria-haspopup\").removeAttr(\"aria-label\");\n // Foundation marks the wrong role for the submenu elements\n $(\"ul.is-dropdown-submenu\", element).attr(\"role\", \"menu\");\n })\n}\n\n// Ensure the first element is always focused when a dropdown is opened as\n// this would not always happen when using a screen reader. If this is not\n// done, the screen reader will stay quiet when the menu opens which can lead\n// to the blind user not understanding the menu has opened.\n$(() => {\n $(\"[data-dropdown-menu]\").on(\"show.zf.dropdownMenu\", (_i, element) => {\n $(\"li:first > a\", element).focus();\n });\n})\n","const DEFAULT_ATTRIBUTES = {\n role: \"img\",\n \"aria-hidden\": \"true\"\n};\n\n/**\n * Generates a Decidim icon element and returns it as a string.\n * @param {String} iconKey - the key of the icon to be generated\n * @param {Object} attributes - extra attributes to define for the icon SVG\n * @param {int} wait - number of milliseconds to wait before executing the function.\n * @private\n * @returns {Void} - Returns nothing.\n */\nexport default function icon(iconKey, attributes = {}) {\n const iconAttributes = $.extend(DEFAULT_ATTRIBUTES, attributes);\n const title = iconAttributes.title || iconAttributes.ariaLabel;\n Reflect.deleteProperty(iconAttributes, \"title\");\n\n const htmlAttributes = {\n \"class\": `icon icon--${iconKey}`\n };\n Object.keys(iconAttributes).forEach((key) => {\n // Convert the key to dash-format.\n const newKey = key.replace(/([A-Z])/g, (ucw) => `-${ucw[0].toLowerCase()}`);\n if (typeof htmlAttributes[key] === \"undefined\") {\n htmlAttributes[newKey] = iconAttributes[key];\n } else {\n htmlAttributes[newKey] = `${htmlAttributes[newKey]} ${iconAttributes[key]}`;\n }\n });\n\n const iconsPath = window.Decidim.config.get(\"icons_path\");\n const elHtml = ``;\n const $el = $(elHtml);\n if (title) {\n $el.prepend(`${title}`);\n } else {\n // This keeps accessibility audit tools happy\n $el.prepend(`${iconKey}`);\n // Force hidden if title is not defined\n htmlAttributes[\"aria-hidden\"] = \"true\";\n }\n $el.attr(htmlAttributes);\n\n return $(\"
    \").append($el).html();\n}\n","import icon from \"src/decidim/icon\"\n\nconst EXCLUDE_CLASSES = [\n \"card--list__data__icon\",\n \"footer-social__icon\",\n \"logo-cityhall\"\n];\nconst EXCLUDE_REL = [\"license\", \"decidim\"];\n\nconst DEFAULT_MESSAGES = {\n externalLink: \"External link\"\n};\nlet MESSAGES = DEFAULT_MESSAGES;\n\nexport default class ExternalLink {\n static configureMessages(messages) {\n MESSAGES = $.extend(DEFAULT_MESSAGES, messages);\n }\n\n constructor(link) {\n this.$link = link;\n\n this.setup();\n }\n\n setup() {\n if (EXCLUDE_CLASSES.some((cls) => this.$link.hasClass(cls))) {\n return;\n }\n if (\n EXCLUDE_REL.some((rel) => {\n const linkRels = `${this.$link.attr(\"rel\")}`.split(\" \");\n return linkRels.indexOf(rel) > -1;\n })\n ) {\n return;\n }\n\n this.$link.addClass(\"external-link-container\");\n let spacer = \" \";\n if (this.$link.text().trim().length < 1) {\n // Fixes image links extra space\n spacer = \"\";\n }\n this.$link.append(`${spacer}${this.generateElement()}`);\n }\n\n generateElement() {\n let content = `${this.generateIcon()}${this.generateScreenReaderLabel()}`;\n\n return `${content}`;\n }\n\n generateIcon() {\n return icon(\"external-link\",{focusable:\"false\"});\n }\n\n generateScreenReaderLabel() {\n return `(${MESSAGES.externalLink})`;\n }\n}\n","/* eslint-disable require-jsdoc */\n\nexport default function updateExternalDomainLinks($target) {\n const whitelist = window.Decidim.config.get(\"external_domain_whitelist\")\n\n if (window.location.pathname === \"/link\") {\n return;\n }\n\n $(\"a\", $target).filter((_i, link) => {\n const $link = $(link);\n if (!$link[0].hasAttribute(\"href\") || $link.parents(\".ql-editor\").length > 0) {\n return false;\n }\n\n const parts = $link.attr(\"href\").match(/^(([a-z]+):)?\\/\\/([^/:]+)(:[0-9]*)?(\\/.*)?$/) || null;\n if (!parts) {\n return false;\n }\n\n const domain = parts[3].replace(/^www\\./, \"\")\n if (whitelist.includes(domain)) {\n return false;\n }\n\n return true;\n }).each((_n, link) => {\n const $link = $(link);\n const externalHref = `/link?external_url=${encodeURIComponent($link.attr(\"href\"))}`;\n $link.attr(\"href\", externalHref)\n $link.attr(\"data-remote\", true)\n });\n}\n","const DEFAULT_MESSAGES = {\n correctErrors: \"There are errors on the form, please correct them.\"\n};\nlet MESSAGES = DEFAULT_MESSAGES;\n\nexport default class FormValidator {\n static configureMessages(messages) {\n MESSAGES = $.extend(DEFAULT_MESSAGES, messages);\n }\n\n constructor(form) {\n this.$form = form;\n\n this.$form.on(\"form-error.decidim\", () => {\n this.handleError();\n });\n }\n\n handleError() {\n this.announceFormError();\n\n $(\".is-invalid-input:first\", this.$form).focus();\n }\n\n /**\n * This announces immediately to the screen reader that there are errors on\n * the form that need to be fixed. Does not work on all screen readers but\n * works e.g. in Windows+Firefox+NVDA and macOS+Safari+VoiceOver\n * combinations.\n *\n * @returns {undefined}\n */\n announceFormError() {\n let $announce = $(\".sr-announce\", this.$form);\n if ($announce.length > 0) {\n $announce.remove();\n }\n $announce = $(\"
    \");\n $announce.attr(\"class\", \"sr-announce show-for-sr\");\n $announce.attr(\"aria-live\", \"assertive\");\n this.$form.prepend($announce);\n\n setTimeout(() => {\n $announce.text(MESSAGES.correctErrors);\n }, 100);\n }\n}\n\n$(() => {\n $(\"form\").each((_i, el) => {\n $(el).data(\"form-validator\", new FormValidator($(el)));\n });\n $(document).on(\"forminvalid.zf.abide\", function(_ev, form) {\n form.trigger(\"form-error.decidim\");\n })\n});\n","/* eslint id-length: [\"error\", { \"exceptions\": [\"$\"] }] */\n\n/**\n * A plain Javascript component that handles the comments.\n *\n * @class\n * @augments Component\n */\n\n// This is necessary for testing purposes\nconst $ = window.$;\n\nimport { createCharacterCounter } from \"src/decidim/input_character_counter\"\nimport ExternalLink from \"src/decidim/external_link\"\nimport updateExternalDomainLinks from \"src/decidim/external_domain_warning\"\n\nexport default class CommentsComponent {\n constructor($element, config) {\n this.$element = $element;\n this.commentableGid = config.commentableGid;\n this.commentsUrl = config.commentsUrl;\n this.rootDepth = config.rootDepth;\n this.order = config.order;\n this.lastCommentId = config.lastCommentId;\n this.pollingInterval = config.pollingInterval || 15000;\n this.id = this.$element.attr(\"id\") || this._getUID();\n this.mounted = false;\n }\n\n /**\n * Handles the logic for mounting the component\n * @public\n * @returns {Void} - Returns nothing\n */\n mountComponent() {\n if (this.$element.length > 0 && !this.mounted) {\n this.mounted = true;\n this._initializeComments(this.$element);\n\n $(\".order-by__dropdown .is-submenu-item a\", this.$element).on(\"click.decidim-comments\", () => this._onInitOrder());\n }\n }\n\n /**\n * Handles the logic for unmounting the component\n * @public\n * @returns {Void} - Returns nothing\n */\n unmountComponent() {\n if (this.mounted) {\n this.mounted = false;\n this._stopPolling();\n\n $(\".add-comment .opinion-toggle .button\", this.$element).off(\"click.decidim-comments\");\n $(\".add-comment textarea\", this.$element).off(\"input.decidim-comments\");\n $(\".order-by__dropdown .is-submenu-item a\", this.$element).off(\"click.decidim-comments\");\n $(\".add-comment form\", this.$element).off(\"submit.decidim-comments\");\n $(\".add-comment textarea\", this.$element).each((_i, el) => el.removeEventListener(\"emoji.added\", this._onTextInput));\n }\n }\n\n /**\n * Adds a new thread to the comments section.\n * @public\n * @param {String} threadHtml - The HTML content for the thread.\n * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n * herself was the author of the new thread. Defaults to false.\n * @returns {Void} - Returns nothing\n */\n addThread(threadHtml, fromCurrentUser = false) {\n const $parent = $(\".comments:first\", this.$element);\n const $comment = $(threadHtml);\n const $threads = $(\".comment-threads\", this.$element);\n this._addComment($threads, $comment);\n this._finalizeCommentCreation($parent, fromCurrentUser);\n }\n\n /**\n * Adds a new reply to an existing comment.\n * @public\n * @param {Number} commentId - The ID of the comment for which to add the\n * reply to.\n * @param {String} replyHtml - The HTML content for the reply.\n * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n * herself was the author of the new reply. Defaults to false.\n * @returns {Void} - Returns nothing\n */\n addReply(commentId, replyHtml, fromCurrentUser = false) {\n const $parent = $(`#comment_${commentId}`);\n const $comment = $(replyHtml);\n const $replies = $(`#comment-${commentId}-replies`);\n this._addComment($replies, $comment);\n $replies.siblings(\".comment__additionalreply\").removeClass(\"hide\");\n this._finalizeCommentCreation($parent, fromCurrentUser);\n }\n\n /**\n * Generates a unique identifier for the form.\n * @private\n * @returns {String} - Returns a unique identifier\n */\n _getUID() {\n return `comments-${new Date().setUTCMilliseconds()}-${Math.floor(Math.random() * 10000000)}`;\n }\n\n /**\n * Initializes the comments for the given parent element.\n * @private\n * @param {jQuery} $parent The parent element to initialize.\n * @returns {Void} - Returns nothing\n */\n _initializeComments($parent) {\n $(\".add-comment\", $parent).each((_i, el) => {\n const $add = $(el);\n const $form = $(\"form\", $add);\n const $opinionButtons = $(\".opinion-toggle .button\", $add);\n const $text = $(\"textarea\", $form);\n\n $opinionButtons.on(\"click.decidim-comments\", this._onToggleOpinion);\n $text.on(\"input.decidim-comments\", this._onTextInput);\n\n $(document).trigger(\"attach-mentions-element\", [$text.get(0)]);\n\n $form.on(\"submit.decidim-comments\", () => {\n const $submit = $(\"button[type='submit']\", $form);\n\n $submit.attr(\"disabled\", \"disabled\");\n this._stopPolling();\n });\n\n if ($text.length && $text.get(0) !== null) {\n // Attach event to the DOM node, instead of the jQuery object\n $text.get(0).addEventListener(\"emoji.added\", this._onTextInput);\n }\n });\n\n this._pollComments();\n }\n\n /**\n * Adds the given comment element to the given target element and\n * initializes it.\n * @private\n * @param {jQuery} $target - The target element to add the comment to.\n * @param {jQuery} $container - The comment container element to add.\n * @returns {Void} - Returns nothing\n */\n _addComment($target, $container) {\n let $comment = $(\".comment\", $container);\n if ($comment.length < 1) {\n // In case of a reply\n $comment = $container;\n }\n this.lastCommentId = parseInt($comment.data(\"comment-id\"), 10);\n\n $target.append($container);\n $container.foundation();\n this._initializeComments($container);\n createCharacterCounter($(\".add-comment textarea\", $container));\n $container.find('a[target=\"_blank\"]').each((_i, elem) => {\n const $link = $(elem);\n $link.data(\"external-link\", new ExternalLink($link));\n });\n updateExternalDomainLinks($container)\n }\n\n /**\n * Finalizes the new comment creation after the comment adding finishes\n * successfully.\n * @private\n * @param {jQuery} $parent - The parent comment element to finalize.\n * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n * herself was the author of the new comment.\n * @returns {Void} - Returns nothing\n */\n _finalizeCommentCreation($parent, fromCurrentUser) {\n if (fromCurrentUser) {\n const $add = $(\"> .add-comment\", $parent);\n const $text = $(\"textarea\", $add);\n const characterCounter = $text.data(\"remaining-characters-counter\");\n $text.val(\"\");\n if (characterCounter) {\n characterCounter.updateStatus();\n }\n if (!$add.parent().is(\".comments\")) {\n $add.addClass(\"hide\");\n }\n }\n\n // Restart the polling\n this._pollComments();\n }\n\n /**\n * Sets a timeout to poll new comments.\n * @private\n * @returns {Void} - Returns nothing\n */\n _pollComments() {\n this._stopPolling();\n\n this.pollTimeout = setTimeout(() => {\n $.ajax({\n url: this.commentsUrl,\n method: \"GET\",\n contentType: \"application/javascript\",\n data: {\n \"commentable_gid\": this.commentableGid,\n \"root_depth\": this.rootDepth,\n order: this.order,\n after: this.lastCommentId\n }\n }).done(() => this._pollComments());\n }, this.pollingInterval);\n }\n\n /**\n * Stops polling for new comments.\n * @private\n * @returns {Void} - Returns nothing\n */\n _stopPolling() {\n if (this.pollTimeout) {\n clearTimeout(this.pollTimeout);\n }\n }\n\n /**\n * Sets the loading comments element visible in the view.\n * @private\n * @returns {Void} - Returns nothing\n */\n _setLoading() {\n const $container = $(\"> .comments-container\", this.$element);\n $(\"> .comments\", $container).addClass(\"hide\");\n $(\"> .loading-comments\", $container).removeClass(\"hide\");\n }\n\n /**\n * Event listener for the ordering links.\n * @private\n * @returns {Void} - Returns nothing\n */\n _onInitOrder() {\n this._stopPolling();\n this._setLoading();\n }\n\n /**\n * Event listener for the opinion toggle buttons.\n * @private\n * @param {Event} ev - The event object.\n * @returns {Void} - Returns nothing\n */\n _onToggleOpinion(ev) {\n let $btn = $(ev.target);\n if (!$btn.is(\".button\")) {\n $btn = $btn.parents(\".button\");\n }\n\n const $add = $btn.closest(\".add-comment\");\n const $form = $(\"form\", $add);\n const $opinionButtons = $(\".opinion-toggle .button\", $add);\n const $selectedState = $(\".opinion-toggle .selected-state\", $add);\n const $alignment = $(\".alignment-input\", $form);\n\n $opinionButtons.removeClass(\"is-active\").attr(\"aria-pressed\", \"false\");\n $btn.addClass(\"is-active\").attr(\"aria-pressed\", \"true\");\n\n if ($btn.is(\".opinion-toggle--ok\")) {\n $alignment.val(1);\n } else if ($btn.is(\".opinion-toggle--meh\")) {\n $alignment.val(0);\n } else if ($btn.is(\".opinion-toggle--ko\")) {\n $alignment.val(-1);\n }\n\n // Announce the selected state for the screen reader\n $selectedState.text($btn.data(\"selected-label\"));\n }\n\n /**\n * Event listener for the comment field text input.\n * @private\n * @param {Event} ev - The event object.\n * @returns {Void} - Returns nothing\n */\n _onTextInput(ev) {\n const $text = $(ev.target);\n const $add = $text.closest(\".add-comment\");\n const $form = $(\"form\", $add);\n const $submit = $(\"button[type='submit']\", $form);\n\n if ($text.val().length > 0) {\n $submit.removeAttr(\"disabled\");\n } else {\n $submit.attr(\"disabled\", \"disabled\");\n }\n }\n}\n","import { EmojiButton } from \"@joeattardi/emoji-button\";\n\n// eslint-disable-next-line require-jsdoc\nexport default function addInputEmoji() {\n const containers = document.querySelectorAll(\"[data-input-emoji]\");\n\n if (containers.length) {\n containers.forEach((elem) => {\n const picker = new EmojiButton({\n position: \"bottom-end\"\n });\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"emoji__container\"\n const btnContainer = document.createElement(\"div\");\n btnContainer.className = \"emoji__trigger\"\n btnContainer.innerHTML = ''\n\n elem.parentNode.insertBefore(wrapper, elem);\n wrapper.appendChild(elem);\n wrapper.appendChild(btnContainer);\n\n btnContainer.addEventListener(\"click\", () => picker.togglePicker(btnContainer))\n\n picker.on(\"emoji\", ({ emoji }) => {\n elem.value += ` ${emoji} `\n\n const event = new Event(\"emoji.added\");\n elem.dispatchEvent(event);\n });\n })\n }\n};\n","/* eslint-disable no-invalid-this */\n\nimport svg4everybody from \"svg4everybody\"\nimport formDatePicker from \"src/decidim/form_datepicker\"\nimport fixDropdownMenus from \"src/decidim/dropdowns_menus\"\nimport createQuillEditor from \"src/decidim/editor\"\nimport Configuration from \"src/decidim/configuration\"\nimport ExternalLink from \"src/decidim/external_link\"\nimport updateExternalDomainLinks from \"src/decidim/external_domain_warning\"\nimport InputCharacterCounter from \"src/decidim/input_character_counter\"\nimport FormValidator from \"src/decidim/form_validator\"\nimport CommentsComponent from \"src/decidim/comments/comments.component\"\nimport DataPicker from \"src/decidim/data_picker\"\nimport FormFilterComponent from \"src/decidim/form_filter\"\nimport addInputEmoji from \"src/decidim/input_emoji\"\n\nwindow.Decidim = window.Decidim || {};\nwindow.Decidim.config = new Configuration()\nwindow.Decidim.ExternalLink = ExternalLink;\nwindow.Decidim.InputCharacterCounter = InputCharacterCounter;\nwindow.Decidim.FormValidator = FormValidator;\nwindow.Decidim.DataPicker = DataPicker;\nwindow.Decidim.CommentsComponent = CommentsComponent;\nwindow.Decidim.addInputEmoji = addInputEmoji;\n\n$(() => {\n window.theDataPicker = new DataPicker($(\".data-picker\"));\n\n $(document).foundation();\n\n fixDropdownMenus();\n\n svg4everybody();\n\n // Prevent data-open buttons e.g. from submitting the underlying form in\n // authorized action buttons.\n $(\"[data-open]\").on(\"click\", (event) => {\n event.preventDefault();\n });\n\n formDatePicker();\n\n $(\".editor-container\").each((_idx, container) => {\n createQuillEditor(container);\n });\n\n $('a[target=\"_blank\"]').each((_i, elem) => {\n const $link = $(elem);\n $link.data(\"external-link\", new ExternalLink($link));\n });\n\n // Mount comments component\n $(\"[data-decidim-comments]\").each((_i, el) => {\n const $el = $(el);\n const comments = new CommentsComponent($el, $el.data(\"decidim-comments\"));\n comments.mountComponent();\n $(el).data(\"comments\", comments);\n });\n\n $(\"form.new_filter\").each(function () {\n const formFilter = new FormFilterComponent($(this));\n\n formFilter.mountComponent();\n })\n\n updateExternalDomainLinks($(\"body\"))\n\n addInputEmoji()\n});\n","import select from \"select\";\n\n/**\n * This provides functionality to add clipboard copy functionality to buttons\n * on the page. The element to be copied from has to be defined for the button\n * using a `data` attribute and the target element has to be a form input.\n *\n * Usage:\n * 1. Create the button:\n * \n *\n * 2. Make sure the target element exists on the page:\n * \n *\n * Options through data attributes:\n * - `data-clipboard-copy` = The jQuery selector for the target input element\n * where text will be copied from.\n * - `data-clipboard-copy-label` = The label that will be shown in the button\n * after a succesful copy.\n * - `data-clipboard-copy-message` = The text that will be announced to screen\n * readers after a successful copy.\n */\n\n// How long the \"copied\" text is shown in the copy element after successful\n// copy.\nconst CLIPBOARD_COPY_TIMEOUT = 5000;\n\n$(() => {\n $(document).on(\"click\", \"[data-clipboard-copy]\", (ev) => {\n const $el = $(ev.target);\n if (!$el.data(\"clipboard-copy\") || $el.data(\"clipboard-copy\").length < 1) {\n return;\n }\n\n const $input = $($el.data(\"clipboard-copy\"));\n if ($input.length < 1 || !$input.is(\"input, textarea, select\")) {\n return;\n }\n\n // Get the available text to clipboard.\n const selectedText = select($input[0]);\n if (!selectedText || selectedText.length < 1) {\n return;\n }\n\n // Move the selected text to clipboard.\n const $temp = $(``).css({\n width: 1,\n height: 1\n });\n $el.after($temp);\n $temp.select();\n\n const copyDone = () => {\n $temp.remove();\n $el.focus();\n };\n try {\n // document.execCommand is deprecated but the Clipboard API is not\n // supported by IE (which unfortunately is still a thing).\n if (!document.execCommand(\"copy\")) {\n return;\n }\n } catch (err) {\n copyDone();\n return;\n }\n copyDone();\n\n // Change the label to indicate the copying was successful.\n const label = $el.data(\"clipboard-copy-label\");\n if (label) {\n let to = $el.data(\"clipboard-copy-label-timeout\");\n if (to) {\n clearTimeout(to);\n }\n\n if (!$el.data(\"clipboard-copy-label-original\")) {\n $el.data(\"clipboard-copy-label-original\", $el.html());\n }\n\n $el.html(label);\n to = setTimeout(() => {\n $el.html($el.data(\"clipboard-copy-label-original\"));\n $el.removeData(\"clipboard-copy-label-original\");\n $el.removeData(\"clipboard-copy-label-timeout\");\n }, CLIPBOARD_COPY_TIMEOUT);\n $el.data(\"clipboard-copy-label-timeout\", to)\n }\n\n // Alert the screen reader what just happened (the link was copied).\n let message = $el.data(\"clipboard-copy-message\");\n if (message) {\n let $msg = $el.data(\"clipboard-message-element\");\n if ($msg) {\n if ($msg.html() === message) {\n // Try to hint the screen reader to re-read the text in the message\n // element.\n message += \" \";\n }\n } else {\n $msg = $('
    ');\n $el.after($msg);\n $el.data(\"clipboard-message-element\", $msg);\n }\n\n // Add the non breaking space always to content to try to force the\n // screen reader to reannounce the added text.\n $msg.html(message);\n }\n });\n});\n","import \"@zeitiger/appendaround\"\n\n$(() => {\n let $appendableElements = $(\".js-append\");\n $appendableElements.appendAround();\n})\n","/* eslint-disable no-invalid-this */\n\nimport Foundation from \"foundation-sites\"\n\n$(() => {\n // True if small devices\n if (!Foundation.MediaQuery.atLeast(\"medium\")) {\n const $speaker = $(\".js-conference\")\n\n $speaker.hover(function () {\n const top = $(window).scrollTop() + ($(window).height() * 0.1)\n $(this).find(\".js-bio\").css(\"top\", top)\n })\n }\n});\n","import { pushState, registerCallback } from \"src/decidim/history\"\n\nconst initializeListingOptionsMenu = (options) => {\n $(document).on(\"click\", `${options.containerSelector} a`, (event) => {\n const $target = $(event.target);\n\n $target.parents(\".menu\").find(\"a:first\").text($target.text());\n\n pushState($target.attr(\"href\"));\n })\n\n registerCallback(options.callbackName, () => {\n const url = window.location.toString();\n const match = url.match(/${options.urlParameter}=([^&]*)/);\n const $targetMenu = $(`${options.containerSelector} .menu`);\n let value = $targetMenu.find(\".menu a:first\").data(options.dataAttribute);\n\n if (match) {\n value = match[1];\n }\n\n const linkText = $targetMenu.find(`.menu a[data-${options.dataAttribute}=\"${value}\"]`).text();\n\n $targetMenu.find(\"a:first\").text(linkText);\n });\n};\n\n$(() => {\n initializeListingOptionsMenu({\n containerSelector: \".order-by\",\n callbackName: \"orders\",\n urlParameter: \"order\",\n dataAttribute: \"order\"\n });\n initializeListingOptionsMenu({\n containerSelector: \".results-per-page\",\n callbackName: \"results_per_page\",\n urlParameter: \"per_page\",\n dataAttribute: \"per-page-option\"\n });\n});\n","import moment from \"moment\"\n\n$(() => {\n const $impersonationWarning = $(\".impersonation-warning\");\n if ($impersonationWarning.length) {\n const endsAt = moment($impersonationWarning.data(\"session-ends-at\"));\n const exitInterval = setInterval(() => {\n const diff = (endsAt - moment()) / 60000;\n const diffInMinutes = Math.round(diff);\n $impersonationWarning.find(\".minutes\").html(diffInMinutes);\n\n if (diff <= 0) {\n window.location.reload();\n }\n }, 1000);\n\n // Prevent reload when page is already unloading, otherwise it may cause infinite reloads.\n window.addEventListener(\"beforeunload\", () => {\n clearInterval(exitInterval);\n return;\n });\n }\n});\n","/* eslint no-unused-vars: 0 */\n/* eslint id-length: [\"error\", { \"exceptions\": [\"$\"] }] */\n\nimport $ from \"jquery\"\nimport Quill from \"quill\"\nimport Rails from \"@rails/ujs\"\n\nimport \"core-js/stable\";\nimport \"regenerator-runtime/runtime\";\nimport morphdom from \"morphdom\"\n// Export variable to make it available in .js.erb templates\nwindow.morphdom = morphdom\nimport \"src/decidim/vendor/foundation-datepicker\"\nimport \"src/decidim/foundation_datepicker_locales\"\nimport \"src/decidim/vendor/modernizr\"\nimport \"social-share-button\"\n\nimport \"src/decidim/input_tags\"\nimport \"src/decidim/input_hashtags\"\nimport \"src/decidim/input_mentions\"\nimport \"src/decidim/input_multiple_mentions\"\nimport \"src/decidim/input_character_counter\"\nimport \"src/decidim/input_autojump\"\nimport \"src/decidim/index\"\nimport \"src/decidim/history\"\nimport \"src/decidim/callout\"\nimport \"src/decidim/clipboard\"\nimport \"src/decidim/append_elements\"\nimport \"src/decidim/user_registrations\"\nimport \"src/decidim/account_form\"\nimport \"src/decidim/data_picker\"\nimport \"src/decidim/dropdowns_menus\"\nimport \"src/decidim/append_redirect_url_to_modals\"\nimport \"src/decidim/form_validator\"\nimport \"src/decidim/ajax_modals\"\nimport \"src/decidim/conferences\"\nimport \"src/decidim/tooltip_keep_on_hover\"\nimport \"src/decidim/diff_mode_dropdown\"\nimport \"src/decidim/conversations\"\nimport \"src/decidim/delayed\"\nimport \"src/decidim/icon\"\nimport \"src/decidim/vizzs\"\nimport \"src/decidim/responsive_horizontal_tabs\"\nimport \"src/decidim/security/selfxss_warning\"\nimport \"src/decidim/session_timeouter\"\nimport \"src/decidim/configuration\"\nimport \"src/decidim/floating_help\"\nimport \"src/decidim/confirm\"\nimport \"src/decidim/comments/comments\"\nimport \"src/decidim/results_listing\"\nimport \"src/decidim/represent_user_group\"\nimport \"src/decidim/impersonation\"\nimport \"src/decidim/start_conversation_dialog\"\nimport \"src/decidim/notifications\"\nimport \"src/decidim/identity_selector_dialog\"\nimport \"src/decidim/gallery\"\n\n// CSS\nimport \"entrypoints/decidim_core.scss\"\n\n// Import from the Rails instance application\nimport \"src/decidim/decidim_application\"\n\n// Images\nrequire.context(\"../images\", true)\n\n// This needs to be loaded after confirm dialog to bind properly\nRails.start()\n\n","/**\n * Since the delete account has a modal to confirm it we need to copy the content of the\n * reason field to the hidden field in the form inside the modal.\n */\n$(() => {\n const $deleteAccountForm = $(\".delete-account\");\n const $deleteAccountModalForm = $(\".delete-account-modal\");\n\n if ($deleteAccountForm.length > 0) {\n const $openModalButton = $(\".open-modal-button\");\n const $modal = $(\"#deleteConfirm\");\n\n $openModalButton.on(\"click\", (event) => {\n try {\n const reasonValue = $deleteAccountForm.find(\"textarea#delete_account_delete_reason\").val();\n $deleteAccountModalForm.find(\"input#delete_account_delete_reason\").val(reasonValue);\n $modal.foundation(\"open\");\n } catch (error) {\n console.error(error); // eslint-disable-line no-console\n }\n\n event.preventDefault();\n event.stopPropagation();\n return false;\n });\n }\n});\n","/* eslint-disable multiline-ternary, no-ternary */\n\n/*\n *\n * This is used to make sure users are redirected to\n * the expected URL after sign in.\n *\n * When a button or link trigger a login modal we capture\n * the event and inject the URL where the user should\n * be redirected after sign in (the redirect_url param).\n *\n * The code is injected to any form or link in the modal\n * and when the modal is closed we remove the injected\n * code.\n *\n * In order for this to work the button or link must have\n * a data-open attribute with the ID of the modal to open\n * and a data-redirect-url attribute with the URL to redirect\n * the user. If any of this is missing no code will be\n * injected.\n *\n */\n$(() => {\n const removeUrlParameter = (url, parameter) => {\n const urlParts = url.split(\"?\");\n\n if (urlParts.length >= 2) {\n // Get first part, and remove from array\n const urlBase = urlParts.shift();\n\n // Join it back up\n const queryString = urlParts.join(\"?\");\n\n const prefix = `${encodeURIComponent(parameter)}=`;\n const parts = queryString.split(/[&;]/g);\n\n // Reverse iteration as may be destructive\n for (let index = parts.length - 1; index >= 0; index -= 1) {\n // Idiom for string.startsWith\n if (parts[index].lastIndexOf(prefix, 0) !== -1) {\n parts.splice(index, 1);\n }\n }\n\n if (parts.length === 0) {\n return urlBase;\n }\n\n return `${urlBase}?${parts.join(\"&\")}`;\n }\n\n return url;\n }\n\n $(document).on(\"click.zf.trigger\", (event) => {\n const target = `#${$(event.target).data(\"open\")}`;\n const redirectUrl = $(event.target).data(\"redirectUrl\");\n\n if (target && redirectUrl) {\n $(\"\").\n attr(\"id\", \"redirect_url\").\n attr(\"name\", \"redirect_url\").\n attr(\"value\", redirectUrl).\n appendTo(`${target} form`);\n\n $(`${target} a`).attr(\"href\", (index, href) => {\n const querystring = jQuery.param({\"redirect_url\": redirectUrl});\n return href + (href.match(/\\?/) ? \"&\" : \"?\") + querystring;\n });\n }\n });\n\n $(document).on(\"closed.zf.reveal\", (event) => {\n $(\"#redirect_url\", event.target).remove();\n $(\"a\", event.target).attr(\"href\", (index, href) => {\n if (href && href.indexOf(\"redirect_url\") !== -1) {\n return removeUrlParameter(href, \"redirect_url\");\n }\n\n return href;\n });\n });\n});\n","/**\n * Improves the accessibility of the callout messages for screen readers. Not\n * all screen readers would announce the callout alert contents after the page\n * reload without this.\n */\n\n$(() => {\n const $callout = $('.callout[role=\"alert\"]:first');\n if ($callout.length > 0) {\n setTimeout(() => {\n // The content insertion is to try to hint some of the screen readers\n // that the alert content has changed and needs to be announced.\n $callout.attr(\"tabindex\", \"0\").focus().html(`${$callout.html()} `);\n }, 500);\n }\n});\n","/**\n * Scroll smoothly to the last message automatically when the page is fully loaded.\n * To apply this to a page, at least one element must have the class \"scroll-to-last-message\".\n * @returns {void}\n */\nconst scrollToLastMessage = function() {\n if ($(\".scroll-to-last-message\").length > 0) {\n window.scrollTo({\n top: $(\".conversation-chat:last-child\").offset().top,\n behavior: \"smooth\"\n });\n }\n}\n\n$(document).ready(() => {\n scrollToLastMessage();\n});\n","$(() => {\n const $allDiffViews = $(\".row.diff_view\");\n\n $(document).on(\"click\", \".diff-view-by a.diff-view-mode\", (event) => {\n event.preventDefault();\n const $target = $(event.target)\n let type = \"escaped\";\n const $selected = $target.parents(\".is-dropdown-submenu-parent\").find(\"#diff-view-selected\");\n if ($selected.text().trim() === $target.text().trim()) {\n return;\n }\n\n $selected.text($target.text());\n\n if ($target.attr(\"id\") === \"diff-view-unified\") {\n if ($(\".row.diff_view_split_escaped\").hasClass(\"hide\")) {\n type = \"unescaped\";\n }\n\n $allDiffViews.addClass(\"hide\");\n $(`.row.diff_view_unified_${type}`).removeClass(\"hide\");\n }\n if ($target.attr(\"id\") === \"diff-view-split\") {\n if ($(\".row.diff_view_unified_escaped\").hasClass(\"hide\")) {\n type = \"unescaped\";\n }\n\n $allDiffViews.addClass(\"hide\");\n $(`.row.diff_view_split_${type}`).removeClass(\"hide\");\n }\n })\n\n $(document).on(\"click\", \".diff-view-by a.diff-view-html\", (event) => {\n event.preventDefault();\n const $target = $(event.target);\n $target.parents(\".is-dropdown-submenu-parent\").find(\"#diff-view-selected\").text($target.text());\n const $visibleDiffViewsId = $allDiffViews.not(\".hide\").first().attr(\"id\").split(\"_\").slice(1, -1).join(\"_\");\n const $visibleDiffViews = $allDiffViews.filter(`[id*=${$visibleDiffViewsId}]`)\n\n if ($target.attr(\"id\") === \"escaped-html\") {\n $visibleDiffViews.filter(\"[id$=_unescaped]\").addClass(\"hide\");\n $visibleDiffViews.filter(\"[id$=_escaped]\").removeClass(\"hide\");\n }\n if ($target.attr(\"id\") === \"unescaped-html\") {\n $visibleDiffViews.filter(\"[id$=_escaped]\").addClass(\"hide\");\n $visibleDiffViews.filter(\"[id$=_unescaped]\").removeClass(\"hide\");\n }\n })\n});\n","$(function() {\n if (!window.localStorage) {\n return;\n }\n\n let getDismissedHelpers = () => {\n let serialized = localStorage.getItem(\"dismissedHelpers\");\n if (!serialized) {\n return [];\n }\n\n return serialized.split(\",\");\n };\n\n let addDismissedHelper = (id) => {\n let dismissedHelpers = getDismissedHelpers();\n\n if (!dismissedHelpers.includes(id)) {\n localStorage.setItem(\n \"dismissedHelpers\",\n [...dismissedHelpers, id].join(\",\")\n );\n }\n };\n\n let dismissedHelpers = getDismissedHelpers();\n\n $(\".floating-helper-container\").each((_index, elem) => {\n let id = $(elem).data(\"help-id\");\n\n $(\n \".floating-helper__trigger, .floating-helper__content-close\",\n elem\n ).on(\"click\", (ev) => {\n ev.preventDefault();\n });\n\n if (!dismissedHelpers.includes(id)) {\n $(\".floating-helper\", elem).foundation(\"toggle\");\n $(\".floating-helper__wrapper\", elem).foundation(\"toggle\");\n\n $(\".floating-helper\", elem).on(\"off.zf.toggler\", () => {\n addDismissedHelper(id);\n });\n }\n });\n});\n","/* eslint-disable require-jsdoc */\n/* eslint-disable no-prototype-builtins, no-restricted-syntax, no-param-reassign */\n\nlet callbacks = {};\n\nexport default function registerCallback(callbackId, callback) {\n callbacks[callbackId] = callback;\n}\n\nconst unregisterCallback = (callbackId) => {\n callbacks[callbackId] = null;\n}\n\nconst pushState = (url, state = null) => {\n if (window.history) {\n window.history.pushState(state, null, url);\n }\n};\n\nconst replaceState = (url, state = null) => {\n if (window.history) {\n window.history.replaceState(state, null, url);\n }\n};\n\nconst state = () => {\n if (window.history) {\n return window.history.state;\n }\n return null;\n};\n\nwindow.onpopstate = (event) => {\n // Ensure the event is caused by user action\n if (event.isTrusted) {\n for (let callbackId in callbacks) {\n if (callbacks.hasOwnProperty(callbackId)) {\n callbacks[callbackId](event.state);\n }\n }\n }\n}\n\nexport { registerCallback, unregisterCallback, pushState, replaceState, state };\n","/**\n * Makes the #select-identity-button to open a popup for the user to\n * select with which identity he wants to perform an action.\n *\n */\n$(() => {\n let button = $(\"#select-identity-button\"),\n identitiesUrl = null,\n userIdentitiesDialog = $(\"#user-identities\");\n\n if (userIdentitiesDialog.length) {\n identitiesUrl = userIdentitiesDialog.data(\"reveal-identities-url\");\n\n button.click(function () {\n $.ajax(identitiesUrl).done(function(response) {\n userIdentitiesDialog.html(response).foundation(\"open\");\n button.trigger(\"ajax:success\")\n });\n });\n }\n});\n\n\n/**\n * Manage the identity selector for endorsements.\n *\n */\n$(() => {\n $(\"#select-identity-button\").on(\"ajax:success\", function() {\n // once reveal popup has been rendered register event callbacks\n $(\"#user-identities ul.reveal__list li\").each(function(index, elem) {\n let liTag = $(elem)\n liTag.on(\"click\", function() {\n let method = liTag.data(\"method\"),\n urlDataAttr = null;\n if (method === \"POST\") {\n urlDataAttr = \"create_url\";\n } else {\n urlDataAttr = \"destroy_url\";\n }\n $.ajax({\n url: liTag.data(urlDataAttr),\n method: method,\n dataType: \"script\",\n success: function() {\n if (liTag.hasClass(\"selected\")) {\n liTag.removeClass(\"selected\")\n liTag.find(\".icon--circle-check\").addClass(\"invisible\")\n liTag.data(\"method\", \"POST\")\n } else {\n liTag.addClass(\"selected\")\n liTag.find(\".icon--circle-check\").removeClass(\"invisible\")\n liTag.data(\"method\", \"DELETE\")\n }\n }\n })\n })\n });\n });\n})\n","$(() => {\n const $inputs = $(\"input[data-autojump]\");\n const DELETE_KEY_CODE = 8;\n\n // Initialize\n $inputs.on(\"keydown\", (event) => {\n // Don't do anything if there is selected text\n if (event.target.selectionStart !== event.target.selectionEnd) {\n return;\n }\n\n if (event.originalEvent.key.length === 1 && event.target.dataset.jumpNext) {\n if (\n event.target.value.length ===\n parseInt(event.target.dataset.maxLength, 10)\n ) {\n event.preventDefault();\n setTimeout(() => {\n const next = $(event.target.dataset.jumpNext);\n next.val(event.originalEvent.key);\n next.trigger(\"focus\");\n }, 1);\n }\n } else if (\n event.originalEvent.keyCode === DELETE_KEY_CODE &&\n event.target.dataset.jumpPrev\n ) {\n if (event.target.value.length === 0) {\n event.preventDefault();\n setTimeout(() => {\n const prev = $(event.target.dataset.jumpPrev);\n prev.val(prev.val().slice(0, -1));\n prev.trigger(\"focus\");\n }, 1);\n }\n }\n });\n});\n","$(() => {\n const $notificationsBellIcon = $(\".title-bar .topbar__notifications\");\n const $wrapper = $(\".wrapper\");\n const $section = $wrapper.find(\"#notifications\");\n const $noNotificationsText = $(\".empty-notifications\");\n const $pagination = $wrapper.find(\"ul.pagination\");\n const FADEOUT_TIME = 500;\n\n const anyNotifications = () => $wrapper.find(\".card--widget\").length > 0;\n const emptyNotifications = () => {\n if (!anyNotifications()) {\n $section.remove();\n $noNotificationsText.removeClass(\"hide\");\n }\n };\n\n $section.on(\"click\", \".mark-as-read-button\", (event) => {\n const $item = $(event.target).parents(\".card--widget\");\n $item.fadeOut(FADEOUT_TIME, () => {\n $item.remove();\n emptyNotifications();\n });\n });\n\n $wrapper.on(\"click\", \".mark-all-as-read-button\", () => {\n $section.fadeOut(FADEOUT_TIME, () => {\n $pagination.remove();\n $notificationsBellIcon.removeClass(\"is-active\");\n $wrapper.find(\".card--widget\").remove();\n emptyNotifications();\n });\n });\n\n emptyNotifications();\n});\n","$(() => {\n const $checkbox = $(\".represent-user-group\").find(\"input#user_group\");\n const $userGroupFields = $(\".user-group-fields\");\n\n $checkbox.click(() => {\n const $select = $userGroupFields.find(\"select\");\n\n if (!$select.val()) {\n $userGroupFields.toggle();\n }\n\n if ($userGroupFields.is(\":visible\")) {\n $checkbox.prop(\"checked\", true);\n } else {\n $checkbox.prop(\"checked\", false);\n }\n });\n});\n","$(() => {\n const $responsiveTabBlock = $(\".responsive-tab-block\");\n\n $responsiveTabBlock.click((event) => {\n if (event.target.closest(\".is-active\") !== null) {\n event.preventDefault();\n if (window.innerWidth <= 639) {\n $responsiveTabBlock.toggleClass(\"expanded\");\n }\n }\n });\n});\n","/* eslint-disable no-console */\n\n$(() => {\n if (!console) {\n return;\n }\n\n const allMessages = window.Decidim.config.get(\"messages\");\n if (!allMessages) {\n return;\n }\n const messages = allMessages.selfxssWarning;\n\n console.log(`%c${messages.title}`, \"color:#f00;font-weight:bold;font-size:50px;\");\n console.log(`%c${messages.description}`, \"font-size:24px;\");\n});\n","$(() => {\n let addUsersConversationDialog = $(\"#user-conversations-add-modal\"),\n button = $(\"#start-conversation-dialog-button\");\n\n /* eslint no-unused-vars: 0 */\n if (addUsersConversationDialog.length) {\n let refreshUrl = addUsersConversationDialog.data(\"refresh-url\");\n\n button.click(function () {\n addUsersConversationDialog.foundation(\"open\");\n });\n }\n});\n","/* eslint-disable no-invalid-this */\n\n$(() => {\n\n // Foundation requires plugins to be initializated\n setTimeout(function() {\n\n const $tooltips = $(\".tooltip\")\n\n $tooltips.\n on(\"mouseover\", function() {\n $(`[data-keep-on-hover='true'][data-toggle='${this.id}']`).foundation(\"show\");\n }).\n on(\"mouseout\", function() {\n $(`[data-keep-on-hover='true'][data-toggle='${this.id}']`).foundation(\"hide\");\n })\n }, 0);\n});\n","$(() => {\n const $userRegistrationForm = $(\"#register-form\");\n const $userGroupFields = $userRegistrationForm.find(\".user-group-fields\");\n const inputSelector = 'input[name=\"user[sign_up_as]\"]';\n const newsletterSelector = 'input[type=\"checkbox\"][name=\"user[newsletter]\"]';\n const $newsletterModal = $(\"#sign-up-newsletter-modal\");\n\n\n const setGroupFieldsVisibility = (value) => {\n if (value === \"user\") {\n $userGroupFields.hide();\n } else {\n $userGroupFields.show();\n }\n }\n\n const checkNewsletter = (check) => {\n $userRegistrationForm.find(newsletterSelector).prop(\"checked\", check);\n $newsletterModal.data(\"continue\", true);\n $newsletterModal.foundation(\"close\");\n $userRegistrationForm.submit();\n }\n\n setGroupFieldsVisibility($userRegistrationForm.find(`${inputSelector}:checked`).val());\n\n $userRegistrationForm.on(\"change\", inputSelector, (event) => {\n const value = event.target.value;\n\n setGroupFieldsVisibility(value);\n });\n\n $userRegistrationForm.on(\"submit\", (event) => {\n const newsletterChecked = $userRegistrationForm.find(newsletterSelector);\n if (!$newsletterModal.data(\"continue\")) {\n if (!newsletterChecked.prop(\"checked\")) {\n event.preventDefault();\n $newsletterModal.foundation(\"open\");\n }\n }\n });\n\n $newsletterModal.find(\".check-newsletter\").on(\"click\", (event) => {\n checkNewsletter($(event.target).data(\"check\"));\n });\n});\n","/* eslint-disable */\n\n/*! modernizr 3.3.1 (Custom Build) | MIT *\n * https://modernizr.com/download/?-setclasses !*/\n!function(n,e,s){function o(n,e){return typeof n===e}function a(){var n,e,s,a,i,l,r;for(var c in f)if(f.hasOwnProperty(c)){if(n=[],e=f[c],e.name&&(n.push(e.name.toLowerCase()),e.options&&e.options.aliases&&e.options.aliases.length))for(s=0;s