import { __commonJS, init_define_APP_INFO } from "./chunk-XY75H3MP.js"; // node_modules/tinymce/plugins/autosave/plugin.js var require_plugin = __commonJS({ "node_modules/tinymce/plugins/autosave/plugin.js"() { init_define_APP_INFO(); (function() { "use strict"; var global$4 = tinymce.util.Tools.resolve("tinymce.PluginManager"); var eq = function(t) { return function(a) { return t === a; }; }; var isUndefined = eq(void 0); var global$3 = tinymce.util.Tools.resolve("tinymce.util.Delay"); var global$2 = tinymce.util.Tools.resolve("tinymce.util.LocalStorage"); var global$1 = tinymce.util.Tools.resolve("tinymce.util.Tools"); var fireRestoreDraft = function(editor) { return editor.fire("RestoreDraft"); }; var fireStoreDraft = function(editor) { return editor.fire("StoreDraft"); }; var fireRemoveDraft = function(editor) { return editor.fire("RemoveDraft"); }; var parse = function(timeString, defaultTime) { var multiples = { s: 1e3, m: 6e4 }; var toParse = timeString || defaultTime; var parsedTime = /^(\d+)([ms]?)$/.exec("" + toParse); return (parsedTime[2] ? multiples[parsedTime[2]] : 1) * parseInt(toParse, 10); }; var shouldAskBeforeUnload = function(editor) { return editor.getParam("autosave_ask_before_unload", true); }; var getAutoSavePrefix = function(editor) { var location = document.location; return editor.getParam("autosave_prefix", "tinymce-autosave-{path}{query}{hash}-{id}-").replace(/{path}/g, location.pathname).replace(/{query}/g, location.search).replace(/{hash}/g, location.hash).replace(/{id}/g, editor.id); }; var shouldRestoreWhenEmpty = function(editor) { return editor.getParam("autosave_restore_when_empty", false); }; var getAutoSaveInterval = function(editor) { return parse(editor.getParam("autosave_interval"), "30s"); }; var getAutoSaveRetention = function(editor) { return parse(editor.getParam("autosave_retention"), "20m"); }; var isEmpty = function(editor, html) { if (isUndefined(html)) { return editor.dom.isEmpty(editor.getBody()); } else { var trimmedHtml = global$1.trim(html); if (trimmedHtml === "") { return true; } else { var fragment = new DOMParser().parseFromString(trimmedHtml, "text/html"); return editor.dom.isEmpty(fragment); } } }; var hasDraft = function(editor) { var time = parseInt(global$2.getItem(getAutoSavePrefix(editor) + "time"), 10) || 0; if (new Date().getTime() - time > getAutoSaveRetention(editor)) { removeDraft(editor, false); return false; } return true; }; var removeDraft = function(editor, fire) { var prefix = getAutoSavePrefix(editor); global$2.removeItem(prefix + "draft"); global$2.removeItem(prefix + "time"); if (fire !== false) { fireRemoveDraft(editor); } }; var storeDraft = function(editor) { var prefix = getAutoSavePrefix(editor); if (!isEmpty(editor) && editor.isDirty()) { global$2.setItem(prefix + "draft", editor.getContent({ format: "raw", no_events: true })); global$2.setItem(prefix + "time", new Date().getTime().toString()); fireStoreDraft(editor); } }; var restoreDraft = function(editor) { var prefix = getAutoSavePrefix(editor); if (hasDraft(editor)) { editor.setContent(global$2.getItem(prefix + "draft"), { format: "raw" }); fireRestoreDraft(editor); } }; var startStoreDraft = function(editor) { var interval = getAutoSaveInterval(editor); global$3.setEditorInterval(editor, function() { storeDraft(editor); }, interval); }; var restoreLastDraft = function(editor) { editor.undoManager.transact(function() { restoreDraft(editor); removeDraft(editor); }); editor.focus(); }; var get = function(editor) { return { hasDraft: function() { return hasDraft(editor); }, storeDraft: function() { return storeDraft(editor); }, restoreDraft: function() { return restoreDraft(editor); }, removeDraft: function(fire) { return removeDraft(editor, fire); }, isEmpty: function(html) { return isEmpty(editor, html); } }; }; var global = tinymce.util.Tools.resolve("tinymce.EditorManager"); var setup = function(editor) { editor.editorManager.on("BeforeUnload", function(e) { var msg; global$1.each(global.get(), function(editor2) { if (editor2.plugins.autosave) { editor2.plugins.autosave.storeDraft(); } if (!msg && editor2.isDirty() && shouldAskBeforeUnload(editor2)) { msg = editor2.translate("You have unsaved changes are you sure you want to navigate away?"); } }); if (msg) { e.preventDefault(); e.returnValue = msg; } }); }; var makeSetupHandler = function(editor) { return function(api) { api.setDisabled(!hasDraft(editor)); var editorEventCallback = function() { return api.setDisabled(!hasDraft(editor)); }; editor.on("StoreDraft RestoreDraft RemoveDraft", editorEventCallback); return function() { return editor.off("StoreDraft RestoreDraft RemoveDraft", editorEventCallback); }; }; }; var register = function(editor) { startStoreDraft(editor); editor.ui.registry.addButton("restoredraft", { tooltip: "Restore last draft", icon: "restore-draft", onAction: function() { restoreLastDraft(editor); }, onSetup: makeSetupHandler(editor) }); editor.ui.registry.addMenuItem("restoredraft", { text: "Restore last draft", icon: "restore-draft", onAction: function() { restoreLastDraft(editor); }, onSetup: makeSetupHandler(editor) }); }; function Plugin() { global$4.add("autosave", function(editor) { setup(editor); register(editor); editor.on("init", function() { if (shouldRestoreWhenEmpty(editor) && editor.dom.isEmpty(editor.getBody())) { restoreDraft(editor); } }); return get(editor); }); } Plugin(); })(); } }); // node_modules/tinymce/plugins/autosave/index.js var require_autosave = __commonJS({ "node_modules/tinymce/plugins/autosave/index.js"() { init_define_APP_INFO(); require_plugin(); } }); // dep:tinymce_plugins_autosave init_define_APP_INFO(); var tinymce_plugins_autosave_default = require_autosave(); export { tinymce_plugins_autosave_default as default }; //# sourceMappingURL=tinymce_plugins_autosave.js.map