diff --git a/blocks/dist/custom-status.build.js b/blocks/dist/custom-status.build.js index 1a26bb46..48759948 100644 --- a/blocks/dist/custom-status.build.js +++ b/blocks/dist/custom-status.build.js @@ -1,2 +1,270 @@ -(()=>{"use strict";var t={n:e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const e=React;var n=t.n(e);function r(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,i=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){u=!0,s=t},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw s}}}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./blocks/src/custom-status/editor.scss": +/*!**********************************************!*\ + !*** ./blocks/src/custom-status/editor.scss ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }), + +/***/ "./blocks/src/custom-status/style.scss": +/*!*********************************************!*\ + !*** ./blocks/src/custom-status/style.scss ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }), + +/***/ "react": +/*!************************!*\ + !*** external "React" ***! + \************************/ +/***/ ((module) => { + +module.exports = React; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +/*!*******************************************!*\ + !*** ./blocks/src/custom-status/block.js ***! + \*******************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./editor.scss */ "./blocks/src/custom-status/editor.scss"); +/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ "./blocks/src/custom-status/style.scss"); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } + + +var __ = wp.i18n.__; +var PluginPostStatusInfo = wp.editPost.PluginPostStatusInfo; +var registerPlugin = wp.plugins.registerPlugin; +var _wp$data = wp.data, + subscribe = _wp$data.subscribe, + dispatch = _wp$data.dispatch, + select = _wp$data.select, + withSelect = _wp$data.withSelect, + withDispatch = _wp$data.withDispatch; +var compose = wp.compose.compose; +var SelectControl = wp.components.SelectControl; + +/** + * Map Custom Statuses as options for SelectControl + */ +var statuses = window.EditFlowCustomStatuses.map(function (s) { + return { + label: s.name, + value: s.slug + }; +}); + +/** + * Subscribe to changes so we can set a default status and update a button's text. + */ +var buttonTextObserver = null; +subscribe(function () { + var postId = select('core/editor').getCurrentPostId(); + if (!postId) { + // Post isn't ready yet so don't do anything. + return; + } + + // For new posts, we need to force the default custom status. + var isCleanNewPost = select('core/editor').isCleanNewPost(); + if (isCleanNewPost) { + dispatch('core/editor').editPost({ + status: ef_default_custom_status + }); + } + + // If the save button exists, let's update the text if needed. + maybeUpdateButtonText(document.querySelector('.editor-post-save-draft')); + + // The post is being saved, so we need to set up an observer to update the button text when it's back. + if (buttonTextObserver === null && window.MutationObserver && select('core/editor').isSavingPost()) { + buttonTextObserver = createButtonObserver(document.querySelector('.edit-post-header__settings')); + } +}); + +/** + * Create a mutation observer that will update the + * save button text right away when it's changed/re-added. + * + * Ideally there will be better ways to go about this in the future. + * @see https://github.com/Automattic/Edit-Flow/issues/583 + */ +function createButtonObserver(parentNode) { + if (!parentNode) { + return null; + } + var observer = new MutationObserver(function (mutationsList) { + var _iterator = _createForOfIteratorHelper(mutationsList), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var mutation = _step.value; + var _iterator2 = _createForOfIteratorHelper(mutation.addedNodes), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var node = _step2.value; + maybeUpdateButtonText(node); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + }); + observer.observe(parentNode, { + childList: true + }); + return observer; +} +function maybeUpdateButtonText(saveButton) { + /* + * saveButton.children < 1 accounts for when a user hovers over the save button + * and a tooltip is rendered + */ + if (saveButton && saveButton.children < 1 && (saveButton.innerText === __('Save Draft') || saveButton.innerText === __('Save as Pending'))) { + saveButton.innerText = __('Save'); + } +} + +/** + * Custom status component + * @param object props + */ +var EditFlowCustomPostStati = function EditFlowCustomPostStati(_ref) { + var onUpdate = _ref.onUpdate, + status = _ref.status; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PluginPostStatusInfo, { + className: "edit-flow-extended-post-status edit-flow-extended-post-status-".concat(status) + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h4", null, status !== 'publish' ? __('Extended Post Status', 'edit-flow') : __('Extended Post Status Disabled.', 'edit-flow')), status !== 'publish' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(SelectControl, { + label: "", + value: status, + options: statuses, + onChange: onUpdate + }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("small", { + className: "edit-flow-extended-post-status-note" + }, status !== 'publish' ? __('Note: this will override all status settings above.', 'edit-flow') : __('To select a custom status, please unpublish the content first.', 'edit-flow'))); +}; +var mapSelectToProps = function mapSelectToProps(select) { + return { + status: select('core/editor').getEditedPostAttribute('status') + }; +}; +var mapDispatchToProps = function mapDispatchToProps(dispatch) { + return { + onUpdate: function onUpdate(status) { + dispatch('core/editor').editPost({ + status: status + }); + } + }; +}; +var plugin = compose(withSelect(mapSelectToProps), withDispatch(mapDispatchToProps))(EditFlowCustomPostStati); + +/** + * Kick it off + */ +registerPlugin('edit-flow-custom-status', { + icon: 'edit-flow', + render: plugin +}); +})(); + +/******/ })() +; //# sourceMappingURL=custom-status.build.js.map \ No newline at end of file diff --git a/blocks/dist/custom-status.editor.build.css b/blocks/dist/custom-status.editor.build.css index 76f24ea5..47dbbe03 100644 --- a/blocks/dist/custom-status.editor.build.css +++ b/blocks/dist/custom-status.editor.build.css @@ -1,4 +1,26 @@ -.edit-flow-extended-post-status{flex-flow:row wrap}.edit-flow-extended-post-status>*{flex-basis:45%}.edit-flow-extended-post-status .edit-flow-extended-post-status-note{flex-basis:100%}.edit-flow-extended-post-status-switch-to-draft{flex-basis:100%}.edit-flow-extended-post-status-publish>*{flex-basis:100%} +/*!*******************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./blocks/src/custom-status/editor.scss ***! + \*******************************************************************************************************************************/ +.edit-flow-extended-post-status { + flex-flow: row wrap; +} +.edit-flow-extended-post-status > * { + flex-basis: 45%; +} +.edit-flow-extended-post-status .edit-flow-extended-post-status-note { + flex-basis: 100%; +} + +.edit-flow-extended-post-status-switch-to-draft { + flex-basis: 100%; +} + +.edit-flow-extended-post-status-publish > * { + flex-basis: 100%; +} +/*!******************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./blocks/src/custom-status/style.scss ***! + \******************************************************************************************************************************/ /*# sourceMappingURL=custom-status.editor.build.css.map*/ \ No newline at end of file diff --git a/blocks/dist/custom-status.style.build.css b/blocks/dist/custom-status.style.build.css index 2386bc5b..16cadaf0 100644 --- a/blocks/dist/custom-status.style.build.css +++ b/blocks/dist/custom-status.style.build.css @@ -1,4 +1,26 @@ -.edit-flow-extended-post-status{flex-flow:row wrap}.edit-flow-extended-post-status>*{flex-basis:45%}.edit-flow-extended-post-status .edit-flow-extended-post-status-note{flex-basis:100%}.edit-flow-extended-post-status-switch-to-draft{flex-basis:100%}.edit-flow-extended-post-status-publish>*{flex-basis:100%} +/*!*******************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./blocks/src/custom-status/editor.scss ***! + \*******************************************************************************************************************************/ +.edit-flow-extended-post-status { + flex-flow: row wrap; +} +.edit-flow-extended-post-status > * { + flex-basis: 45%; +} +.edit-flow-extended-post-status .edit-flow-extended-post-status-note { + flex-basis: 100%; +} + +.edit-flow-extended-post-status-switch-to-draft { + flex-basis: 100%; +} + +.edit-flow-extended-post-status-publish > * { + flex-basis: 100%; +} +/*!******************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./blocks/src/custom-status/style.scss ***! + \******************************************************************************************************************************/ /*# sourceMappingURL=custom-status.style.build.css.map*/ \ No newline at end of file diff --git a/modules/calendar/lib/dist/calendar.react.build.js b/modules/calendar/lib/dist/calendar.react.build.js index df5f929e..bb019490 100644 --- a/modules/calendar/lib/dist/calendar.react.build.js +++ b/modules/calendar/lib/dist/calendar.react.build.js @@ -1,3 +1,7925 @@ -/*! For license information please see calendar.react.build.js.LICENSE.txt */ -(()=>{var e={694:(e,t,n)=>{"use strict";var r=n(925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},556:(e,t,n)=>{e.exports=n(694)()},925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},338:(e,t,n)=>{"use strict";var r=n(206);t.H=r.createRoot,r.hydrateRoot},799:(e,t)=>{"use strict";Symbol.for("react.element"),Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.server_context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.suspense_list"),Symbol.for("react.memo"),Symbol.for("react.lazy"),Symbol.for("react.offscreen");Symbol.for("react.module.reference")},363:(e,t,n)=>{"use strict";n(799)},731:e=>{var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),o=new RegExp(n,"");function i(e){return t[e]}var a=function(e){return e.replace(r,i)};e.exports=a,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=a},206:e=>{"use strict";e.exports=ReactDOM},942:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e="",t=0;t{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=wp.i18n,t=React;var r=n.n(t),o=n(338);const i=wp.components,a=wp.data;var l=n(942),u=n.n(l),s=n(556),c=n.n(s);const p=wp.url,f=moment;var d=n.n(f);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t=5.4?{isSecondary:!0}:{isDefault:!0},y=function(e,t,n,r,o){var i=function(e){for(var t=1;t1?r().createElement(i.Button,g({},b,{className:"ef-calendar-date-change-button",title:(0,e.sprintf)((0,e.__)("Backwards %d weeks","edit-flow"),n),href:I(n,o,a,l)}),(0,e.__)("«","edit-flow")):null,r().createElement(i.Button,g({},b,{className:"ef-calendar-date-change-button",title:(0,e.__)("Backwards 1 week","edit-flow"),href:I(1,o,a,l)}),(0,e.__)("‹","edit-flow")),r().createElement(i.Button,g({},b,{className:"ef-calendar-date-change-button",title:(0,e.__)("Today","edit-flow"),href:v(0,o,a,l)}),(0,e.__)("Today","edit-flow")),r().createElement(i.Button,g({},b,{className:"ef-calendar-date-change-button",title:(0,e.__)("Forward 1 week","edit-flow"),href:v(1,o,a,l)}),(0,e.__)("›","edit-flow")),n>1?r().createElement(i.Button,g({},b,{className:"ef-calendar-date-change-button",title:(0,e.sprintf)((0,e.__)("Forward %d weeks","edit-flow"),n),href:v(n,o,a,l)}),(0,e.__)("»","edit-flow")):null)};function S(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t"object"==typeof e&&null!=e&&1===e.nodeType,_=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,C=(e,t)=>{if(e.clientHeight{const t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeightit||i>e&&a=t&&l>=n?i-e-r:a>t&&ln?a-t+o:0,x=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t};var T=function(){return T=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{var n,r,o,i;if("undefined"==typeof document)return[];const{scrollMode:a,block:l,inline:u,boundary:s,skipOverflowHiddenElements:c}=t,p="function"==typeof s?s:e=>e!==s;if(!A(e))throw new TypeError("Invalid target");const f=document.scrollingElement||document.documentElement,d=[];let m=e;for(;A(m)&&p(m);){if(m=x(m),m===f){d.push(m);break}null!=m&&m===document.body&&C(m)&&!C(document.documentElement)||null!=m&&C(m,c)&&d.push(m)}const g=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,h=null!=(i=null==(o=window.visualViewport)?void 0:o.height)?i:innerHeight,{scrollX:b,scrollY:y}=window,{height:v,width:I,top:O,right:S,bottom:E,left:w}=e.getBoundingClientRect(),{top:_,right:T,bottom:k,left:R}=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);let D="start"===l||"nearest"===l?O-_:"end"===l?E+k:O+v/2-_+k,L="center"===u?w+I/2-R+T:"end"===u?S+T:w-R;const j=[];for(let e=0;e=0&&w>=0&&E<=h&&S<=g&&O>=o&&E<=s&&w>=c&&S<=i)return j;const p=getComputedStyle(t),m=parseInt(p.borderLeftWidth,10),A=parseInt(p.borderTopWidth,10),_=parseInt(p.borderRightWidth,10),C=parseInt(p.borderBottomWidth,10);let x=0,T=0;const k="offsetWidth"in t?t.offsetWidth-t.clientWidth-m-_:0,R="offsetHeight"in t?t.offsetHeight-t.clientHeight-A-C:0,N="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,H="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(f===t)x="start"===l?D:"end"===l?D-h:"nearest"===l?P(y,y+h,h,A,C,y+D,y+D+v,v):D-h/2,T="start"===u?L:"center"===u?L-g/2:"end"===u?L-g:P(b,b+g,g,m,_,b+L,b+L+I,I),x=Math.max(0,x+y),T=Math.max(0,T+b);else{x="start"===l?D-o-A:"end"===l?D-s+C+R:"nearest"===l?P(o,s,n,A,C+R,D,D+v,v):D-(o+n/2)+R/2,T="start"===u?L-c-m:"center"===u?L-(c+r/2)+k/2:"end"===u?L-i+_+k:P(c,i,r,m,_+k,L,L+I,I);const{scrollLeft:e,scrollTop:a}=t;x=0===H?0:Math.max(0,Math.min(a+x/H,t.scrollHeight-n/H+R)),T=0===N?0:Math.max(0,Math.min(e+T/N,t.scrollWidth-r/N+k)),D+=a-x,L+=e-T}j.push({el:t,top:x,left:T})}return j})(e,{boundary:t,block:"nearest",scrollMode:"if-needed"});n.forEach((function(e){var t=e.el,n=e.top,r=e.left;t.scrollTop=n,t.scrollLeft=r}))}}function j(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function N(e,t){var n;function r(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,i=new Array(o),a=0;a1?n-1:0),o=1;o=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function Y(e,t,n,r,o){void 0===o&&(o=!1);var i=n.length;if(0===i)return-1;var a=i-1;("number"!=typeof e||e<0||e>a)&&(e=t>0?-1:a+1);var l=e+t;l<0?l=o?a:0:l>a&&(l=o?0:a);var u=q(l,t<0,n,r,o);return-1===u?e>=i?-1:e:u}function q(e,t,n,r,o){void 0===o&&(o=!1);var i=n.length;if(t){for(var a=e;a>=0;a--)if(!r(n[a],a))return a}else for(var l=e;l1&&n.props.onStateChange(i,n.getStateAndHelpers()),r&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==o&&n.props.onChange(o,n.getStateAndHelpers()),n.props.onUserAction(i,n.getStateAndHelpers())}))},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var r,o=void 0===e?{}:e,i=o.refKey,a=void 0===i?"ref":i,l=o.ref,u=S(o,J),s=(void 0===t?{}:t).suppressRefError,c=void 0!==s&&s;n.getRootProps.called=!0,n.getRootProps.refKey=a,n.getRootProps.suppressRefError=c;var p=n.getState().isOpen;return E(((r={})[a]=M(l,n.rootRef),r.role="combobox",r["aria-expanded"]=p,r["aria-haspopup"]="listbox",r["aria-owns"]=p?n.menuId:void 0,r["aria-labelledby"]=n.labelId,r),u)},n.keyDownHandlers={ArrowDown:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?5:1;this.moveHighlightedIndex(n,{type:4})}else this.internalSetState({isOpen:!0,type:4},(function(){var e=t.getItemCount();if(e>0){var n=Y(t.getState().highlightedIndex,1,{length:e},t.isItemDisabled,!0);t.setHighlightedIndex(n,{type:4})}}))},ArrowUp:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?-5:-1;this.moveHighlightedIndex(n,{type:3})}else this.internalSetState({isOpen:!0,type:3},(function(){var e=t.getItemCount();if(e>0){var n=Y(t.getState().highlightedIndex,-1,{length:e},t.isItemDisabled,!0);t.setHighlightedIndex(n,{type:3})}}))},Enter:function(e){if(229!==e.which){var t=this.getState(),n=t.isOpen,r=t.highlightedIndex;if(n&&null!=r){e.preventDefault();var o=this.items[r],i=this.getItemNodeFromIndex(r);if(null==o||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}}},Escape:function(e){e.preventDefault(),this.reset(E({type:5},!this.state.isOpen&&{selectedItem:null,inputValue:""}))}},n.buttonKeyDownHandlers=E({},n.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:12})}}),n.inputKeyDownHandlers=E({},n.keyDownHandlers,{Home:function(e){var t=this.getState().isOpen;if(t){e.preventDefault();var n=this.getItemCount();if(!(n<=0)&&t){var r=q(0,!1,{length:n},this.isItemDisabled);this.setHighlightedIndex(r,{type:7})}}},End:function(e){var t=this.getState().isOpen;if(t){e.preventDefault();var n=this.getItemCount();if(!(n<=0)&&t){var r=q(n-1,!0,{length:n},this.isItemDisabled);this.setHighlightedIndex(r,{type:8})}}}}),n.getToggleButtonProps=function(e){var t=void 0===e?{}:e,r=t.onClick;t.onPress;var o=t.onKeyDown,i=t.onKeyUp,a=t.onBlur,l=S(t,$),u=n.getState().isOpen,s={onClick:H(r,n.buttonHandleClick),onKeyDown:H(o,n.buttonHandleKeyDown),onKeyUp:H(i,n.buttonHandleKeyUp),onBlur:H(a,n.buttonHandleBlur)};return E({type:"button",role:"button","aria-label":u?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},l.disabled?{}:s,l)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=K(e);n.buttonKeyDownHandlers[t]&&n.buttonKeyDownHandlers[t].call(n,e)},n.buttonHandleClick=function(e){if(e.preventDefault(),n.props.environment){var t=n.props.environment.document,r=t.body,o=t.activeElement;r&&r===o&&e.target.focus()}n.internalSetTimeout((function(){return n.toggleMenu({type:13})}))},n.buttonHandleBlur=function(e){var t=e.target;n.internalSetTimeout((function(){if(!n.isMouseDown&&n.props.environment){var e=n.props.environment.document.activeElement;null!=e&&e.id===n.inputId||e===t||n.reset({type:14})}}))},n.getLabelProps=function(e){return E({htmlFor:n.inputId,id:n.labelId},e)},n.getInputProps=function(e){var t=void 0===e?{}:e,r=t.onKeyDown,o=t.onBlur,i=t.onChange,a=t.onInput;t.onChangeText;var l,u=S(t,ee),s={},c=n.getState(),p=c.inputValue,f=c.isOpen,d=c.highlightedIndex;return u.disabled||((l={}).onChange=H(i,a,n.inputHandleChange),l.onKeyDown=H(r,n.inputHandleKeyDown),l.onBlur=H(o,n.inputHandleBlur),s=l),E({"aria-autocomplete":"list","aria-activedescendant":f&&"number"==typeof d&&d>=0?n.getItemId(d):void 0,"aria-controls":f?n.menuId:void 0,"aria-labelledby":u&&u["aria-label"]?void 0:n.labelId,autoComplete:"off",value:p,id:n.inputId},s,u)},n.inputHandleKeyDown=function(e){var t=K(e);t&&n.inputKeyDownHandlers[t]&&n.inputKeyDownHandlers[t].call(n,e)},n.inputHandleChange=function(e){n.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:n.props.defaultHighlightedIndex})},n.inputHandleBlur=function(){n.internalSetTimeout((function(){var e;if(!n.isMouseDown&&n.props.environment){var t=n.props.environment.document.activeElement;(null==t||null==(e=t.dataset)?void 0:e.toggle)&&n._rootNode&&n._rootNode.contains(t)||n.reset({type:10})}}))},n.menuRef=function(e){n._menuNode=e},n.getMenuProps=function(e,t){var r,o=void 0===e?{}:e,i=o.refKey,a=void 0===i?"ref":i,l=o.ref,u=S(o,te),s=(void 0===t?{}:t).suppressRefError,c=void 0!==s&&s;return n.getMenuProps.called=!0,n.getMenuProps.refKey=a,n.getMenuProps.suppressRefError=c,E(((r={})[a]=M(l,n.menuRef),r.role="listbox",r["aria-labelledby"]=u&&u["aria-label"]?void 0:n.labelId,r.id=n.menuId,r),u)},n.getItemProps=function(e){var t,r=void 0===e?{}:e,o=r.onMouseMove,i=r.onMouseDown,a=r.onClick;r.onPress;var l=r.index,u=r.item,s=void 0===u?void 0:u,c=S(r,ne);void 0===l?(n.items.push(s),l=n.items.indexOf(s)):n.items[l]=s;var p=a,f=((t={onMouseMove:H(o,(function(){l!==n.getState().highlightedIndex&&(n.setHighlightedIndex(l,{type:2}),n.avoidScrolling=!0,n.internalSetTimeout((function(){return n.avoidScrolling=!1}),250))})),onMouseDown:H(i,(function(e){e.preventDefault()}))}).onClick=H(p,(function(){n.selectItemAtIndex(l,{type:9})})),t),d=c.disabled?{onMouseDown:f.onMouseDown}:f;return E({id:n.getItemId(l),role:"option","aria-selected":n.getState().highlightedIndex===l},d,c)},n.clearItems=function(){n.items=[]},n.reset=function(e,t){void 0===e&&(e={}),e=B(e),n.internalSetState((function(t){var r=t.selectedItem;return E({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,inputValue:n.props.itemToString(r)},e)}),t)},n.toggleMenu=function(e,t){void 0===e&&(e={}),e=B(e),n.internalSetState((function(t){var r=t.isOpen;return E({isOpen:!r},r&&{highlightedIndex:n.props.defaultHighlightedIndex},e)}),(function(){var r=n.getState(),o=r.isOpen,i=r.highlightedIndex;o&&n.getItemCount()>0&&"number"==typeof i&&n.setHighlightedIndex(i,e),R(t)()}))},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=N((function(){var e;if(null!=(e=n.props)&&null!=(e=e.environment)&&e.document){var t=n.getState(),r=n.items[t.highlightedIndex],o=n.getItemCount(),i=n.props.getA11yStatusMessage(E({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:o,highlightedItem:r},t));n.previousResultCount=o,z(i,n.props.environment.document)}}),200);var r=n.props,o=r.defaultHighlightedIndex,i=r.initialHighlightedIndex,a=void 0===i?o:i,l=r.defaultIsOpen,u=r.initialIsOpen,s=void 0===u?l:u,c=r.initialInputValue,p=void 0===c?"":c,f=r.initialSelectedItem,d=void 0===f?null:f,m=n.getState({highlightedIndex:a,isOpen:s,inputValue:p,selectedItem:d});return null!=m.selectedItem&&void 0===n.props.initialInputValue&&(m.inputValue=n.props.itemToString(m.selectedItem)),n.state=m,n}var r,o;o=e,(r=n).prototype=Object.create(o.prototype),r.prototype.constructor=r,w(r,o);var i=n.prototype;return i.internalClearTimeouts=function(){this.timeoutIds.forEach((function(e){clearTimeout(e)})),this.timeoutIds=[]},i.getState=function(e){return void 0===e&&(e=this.state),t=e,n=this.props,t&&n?Object.keys(t).reduce((function(e,r){return e[r]=W(n,r)?n[r]:t[r],e}),{}):t;var t,n},i.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},i.getItemNodeFromIndex=function(e){return this.props.environment?this.props.environment.document.getElementById(this.getItemId(e)):null},i.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},i.moveHighlightedIndex=function(e,t){var n=this.getItemCount(),r=this.getState().highlightedIndex;if(n>0){var o=Y(r,e,{length:n},this.isItemDisabled,!0);this.setHighlightedIndex(o,t)}},i.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,r=e.selectedItem,o=e.isOpen,i=this.props.itemToString,a=this.id,l=this.getRootProps,u=this.getToggleButtonProps,s=this.getLabelProps,c=this.getMenuProps,p=this.getInputProps,f=this.getItemProps,d=this.openMenu,m=this.closeMenu,g=this.toggleMenu,h=this.selectItem,b=this.selectItemAtIndex,y=this.selectHighlightedItem,v=this.setHighlightedIndex,I=this.clearSelection,O=this.clearItems;return{getRootProps:l,getToggleButtonProps:u,getLabelProps:s,getMenuProps:c,getInputProps:p,getItemProps:f,reset:this.reset,openMenu:d,closeMenu:m,toggleMenu:g,selectItem:h,selectItemAtIndex:b,selectHighlightedItem:y,setHighlightedIndex:v,clearSelection:I,clearItems:O,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:i,id:a,highlightedIndex:t,inputValue:n,isOpen:o,selectedItem:r}},i.componentDidMount=function(){var e=this;if(this.props.environment){var t=function(){e.isMouseDown=!0},n=function(t){e.isMouseDown=!1,!G(t.target,[e._rootNode,e._menuNode],e.props.environment)&&e.getState().isOpen&&e.reset({type:1},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},r=function(){e.isTouchMove=!1},o=function(){e.isTouchMove=!0},i=function(t){var n=G(t.target,[e._rootNode,e._menuNode],e.props.environment,!1);e.isTouchMove||n||!e.getState().isOpen||e.reset({type:16},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},a=this.props.environment;a.addEventListener("mousedown",t),a.addEventListener("mouseup",n),a.addEventListener("touchstart",r),a.addEventListener("touchmove",o),a.addEventListener("touchend",i),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),a.removeEventListener("mousedown",t),a.removeEventListener("mouseup",n),a.removeEventListener("touchstart",r),a.removeEventListener("touchmove",o),a.removeEventListener("touchend",i)}}else this.cleanup=function(){e.internalClearTimeouts()}},i.shouldScroll=function(e,t){var n=(void 0===this.props.highlightedIndex?this.getState():this.props).highlightedIndex,r=(void 0===t.highlightedIndex?e:t).highlightedIndex;return n&&this.getState().isOpen&&!e.isOpen||n!==r},i.componentDidUpdate=function(e,t){W(this.props,"selectedItem")&&this.props.selectedItemChanged(e.selectedItem,this.props.selectedItem)&&this.internalSetState({type:15,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(t,e)&&this.scrollHighlightedItemIntoView(),this.updateStatus()},i.componentWillUnmount=function(){this.cleanup()},i.render=function(){var e=U(this.props.children,D);this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1;var n=U(e(this.getStateAndHelpers()));return n?this.getRootProps.called||this.props.suppressRefError?n:function(e){return"string"==typeof e.type}(n)?(0,t.cloneElement)(n,this.getRootProps(function(e){return e.props}(n))):void 0:null},n}(t.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:V,itemToString:function(e){return null==e?"":String(e)},onStateChange:D,onInputValueChange:D,onUserAction:D,onChange:D,onSelect:D,onOuterClick:D,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?void 0:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:L},e.stateChangeTypes=Z,e}();N((function(e,t){z(e,t)}),200),"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect,r();var oe={itemToString:function(e){return e?String(e):""},itemToKey:function(e){return e},stateReducer:function(e,t){return t.changes},scrollIntoView:L,environment:"undefined"==typeof window?void 0:window},ie=E({},{environment:c().shape({addEventListener:c().func.isRequired,removeEventListener:c().func.isRequired,document:c().shape({createElement:c().func.isRequired,getElementById:c().func.isRequired,activeElement:c().any.isRequired,body:c().any.isRequired}).isRequired,Node:c().func.isRequired}),itemToString:c().func,itemToKey:c().func,stateReducer:c().func},{getA11yStatusMessage:c().func,highlightedIndex:c().number,defaultHighlightedIndex:c().number,initialHighlightedIndex:c().number,isOpen:c().bool,defaultIsOpen:c().bool,initialIsOpen:c().bool,selectedItem:c().any,initialSelectedItem:c().any,defaultSelectedItem:c().any,id:c().string,labelId:c().string,menuId:c().string,getItemId:c().func,toggleButtonId:c().string,onSelectedItemChange:c().func,onHighlightedIndexChange:c().func,onStateChange:c().func,onIsOpenChange:c().func,scrollIntoView:c().func});T(T({},ie),{items:c().array.isRequired,isItemDisabled:c().func}),T(T({},oe),{isItemDisabled:function(){return!1}}),E({},ie,{items:c().array.isRequired,isItemDisabled:c().func,inputValue:c().string,defaultInputValue:c().string,initialInputValue:c().string,inputId:c().string,onInputValueChange:c().func}),E({},oe,{isItemDisabled:function(){return!1}}),c().array,c().array,c().array,c().func,c().number,c().number,c().number,c().func,c().func,c().string,c().string;var ae=n(731),le=n.n(ae);const ue={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},se=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function ce(e,t,n){void 0===n&&(n={});const{keys:r,threshold:o=ue.MATCHES,baseSort:i=se,sorter:a=(e=>e.sort(((e,t)=>fe(e,t,i))))}=n,l=e.reduce((function(e,i,a){const l=function(e,t,n,r){if(!t)return{rankedValue:e,rank:pe(e,n,r),keyIndex:-1,keyThreshold:r.threshold};const o=function(e,t){const n=[];for(let r=0,o=t.length;r{let{rank:i,rankedValue:a,keyIndex:l,keyThreshold:u}=e,{itemValue:s,attributes:c}=t,p=pe(s,n,r),f=a;const{minRanking:d,maxRanking:m,threshold:g}=c;return p=ue.MATCHES?p=d:p>m&&(p=m),p>i&&(i=p,l=o,u=g,f=s),{rankedValue:f,rank:i,keyIndex:l,keyThreshold:u}}),{rankedValue:e,rank:ue.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}(i,r,t,n),{rank:u,keyThreshold:s=o}=l;return u>=s&&e.push({...l,item:i,index:a}),e}),[]);return a(l).map((e=>{let{item:t}=e;return t}))}function pe(e,t,n){return e=de(e,n),(t=de(t,n)).length>e.length?ue.NO_MATCH:e===t?ue.CASE_SENSITIVE_EQUAL:(e=e.toLowerCase())===(t=t.toLowerCase())?ue.EQUAL:e.startsWith(t)?ue.STARTS_WITH:e.includes(` ${t}`)?ue.WORD_STARTS_WITH:e.includes(t)?ue.CONTAINS:1===t.length?ue.NO_MATCH:function(e){let t="";return e.split(" ").forEach((e=>{e.split("-").forEach((e=>{t+=e.substr(0,1)}))})),t}(e).includes(t)?ue.ACRONYM:function(e,t){let n=0,r=0;function o(e,t,r){for(let o=r,i=t.length;o-1))return ue.NO_MATCH;return function(e){const r=1/e,o=n/t.length;return ue.MATCHES+o*r}(r-i)}(e,t)}function fe(e,t,n){const{rank:r,keyIndex:o}=e,{rank:i,keyIndex:a}=t;return r===i?o===a?n(e,t):oi?-1:1}function de(e,t){let{keepDiacritics:n}=t;return e=`${e}`,n||(e=le()(e)),e}function me(e,t){let n;if("object"==typeof t&&(t=t.key),"function"==typeof t)n=t(e);else if(null==e)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else{if(t.includes("."))return function(e,t){const n=e.split(".");let r=[t];for(let e=0,t=n.length;e=5.3?i.Button:i.IconButton,Ie=function(e){var t=e.className,n=e.placeholder,o=e.inputLabel,a=e.buttonOpenLabel,l=e.buttonCloseLabel,s=e.buttonClearLabel,c=e.items,p=e.noMatchText,f=void 0===p?"No items match":p,d=e.onInputBlur,m=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,be);return r().createElement("div",{className:u()("ef-combobox",t)},r().createElement(re,m,(function(e){var t=e.getInputProps,p=e.getToggleButtonProps,m=e.getMenuProps,g=e.getItemProps,h=e.isOpen,b=e.openMenu,y=e.clearSelection,v=e.selectedItem,I=e.inputValue,O=e.highlightedIndex,S=[],E=[];return h&&(E=function(e,t){return e?ce(t,e,{keys:["name"]}):t}(I,c),S=E.map((function(e,t){return r().createElement("li",ye({"aria-label":e.name,className:u()({"is-active":O===t}),key:e.value},g({item:e,index:t})),e.level&&!I?new Array(e.level).fill(" ").join(""):null,e.parent&&I?r().createElement("span",{className:"ef-combobox-item-parent"},function(e,t){return e.find((function(e){return e.value===t}))}(c,e.parent).name):null,e.parent&&I?" ":null,e.name)}))),h&&S.length<1&&(S=[r().createElement("li",ye({"aria-label":f,className:"disabled",key:"no-items-match"},g({item:f,disabled:!0})),f)]),r().createElement("div",null,r().createElement("div",{className:"ef-combobox-input-wrapper"},r().createElement(i.BaseControl,{label:o},r().createElement("input",ye({className:u()({"is-open":h},"ef-combobox-input components-text-control__input")},t({onBlur:function(){d&&d(E,I)},onFocus:b,type:"text",placeholder:n})))),v?r().createElement(ve,ye({},p({"aria-label":s}),{onClick:y,key:"no-alt",className:"ef-combobox-input-button",icon:"no-alt"})):r().createElement(ve,ye({},p({"aria-label":h?l:a}),{className:"ef-combobox-input-button",icon:h?"arrow-up-alt2":"arrow-down-alt2"}))),r().createElement("ul",ye({className:u()("ef-combobox-menu-wrapper",{"ef-combobox-menu-wrapper-hidden":!h})},m()),h?S:null))})))};function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}function Se(){return Se=Object.assign?Object.assign.bind():function(e){for(var t=1;t=5.4?{isSecondary:!0}:{isDefault:!0},De=function(t){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=we(this,n,[e])).state=xe({},e.filters.reduce((function(e,t){var n=Te({},t.name,t.initialValue||"");return"combobox"===t.filterType&&(n["".concat(t.name,"InputValue")]=t.initialValue?t.initialValue.name:""),xe(xe({},e),n)}),[])),t.formRef=r().createRef(),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ce(e,t)}(n,t),o=n,a=[{key:"updateFilter",value:function(e){var t=e.name,n=e.value;this.setState(xe(xe({},this.state),{},Te({},t,n)))}},{key:"render",value:function(){var t=this,n=this.props,o=n.filters,a=n.pageUrl,l=n.isLoading,u=this.state;return r().createElement("div",{className:"ef-calendar-navigation"},r().createElement("div",{className:"ef-calendar-filters"},r().createElement("form",{ref:this.formRef,action:"",method:"GET",className:"ef-calendar-filters-form"},r().createElement("input",{type:"hidden",name:"page",value:"calendar"}),o.map((function(e){switch(e.filterType){case"select":return r().createElement("div",{className:"ef-calendar-filter ef-calendar-filter-".concat(e.name),key:"ef-calendar-filter-".concat(e.name)},r().createElement(i.SelectControl,{className:"label-screen-reader-text",key:e.name,name:e.name,label:e.label,value:u[e.name],options:e.options,onChange:function(n){return t.updateFilter({name:e.name,value:n})}}));case"combobox":return r().createElement("div",{className:"ef-calendar-filter ef-calendar-filter-".concat(e.name),key:"ef-calendar-filter-".concat(e.name)},r().createElement(Ie,{key:e.name,className:"ef-calendar-filter-combobox label-screen-reader-text",inputLabel:e.inputLabel,buttonOpenLabel:e.buttonOpenLabel,buttonCloseLabel:e.buttonCloseLabel,buttonClearLabel:e.buttonClearLabel,placeholder:e.placeholder,items:e.options,selectedItem:u[e.name],inputValue:u["".concat(e.name,"InputValue")],itemToString:function(e){return e?e.name:""},onInputBlur:function(n,r){!e.selectFirstItemOnBlur||n.length<1||!r||r.toLowerCase()!==n[0].name.toLowerCase()||t.updateFilter({name:e.name,value:n[0]})},onStateChange:function(n){n.hasOwnProperty("selectedItem")?t.updateFilter({name:e.name,value:n.selectedItem}):n.hasOwnProperty("inputValue")&&t.updateFilter({name:"".concat(e.name,"InputValue"),value:n.inputValue})}}),r().createElement("input",{key:"".concat(e.name,"-input"),type:"hidden",name:e.name,value:u[e.name]?u[e.name].value:""}))}})),r().createElement("div",{className:"ef-calendar-filters-buttons"},r().createElement(i.Button,{type:"submit",isPrimary:!0},(0,e.__)("Apply","edit-flow")),r().createElement(i.Button,Se({type:"button'",href:(0,p.addQueryArgs)(a,o.reduce((function(e,t){return xe(xe({},e),{},Te({},t.name,""))}),{})),name:"ef-calendar-reset-filters"},Re),(0,e.__)("Reset","edit-flow")),l?r().createElement(i.Spinner,null):null))))}}],a&&Ee(o.prototype,a),Object.defineProperty(o,"prototype",{writable:!1}),o;var o,a}(r().Component);function Le(e){return Le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Le(e)}function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:He,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_POST_SAVED":return Ne(Ne({},e),{},{calendarSnackbarMessage:t.message,calendarIsLoading:!1});case"CLEAR_CALENDAR_SNACKBAR_MESSAGE":return Ne(Ne({},e),{},{calendarSnackbarMessage:null});case"SET_CALENDAR_IS_LOADING":return Ne(Ne({},e),{},{calendarIsLoading:t.isLoading})}return e},actions:{setPostSaved:function(e){return{type:"SET_POST_SAVED",message:e}},clearCalendarSnackbarMessage:function(){return{type:"CLEAR_CALENDAR_SNACKBAR_MESSAGE"}},setCalendarIsLoading:function(e){return{type:"SET_CALENDAR_IS_LOADING",isLoading:e}}},selectors:{getCalendarSnackbarMessage:function(e){return e.calendarSnackbarMessage},getCalendarIsLoading:function(e){return e.calendarIsLoading}}});var Me=function(e){var t=e.snackbarMessage,n=e.isLoading,o=e.filters,a=e.filterValues,l=e.numberOfWeeks,s=e.beginningOfWeek,c=e.pageUrl;return r().createElement("div",{className:"ef-calendar-header"},r().createElement(De,{isLoading:n,pageUrl:c,filters:o}),r().createElement(O,{beginningOfWeek:s,pageUrl:c,numberOfWeeks:l,filterValues:a}),t?r().createElement(i.Animate,{options:{origin:"bottom left"},type:"appear"},(function(e){var n=e.className;return r().createElement(i.Snackbar,{className:u()(n,"ef-calendar-snackbar")},r().createElement("div",null,t))})):null)};Me.propTypes={filters:c().arrayOf(c().shape({name:c().string,filterType:c().string,label:c().string,options:c().arrayOf(c().shape({label:c().string,value:c().any})),initialValue:c().any})),filterValues:c().object,numberOfWeeks:c().number,beginningOfWeek:c().string,pageUrl:c().string,snackbarMessage:c().string,isLoading:c().bool};var Ve=(0,a.withSelect)((function(e){var t=e("edit-flow/calendar"),n=t.getCalendarSnackbarMessage,r=t.getCalendarIsLoading;return{snackbarMessage:n(),isLoading:r()}}))(Me);function Ue(e){return Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue(e)}function Fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Be(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:1;return n>0?t.reduce((function(t,r){return t.concat(Array.isArray(r)?e(r,n-1):r)}),[]):t.slice()}(function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t.filter((function(e){return e.parent===n})).map((function(n){return[Be(Be({},n),{},{level:r})].concat(e(t,n.value,r+1))}))}(EF_CALENDAR.CATEGORIES.map(Ke),0),1/0),initialValue:qe||null,selectFirstItemOnBlur:!0}];EF_CALENDAR.POST_TYPES&&EF_CALENDAR.POST_TYPES.length>1&&Xe.push({name:"cpt",filterType:"select",label:(0,e.__)("Select a type","edit-flow"),options:[{value:"",label:(0,e.__)("Select a type","edit-flow")}].concat(EF_CALENDAR.POST_TYPES.map((function(e){return{value:e.name,label:e.label}}))),initialValue:EF_CALENDAR.FILTERS.cpt}),Xe.push({name:"num_weeks",filterType:"select",label:(0,e.__)("Number of weeks","edit-flow"),options:Ye,initialValue:EF_CALENDAR.FILTERS.num_weeks}),(0,o.H)(document.getElementById("ef-calendar-navigation-mount")).render(r().createElement(Ve,{numberOfWeeks:EF_CALENDAR.FILTERS.num_weeks,beginningOfWeek:EF_CALENDAR.BEGINNING_OF_WEEK,pageUrl:EF_CALENDAR.PAGE_URL,filters:Xe,filterValues:EF_CALENDAR.FILTERS}))})()})(); +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./modules/calendar/lib/react/calendar-date-change-buttons/index.js": +/*!**************************************************************************!*\ + !*** ./modules/calendar/lib/react/calendar-date-change-buttons/index.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CalendarDateChangeButtons: () => (/* binding */ CalendarDateChangeButtons) +/* harmony export */ }); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/url */ "@wordpress/url"); +/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! moment */ "moment"); +/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _style_react_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style.react.scss */ "./modules/calendar/lib/react/calendar-date-change-buttons/style.react.scss"); +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); } +function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/* global EF_CALENDAR */ + +/** + * External dependencies + */ + + + + + + + +// Get rid of this eventually +var BUTTON_TYPE_PROPS = parseFloat(EF_CALENDAR.WP_VERSION) >= 5.4 ? { + isSecondary: true +} : { + isDefault: true +}; + +/** + * Internal dependencies + */ + + +/** + * Used to shift the calendar forwards or backwards by some number of weeks + * @param {string} addOrSubtract The valid values for this are 'add'|'subtract' + * @param {string} beginningOfWeek A date string formatted like 'YYYY-MM-DD' + * @param {string} pageUrl The url of the page the query parameters are going to be appended to + * @param {object} filterValues An object of string key and string value pairs representing filter names and values + * @param {number} weeksNumber The number of weeks to shift by + * @returns {string} the url with query params + */ +var moveByWeeks = function moveByWeeks(addOrSubtract, beginningOfWeek, pageUrl, filterValues, weeksNumber) { + var queryArgFilters = _objectSpread({}, filterValues); + if (weeksNumber === 0) { + queryArgFilters.start_date = beginningOfWeek; + } + queryArgFilters.start_date = moment__WEBPACK_IMPORTED_MODULE_3___default()(queryArgFilters.start_date, 'YYYY-MM-DD')[addOrSubtract](weeksNumber, 'weeks').format('YYYY-MM-DD'); + return (0,_wordpress_url__WEBPACK_IMPORTED_MODULE_2__.addQueryArgs)(pageUrl, queryArgFilters); +}; + +/** + * A curried function leveraging `moveByWeek` that returns a URL with query parameters applied + * that will shift the calendar forward by `weeksNumber` + * @param {number} weeksNumber A number representing the weeks to move forward + * @param {string} beginningOfWeek A date string formatted like 'YYYY-MM-DD' + * @param {string} pageUrl The url of the page the query parameters are going to be appended to + * @param {object} filterValues An object of string key and string value pairs representing filter names and values + * @returns {string} the url with query params + */ +var moveFowardByWeeks = function moveFowardByWeeks(weeksNumber, beginningOfWeek, pageUrl, filterValues) { + return moveByWeeks('add', beginningOfWeek, pageUrl, filterValues, weeksNumber); +}; + +/** + * A curried function leveraging `moveByWeek` that returns a URL with query parameters applied + * that will shift the calendar backwards by `weeksNumber` + * @param {number} weeksNumber A number representing the weeks to move forward + * @param {string} beginningOfWeek A date string formatted like 'YYYY-MM-DD' + * @param {string} pageUrl The url of the page the query parameters are going to be appended to + * @param {object} filterValues An object of string key and string value pairs representing filter names and values + * @returns {string} the url with query params + */ +var moveBackByWeeks = function moveBackByWeeks(weeksNumber, beginningOfWeek, pageUrl, filterValues) { + return moveByWeeks('subtract', beginningOfWeek, pageUrl, filterValues, weeksNumber); +}; +var CalendarDateChangeButtons = function CalendarDateChangeButtons(_ref) { + var numberOfWeeks = _ref.numberOfWeeks, + beginningOfWeek = _ref.beginningOfWeek, + pageUrl = _ref.pageUrl, + filterValues = _ref.filterValues; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { + className: "ef-calendar-date-change-buttons" + }, numberOfWeeks > 1 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, _extends({}, BUTTON_TYPE_PROPS, { + className: "ef-calendar-date-change-button", + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.sprintf)((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Backwards %d weeks', 'edit-flow'), numberOfWeeks), + href: moveBackByWeeks(numberOfWeeks, beginningOfWeek, pageUrl, filterValues) + }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('«', 'edit-flow')) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, _extends({}, BUTTON_TYPE_PROPS, { + className: "ef-calendar-date-change-button", + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Backwards 1 week', 'edit-flow'), + href: moveBackByWeeks(1, beginningOfWeek, pageUrl, filterValues) + }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('‹', 'edit-flow')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, _extends({}, BUTTON_TYPE_PROPS, { + className: "ef-calendar-date-change-button", + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Today', 'edit-flow'), + href: moveFowardByWeeks(0, beginningOfWeek, pageUrl, filterValues) + }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Today', 'edit-flow')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, _extends({}, BUTTON_TYPE_PROPS, { + className: "ef-calendar-date-change-button", + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Forward 1 week', 'edit-flow'), + href: moveFowardByWeeks(1, beginningOfWeek, pageUrl, filterValues) + }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('›', 'edit-flow')), numberOfWeeks > 1 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, _extends({}, BUTTON_TYPE_PROPS, { + className: "ef-calendar-date-change-button", + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.sprintf)((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Forward %d weeks', 'edit-flow'), numberOfWeeks), + href: moveFowardByWeeks(numberOfWeeks, beginningOfWeek, pageUrl, filterValues) + }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('»', 'edit-flow')) : null); +}; +CalendarDateChangeButtons.propTypes = { + numberOfWeeks: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), + beginningOfWeek: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), + // Formatted like 'YYYY-MM-DD' + pageUrl: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), + filterValues: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object) // Object should just be k:v pairs +}; + + +/***/ }), + +/***/ "./modules/calendar/lib/react/calendar-filters/index.js": +/*!**************************************************************!*\ + !*** ./modules/calendar/lib/react/calendar-filters/index.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CalendarFilters: () => (/* binding */ CalendarFilters) +/* harmony export */ }); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/url */ "@wordpress/url"); +/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _combobox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../combobox */ "./modules/calendar/lib/react/combobox/index.js"); +/* harmony import */ var _style_react_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style.react.scss */ "./modules/calendar/lib/react/calendar-filters/style.react.scss"); +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); } +function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/* global EF_CALENDAR */ + +/** + * External Dependencies + */ + + + + + + + +// Get rid of this eventually +var BUTTON_TYPE_PROPS = parseFloat(EF_CALENDAR.WP_VERSION) >= 5.4 ? { + isSecondary: true +} : { + isDefault: true +}; + +/** + * Internal Dependencies + */ + + +function init(_ref) { + var filters = _ref.filters; + return _objectSpread({}, filters.reduce(function (acc, next) { + var filter = _defineProperty({}, next.name, next.initialValue || ''); + if (next.filterType === 'combobox') { + filter["".concat(next.name, "InputValue")] = next.initialValue ? next.initialValue.name : ''; + } + return _objectSpread(_objectSpread({}, acc), filter); + }, [])); +} +var CalendarFilters = /*#__PURE__*/function (_React$Component) { + function CalendarFilters(props) { + var _this; + _classCallCheck(this, CalendarFilters); + _this = _callSuper(this, CalendarFilters, [props]); + _this.state = init(props); + _this.formRef = react__WEBPACK_IMPORTED_MODULE_4___default().createRef(); + return _this; + } + _inherits(CalendarFilters, _React$Component); + return _createClass(CalendarFilters, [{ + key: "updateFilter", + value: function updateFilter(_ref2) { + var name = _ref2.name, + value = _ref2.value; + this.setState(_objectSpread(_objectSpread({}, this.state), {}, _defineProperty({}, name, value))); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + var _this$props = this.props, + filters = _this$props.filters, + pageUrl = _this$props.pageUrl, + isLoading = _this$props.isLoading; + var state = this.state; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { + className: "ef-calendar-navigation" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { + className: "ef-calendar-filters" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("form", { + ref: this.formRef, + action: "", + method: "GET", + className: "ef-calendar-filters-form" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("input", { + type: "hidden", + name: "page", + value: "calendar" + }), filters.map(function (filter) { + switch (filter.filterType) { + case 'select': + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { + className: "ef-calendar-filter ef-calendar-filter-".concat(filter.name), + key: "ef-calendar-filter-".concat(filter.name) + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.SelectControl, { + className: 'label-screen-reader-text' // Replaced by `hideLabelFromVision` prop in later versions + , + key: filter.name, + name: filter.name, + label: filter.label, + value: state[filter.name], + options: filter.options, + onChange: function onChange(newValue) { + return _this2.updateFilter({ + name: filter.name, + value: newValue + }); + } + })); + case 'combobox': + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { + className: "ef-calendar-filter ef-calendar-filter-".concat(filter.name), + key: "ef-calendar-filter-".concat(filter.name) + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_combobox__WEBPACK_IMPORTED_MODULE_5__.ComboBox, { + key: filter.name, + className: "ef-calendar-filter-combobox label-screen-reader-text", + inputLabel: filter.inputLabel, + buttonOpenLabel: filter.buttonOpenLabel, + buttonCloseLabel: filter.buttonCloseLabel, + buttonClearLabel: filter.buttonClearLabel, + placeholder: filter.placeholder, + items: filter.options, + selectedItem: state[filter.name], + inputValue: state["".concat(filter.name, "InputValue")], + itemToString: function itemToString(item) { + return item ? item.name : ''; + }, + onInputBlur: function onInputBlur(items, inputValue) { + /** + * If this is set, if a user has typed out a name + * and it matches an item in the list, select it for them + */ + if (!filter.selectFirstItemOnBlur || items.length < 1 || !inputValue || inputValue.toLowerCase() !== items[0].name.toLowerCase()) { + return; + } + _this2.updateFilter({ + name: filter.name, + value: items[0] + }); + }, + onStateChange: function onStateChange(changes) { + if (changes.hasOwnProperty('selectedItem')) { + _this2.updateFilter({ + name: filter.name, + value: changes.selectedItem + }); + } else if (changes.hasOwnProperty('inputValue')) { + _this2.updateFilter({ + name: "".concat(filter.name, "InputValue"), + value: changes.inputValue + }); + } + } + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("input", { + key: "".concat(filter.name, "-input"), + type: "hidden", + name: filter.name, + value: state[filter.name] ? state[filter.name].value : '' + })); + } + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { + className: "ef-calendar-filters-buttons" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, { + type: "submit", + isPrimary: true + }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Apply', 'edit-flow')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button, _extends({ + type: "button'", + href: (0,_wordpress_url__WEBPACK_IMPORTED_MODULE_2__.addQueryArgs)(pageUrl, filters.reduce(function (acc, filter) { + return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, filter.name, '')); + }, {})), + name: "ef-calendar-reset-filters" + }, BUTTON_TYPE_PROPS), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Reset', 'edit-flow')), isLoading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Spinner, null) : null)))); + } + }]); +}((react__WEBPACK_IMPORTED_MODULE_4___default().Component)); +CalendarFilters.propTypes = { + filters: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_7___default().shape({ + name: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + filterType: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + options: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_7___default().shape({ + name: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + value: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any) + })), + initialValue: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any) + })), + pageUrl: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + isLoading: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool) +}; + + +/***/ }), + +/***/ "./modules/calendar/lib/react/calendar-header/index.js": +/*!*************************************************************!*\ + !*** ./modules/calendar/lib/react/calendar-header/index.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CalendarHeader: () => (/* binding */ CalendarHeaderWithData) +/* harmony export */ }); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _calendar_date_change_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../calendar-date-change-buttons */ "./modules/calendar/lib/react/calendar-date-change-buttons/index.js"); +/* harmony import */ var _calendar_filters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../calendar-filters */ "./modules/calendar/lib/react/calendar-filters/index.js"); +/* harmony import */ var _style_react_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style.react.scss */ "./modules/calendar/lib/react/calendar-header/style.react.scss"); +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); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/* global EF_CALENDAR */ + +/** + * External dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + +var DEFAULT_STORE_STATE = { + calendarSnackbarMessage: null, + calendarIsLoading: false +}; +(0,_wordpress_data__WEBPACK_IMPORTED_MODULE_1__.registerStore)('edit-flow/calendar', { + reducer: function reducer() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STORE_STATE; + var action = arguments.length > 1 ? arguments[1] : undefined; + switch (action.type) { + case 'SET_POST_SAVED': + return _objectSpread(_objectSpread({}, state), {}, { + calendarSnackbarMessage: action.message, + calendarIsLoading: false + }); + case 'CLEAR_CALENDAR_SNACKBAR_MESSAGE': + return _objectSpread(_objectSpread({}, state), {}, { + calendarSnackbarMessage: null + }); + case 'SET_CALENDAR_IS_LOADING': + return _objectSpread(_objectSpread({}, state), {}, { + calendarIsLoading: action.isLoading + }); + } + return state; + }, + actions: { + setPostSaved: function setPostSaved(message) { + return { + type: 'SET_POST_SAVED', + message: message + }; + }, + clearCalendarSnackbarMessage: function clearCalendarSnackbarMessage() { + return { + type: 'CLEAR_CALENDAR_SNACKBAR_MESSAGE' + }; + }, + setCalendarIsLoading: function setCalendarIsLoading(isLoading) { + return { + type: 'SET_CALENDAR_IS_LOADING', + isLoading: isLoading + }; + } + }, + selectors: { + getCalendarSnackbarMessage: function getCalendarSnackbarMessage(state) { + return state.calendarSnackbarMessage; + }, + getCalendarIsLoading: function getCalendarIsLoading(state) { + return state.calendarIsLoading; + } + } +}); +var CalendarHeader = function CalendarHeader(_ref) { + var snackbarMessage = _ref.snackbarMessage, + isLoading = _ref.isLoading, + filters = _ref.filters, + filterValues = _ref.filterValues, + numberOfWeeks = _ref.numberOfWeeks, + beginningOfWeek = _ref.beginningOfWeek, + pageUrl = _ref.pageUrl; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("div", { + className: "ef-calendar-header" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_calendar_filters__WEBPACK_IMPORTED_MODULE_5__.CalendarFilters, { + isLoading: isLoading, + pageUrl: pageUrl, + filters: filters + }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_calendar_date_change_buttons__WEBPACK_IMPORTED_MODULE_4__.CalendarDateChangeButtons, { + beginningOfWeek: beginningOfWeek, + pageUrl: pageUrl, + numberOfWeeks: numberOfWeeks, + filterValues: filterValues + }), snackbarMessage ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Animate, { + options: { + origin: 'bottom left' + }, + type: "appear" + }, function (_ref2) { + var className = _ref2.className; + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Snackbar, { + className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, 'ef-calendar-snackbar') + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("div", null, snackbarMessage)); + }) : null); +}; +CalendarHeader.propTypes = { + filters: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_7___default().shape({ + name: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + filterType: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + options: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_7___default().shape({ + label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + value: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any) + })), + initialValue: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any) + })), + filterValues: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object), + // FilterValues is an object of key value pairs + numberOfWeeks: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().number), + beginningOfWeek: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + // Formatted 'YYYY-MM-DD' + pageUrl: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + snackbarMessage: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), + isLoading: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool) +}; +var CalendarHeaderWithData = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_1__.withSelect)(function (select) { + var _select = select('edit-flow/calendar'), + getCalendarSnackbarMessage = _select.getCalendarSnackbarMessage, + getCalendarIsLoading = _select.getCalendarIsLoading; + return { + snackbarMessage: getCalendarSnackbarMessage(), + isLoading: getCalendarIsLoading() + }; +})(CalendarHeader); + + +/***/ }), + +/***/ "./modules/calendar/lib/react/combobox/index.js": +/*!******************************************************!*\ + !*** ./modules/calendar/lib/react/combobox/index.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ComboBox: () => (/* binding */ ComboBox) +/* harmony export */ }); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var downshift__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! downshift */ "./node_modules/downshift/dist/downshift.esm.js"); +/* harmony import */ var match_sorter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! match-sorter */ "./node_modules/match-sorter/dist/match-sorter.esm.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _style_react_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.react.scss */ "./modules/calendar/lib/react/combobox/style.react.scss"); +var _excluded = ["className", "placeholder", "inputLabel", "buttonOpenLabel", "buttonCloseLabel", "buttonClearLabel", "items", "noMatchText", "onInputBlur"]; +function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; } +/* global EF_CALENDAR */ + +/** + * External dependencies + */ + + + + + + + +// Get rid of this eventually +var ACTIVE_ICON_BUTTON = parseFloat(EF_CALENDAR.WP_VERSION) >= 5.3 ? _wordpress_components__WEBPACK_IMPORTED_MODULE_0__.Button : _wordpress_components__WEBPACK_IMPORTED_MODULE_0__.IconButton; + +/** + * Internal dependencies + */ + + +/** + * Filters items based on simple name text match + * + * @param {string} filter a string to filter items by + * @param {Item[]} items a list of items to be filtered + * @return {string[]} array of strings that match + */ +function getItems(filter, items) { + return filter ? (0,match_sorter__WEBPACK_IMPORTED_MODULE_2__.matchSorter)(items, filter, { + keys: ['name'] + }) : items; +} + +/** + * Find an item by Id + * @param {Item[]} items a list of items + * @param {*} id an id to find + * @return {Item} an item with the id + */ +function getItem(items, id) { + return items.find(function (item) { + return item.value === id; + }); +} + +/** + * An item that can be supplied to + * @typedef {Object} Item + * @property {string} name - The name of the item, used for filtering results. + * @property {string|number} id - The unique identifier for the item + * @property {string|number} [parent] - An optional identifier for a parent + * @property {number} [level] - An optional identifier designating nesting level + */ + +// A combobox supporting