Medium severity6.2GHSA Advisory· Published May 11, 2026· Updated May 13, 2026
CVE-2026-44737
CVE-2026-44737
Description
grav-plugin-admin is the admin plugin for Grav is an HTML user interface that provides a convenient way to configure Grav and easily create and modify pages. Prior to 1.10.49.5, the application fails to properly validate and sanitize user input in the data[header][title] parameter. As a result, attackers can craft a malicious URL with an XSS payload. When this URL is accessed, the injected script is reflected back in the HTTP response and executed within the context of the victim's browser session. This vulnerability is fixed in 1.10.49.5.
Affected products
1Patches
1f67cc18e81d8[security] fix stored XSS in page move dialog (GHSA-fmg2-f5r9-24qc)
6 files changed · +2013 −1899
blueprints.yaml+1 −1 modified@@ -1,7 +1,7 @@ name: Admin Panel slug: admin type: plugin -version: 1.10.49.4 +version: 1.10.49.5 description: Adds an advanced administration panel to manage your site icon: empire author:
CHANGELOG.md+6 −0 modified@@ -1,3 +1,9 @@ +# v1.10.49.5 +## 05/05/2026 + +1. [](#bugfix) + * [security] Fixed stored XSS in the page move/parents dialog (GHSA-fmg2-f5r9-24qc): `header.title` is now properly escaped when rendered in the breadcrumb path bar (`finderjs.js`) and the column item `title` attribute (`parents.js`). Previously, an admin user with `admin.pages` (no super-admin required) could plant a payload in a page title that fired in another admin's session when the move dialog was opened — a privilege-escalation vector for sites with multiple admin tiers. + # v1.10.49.4 ## 04/16/2026
themes/grav/app/forms/fields/parents.js+1 −1 modified@@ -50,7 +50,7 @@ export default class Parents { static createItemContent(config, item) { const frag = document.createDocumentFragment(); - const label = $(`<span title="${item[config.labelKey]}" />`); + const label = $('<span />').attr('title', item[config.labelKey]); const infoContainer = $('<span class="info-container" />'); const iconPrepend = $('<i />'); const iconAppend = $('<i />');
themes/grav/app/utils/finderjs.js+14 −7 modified@@ -299,13 +299,20 @@ class Finder { const item = activeItem._item; const isLast = (index + 1) === activeItems.length; itemKeys += `/${item[this.config.itemKey]}`; - this.pathBar.append(` - <span class="breadcrumb-node breadcrumb-node-${item.type}" ${item.type === 'dir' ? `data-breadcrumb-node="${itemKeys}"` : ''}> - <i class="fa fa-fw ${this.getIcon(item.type)}"></i> - <span class="breadcrumb-node-name">${$('<div />').html(item[this.config.labelKey]).html()}</span> - ${!isLast ? '<i class="fa fa-fw fa-chevron-right"></i>' : ''} - </span> - `); + const node = $('<span class="breadcrumb-node" />') + .addClass(`breadcrumb-node-${item.type}`) + .append($('<i class="fa fa-fw" />').addClass(this.getIcon(item.type))) + .append($('<span class="breadcrumb-node-name" />').text(item[this.config.labelKey])); + + if (item.type === 'dir') { + node.attr('data-breadcrumb-node', itemKeys); + } + + if (!isLast) { + node.append($('<i class="fa fa-fw fa-chevron-right" />')); + } + + this.pathBar.append(node); }); }
themes/grav/js/admin.min.js+283 −249 modified@@ -2,8 +2,8 @@ var Grav; /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ 64848: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +/***/ 64848 +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG @@ -19,7 +19,7 @@ var lib = __webpack_require__(27461); // EXTERNAL MODULE: external "jQuery" var external_jQuery_ = __webpack_require__(41669); var external_jQuery_default = /*#__PURE__*/__webpack_require__.n(external_jQuery_); -;// CONCATENATED MODULE: ./app/utils/remodal.js +;// ./app/utils/remodal.js /* Remodal from https://github.com/vodkabears/Remodal * With Stackable option from https://github.com/antstorm/Remodal patch */ @@ -675,12 +675,12 @@ var dropzone_default = /*#__PURE__*/__webpack_require__.n(dist_dropzone); // EXTERNAL MODULE: ./node_modules/toastr/toastr.js var toastr = __webpack_require__(47959); var toastr_default = /*#__PURE__*/__webpack_require__.n(toastr); -;// CONCATENATED MODULE: ./app/utils/toastr.js +;// ./app/utils/toastr.js (toastr_default()).options.positionClass = 'toast-top-right'; (toastr_default()).options.preventDuplicates = true; /* harmony default export */ const utils_toastr = ((toastr_default())); -;// CONCATENATED MODULE: ./app/utils/offline.js +;// ./app/utils/offline.js var offlineElement = external_jQuery_default()('#offline-status'); @@ -698,12 +698,12 @@ external_jQuery_default()(document).ready(function () { // assume online if can't check /* harmony default export */ const offline = (typeof __webpack_require__.g.navigator.onLine !== 'undefined' ? __webpack_require__.g.navigator.onLine : true); -;// CONCATENATED MODULE: external "GravAdmin" +;// external "GravAdmin" const external_GravAdmin_namespaceObject = GravAdmin; // EXTERNAL MODULE: ./node_modules/mout/string/trim.js var trim = __webpack_require__(35814); var trim_default = /*#__PURE__*/__webpack_require__.n(trim); -;// CONCATENATED MODULE: ./app/utils/response.js +;// ./app/utils/response.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } @@ -796,7 +796,7 @@ function userFeedbackError(error) { external_jQuery_default()(__webpack_require__.g).on('beforeunload._ajax', function () { UNLOADING = true; }); -;// CONCATENATED MODULE: ./app/utils/request.js +;// ./app/utils/request.js function request_typeof(o) { "@babel/helpers - typeof"; return request_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, request_typeof(o); } @@ -836,7 +836,7 @@ var request = function request(url) { })["catch"](userFeedbackError); }; /* harmony default export */ const utils_request = (request); -;// CONCATENATED MODULE: ./app/forms/fields/files.js +;// ./app/forms/fields/files.js function files_typeof(o) { "@babel/helpers - typeof"; return files_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, files_typeof(o); } function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } @@ -1241,7 +1241,7 @@ var Instance = function () { // EXTERNAL MODULE: ./node_modules/events/events.js var events = __webpack_require__(37007); var events_default = /*#__PURE__*/__webpack_require__.n(events); -;// CONCATENATED MODULE: ./app/utils/gpm.js +;// ./app/utils/gpm.js function gpm_typeof(o) { "@babel/helpers - typeof"; return gpm_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, gpm_typeof(o); } function gpm_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function gpm_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, gpm_toPropertyKey(o.key), o); } } @@ -1333,7 +1333,7 @@ var GPM = /*#__PURE__*/function (_EventEmitter) { }((events_default())); var gpm_Instance = new GPM(); -;// CONCATENATED MODULE: ./app/utils/keepalive.js +;// ./app/utils/keepalive.js function keepalive_typeof(o) { "@babel/helpers - typeof"; return keepalive_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, keepalive_typeof(o); } function keepalive_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function keepalive_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, keepalive_toPropertyKey(o.key), o); } } @@ -1389,7 +1389,7 @@ var KeepAlive = /*#__PURE__*/function () { // EXTERNAL MODULE: ./node_modules/mout/array/unique.js var unique = __webpack_require__(45195); var unique_default = /*#__PURE__*/__webpack_require__.n(unique); -;// CONCATENATED MODULE: ./app/updates/notifications.js +;// ./app/updates/notifications.js function notifications_typeof(o) { "@babel/helpers - typeof"; return notifications_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, notifications_typeof(o); } function notifications_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function notifications_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, notifications_toPropertyKey(o.key), o); } } @@ -1568,7 +1568,7 @@ if (canFetchNotifications()) { }); }); } -;// CONCATENATED MODULE: ./app/updates/feed.js +;// ./app/updates/feed.js function feed_typeof(o) { "@babel/helpers - typeof"; return feed_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, feed_typeof(o); } function feed_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function feed_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, feed_toPropertyKey(o.key), o); } } @@ -1649,7 +1649,7 @@ external_jQuery_default()(document).on('click', '[data-refresh="feed"]', functio feed.refresh(true); }); /* harmony default export */ const updates_feed = (feed); -;// CONCATENATED MODULE: ./app/updates/check.js +;// ./app/updates/check.js @@ -1677,7 +1677,7 @@ external_jQuery_default()('[data-gpm-checkupdates]').on('click', function () { } }, true); }); -;// CONCATENATED MODULE: ./app/utils/formatbytes.js +;// ./app/utils/formatbytes.js var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; function formatBytes(bytes, decimals) { if (bytes === 0) return '0 Byte'; @@ -1686,7 +1686,7 @@ function formatBytes(bytes, decimals) { var decimal = decimals + 1 || 3; return (bytes / Math.pow(k, value)).toPrecision(decimal) + ' ' + sizes[value]; } -;// CONCATENATED MODULE: ./app/updates/update.js +;// ./app/updates/update.js @@ -1712,7 +1712,7 @@ external_jQuery_default()(document).on('click.remodal', '[data-remodal-id="updat element.removeAttr('disabled').find('> .fa').removeClass('fa-refresh fa-spin').addClass('fa-cloud-download'); }); }); -;// CONCATENATED MODULE: ./app/updates/channel-switcher.js +;// ./app/updates/channel-switcher.js var switcher = external_jQuery_default()('input[type="radio"][name="channel-switch"]'); @@ -1733,7 +1733,7 @@ if (switcher) { }); }); } -;// CONCATENATED MODULE: ./app/updates/index.js +;// ./app/updates/index.js function updates_typeof(o) { "@babel/helpers - typeof"; return updates_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, updates_typeof(o); } function updates_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function updates_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, updates_toPropertyKey(o.key), o); } } @@ -1908,11 +1908,12 @@ if (external_GravAdmin_namespaceObject.config.enable_auto_updates_check === '1') // EXTERNAL MODULE: ./node_modules/chartist/dist/chartist.js var chartist = __webpack_require__(9592); var chartist_default = /*#__PURE__*/__webpack_require__.n(chartist); -;// CONCATENATED MODULE: ./app/dashboard/chart.js +;// ./app/dashboard/chart.js function chart_callSuper(t, o, e) { return o = chart_getPrototypeOf(o), chart_possibleConstructorReturn(t, chart_isNativeReflectConstruct() ? Reflect.construct(o, e || [], chart_getPrototypeOf(t).constructor) : o.apply(t, e)); } function chart_possibleConstructorReturn(t, e) { if (e && ("object" == chart_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return chart_assertThisInitialized(t); } function chart_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } function chart_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (chart_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _superPropGet(t, o, e, r) { var p = _get(chart_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } function _get() { return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); } function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = chart_getPrototypeOf(t));); return t; } function chart_getPrototypeOf(t) { return chart_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, chart_getPrototypeOf(t); } @@ -2054,7 +2055,7 @@ var UpdatesChart = /*#__PURE__*/function (_Chart) { }, { key: "updateData", value: function updateData(data) { - _get(chart_getPrototypeOf(UpdatesChart.prototype), "updateData", this).call(this, data); + _superPropGet(UpdatesChart, "updateData", this, 3)([data]); // missing updates if (this.data.series[0] < 100) { @@ -2076,7 +2077,7 @@ external_jQuery_default()('[data-chart-name]').each(function () { } }); var Instances = charts; -;// CONCATENATED MODULE: ./app/dashboard/cache.js +;// ./app/dashboard/cache.js function cache_typeof(o) { "@babel/helpers - typeof"; return cache_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, cache_typeof(o); } function cache_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function cache_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, cache_toPropertyKey(o.key), o); } } @@ -2136,7 +2137,7 @@ var Cache = /*#__PURE__*/function () { var cache_Instance = new Cache(); -;// CONCATENATED MODULE: ./app/dashboard/backup.js +;// ./app/dashboard/backup.js @@ -2170,7 +2171,7 @@ external_jQuery_default()('[data-backup][data-ajax*="backupDelete"]').on('click' } }); }); -;// CONCATENATED MODULE: ./app/dashboard/index.js +;// ./app/dashboard/index.js @@ -2189,7 +2190,7 @@ var debounce = __webpack_require__(17334); var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce); // EXTERNAL MODULE: ./app/utils/storage.js var storage = __webpack_require__(95851); -;// CONCATENATED MODULE: ./app/pages/tree.js +;// ./app/pages/tree.js function tree_typeof(o) { "@babel/helpers - typeof"; return tree_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, tree_typeof(o); } function tree_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function tree_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, tree_toPropertyKey(o.key), o); } } @@ -2342,7 +2343,7 @@ var tree_Instance = new PagesTree('[data-toggle="children"]'); // EXTERNAL MODULE: ./node_modules/selectize/dist/js/selectize.js var selectize = __webpack_require__(72890); var selectize_default = /*#__PURE__*/__webpack_require__.n(selectize); -;// CONCATENATED MODULE: ./app/utils/selectize-required-fix.js +;// ./app/utils/selectize-required-fix.js /** * This is a plugin to override the `.refreshValidityState` method of * the Selectize library (https://selectize.github.io/selectize.js/). @@ -2369,7 +2370,7 @@ selectize_default().define('required-fix', function (options) { } }; }); -;// CONCATENATED MODULE: ./app/pages/filter.js +;// ./app/pages/filter.js function filter_typeof(o) { "@babel/helpers - typeof"; return filter_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, filter_typeof(o); } function filter_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function filter_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, filter_toPropertyKey(o.key), o); } } @@ -2569,7 +2570,7 @@ var filter_Instance = new PagesFilter('input[name="page-filter"]', 'input[name=" // EXTERNAL MODULE: ./node_modules/speakingurl/index.js var speakingurl = __webpack_require__(91264); var speakingurl_default = /*#__PURE__*/__webpack_require__.n(speakingurl); -;// CONCATENATED MODULE: ./app/utils/jquery-utils.js +;// ./app/utils/jquery-utils.js var _this = undefined; @@ -2622,12 +2623,13 @@ var _this = undefined; return speakingurl_default()(input, opts); } }; -;// CONCATENATED MODULE: ./app/pages/page/add.js +;// ./app/pages/page/add.js var custom = false; +var moduleCopyModal = false; var folder = external_jQuery_default()('[data-remodal-id="modal"] input[name="data[folder]"], [data-remodal-id="module"] input[name="data[folder]"], [data-remodal-id="modal-page-copy"] input[name="data[folder]"]'); var title = external_jQuery_default()('[data-remodal-id="modal"] input[name="data[title]"], [data-remodal-id="module"] input[name="data[title]"], [data-remodal-id="modal-page-copy"] input[name="data[title]"]'); var getFields = function getFields(type, target) { @@ -2638,6 +2640,16 @@ var getFields = function getFields(type, target) { folder: type === 'folder' ? external_jQuery_default()(target) : external_jQuery_default()("".concat(query, " input[name=\"data[folder]\"]")) }; }; +var isModuleContext = function isModuleContext(target) { + var modalId = external_jQuery_default()(target).closest('[data-remodal-id]').data('remodal-id'); + return modalId === 'module' || modalId === 'modal-page-copy' && moduleCopyModal; +}; + +// When copying a page, check if the source is a module (folder starts with _) +external_jQuery_default()(document).on('opened', '[data-remodal-id="modal-page-copy"]', function () { + var folderInput = external_jQuery_default()('[data-remodal-id="modal-page-copy"] input[name="data[folder]"]'); + moduleCopyModal = folderInput.val().startsWith('_'); +}); title.on('input focus blur', function (event) { if (custom) { return true; @@ -2646,10 +2658,13 @@ title.on('input focus blur', function (event) { var slug = external_jQuery_default().slugify(elements.title.val(), { custom: { "'": '', - '‘': '', - '’': '' + "\u2018": '', + "\u2019": '' } }); + if (isModuleContext(event.currentTarget) && !slug.startsWith('_')) { + slug = '_' + slug; + } elements.folder.val(slug); }); folder.on('input', function (event) { @@ -2661,6 +2676,16 @@ folder.on('input', function (event) { end: input.selectionEnd }; value = value.toLowerCase().replace(/\s/g, '-').replace(/[^a-z0-9_\-]/g, ''); + var isModule = isModuleContext(event.currentTarget); + if (isModule && !value.startsWith('_')) { + value = '_' + value; + selection.start += 1; + selection.end += 1; + } else if (!isModule && value.startsWith('_')) { + value = value.substring(1); + selection.start = Math.max(0, selection.start - 1); + selection.end = Math.max(0, selection.end - 1); + } elements.folder.val(value); custom = !!value; @@ -2690,7 +2715,7 @@ external_jQuery_default()(document).on('change', '[name="data[route]"]', functio } }); }); -;// CONCATENATED MODULE: ./app/pages/page/move.js +;// ./app/pages/page/move.js external_jQuery_default()(document).on('click', '[data-page-move] button[name="task"][value="save"]', function (event) { /* let route = $('form#blueprints:first select[name="data[route]"]'); @@ -2749,7 +2774,7 @@ $(document).on('click', '[data-remodal-id="parents"] [data-parents-select]', (ev remodal.close(); }); */ -;// CONCATENATED MODULE: ./app/pages/page/delete.js +;// ./app/pages/page/delete.js external_jQuery_default()(document).on('click', '[data-remodal-target="delete"]', function () { var confirm = external_jQuery_default()('[data-remodal-id="delete"] [data-delete-action]'); @@ -2761,7 +2786,7 @@ external_jQuery_default()(document).on('click', '[data-delete-action]', function __webpack_require__.g.location.href = external_jQuery_default()(this).data('delete-action'); remodal.close(); }); -;// CONCATENATED MODULE: ./app/pages/page/unset.js +;// ./app/pages/page/unset.js external_jQuery_default()(document).on('click', '.dz-unset', function () { var file_upload = external_jQuery_default()(this).closest('.files-upload'); @@ -2776,12 +2801,12 @@ external_jQuery_default()(document).on('click', '.dz-unset', function () { }); file_upload.find('input[data-grav-field="hidden"]').val(JSON.stringify(image_array)); }); -;// CONCATENATED MODULE: ./app/pages/page/disable-buttons.js +;// ./app/pages/page/disable-buttons.js external_jQuery_default()('.disable-after-click').on('click', function () { external_jQuery_default()(this).addClass('pointer-events-disabled'); }); -;// CONCATENATED MODULE: ./app/utils/cookies.js +;// ./app/utils/cookies.js function cookies_typeof(o) { "@babel/helpers - typeof"; return cookies_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, cookies_typeof(o); } /* * Cookies.js - 1.2.3-grav @@ -2797,64 +2822,64 @@ var factory = function factory(window) { if (cookies_typeof(window.document) !== 'object') { throw new Error('Cookies.js requires a `window` with a `document` object'); } - var Cookies = function Cookies(key, value, options) { - return _arguments.length === 1 ? Cookies.get(key) : Cookies.set(key, value, options); + var _Cookies = function Cookies(key, value, options) { + return _arguments.length === 1 ? _Cookies.get(key) : _Cookies.set(key, value, options); }; // Allows for setter injection in unit tests - Cookies._document = window.document; + _Cookies._document = window.document; // Used to ensure cookie keys do not collide with // built-in `Object` properties - Cookies._cacheKeyPrefix = 'cookey.'; // Hurr hurr, :) + _Cookies._cacheKeyPrefix = 'cookey.'; // Hurr hurr, :) - Cookies._maxExpireDate = new Date('Fri, 31 Dec 9999 23:59:59 UTC'); - Cookies.defaults = { + _Cookies._maxExpireDate = new Date('Fri, 31 Dec 9999 23:59:59 UTC'); + _Cookies.defaults = { path: '/', secure: false, sameSite: 'Lax' }; - Cookies.get = function (key) { - if (Cookies._cachedDocumentCookie !== Cookies._document.cookie) { - Cookies._renewCache(); + _Cookies.get = function (key) { + if (_Cookies._cachedDocumentCookie !== _Cookies._document.cookie) { + _Cookies._renewCache(); } - var value = Cookies._cache[Cookies._cacheKeyPrefix + key]; + var value = _Cookies._cache[_Cookies._cacheKeyPrefix + key]; return value === undefined ? undefined : decodeURIComponent(value); }; - Cookies.set = function (key, value, options) { - options = Cookies._getExtendedOptions(options); - options.expires = Cookies._getExpiresDate(value === undefined ? -1 : options.expires); - Cookies._document.cookie = Cookies._generateCookieString(key, value, options); - return Cookies; + _Cookies.set = function (key, value, options) { + options = _Cookies._getExtendedOptions(options); + options.expires = _Cookies._getExpiresDate(value === undefined ? -1 : options.expires); + _Cookies._document.cookie = _Cookies._generateCookieString(key, value, options); + return _Cookies; }; - Cookies.expire = function (key, options) { - return Cookies.set(key, undefined, options); + _Cookies.expire = function (key, options) { + return _Cookies.set(key, undefined, options); }; - Cookies._getExtendedOptions = function (options) { + _Cookies._getExtendedOptions = function (options) { return { - path: options && options.path || Cookies.defaults.path, - domain: options && options.domain || Cookies.defaults.domain, - expires: options && options.expires || Cookies.defaults.expires, - secure: options && options.secure !== undefined ? options.secure : Cookies.defaults.secure, - sameSite: options && options.sameSite || Cookies.defaults.sameSite + path: options && options.path || _Cookies.defaults.path, + domain: options && options.domain || _Cookies.defaults.domain, + expires: options && options.expires || _Cookies.defaults.expires, + secure: options && options.secure !== undefined ? options.secure : _Cookies.defaults.secure, + sameSite: options && options.sameSite || _Cookies.defaults.sameSite }; }; - Cookies._isValidDate = function (date) { + _Cookies._isValidDate = function (date) { return Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime()); }; - Cookies._getExpiresDate = function (expires, now) { + _Cookies._getExpiresDate = function (expires, now) { now = now || new Date(); if (typeof expires === 'number') { - expires = expires === Infinity ? Cookies._maxExpireDate : new Date(now.getTime() + expires * 1000); + expires = expires === Infinity ? _Cookies._maxExpireDate : new Date(now.getTime() + expires * 1000); } else if (typeof expires === 'string') { expires = new Date(expires); } - if (expires && !Cookies._isValidDate(expires)) { + if (expires && !_Cookies._isValidDate(expires)) { throw new Error('`expires` parameter cannot be converted to a valid Date instance'); } return expires; }; - Cookies._generateCookieString = function (key, value, options) { + _Cookies._generateCookieString = function (key, value, options) { key = key.replace(/[^#$&+\^`|]/g, encodeURIComponent); key = key.replace(/\(/g, '%28').replace(/\)/g, '%29'); value = (value + '').replace(/[^!#$&-+\--:<-\[\]-~]/g, encodeURIComponent); @@ -2867,18 +2892,18 @@ var factory = function factory(window) { cookieString += options.sameSite ? ';SameSite=' + options.sameSite : ''; return cookieString; }; - Cookies._getCacheFromString = function (documentCookie) { + _Cookies._getCacheFromString = function (documentCookie) { var cookieCache = {}; var cookiesArray = documentCookie ? documentCookie.split('; ') : []; for (var i = 0; i < cookiesArray.length; i++) { - var cookieKvp = Cookies._getKeyValuePairFromCookieString(cookiesArray[i]); - if (cookieCache[Cookies._cacheKeyPrefix + cookieKvp.key] === undefined) { - cookieCache[Cookies._cacheKeyPrefix + cookieKvp.key] = cookieKvp.value; + var cookieKvp = _Cookies._getKeyValuePairFromCookieString(cookiesArray[i]); + if (cookieCache[_Cookies._cacheKeyPrefix + cookieKvp.key] === undefined) { + cookieCache[_Cookies._cacheKeyPrefix + cookieKvp.key] = cookieKvp.value; } } return cookieCache; }; - Cookies._getKeyValuePairFromCookieString = function (cookieString) { + _Cookies._getKeyValuePairFromCookieString = function (cookieString) { // "=" is a valid character in a cookie value according to RFC6265, so cannot `split('=')` var separatorIndex = cookieString.indexOf('='); @@ -2898,22 +2923,22 @@ var factory = function factory(window) { value: cookieString.substr(separatorIndex + 1) // Defer decoding value until accessed }; }; - Cookies._renewCache = function () { - Cookies._cache = Cookies._getCacheFromString(Cookies._document.cookie); - Cookies._cachedDocumentCookie = Cookies._document.cookie; + _Cookies._renewCache = function () { + _Cookies._cache = _Cookies._getCacheFromString(_Cookies._document.cookie); + _Cookies._cachedDocumentCookie = _Cookies._document.cookie; }; - Cookies._areEnabled = function () { + _Cookies._areEnabled = function () { var testKey = 'cookies.js'; - var areEnabled = Cookies.set(testKey, 1).get(testKey) === '1'; - Cookies.expire(testKey); + var areEnabled = _Cookies.set(testKey, 1).get(testKey) === '1'; + _Cookies.expire(testKey); return areEnabled; }; - Cookies.enabled = Cookies._areEnabled(); - return Cookies; + _Cookies.enabled = _Cookies._areEnabled(); + return _Cookies; }; __webpack_require__.g.Cookies = __webpack_require__.g && cookies_typeof(__webpack_require__.g.document) === 'object' ? factory(__webpack_require__.g) : factory; /* harmony default export */ const cookies = (__webpack_require__.g.Cookies); -;// CONCATENATED MODULE: ./app/forms/fields/editor/buttons.js +;// ./app/forms/fields/editor/buttons.js @@ -3142,10 +3167,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { identifier: 'h5', label: '<i class="fa fa-fw fa-header"></i>5', modes: ['gfm', 'markdown'], - action: function action(_ref10) { - var codemirror = _ref10.codemirror, - button = _ref10.button, - textarea = _ref10.textarea; + action: function action(_ref0) { + var codemirror = _ref0.codemirror, + button = _ref0.button, + textarea = _ref0.textarea; replacer({ name: 'h5', replace: '##### $1', @@ -3160,10 +3185,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { identifier: 'h6', label: '<i class="fa fa-fw fa-header"></i>6', modes: ['gfm', 'markdown'], - action: function action(_ref11) { - var codemirror = _ref11.codemirror, - button = _ref11.button, - textarea = _ref11.textarea; + action: function action(_ref1) { + var codemirror = _ref1.codemirror, + button = _ref1.button, + textarea = _ref1.textarea; replacer({ name: 'h6', replace: '###### $1', @@ -3182,10 +3207,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { label: '<i class="fa fa-fw fa-bold"></i>', modes: ['gfm', 'markdown'], shortcut: ['Ctrl-B', 'Cmd-B'], - action: function action(_ref12) { - var codemirror = _ref12.codemirror, - button = _ref12.button, - textarea = _ref12.textarea; + action: function action(_ref10) { + var codemirror = _ref10.codemirror, + button = _ref10.button, + textarea = _ref10.textarea; replacer({ name: 'bold', replace: '**$1$cur**', @@ -3201,10 +3226,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { label: '<i class="fa fa-fw fa-italic"></i>', modes: ['gfm', 'markdown'], shortcut: ['Ctrl-I', 'Cmd-I'], - action: function action(_ref13) { - var codemirror = _ref13.codemirror, - button = _ref13.button, - textarea = _ref13.textarea; + action: function action(_ref11) { + var codemirror = _ref11.codemirror, + button = _ref11.button, + textarea = _ref11.textarea; replacer({ name: 'italic', replace: '_$1$cur_', @@ -3219,10 +3244,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.STRIKETHROUGH, label: '<i class="fa fa-fw fa-strikethrough"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref14) { - var codemirror = _ref14.codemirror, - button = _ref14.button, - textarea = _ref14.textarea; + action: function action(_ref12) { + var codemirror = _ref12.codemirror, + button = _ref12.button, + textarea = _ref12.textarea; replacer({ name: 'strike', replace: '~~$1$cur~~', @@ -3237,10 +3262,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.SUMMARY_DELIMITER, label: '<i class="fa fa-fw fa-minus"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref15) { - var codemirror = _ref15.codemirror, - button = _ref15.button, - textarea = _ref15.textarea; + action: function action(_ref13) { + var codemirror = _ref13.codemirror, + button = _ref13.button, + textarea = _ref13.textarea; replacer({ name: 'delimiter', replace: "".concat(external_GravAdmin_namespaceObject.config.site.delimiter, "$1"), @@ -3257,10 +3282,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { label: '<i class="fa fa-fw fa-link"></i>', modes: ['gfm', 'markdown'], shortcut: ['Ctrl-K', 'Cmd-K'], - action: function action(_ref16) { - var codemirror = _ref16.codemirror, - button = _ref16.button, - textarea = _ref16.textarea; + action: function action(_ref14) { + var codemirror = _ref14.codemirror, + button = _ref14.button, + textarea = _ref14.textarea; replacer({ name: 'link', replace: '[$1]($cur)', @@ -3275,10 +3300,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.IMAGE, label: '<i class="fa fa-fw fa-picture-o"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref17) { - var codemirror = _ref17.codemirror, - button = _ref17.button, - textarea = _ref17.textarea; + action: function action(_ref15) { + var codemirror = _ref15.codemirror, + button = _ref15.button, + textarea = _ref15.textarea; replacer({ name: 'image', replace: '', @@ -3293,10 +3318,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.BLOCKQUOTE, label: '<i class="fa fa-fw fa-quote-right"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref18) { - var codemirror = _ref18.codemirror, - button = _ref18.button, - textarea = _ref18.textarea; + action: function action(_ref16) { + var codemirror = _ref16.codemirror, + button = _ref16.button, + textarea = _ref16.textarea; replacer({ name: 'blockquote', replace: '> $1', @@ -3312,10 +3337,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.UNORDERED_LIST, label: '<i class="fa fa-fw fa-list-ul"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref19) { - var codemirror = _ref19.codemirror, - button = _ref19.button, - textarea = _ref19.textarea; + action: function action(_ref17) { + var codemirror = _ref17.codemirror, + button = _ref17.button, + textarea = _ref17.textarea; replacer({ name: 'listUl', replace: '* $1', @@ -3331,10 +3356,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.ORDERED_LIST, label: '<i class="fa fa-fw fa-list-ol"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref20) { - var codemirror = _ref20.codemirror, - button = _ref20.button, - textarea = _ref20.textarea; + action: function action(_ref18) { + var codemirror = _ref18.codemirror, + button = _ref18.button, + textarea = _ref18.textarea; replacer({ name: 'listOl', replace: '. $1', @@ -3357,11 +3382,11 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { identifier: 'editor', title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.EDITOR, label: '<i class="fa fa-fw fa-code"></i>', - action: function action(_ref21) { - var codemirror = _ref21.codemirror, - button = _ref21.button, - textarea = _ref21.textarea, - ui = _ref21.ui; + action: function action(_ref19) { + var codemirror = _ref19.codemirror, + button = _ref19.button, + textarea = _ref19.textarea, + ui = _ref19.ui; if (textarea.data('grav-editor-mode') === 'editor') { button.addClass('editor-active'); } @@ -3385,11 +3410,11 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.PREVIEW, label: '<i class="fa fa-fw fa-eye"></i>', modes: ['gfm', 'markdown'], - action: function action(_ref22) { - var codemirror = _ref22.codemirror, - button = _ref22.button, - textarea = _ref22.textarea, - ui = _ref22.ui; + action: function action(_ref20) { + var codemirror = _ref20.codemirror, + button = _ref20.button, + textarea = _ref20.textarea, + ui = _ref20.ui; if (textarea.data('grav-editor-mode') === 'preview') { button.addClass('editor-active'); } @@ -3430,10 +3455,10 @@ var flipDisabled = function flipDisabled(codemirror, button, type) { identifier: 'fullscreen', title: external_GravAdmin_namespaceObject.translations.PLUGIN_ADMIN.FULLSCREEN, label: '<i class="fa fa-fw fa-expand"></i>', - action: function action(_ref23) { - var codemirror = _ref23.codemirror, - button = _ref23.button, - textarea = _ref23.textarea; + action: function action(_ref21) { + var codemirror = _ref21.codemirror, + button = _ref21.button, + textarea = _ref21.textarea; button.on('click.editor.fullscreen', function () { var container = textarea.closest('.grav-editor'); var wrapper = codemirror.getWrapperElement(); @@ -3527,7 +3552,7 @@ var javascript_lint = __webpack_require__(12089); var json_lint = __webpack_require__(92154); // EXTERNAL MODULE: ./node_modules/codemirror/addon/lint/yaml-lint.js var yaml_lint = __webpack_require__(23857); -;// CONCATENATED MODULE: ./app/forms/fields/editor.js +;// ./app/forms/fields/editor.js function editor_typeof(o) { "@babel/helpers - typeof"; return editor_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, editor_typeof(o); } function editor_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function editor_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, editor_toPropertyKey(o.key), o); } } @@ -3784,7 +3809,7 @@ var Toolbar = /*#__PURE__*/function () { }]); }(); var editor_Instance = new EditorField(); -;// CONCATENATED MODULE: ./app/pages/page/media.js +;// ./app/pages/page/media.js function media_typeof(o) { "@babel/helpers - typeof"; return media_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, media_typeof(o); } function media_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function media_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, media_toPropertyKey(o.key), o); } } @@ -3795,6 +3820,7 @@ function media_callSuper(t, o, e) { return o = media_getPrototypeOf(o), media_po function media_possibleConstructorReturn(t, e) { if (e && ("object" == media_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return media_assertThisInitialized(t); } function media_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } function media_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (media_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function media_superPropGet(t, o, e, r) { var p = media_get(media_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } function media_get() { return media_get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = media_superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, media_get.apply(null, arguments); } function media_superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = media_getPrototypeOf(t));); return t; } function media_getPrototypeOf(t) { return media_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, media_getPrototypeOf(t); } @@ -3914,7 +3940,7 @@ var PageMedia = /*#__PURE__*/function (_FilesField) { }, { key: "onDropzoneComplete", value: function onDropzoneComplete(file) { - media_get(media_getPrototypeOf(PageMedia.prototype), "onDropzoneComplete", this).call(this, file); + media_superPropGet(PageMedia, "onDropzoneComplete", this, 3)([file]); if (this.sortable) { this.sortable.options.onSort(); } @@ -3930,17 +3956,16 @@ var PageMedia = /*#__PURE__*/function (_FilesField) { for (var _len = arguments.length, extra = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { extra[_key - 1] = arguments[_key]; } - media_get(media_getPrototypeOf(PageMedia.prototype), "onDropzoneAddedFile", this).call(this, file, extra); + media_superPropGet(PageMedia, "onDropzoneAddedFile", this, 3)([file, extra]); this.updateThumbsSize(); } }, { key: "onDropzoneRemovedFile", value: function onDropzoneRemovedFile(file) { - var _get2; for (var _len2 = arguments.length, extra = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { extra[_key2 - 1] = arguments[_key2]; } - (_get2 = media_get(media_getPrototypeOf(PageMedia.prototype), "onDropzoneRemovedFile", this)).call.apply(_get2, [this, file].concat(extra)); + media_superPropGet(PageMedia, "onDropzoneRemovedFile", this, 3)([file].concat(extra)); this.updateMediaCount(); if (this.sortable) { this.sortable.options.onSort(); @@ -4100,7 +4125,7 @@ external_jQuery_default()(document).ready(function () { }); }); var media_Instance = new PageMedia(); -;// CONCATENATED MODULE: ./app/pages/page/multilang.js +;// ./app/pages/page/multilang.js external_jQuery_default()('[name="task"][value="saveas"], [name="task"][value="switchlanguage"]').on('mousedown touchstart', function (event) { var fields = ['lang', 'redirect']; @@ -4123,7 +4148,7 @@ external_jQuery_default()('[name="task"][value="saveas"], [name="task"][value="s }); return true; }); -;// CONCATENATED MODULE: ./app/pages/page/index.js +;// ./app/pages/page/index.js @@ -4163,7 +4188,7 @@ if (page_switcher) { PageMediaInstances: media_Instance } }); -;// CONCATENATED MODULE: ./app/pages/index.js +;// ./app/pages/index.js @@ -4216,7 +4241,7 @@ var immutable_es = __webpack_require__(49568); // EXTERNAL MODULE: ./node_modules/immutablediff/src/diff.js var src_diff = __webpack_require__(57038); var diff_default = /*#__PURE__*/__webpack_require__.n(src_diff); -;// CONCATENATED MODULE: ./app/forms/state.js +;// ./app/forms/state.js function state_typeof(o) { "@babel/helpers - typeof"; return state_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, state_typeof(o); } function state_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function state_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, state_toPropertyKey(o.key), o); } } @@ -4288,17 +4313,17 @@ var DOMBehaviors = { var modal = external_jQuery_default()('[data-remodal-id="changes"]'); var lookup = (external_jQuery_default()).remodal.lookup[modal.data('remodal')]; var buttons = external_jQuery_default()('a.button', modal); - var handler = function handler(event) { + var _handler = function handler(event) { event.preventDefault(); var action = external_jQuery_default()(this).data('leave-action'); - buttons.off('click', handler); + buttons.off('click', _handler); lookup.close(); if (action === 'continue') { external_jQuery_default()(__webpack_require__.g).off('beforeunload'); __webpack_require__.g.location.href = destination; } }; - buttons.on('click', handler); + buttons.on('click', _handler); lookup.open(); }); } @@ -4390,7 +4415,7 @@ var FormState = /*#__PURE__*/function () { ; var state_Instance = new FormState(); -;// CONCATENATED MODULE: ./app/forms/form.js +;// ./app/forms/form.js function form_typeof(o) { "@babel/helpers - typeof"; return form_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, form_typeof(o); } function form_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function form_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, form_toPropertyKey(o.key), o); } } @@ -4549,7 +4574,7 @@ var Form = /*#__PURE__*/function () { }(); var form_Instance = new Form('form#blueprints'); -;// CONCATENATED MODULE: ./app/forms/fields/filepicker.js +;// ./app/forms/fields/filepicker.js function filepicker_typeof(o) { "@babel/helpers - typeof"; return filepicker_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, filepicker_typeof(o); } function filepicker_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function filepicker_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, filepicker_toPropertyKey(o.key), o); } } @@ -4694,7 +4719,7 @@ var FilePickerField = /*#__PURE__*/function () { }); } }, - onLoad: function onLoad( /* data */ + onLoad: function onLoad(/* data */ ) { if (!selectedIsRendered) { var name = this.getValue(); @@ -4717,7 +4742,7 @@ var FilePickerField = /*#__PURE__*/function () { }(); var filepicker_Instance = new FilePickerField(); -;// CONCATENATED MODULE: ./app/utils/selectize-option-click.js +;// ./app/utils/selectize-option-click.js selectize_default().define('option_click', function (options) { @@ -4760,7 +4785,7 @@ selectize_default().define('option_click', function (options) { }); }; }); -;// CONCATENATED MODULE: ./app/forms/fields/selectize.js +;// ./app/forms/fields/selectize.js function selectize_typeof(o) { "@babel/helpers - typeof"; return selectize_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, selectize_typeof(o); } function selectize_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function selectize_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, selectize_toPropertyKey(o.key), o); } } @@ -4834,7 +4859,7 @@ var SelectizeField = /*#__PURE__*/function () { }(); var selectize_Instance = new SelectizeField(); -;// CONCATENATED MODULE: ./app/forms/fields/array.js +;// ./app/forms/fields/array.js function array_typeof(o) { "@babel/helpers - typeof"; return array_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, array_typeof(o); } function array_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function array_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, array_toPropertyKey(o.key), o); } } @@ -5041,7 +5066,7 @@ var ArrayField = /*#__PURE__*/function () { }(); var array_Instance = new ArrayField(); -;// CONCATENATED MODULE: ./app/forms/fields/collections.js +;// ./app/forms/fields/collections.js function collections_typeof(o) { "@babel/helpers - typeof"; return collections_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, collections_typeof(o); } function collections_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function collections_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, collections_toPropertyKey(o.key), o); } } @@ -5348,7 +5373,7 @@ var CollectionsField = /*#__PURE__*/function () { var collections_Instance = new CollectionsField(); // EXTERNAL MODULE: ./app/utils/bootstrap-datetimepicker.js var bootstrap_datetimepicker = __webpack_require__(70086); -;// CONCATENATED MODULE: ./app/forms/fields/datetime.js +;// ./app/forms/fields/datetime.js function datetime_typeof(o) { "@babel/helpers - typeof"; return datetime_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, datetime_typeof(o); } function datetime_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function datetime_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, datetime_toPropertyKey(o.key), o); } } @@ -5435,7 +5460,7 @@ var clamp_default = /*#__PURE__*/__webpack_require__.n(clamp); // EXTERNAL MODULE: ./node_modules/mout/function/bind.js var bind = __webpack_require__(91390); var bind_default = /*#__PURE__*/__webpack_require__.n(bind); -;// CONCATENATED MODULE: ./app/utils/colors.js +;// ./app/utils/colors.js // Parses a string and returns a valid hex string when possible // parseHex('#fff') => '#ffffff' var parseHex = function parseHex(string) { @@ -5574,7 +5599,7 @@ var hex2rgb = function hex2rgb(hex) { /* jshint ignore:end */ }; }; -;// CONCATENATED MODULE: ./app/forms/fields/colorpicker.js +;// ./app/forms/fields/colorpicker.js function colorpicker_typeof(o) { "@babel/helpers - typeof"; return colorpicker_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, colorpicker_typeof(o); } function colorpicker_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function colorpicker_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, colorpicker_toPropertyKey(o.key), o); } } @@ -6177,7 +6202,7 @@ var ColorpickerField = /*#__PURE__*/function () { }(); var colorpicker_Instance = new ColorpickerField('[data-grav-colorpicker]'); -;// CONCATENATED MODULE: ./app/forms/fields/folder.js +;// ./app/forms/fields/folder.js var Regenerate = function Regenerate() { var field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '[name="data[folder]"]'; @@ -6202,7 +6227,7 @@ external_jQuery_default()(document).on('click', '[data-regenerate]', function (e // EXTERNAL MODULE: ./node_modules/mout/object/forIn.js var forIn = __webpack_require__(29690); var forIn_default = /*#__PURE__*/__webpack_require__.n(forIn); -;// CONCATENATED MODULE: ./app/forms/fields/selectunique.js +;// ./app/forms/fields/selectunique.js function selectunique_typeof(o) { "@babel/helpers - typeof"; return selectunique_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, selectunique_typeof(o); } function selectunique_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function selectunique_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, selectunique_toPropertyKey(o.key), o); } } @@ -6377,7 +6402,7 @@ var SelectUniqueField = /*#__PURE__*/function () { }(); var selectunique_Instance = new SelectUniqueField(); -;// CONCATENATED MODULE: ./app/forms/fields/iconpicker.js +;// ./app/forms/fields/iconpicker.js function iconpicker_typeof(o) { "@babel/helpers - typeof"; return iconpicker_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, iconpicker_typeof(o); } function iconpicker_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function iconpicker_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, iconpicker_toPropertyKey(o.key), o); } } @@ -6687,7 +6712,7 @@ external_jQuery_default()(document).on('click', function (event) { } } }); -;// CONCATENATED MODULE: ./app/utils/cron-ui.js +;// ./app/utils/cron-ui.js function cron_ui_typeof(o) { "@babel/helpers - typeof"; return cron_ui_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, cron_ui_typeof(o); } /* eslint-disable */ @@ -6744,10 +6769,10 @@ var jqCronDefaultSettings = { * feature for us : it replaces keys of "Arrays" instead of replacing the full array. */ (function ($) { - var extend = function extend(dst, src) { + var _extend = function extend(dst, src) { for (var i in src) { if ($.isPlainObject(src[i])) { - dst[i] = extend(dst[i] && $.isPlainObject(dst[i]) ? dst[i] : {}, src[i]); + dst[i] = _extend(dst[i] && $.isPlainObject(dst[i]) ? dst[i] : {}, src[i]); } else if ($.isArray(src[i])) { dst[i] = src[i].slice(0); } else if (src[i] !== undefined) { @@ -6757,7 +6782,7 @@ var jqCronDefaultSettings = { return dst; }; this.jqCronMergeSettings = function (obj) { - return extend(extend({}, jqCronDefaultSettings), obj || {}); + return _extend(_extend({}, jqCronDefaultSettings), obj || {}); }; }).call(window, (external_jQuery_default())); @@ -7524,7 +7549,7 @@ var jqCronDefaultSettings = { } }); }).call(window, (external_jQuery_default())); -;// CONCATENATED MODULE: ./app/forms/fields/cron.js +;// ./app/forms/fields/cron.js function cron_typeof(o) { "@babel/helpers - typeof"; return cron_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, cron_typeof(o); } function cron_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function cron_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, cron_toPropertyKey(o.key), o); } } @@ -7624,7 +7649,7 @@ var cron_Instance = new CronField(); // EXTERNAL MODULE: ./node_modules/eventemitter3/index.js var eventemitter3 = __webpack_require__(30228); var eventemitter3_default = /*#__PURE__*/__webpack_require__.n(eventemitter3); -;// CONCATENATED MODULE: ./app/utils/finderjs.js +;// ./app/utils/finderjs.js function finderjs_typeof(o) { "@babel/helpers - typeof"; return finderjs_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, finderjs_typeof(o); } function finderjs_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function finderjs_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, finderjs_toPropertyKey(o.key), o); } } @@ -7941,7 +7966,14 @@ var Finder = /*#__PURE__*/function () { var item = activeItem._item; var isLast = index + 1 === activeItems.length; itemKeys += "/".concat(item[_this6.config.itemKey]); - _this6.pathBar.append("\n <span class=\"breadcrumb-node breadcrumb-node-".concat(item.type, "\" ").concat(item.type === 'dir' ? "data-breadcrumb-node=\"".concat(itemKeys, "\"") : '', ">\n <i class=\"fa fa-fw ").concat(_this6.getIcon(item.type), "\"></i>\n <span class=\"breadcrumb-node-name\">").concat(external_jQuery_default()('<div />').html(item[_this6.config.labelKey]).html(), "</span>\n ").concat(!isLast ? '<i class="fa fa-fw fa-chevron-right"></i>' : '', "\n </span>\n ")); + var node = external_jQuery_default()('<span class="breadcrumb-node" />').addClass("breadcrumb-node-".concat(item.type)).append(external_jQuery_default()('<i class="fa fa-fw" />').addClass(_this6.getIcon(item.type))).append(external_jQuery_default()('<span class="breadcrumb-node-name" />').text(item[_this6.config.labelKey])); + if (item.type === 'dir') { + node.attr('data-breadcrumb-node', itemKeys); + } + if (!isLast) { + node.append(external_jQuery_default()('<i class="fa fa-fw fa-chevron-right" />')); + } + _this6.pathBar.append(node); }); } }, { @@ -7960,7 +7992,7 @@ var Finder = /*#__PURE__*/function () { }]); }(); /* harmony default export */ const finderjs = (Finder); -;// CONCATENATED MODULE: ./app/forms/fields/parents.js +;// ./app/forms/fields/parents.js function parents_typeof(o) { "@babel/helpers - typeof"; return parents_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, parents_typeof(o); } function parents_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } function parents_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, parents_toPropertyKey(o.key), o); } } @@ -8062,7 +8094,7 @@ var Parents = /*#__PURE__*/function () { key: "createItemContent", value: function createItemContent(config, item) { var frag = document.createDocumentFragment(); - var label = external_jQuery_default()("<span title=\"".concat(item[config.labelKey], "\" />")); + var label = external_jQuery_default()('<span />').attr('title', item[config.labelKey]); var infoContainer = external_jQuery_default()('<span class="info-container" />'); var iconPrepend = external_jQuery_default()('<i />'); var iconAppend = external_jQuery_default()('<i />'); @@ -8200,7 +8232,7 @@ external_jQuery_default()(document).on('click', '[data-remodal-id].parents-conta var remodal = (external_jQuery_default()).remodal.lookup[external_jQuery_default()("[data-remodal-id=\"".concat(modal.data('remodalId'), "\"]")).data('remodal')]; remodal.close(); }); -;// CONCATENATED MODULE: ./app/forms/fields/acl-picker.js +;// ./app/forms/fields/acl-picker.js var acl_picker_body = external_jQuery_default()('body'); acl_picker_body.on('change', '[data-acl_picker] select', function (event) { @@ -8280,7 +8312,7 @@ acl_picker_body.on('click', '[data-acl_picker] .add-item', function (event) { // disable all + buttons until one is selected wrapper.find('.permissions-item .button.add-item').addClass('disabled').prop('disabled', 'disabled'); }); -;// CONCATENATED MODULE: ./app/forms/fields/permissions.js +;// ./app/forms/fields/permissions.js var permissions_body = external_jQuery_default()('body'); var radioSelector = '.permission-container.parent-section input[type="radio"]'; @@ -8318,7 +8350,7 @@ permissions_body.on('input', '.permissions-container input[type="radio"][data-pa parent.trigger('click'); permissions_body.on('input', radioSelector, boundHandleParent); }); -;// CONCATENATED MODULE: ./app/forms/fields/indeterminate.js +;// ./app/forms/fields/indeterminate.js document.addEventListener('click', function (event) { if (document.querySelector('#pages-filters')) { @@ -8368,7 +8400,7 @@ document.addEventListener('click', function (event) { (document.querySelectorAll('input[type="checkbox"][indeterminate="true"]') || []).forEach(function (input) { input.indeterminate = true; }); -;// CONCATENATED MODULE: ./app/forms/fields/mediapicker.js +;// ./app/forms/fields/mediapicker.js external_jQuery_default()(function () { @@ -8414,7 +8446,7 @@ external_jQuery_default()(function () { modal.close(); }); }); -;// CONCATENATED MODULE: ./app/forms/fields/multilevel.js +;// ./app/forms/fields/multilevel.js external_jQuery_default()(function () { var getField = function getField(level, name) { @@ -8630,7 +8662,7 @@ external_jQuery_default()(function () { changeAllOccurrencesInTree($el, old_name_attr, new_name_attr); }); }); -;// CONCATENATED MODULE: ./app/forms/fields/text.js +;// ./app/forms/fields/text.js external_jQuery_default()(document).ready(function () { external_jQuery_default()('.copy-to-clipboard').click(function (event) { @@ -8642,7 +8674,7 @@ external_jQuery_default()(document).ready(function () { external_jQuery_default()(this).attr('data-hint', 'Copied to clipboard!').addClass('hint--left'); }); }); -;// CONCATENATED MODULE: ./app/forms/fields/range.js +;// ./app/forms/fields/range.js external_jQuery_default()(document).on('input', '[type="range"].rangefield, [type="number"].rangefield', function (event) { var target = external_jQuery_default()(event.currentTarget); @@ -8651,7 +8683,7 @@ external_jQuery_default()(document).on('input', '[type="range"].rangefield, [typ var feedback = target.siblings("[type ... [truncated]
themes/grav/js/vendor.min.js+1708 −1641 modified
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
4News mentions
0No linked articles in our index yet.