csdsolutions-csdjs
Version:
Libreria per i progetti di CSD Solutions
1 lines • 119 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("$CSD",[],t):"object"==typeof exports?exports.$CSD=t():e.$CSD=t()}(this,(()=>(()=>{var e={831:(e,t,n)=>{var a;function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e,t,n){return(t=h(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e){return r="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},r(e)}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,i,r,s=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(l)throw o}}return s}}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,h(a.key),a)}}function p(e,t,n){return t&&f(e.prototype,t),n&&f(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function h(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}var v,m=function(){function e(t){if(u(this,e),"string"==typeof t)try{if(t.trim().startsWith("<")&&t.trim().endsWith(">")){var n=document.createElement("div");n.innerHTML=t.trim(),this.elements=[n.firstElementChild]}else this.elements=Array.from(document.querySelectorAll(t))}catch(e){if(!(e instanceof DOMException&&"SyntaxError"===e.name))throw e;var a=document.createElement("div");a.innerHTML=t.trim(),this.elements=[a.firstElementChild]}else t instanceof Node?this.elements=[t]:t instanceof NodeList||Array.isArray(t)?this.elements=Array.from(t):this.elements=t instanceof e?t.elements:[];return new Proxy(this,{get:function(e,t){return"length"===t?e.elements.length:isNaN(t)?e[t]:e.elements[t]}})}return p(e,[{key:"_updateElements",value:function(){return this.elements=this.elements.map((function(t){return new e(t).elements[0]||null})).filter((function(e){return null!==e})),this}},{key:"addClass",value:function(e){return this.each((function(t){t.classList.add(e)}))._updateElements()}},{key:"removeClass",value:function(e){return this.each((function(t){t.classList.remove(e)}))._updateElements()}},{key:"toggleClass",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return this.each((function(n){void 0===t?n.classList.toggle(e):n.classList.toggle(e,t)}))._updateElements()}},{key:"attr",value:function(e,t){var n;return void 0===t?null===(n=this.elements[0])||void 0===n?void 0:n.getAttribute(e):this.each((function(n){n.setAttribute(e,t)}))._updateElements()}},{key:"removeAttr",value:function(e){return this.each((function(t){t.removeAttribute(e)}))._updateElements()}},{key:"prop",value:function(e,t){if(void 0===t){var n=this.elements[0];if(!n)return;return n[e],n[e]}return this.each((function(n){"checked"!==e&&"selected"!==e&&"disabled"!==e&&"readonly"!==e||(!0===t||"true"===t?n.setAttribute(e,""):n.removeAttribute(e)),n[e]=t,"readOnly"===e&&(!0===t||"true"===t?n.setAttribute("readonly",""):n.removeAttribute("readonly"))}))._updateElements()}},{key:"removeProp",value:function(e){return this.each((function(t){delete t[e]}))._updateElements()}},{key:"hasClass",value:function(e){var t;return(null===(t=this.elements[0])||void 0===t?void 0:t.classList.contains(e))||!1}},{key:"each",value:function(e){return this.elements.forEach((function(t,n){e.call(t,t,n)})),this}},{key:"add",value:function(e){var t=document.querySelectorAll(e);return this.elements=[].concat(c(this.elements),c(t)),this}},{key:"eq",value:function(t){return new e(this.elements[t])}},{key:"first",value:function(){return this.eq(0)}},{key:"last",value:function(){return this.eq(this.elements.length-1)}},{key:"get",value:function(e){return this.elements[e]}},{key:"index",value:function(){var e=this.elements[0];return e?Array.from(e.parentNode.children).indexOf(e):-1}},{key:"filter",value:function(t){return new e(this.elements.filter((function(e){if("function"==typeof t)return t.call(e,e);if(":visible"===t){var n=window.getComputedStyle(e);return"none"!==n.display&&"hidden"!==n.visibility&&"0"!==n.opacity&&e.offsetWidth>0&&e.offsetHeight>0}if(":hidden"===t){var a=window.getComputedStyle(e);return"none"===a.display||"hidden"===a.visibility||"0"===a.opacity||0===e.offsetWidth||0===e.offsetHeight}return t.includes("[")?t.match(/\[(.*?)\]/g).every((function(t){var n=s(t.slice(1,-1).split("="),2),a=n[0],o=n[1];if(o){var i=o.replace(/['"]/g,"");return e.getAttribute(a)===i}return e.hasAttribute(a)})):e.matches(t)})))}},{key:"map",value:function(e){return this.elements.map(e)}},{key:"slice",value:function(t,n){return new e(this.elements.slice(t,n))}},{key:"css",value:function(e,t){if("object"===r(e))return this.each((function(t){Object.assign(t.style,e)}));if(void 0===t){var n=this.elements[0];return n&&window.getComputedStyle(n)[e]||""}return this.each((function(n){n.style[e]=t}))}},{key:"data",value:function(e,t){var n=e.startsWith("data-")?e:"data-".concat(e);if(void 0!==t)return this.each((function(e){if(null===t)e.removeAttribute(n);else{var a="object"===r(t)?JSON.stringify(t):t;e.setAttribute(n,a)}}));var a=this.elements[0];if(a){var o=a.getAttribute(n);if(o)try{return"true"===o.toLowerCase()||"false"!==o.toLowerCase()&&(isNaN(o)?JSON.parse(o):Number(o))}catch(e){return o}}}},{key:"outerWidth",value:function(){var e;return(null===(e=this.elements[0])||void 0===e?void 0:e.offsetWidth)||0}},{key:"outerHeight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.elements[0];if(!t)return 0;var n=t.offsetHeight;if(e){var a=window.getComputedStyle(t);n+=parseFloat(a.marginTop)+parseFloat(a.marginBottom)}return n}},{key:"height",value:function(){var e;return null===(e=this.elements[0])||void 0===e?void 0:e.offsetHeight}},{key:"width",value:function(){var e;return null===(e=this.elements[0])||void 0===e?void 0:e.offsetWidth}},{key:"innerHeight",value:function(){var e;return null===(e=this.elements[0])||void 0===e?void 0:e.clientHeight}},{key:"innerWidth",value:function(){var e;return null===(e=this.elements[0])||void 0===e?void 0:e.clientWidth}},{key:"show",value:function(){return this.each((function(e){e.style.display=""}))._updateElements()}},{key:"hide",value:function(){return this.each((function(e){e.style.display="none"}))._updateElements()}},{key:"toggle",value:function(e){return this.each((function(t){var n="none"===window.getComputedStyle(t).display;t.style.display=void 0===e?n?"":"none":e?"":"none"}))._updateElements()}},{key:"on",value:function(e,t,n){if("string"==typeof t){var a=t;return this.each((function(t){var o=function(e){for(var o=t.querySelectorAll(a),i=!1,r=e.target;r&&r!==t;){if(Array.from(o).includes(r)){i=!0;break}r=r.parentElement}i&&n.call(r,e)};t._eventHandlers||(t._eventHandlers={}),t._eventHandlers[e]||(t._eventHandlers[e]=[]),t._eventHandlers[e].push({selector:a,handler:o,callback:n}),t.addEventListener(e,o)}))._updateElements()}var o=t;return this.each((function(t){t._eventHandlers||(t._eventHandlers={}),t._eventHandlers[e]||(t._eventHandlers[e]=[]),t._eventHandlers[e].push({handler:o,callback:o}),t.addEventListener(e,o)}))._updateElements()}},{key:"off",value:function(e,t){return this.each((function(n){n._eventHandlers&&n._eventHandlers[e]&&(n._eventHandlers[e].forEach((function(a){t&&a.callback!==t||n.removeEventListener(e,a.handler||a.callback)})),t?n._eventHandlers[e]=n._eventHandlers[e].filter((function(e){return e.callback!==t})):delete n._eventHandlers[e])}))._updateElements()}},{key:"one",value:function(e,t){return this.each((function(n){var a=function(o){t(o),n.removeEventListener(e,a)};n.addEventListener(e,a)}))._updateElements()}},{key:"trigger",value:function(e){if("string"==typeof e){var t=new Event(e);return this.each((function(e){e.dispatchEvent(t)}))._updateElements()}var n=new CustomEvent(e.type,{detail:e,bubbles:!0,cancelable:!0});return this.each((function(e){e.dispatchEvent(n)}))._updateElements()}},{key:"click",value:function(e){return e?this.on("click",(function(t){e.call(this,t)}))._updateElements():this.each((function(e){e.click()}))._updateElements()}},{key:"hover",value:function(e,t){return this.on("mouseenter",(function(t){e&&e.call(this,t)})).on("mouseleave",(function(e){t&&t.call(this,e)}))._updateElements()}},{key:"ready",value:function(e){return"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e),this}},{key:"focus",value:function(e){return void 0===e?(this.elements[0]&&this.elements[0].focus(),this):this.on("focus",e)}},{key:"blur",value:function(e){return void 0===e?(this.elements[0]&&this.elements[0].blur(),this):this.on("blur",e)}},{key:"val",value:function(e){if(void 0===e){var t=this.elements[0];if(!t)return;if("select-multiple"===t.type){var n=Array.from(t.selectedOptions).map((function(e){return e.value})).filter((function(e){return""!==e}));return n}return t.value}return this.each((function(t){"select-multiple"===t.type&&Array.isArray(e)?Array.from(t.options).forEach((function(t){t.selected=e.includes(t.value)})):t.value=e}))._updateElements()}},{key:"serialize",value:function(){if(!this.elements[0]||"FORM"!==this.elements[0].nodeName)return"";var e=new FormData(this.elements[0]);return new URLSearchParams(e).toString()}},{key:"html",value:function(e){var t;return void 0===e?null===(t=this.elements[0])||void 0===t?void 0:t.innerHTML:this.each((function(t){t.innerHTML=e}))._updateElements()}},{key:"text",value:function(e){var t;return void 0===e?null===(t=this.elements[0])||void 0===t?void 0:t.textContent:this.each((function(t){t.textContent=e}))._updateElements()}},{key:"append",value:function(t){if(!t)return this;var n=function(e,t){if("string"==typeof t)return e.insertAdjacentHTML("beforeend",t),e.lastElementChild;if(t instanceof Node){var n=t.cloneNode(!0);return e.appendChild(n),n}return null},a=[];return this.each((function(o){if(t instanceof e)t.each((function(e){var t=n(o,e);t&&a.push(t)}));else{var i=n(o,t);i&&a.push(i)}})),t instanceof e&&(t.elements=a),this._updateElements()}},{key:"prepend",value:function(t){if(!t)return this;var n=[];return this.each((function(a){if("string"==typeof t)a.insertAdjacentHTML("afterbegin",t),n.push(a.firstElementChild);else if(t instanceof e)t.each((function(e){var t=e.cloneNode(!0);a.prepend(t),n.push(t)}));else if(t instanceof Node){var o=t.cloneNode(!0);a.prepend(o),n.push(o)}})),t instanceof e&&(t.elements=n),this._updateElements()}},{key:"before",value:function(t){if(!t)return this;var n=[];return this.each((function(a){if("string"==typeof t)a.insertAdjacentHTML("beforebegin",t),n.push(a.previousElementSibling);else if(t instanceof e)t.each((function(e){var t=e.cloneNode(!0);a.before(t),n.push(t)}));else if(t instanceof Node){var o=t.cloneNode(!0);a.before(o),n.push(o)}})),t instanceof e&&(t.elements=n),this._updateElements()}},{key:"after",value:function(t){if(!t)return this;var n=[];return this.each((function(a){if("string"==typeof t)a.insertAdjacentHTML("afterend",t),n.push(a.nextElementSibling);else if(t instanceof e)t.each((function(e){var t=e.cloneNode(!0);a.after(t),n.push(t)}));else if(t instanceof Node){var o=t.cloneNode(!0);a.after(o),n.push(o)}})),t instanceof e&&(t.elements=n),this._updateElements()}},{key:"empty",value:function(){return this.each((function(e){e.innerHTML=""}))._updateElements()}},{key:"remove",value:function(){return this.each((function(e){e.remove()})),this._updateElements()}},{key:"clone",value:function(){return new e(this.elements.map((function(e){return e.cloneNode(!0)})))}},{key:"wrap",value:function(t){return this.each((function(n){var a,o=document.createElement("div");t instanceof e?o.innerHTML=(null===(a=t.elements[0])||void 0===a?void 0:a.outerHTML)||"":o.innerHTML=t;var i=o.firstElementChild;i&&(n.parentNode.insertBefore(i,n),i.appendChild(n))}))._updateElements()}},{key:"unwrap",value:function(){return this.each((function(e){var t=e.parentNode;t&&"BODY"!==t.nodeName&&t.replaceWith.apply(t,c(t.childNodes))}))._updateElements()}},{key:"wrapInner",value:function(e){return this.each((function(t){var n=document.createElement("div");for(n.innerHTML=e;t.firstChild;)n.firstElementChild.appendChild(t.firstChild);t.appendChild(n.firstElementChild)}))._updateElements()}},{key:"wrapAll",value:function(e){if(0===this.elements.length)return this;var t=document.createElement("div");t.innerHTML=e;var n=t.firstElementChild;return this.elements[0].parentNode.insertBefore(n,this.elements[0]),this.each((function(e){n.appendChild(e)})),this._updateElements()}},{key:"scrollTop",value:function(e){return this.elements[0]===window?void 0===e?window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0:(window.scrollTo({top:e,behavior:"smooth"}),this):void 0===e?(null===(t=this.elements[0])||void 0===t?void 0:t.scrollTop)||0:this.each((function(t){t.scrollTop=e}))._updateElements();var t}},{key:"offset",value:function(){if(this.elements[0]){var e=this.elements[0].getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}}}},{key:"position",value:function(){if(this.elements[0])return{top:this.elements[0].offsetTop,left:this.elements[0].offsetLeft}}},{key:"offsetParent",value:function(){var t;return new e(null===(t=this.elements[0])||void 0===t?void 0:t.offsetParent)}},{key:"children",value:function(){var t;return new e(null===(t=this.elements[0])||void 0===t?void 0:t.children)}},{key:"parent",value:function(){var t;return new e(null===(t=this.elements[0])||void 0===t?void 0:t.parentNode)}},{key:"parents",value:function(){for(var t,n=[],a=null===(t=this.elements[0])||void 0===t?void 0:t.parentNode;a&&"HTML"!==a.nodeName;)n.push(a),a=a.parentNode;return new e(n)}},{key:"parentsUntil",value:function(t){for(var n,a=[],o=null===(n=this.elements[0])||void 0===n?void 0:n.parentNode;o&&!o.matches(t);)a.push(o),o=o.parentNode;return new e(a)}},{key:"closest",value:function(t){var n=this.elements[0];if(!n)return new e([]);var a=n.closest(t);return new e(a?[a]:[])}},{key:"contents",value:function(){var t;return new e(null===(t=this.elements[0])||void 0===t?void 0:t.childNodes)}},{key:"find",value:function(t){var n;if(":visible"===t){var a,o=null===(a=this.elements[0])||void 0===a?void 0:a.querySelectorAll("*");return new e(o?Array.from(o).filter((function(e){var t=window.getComputedStyle(e);return"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&e.offsetWidth>0&&e.offsetHeight>0})):[])}if(":hidden"===t){var i,r=null===(i=this.elements[0])||void 0===i?void 0:i.querySelectorAll("*");return new e(r?Array.from(r).filter((function(e){var t=window.getComputedStyle(e);return"none"===t.display||"hidden"===t.visibility||"0"===t.opacity||0===e.offsetWidth||0===e.offsetHeight})):[])}if(":selected"===t)return new e(this.elements.reduce((function(e,t){var n=t.querySelectorAll("option").length>0?Array.from(t.querySelectorAll("option")).filter((function(e){return e.selected})):[];return[].concat(c(e),c(n))}),[]));if(t.includes(":visible")||t.includes(":hidden")||t.includes(":selected")){var s,l=t.replace(/:visible|:hidden|:selected/g,""),d=t.includes(":visible"),u=t.includes(":hidden"),f=t.includes(":selected"),p=null===(s=this.elements[0])||void 0===s?void 0:s.querySelectorAll(l);return new e(p?Array.from(p).filter((function(e){if(f&&"option"===e.tagName.toLowerCase())return e.selected;var t=window.getComputedStyle(e),n="none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&e.offsetWidth>0&&e.offsetHeight>0;return d?n:!u||!n})):[])}return new e(null===(n=this.elements[0])||void 0===n?void 0:n.querySelectorAll(t))}},{key:"siblings",value:function(){var t,n=this,a=Array.from((null===(t=this.elements[0])||void 0===t||null===(t=t.parentNode)||void 0===t?void 0:t.children)||[]).filter((function(e){return e!==n.elements[0]}));return new e(a)}},{key:"next",value:function(){var t;return new e(null===(t=this.elements[0])||void 0===t?void 0:t.nextElementSibling)}},{key:"prev",value:function(){var t;return new e(null===(t=this.elements[0])||void 0===t?void 0:t.previousElementSibling)}},{key:"nextAll",value:function(){for(var t,n=[],a=null===(t=this.elements[0])||void 0===t?void 0:t.nextElementSibling;a;)n.push(a),a=a.nextElementSibling;return new e(n)}},{key:"prevAll",value:function(){for(var t,n=[],a=null===(t=this.elements[0])||void 0===t?void 0:t.previousElementSibling;a;)n.push(a),a=a.previousElementSibling;return new e(n)}},{key:"nextUntil",value:function(t){for(var n,a=[],o=null===(n=this.elements[0])||void 0===n?void 0:n.nextElementSibling;o&&!o.matches(t);)a.push(o),o=o.nextElementSibling;return new e(a)}},{key:"prevUntil",value:function(t){for(var n,a=[],o=null===(n=this.elements[0])||void 0===n?void 0:n.previousElementSibling;o&&!o.matches(t);)a.push(o),o=o.previousElementSibling;return new e(a)}},{key:"is",value:function(t){if(!this.elements[0]||!t)return!1;if("function"==typeof t)return this.elements.some((function(e,n){return t.call(e,n,e)}));if(t instanceof e)return this.elements.some((function(e){return t.elements.includes(e)}));if(t.nodeType)return this.elements.includes(t);if(":visible"===t||":hidden"===t){return this.elements.some((function(e){if(!e)return!1;var n=window.getComputedStyle(e),a="none"!==n.display&&"hidden"!==n.visibility&&"0"!==n.opacity&&e.offsetWidth>0&&e.offsetHeight>0;return":visible"===t?a:!a}))}try{if("string"==typeof t){var n=Array.from(document.querySelectorAll(t));return this.elements.some((function(e){return n.includes(e)}))}}catch(e){}return!1}},{key:"not",value:function(t){if(t instanceof e){var n=t.elements;return new e(this.elements.filter((function(e){return!n.includes(e)})))}if(t instanceof Node)return new e(this.elements.filter((function(e){return e!==t})));if("string"==typeof t)try{return new e(this.elements.filter((function(e){return!(e instanceof Element)||!e.matches(t)})))}catch(e){return this}return this}},{key:"has",value:function(t){return new e(this.elements.some((function(e){return e.querySelector(t)}))?this.elements:[])}},{key:"replaceWith",value:function(t){return this.each((function(n){if(t instanceof e)n.replaceWith(t.elements[0].cloneNode(!0));else if(t instanceof Node)n.replaceWith(t.cloneNode(!0));else if("string"==typeof t){var a=document.createElement("div");a.innerHTML=t.trim(),n.replaceWith(a.firstElementChild)}}))._updateElements()}}],[{key:"extend",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return Object.assign.apply(Object,[e].concat(n))}},{key:"each",value:function(e,t){if(e)return e instanceof NodeList||Array.isArray(e)||e instanceof Array||e instanceof NamedNodeMap?Array.from(e).forEach((function(e,n){t.call(e,n)})):t.call(e,0),this}}])}(),g=function(){return p((function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};u(this,e),this.element=t,this.options=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({handle:".handle",draggable:".csd-reorder",ghostClass:"csd-reorder-ghost",dragClass:"csd-reorder-drag",onStart:null,onEnd:null},n),this.dragItem=null,this.startY=0,this.currentY=0,this.initialY=0,this.touchStartTime=0,this.init()}),[{key:"init",value:function(){var e=this;this.element.querySelectorAll(this.options.draggable).forEach((function(t){t.draggable=!0;var n=t.querySelector(e.options.handle);n&&(n.addEventListener("mousedown",(function(){t.draggable=!0})),n.addEventListener("mouseup",(function(){t.draggable=!1})),n.addEventListener("touchstart",(function(n){return e.handleTouchStart(n,t)})),n.addEventListener("touchmove",(function(t){return e.handleTouchMove(t)})),n.addEventListener("touchend",(function(t){return e.handleTouchEnd(t)}))),t.addEventListener("dragstart",(function(n){return e.handleDragStart(n,t)})),t.addEventListener("dragend",(function(n){return e.handleDragEnd(n,t)}))})),this.element.addEventListener("dragover",(function(t){return e.handleDragOver(t)})),this.element.addEventListener("dragenter",(function(e){return e.preventDefault()}))}},{key:"handleTouchStart",value:function(e,t){e.preventDefault(),this.touchStartTime=Date.now(),this.dragItem=t;var n=e.touches[0];this.startY=n.clientY,this.initialY=this.dragItem.offsetTop}},{key:"handleTouchMove",value:function(e){if(this.dragItem){e.preventDefault();var t=e.touches[0];this.currentY=t.clientY;var n=this.currentY-this.startY;if(Date.now()-this.touchStartTime>150){this.dragItem.classList.add(this.options.dragClass),this.element.classList.add("is-dragging"),this.dragItem.style.transform="translateY(".concat(n,"px)");var a=c(this.element.querySelectorAll("".concat(this.options.draggable,":not(.").concat(this.options.dragClass,")"))).find((function(e){var n=e.getBoundingClientRect(),a=n.top+n.height/2;return t.clientY<=a}));a?this.element.insertBefore(this.dragItem,a):this.element.appendChild(this.dragItem)}}}},{key:"handleTouchEnd",value:function(e){if(this.dragItem){if(e.preventDefault(),this.dragItem.classList.remove(this.options.dragClass),this.element.classList.remove("is-dragging"),this.dragItem.style.transform="",this.options.onEnd){var t=Array.from(this.element.children).indexOf(this.dragItem);this.options.onEnd({item:this.dragItem,from:this.startIndex,to:t})}this.dragItem=null,this.startY=0,this.currentY=0,this.initialY=0,this.touchStartTime=0}}},{key:"handleDragStart",value:function(e,t){var n=this;e.dataTransfer.effectAllowed="move",this.startIndex=Array.from(this.element.children).indexOf(t),setTimeout((function(){t.classList.add(n.options.dragClass),n.element.classList.add("is-dragging")}),0),this.options.onStart&&this.options.onStart({item:t,index:this.startIndex})}},{key:"handleDragOver",value:function(e){e.preventDefault(),e.dataTransfer.dropEffect="move";var t=this.element.querySelector("."+this.options.dragClass);if(t){var n=c(this.element.querySelectorAll("".concat(this.options.draggable,":not(.").concat(this.options.dragClass,")"))).find((function(t){var n=t.getBoundingClientRect(),a=n.top+n.height/2;return e.clientY<=a}));n?this.element.insertBefore(t,n):this.element.appendChild(t)}}},{key:"handleDragEnd",value:function(e,t){t.classList.remove(this.options.dragClass),this.element.classList.remove("is-dragging");var n=Array.from(this.element.children).indexOf(t);this.options.onEnd&&this.options.onEnd({item:t,from:this.startIndex,to:n}),t.draggable=!1}},{key:"destroy",value:function(){var e=this;this.element.querySelectorAll(this.options.draggable).forEach((function(t){t.draggable=!1,t.removeEventListener("dragstart",e.handleDragStart),t.removeEventListener("dragend",e.handleDragEnd);var n=t.querySelector(e.options.handle);n&&(n.removeEventListener("mousedown",null),n.removeEventListener("mouseup",null),n.removeEventListener("touchstart",null),n.removeEventListener("touchmove",null),n.removeEventListener("touchend",null))})),this.element.removeEventListener("dragover",this.handleDragOver),this.element.removeEventListener("dragenter",null)}}])}(),b=((v=function(e){return new m(e)}).ready=function(e){"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e)},v);"undefined"!=typeof window&&(window.$CSD=b,window._CSD_UTILS=m,window.Sortable=g),b.extend=m.extend,b.each=m.each,e.exports?e.exports={$CSD:b,_CSD_UTILS:m,Sortable:g}:void 0===(a=function(){return{$CSD:b,_CSD_UTILS:m,Sortable:g}}.call(t,n,t,e))||(e.exports=a)}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var i=t[a]={exports:{}};return e[a](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a={};return(()=>{"use strict";n.d(a,{default:()=>U});var e=n(831);function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,i,r,s=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(l)throw o}}return s}}(e,t)||i(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function s(e){if(e&&!e.initialized){var t=$CSD(e),n=$CSD('<div class="csd-editor-container"></div>');t.wrap(n);var a=function(){var e=$CSD('<div class="csd-editor-menubar"></div>');return Object.keys(h).forEach((function(t){var n=$CSD('<div class="csd-editor-menu-item">\n <span>'.concat(t.charAt(0).toUpperCase()+t.slice(1),'</span>\n <div class="csd-editor-menu-dropdown">\n ').concat(h[t].map((function(e){return'\n <button type="button" data-action="'.concat(e.action,'">\n <i class="').concat(e.icon,'"></i>\n ').concat(e.label,"\n </button>\n ")})).join(""),"\n </div>\n </div>"));e.append(n)})),e}(),o=function(){var e=$CSD('<div class="csd-editor-toolbar"></div>');return v.forEach((function(t){var n=$CSD('<div class="csd-editor-toolbar-group"></div>');t.forEach((function(e){var t=function(e){var t={undo:{icon:"fa-solid fa-rotate-left",title:"Undo (Ctrl+Z)",shortcut:"Ctrl+Z"},redo:{icon:"fa-solid fa-rotate-right",title:"Redo (Ctrl+Y)",shortcut:"Ctrl+Y"},cut:{icon:"fa-regular fa-scissors",title:"Cut (Ctrl+X)",shortcut:"Ctrl+X"},copy:{icon:"fa-regular fa-copy",title:"Copy (Ctrl+C)",shortcut:"Ctrl+C"},paste:{icon:"fa-regular fa-clipboard",title:"Paste (Ctrl+V)",shortcut:"Ctrl+V"},heading:{icon:"fa-solid fa-heading",title:"Heading",dropdown:!0},bold:{icon:"fa-solid fa-bold",title:"Bold (Ctrl+B)",shortcut:"Ctrl+B"},italic:{icon:"fa-solid fa-italic",title:"Italic (Ctrl+I)",shortcut:"Ctrl+I"},underline:{icon:"fa-solid fa-underline",title:"Underline (Ctrl+U)",shortcut:"Ctrl+U"},strikethrough:{icon:"fa-solid fa-strikethrough",title:"Strikethrough"},font:{icon:"fa-solid fa-font",title:"Font Family",dropdown:!0},fontSize:{icon:"fa-solid fa-text-height",title:"Font Size",dropdown:!0},textColor:{icon:"fa-solid fa-palette",title:"Text Color",dropdown:!0},backgroundColor:{icon:"fa-solid fa-fill",title:"Background Color",dropdown:!0},alignment:{icon:"fa-solid fa-align-justify",title:"Text Alignment",dropdown:!0},numberedList:{icon:"fa-solid fa-list-ol",title:"Numbered List (Ctrl+Shift+7)"},bulletedList:{icon:"fa-solid fa-list-ul",title:"Bulleted List (Ctrl+Shift+8)"},indent:{icon:"fa-solid fa-indent",title:"Increase Indent (Tab)"},outdent:{icon:"fa-solid fa-outdent",title:"Decrease Indent (Shift+Tab)"},link:{icon:"fa-solid fa-link",title:"Insert Link (Ctrl+K)",shortcut:"Ctrl+K"},image:{icon:"fa-regular fa-image",title:"Insert Image"},table:{icon:"fa-solid fa-table",title:"Insert Table"},specialCharacters:{icon:"fa-solid fa-s",title:"Special Characters"},pageBreak:{icon:"fa-solid fa-grip-lines",title:"Insert Page Break"},sourceEditing:{icon:"fa-solid fa-code",title:"Source Editing"}}[e];if(!t)return"";var n=t.title,a=$CSD('\n <button type="button" class="csd-editor-tool" data-tool="'.concat(e,'">\n <i class="').concat(t.icon,'"></i>\n ').concat(t.dropdown?'<i class="fa-solid fa-chevron-down"></i>':"",'\n <span class="csd-editor-tooltip">').concat(n,"</span>\n </button>\n "));return a}(e);n.append(t)})),e.append(n)})),e}(),r=$CSD('<div class="csd-editor-content" contenteditable="true"></div>');r.attr("placeholder",t.attr("placeholder")||"");var s=$CSD('\n <div class="csd-editor-statusbar">\n <div class="csd-editor-wordcount">Words: 0</div>\n <div class="csd-editor-charcount">Characters: 0</div>\n </div>\n ');t.before(a),t.before(o),t.before(r),t.after(s),t.hide(),r.html(t.val()),function(e,t){var n=e.closest(".csd-editor-container");e.on("input",(function(){t.val(e.html()),t.trigger("change"),u(n)})),n.on("click",".csd-editor-tool",(function(t){t.preventDefault(),c($CSD(this).data("tool"),e)})),n.on("click",".csd-editor-menu-item button",(function(t){t.preventDefault(),function(e,t){switch(e){case"new":confirm("Create new document? All changes will be lost.")&&t.html("");break;case"open":var n=document.createElement("input");n.type="file",n.accept=".txt,.html,.md",n.onchange=function(e){var n=e.target.files[0];if(n){var a=new FileReader;a.onload=function(e){t.html(e.target.result)},a.readAsText(n)}},n.click();break;case"save":var a=t.html(),o=new Blob([a],{type:"text/html"}),i=window.URL.createObjectURL(o),r=document.createElement("a");r.href=i,r.download="document.html",r.click(),window.URL.revokeObjectURL(i);break;case"export-pdf":alert("PDF export functionality requires a PDF generation library. Please implement based on your needs.");break;case"export-word":var s=t.html(),c=new Blob([s],{type:"application/msword"}),l=window.URL.createObjectURL(c),d=document.createElement("a");d.href=l,d.download="document.doc",d.click(),window.URL.revokeObjectURL(l)}}($CSD(this).data("action"),e)})),u(n),e.on("paste",(function(e){e.preventDefault();var t=e.originalEvent.clipboardData||window.clipboardData,n=t.getData("text/html")||t.getData("text"),a=document.createElement("div");a.innerHTML=n;var o,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=i(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,o=function(){};return{s:o,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:o}}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 r,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,r=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw r}}}}(a.getElementsByTagName("*"));try{for(r.s();!(o=r.n()).done;){for(var s=o.value,c=["font-weight","font-style","text-decoration","text-align"],l=s.style,d=l.length-1;d>=0;d--){var u=l[d];c.includes(u)||l.removeProperty(u)}s.removeAttribute("class"),s.removeAttribute("id")}}catch(e){r.e(e)}finally{r.f()}document.execCommand("insertHTML",!1,a.innerHTML)}))}(r,t),function(e){function t(){var t=e.html();if(t){var n=t.split(/\n|<br\/?>/).map((function(e){return(e=e.trim()).match(/^#\s/)?"<h1>".concat(e.replace(/^#\s/,""),"</h1>"):e.match(/^##\s/)?"<h2>".concat(e.replace(/^##\s/,""),"</h2>"):e.match(/^###\s/)?"<h3>".concat(e.replace(/^###\s/,""),"</h3>"):e.match(/^[\*\-]\s/)?"<ul><li>".concat(e.replace(/^[\*\-]\s/,""),"</li></ul>"):e.match(/^1\.\s/)?"<ol><li>".concat(e.replace(/^1\.\s/,""),"</li></ol>"):e.match(/^>\s/)?"<blockquote>".concat(e.replace(/^>\s/,""),"</blockquote>"):e.match(/^```/)?"<pre><code>":(e=(e=(e=(e=e.replace(/\*\*([^\*]+)\*\*/g,"<strong>$1</strong>")).replace(/\*([^\*]+)\*/g,"<em>$1</em>")).replace(/`([^`]+)`/g,"<code>$1</code>")).replace(/\[([^\]]+)\]\(([^\)]+)\)/g,'<a href="$2">$1</a>'))?"<p>".concat(e,"</p>"):"<p><br></p>"}));e.html(n.join(""))}}t(),e.on("keydown",(function(e){if("Enter"===e.key){var t=window.getSelection(),n=t.anchorNode.textContent;if(n.match(/^#\s/))e.preventDefault(),document.execCommand("formatBlock",!1,"h1"),document.execCommand("delete",!1),document.execCommand("delete",!1);else if(n.match(/^##\s/))e.preventDefault(),document.execCommand("formatBlock",!1,"h2"),document.execCommand("delete",!1),document.execCommand("delete",!1),document.execCommand("delete",!1);else if(n.match(/^###\s/))e.preventDefault(),document.execCommand("formatBlock",!1,"h3"),document.execCommand("delete",!1),document.execCommand("delete",!1),document.execCommand("delete",!1),document.execCommand("delete",!1);else if(n.match(/^[\*\-]\s/))e.preventDefault(),document.execCommand("insertUnorderedList",!1),document.execCommand("delete",!1),document.execCommand("delete",!1);else if(n.match(/^1\.\s/))e.preventDefault(),document.execCommand("insertOrderedList",!1),document.execCommand("delete",!1),document.execCommand("delete",!1),document.execCommand("delete",!1);else if(n.match(/^>\s/))e.preventDefault(),document.execCommand("formatBlock",!1,"blockquote"),document.execCommand("delete",!1),document.execCommand("delete",!1);else if(n.match(/^```/)){e.preventDefault(),document.execCommand("formatBlock",!1,"pre");var a=t.anchorNode.parentElement;if("PRE"===a.tagName){var o=document.createElement("code");a.appendChild(o);var i=document.createRange();i.setStart(o,0),t.removeAllRanges(),t.addRange(i)}document.execCommand("delete",!1),document.execCommand("delete",!1),document.execCommand("delete",!1)}}else if(e.ctrlKey)switch(e.key.toLowerCase()){case"b":e.preventDefault(),document.execCommand("bold",!1);break;case"i":e.preventDefault(),document.execCommand("italic",!1);break;case"u":e.preventDefault(),document.execCommand("underline",!1)}else if("Tab"===e.key)e.preventDefault(),document.execCommand(e.shiftKey?"outdent":"indent",!1);else if(" "===e.key){var r=window.getSelection(),s=r.anchorNode.textContent,c=r.anchorOffset;if(s.match(/\*\*([^\*]+)\*\*$/))e.preventDefault(),f(r,s.match(/\*\*([^\*]+)\*\*$/)[1],c,"**",document.execCommand.bind(document,"bold",!1));else if(s.match(/\*([^\*]+)\*$/)){e.preventDefault(),f(r,s.match(/\*([^\*]+)\*$/)[1],c,"*",document.execCommand.bind(document,"italic",!1))}else if(s.match(/`([^`]+)`$/)){e.preventDefault(),f(r,s.match(/`([^`]+)`$/)[1],c,"`",(function(){document.execCommand("fontName",!1,"monospace")}))}else if(s.match(/\[([^\]]+)\]\(([^\)]+)\)$/)){e.preventDefault();var l=s.match(/\[([^\]]+)\]\(([^\)]+)\)$/),d=(l[1],l[2]),u=document.createRange();u.setStart(r.anchorNode,c-l[0].length),u.setEnd(r.anchorNode,c),r.removeAllRanges(),r.addRange(u),document.execCommand("createLink",!1,d),document.execCommand("insertText",!1," ")}}}))}(r),e.initialized=!0}}function c(e,t){t.focus();var n,a=e.dataset?e.dataset.command:e,o=e.dataset?e.dataset.value:null;switch(a){case"undo":case"redo":case"bold":case"italic":case"underline":case"strikethrough":case"justifyLeft":case"justifyCenter":case"justifyRight":case"justifyFull":document.execCommand(a,!1);break;case"heading":l(t,[{text:"Heading 1",command:"formatBlock",value:"h1"},{text:"Heading 2",command:"formatBlock",value:"h2"},{text:"Heading 3",command:"formatBlock",value:"h3"},{text:"Paragraph",command:"formatBlock",value:"p"}]);break;case"formatBlock":window.getSelection().getRangeAt(0);document.execCommand(a,!1,o);break;case"font":l(t,[{text:"Arial",command:"fontName",value:"Arial"},{text:"Times New Roman",command:"fontName",value:"Times New Roman"},{text:"Courier New",command:"fontName",value:"Courier New"},{text:"Georgia",command:"fontName",value:"Georgia"}]);break;case"fontName":document.execCommand(a,!1,o);break;case"fontSize":null===o?l(t,[{text:"Small",command:"fontSize",value:"1"},{text:"Normal",command:"fontSize",value:"3"},{text:"Large",command:"fontSize",value:"5"},{text:"Huge",command:"fontSize",value:"7"}]):document.execCommand(a,!1,o);break;case"textColor":d(t,(function(e){var t=window.getSelection().getRangeAt(0);if(t.collapsed){var n=document.createElement("span");n.style.color=e,n.innerHTML="",t.insertNode(n),t.setStartAfter(n)}else{var a=document.createElement("span");a.style.color=e,t.surroundContents(a)}}));break;case"backgroundColor":d(t,(function(e){var t=window.getSelection().getRangeAt(0);if(t.collapsed){var n=document.createElement("span");n.style.backgroundColor=e,n.innerHTML="",t.insertNode(n),t.setStartAfter(n)}else{var a=document.createElement("span");a.style.backgroundColor=e,t.surroundContents(a)}}));break;case"alignment":l(t,[{text:"Left",icon:"fa-solid fa-align-left",command:"justifyLeft"},{text:"Center",icon:"fa-solid fa-align-center",command:"justifyCenter"},{text:"Right",icon:"fa-solid fa-align-right",command:"justifyRight"},{text:"Justify",icon:"fa-solid fa-align-justify",command:"justifyFull"}]);break;case"numberedList":document.execCommand("insertOrderedList",!1);break;case"bulletedList":document.execCommand("insertUnorderedList",!1);break;case"indent":document.execCommand("indent",!1);break;case"outdent":document.execCommand("outdent",!1);break;case"link":!function(e){var t,n=window.getSelection(),a=e.elements[0],o="";n.rangeCount>0&&(o=(t=n.getRangeAt(0)).toString(),a.contains(t.commonAncestorContainer)||(t=null));if(!t){if(t=document.createRange(),document.activeElement===a&&n.focusNode)if(n.focusNode.nodeType===Node.TEXT_NODE)t.setStart(n.focusNode,n.focusOffset),t.setEnd(n.focusNode,n.focusOffset);else{for(var i,r=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1),s=null,c=1/0;i=r.nextNode();){var l=document.createRange();l.selectNode(i);var d=l.getBoundingClientRect(),u=Math.abs(d.top-n.focusNode.getBoundingClientRect().top);u<c&&(c=u,s=i)}if(s)t.setStart(s,s.length),t.setEnd(s,s.length);else{var f=document.createTextNode("");a.appendChild(f),t.setStart(f,0),t.setEnd(f,0)}}else{var p=a.lastChild;if(!p||"BR"===p.nodeName){var h=document.createTextNode("");a.appendChild(h),p=h}t.selectNode(p),t.collapse(!1)}n.removeAllRanges(),n.addRange(t)}var v=$CSD('\n <div class="csd-editor-link-popover">\n <div class="link-form">\n <div class="csd-field">\n <label class="csd-label">URL:</label>\n <input type="text" class="csd-input link-url" placeholder="https://" value="">\n </div>\n <div class="csd-field">\n <label class="csd-label">Testo:</label>\n <input type="text" class="csd-input link-text" value="'.concat(o,'">\n </div>\n <div class="form-buttons">\n <button type="button" class="csd-btn btn-insert">Inserisci</button>\n <button type="button" class="csd-btn btn-cancel">Annulla</button>\n </div>\n </div>\n </div>\n ')),m=t.getBoundingClientRect();if(0===m.top&&0===m.left&&0===m.width&&0===m.height){var g=t.getClientRects();m=g.length>0?g[0]:a.getBoundingClientRect()}var b=window.pageYOffset||document.documentElement.scrollTop,C=window.pageXOffset||document.documentElement.scrollLeft;v.css({position:"absolute",top:m.bottom+b+"px",left:m.left+C+"px"}),$CSD("body").append(v),v.on("mousedown",(function(e){["INPUT","TEXTAREA"].includes(e.target.tagName)||e.preventDefault(),e.stopPropagation()})),v.find(".btn-cancel").on("click",(function(){v.remove()})),v.find(".btn-insert").on("click",(function(){var e=v.find(".link-url").val(),a=v.find(".link-text").val();if(e){var o=document.createElement("a");o.href=e,o.textContent=a||e,o.title=e,o.style.cursor="pointer",o.addEventListener("dblclick",(function(e){e.preventDefault(),window.open(this.href,"_blank")})),t.deleteContents(),t.insertNode(o);var i=document.createTextNode(" ");o.nextSibling?o.parentNode.insertBefore(i,o.nextSibling):o.parentNode.appendChild(i);var r=document.createRange();r.setStartAfter(i),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}v.remove()})),v.find(".link-url").focus();var y=function(e){v.elements[0].contains(e.target)||(v.remove(),$CSD(document).off("mousedown",y))};setTimeout((function(){$CSD(document).on("mousedown",y)}),100)}(t);break;case"image":(n=document.createElement("input")).type="file",n.accept="image/*",n.onchange=function(){var e=this.files[0];if(e){var t=new FileReader;t.onload=function(e){var t=document.createElement("img");t.src=e.target.result,t.style.maxWidth="100%";var n=window.getSelection().getRangeAt(0);n.deleteContents(),n.insertNode(t)},t.readAsDataURL(e)}},n.click();break;case"table":!function(e){for(var t=8,n=8,a=0,o=0,i='<div class="table-grid">',r=0;r<t;r++){i+='<div class="table-row">';for(var s=0;s<n;s++)i+='<div class="table-cell" data-row="'.concat(r,'" data-col="').concat(s,'"></div>');i+="</div>"}i+="</div>",i+='<div class="table-size">0 x 0</div>';var c=$CSD('\n <div class="csd-editor-table-picker">\n '.concat(i,"\n </div>\n "));function l(e,t){a=e+1,o=t+1,c.find(".table-size").text("".concat(a," x ").concat(o)),c.find(".table-cell").each((function(){var n=$CSD(this),a=parseInt(n.data("row")),o=parseInt(n.data("col"));a<=e&&o<=t?n.addClass("selected"):n.removeClass("selected")}))}var d=$CSD(event.target).closest(".csd-editor-tool").elements[0].getBoundingClientRect(),u=window.pageYOffset||document.documentElement.scrollTop,f=window.pageXOffset||document.documentElement.scrollLeft;c.css({position:"absolute",top:d.bottom+u+"px",left:d.left+f+"px"}),$CSD("body").append(c),c.on("mouseover",".table-cell",(function(e){l(parseInt($CSD(this).data("row")),parseInt($CSD(this).data("col")))})),c.find(".table-grid").on("mouseleave",(function(){a>0&&o>0&&l(a-1,o-1)})),c.on("click",".table-cell",(function(){a>0&&o>0&&(!function(e,t,n){for(var a="<table><tbody>",o=0;o<t;o++){a+="<tr>";for(var i=0;i<n;i++)a+="<td><br></td>";a+="</tr>"}a+="</tbody></table>";var r,s=e.elements[0],c=window.getSelection();c.rangeCount>0&&(r=c.getRangeAt(0),s.contains(r.commonAncestorContainer)||(r=null));if(!r){if(r=document.createRange(),document.activeElement===s&&c.focusNode)if(c.focusNode.nodeType===Node.TEXT_NODE)r.setStart(c.focusNode,c.focusOffset),r.setEnd(c.focusNode,c.focusOffset);else{for(var l,d=document.createTreeWalker(s,NodeFilter.SHOW_TEXT,null,!1),u=null,f=1/0;l=d.nextNode();){var p=document.createRange();p.selectNode(l);var h=p.getBoundingClientRect(),v=Math.abs(h.top-c.focusNode.getBoundingClientRect().top);v<f&&(f=v,u=l)}if(u)r.setStart(u,u.length),r.setEnd(u,u.length);else{var m=document.createTextNode("");s.appendChild(m),r.setStart(m,0),r.setEnd(m,0)}}else{var g=s.lastChild;if(!g||"BR"===g.nodeName){var b=document.createTextNode("");s.appendChild(b),g=b}r.selectNode(g),r.collapse(!1)}c.removeAllRanges(),c.addRange(r)}var C=document.createElement("table");C.innerHTML=a,r.deleteContents(),r.insertNode(C);var y=document.createElement("p");y.innerHTML="<br>",C.parentNode.insertBefore(y,C.nextSibling);var S=document.createRange();S.setStartAfter(y),S.collapse(!0),c.removeAllRanges(),c.addRange(S)}(e,a,o),c.remove())})),c.on("mousedown",(function(e){e.stopPropagation()}));var p=function(e){c.elements[0].contains(e.target)||(c.remove(),$CSD(document).off("mousedown",p))};setTimeout((function(){$CSD(document).on("mousedown",p)}),100)}(t);break;case"specialCharacters":!function(){var e=["€","£","$","¥","¢","₽","₹","±","×","÷","≠","≈","≤","≥","∞","∑","∏","√","∫","∂","∆","¼","½","¾","⅓","⅔","⅕","⅖","⅗","⅘","←","→","↑","↓","↔","↕","⇐","⇒","⇑","⇓","©","®","™","§","¶","†","‡","•","·","…","‰","′","″","À","Á","È","É","Ì","Í","Ò","Ó","Ù","Ú","à","á","è","é","ì","í","ò","ó","ù","ú"],t=$CSD('<div class="csd-editor-special-chars"></div>'),n=$CSD('\n <div class="special-chars-grid">\n '.concat(e.map((function(e){return'\n <button type="button" class="special-char-item" title="'.concat(e,'">').concat(e,"</button>\n ")})).join(""),"\n </div>\n "));t.append(n),t.css({position:"absolute",background:"#fff",border:"1px solid #ddd",borderRadius:"4px",padding:"10px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",zIndex:1e3,maxHeight:"400px",overflowY:"auto",width:"400px"}),t.find(".special-chars-grid").css({display:"grid",gridTemplateColumns:"repeat(10, 1fr)",gap:"5px"}),t.find(".special-char-item").css({width:"30px",height:"30px",border:"1px solid #ddd",borderRadius:"4px",background:"#fff",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"16px",transition:"all 0.2s"});var a=$CSD(event.target).closest(".csd-editor-tool")[0].getBoundingClientRect(),o=window.pageYOffset||document.documentElement.scrollTop,i=window.pageXOffset||document.documentElement.scrollLeft;t.css({top:a.bottom+o+5+"px",left:a.left+i+"px"}),$CSD("body").append(t),t.find(".special-char-item").hover((function(){$(this).css({background:"#f5f5f5",borderColor:"#999"})}),(function(){$(this).css({background:"#fff",borderColor:"#ddd"})})),t.on("click",".special-char-item",(function(e){e.stopPropagation();var n=$CSD(this).text().trim();document.execCommand("insertText",!1,n),t.remove()})),setTimeout((function(){$CSD(document).one("mousedown",(function(e){t[0].contains(e.target)||t.remove()}))}),0)}();break;case"pageBreak":document.execCommand("insertHTML",!1,'<hr class="page-break">');break;case"sourceEditing":!function(e){var t=e.closest(".csd-editor-container");if(t.hasClass("source-mode")){var n=e.text();e.html(n),t.removeClass("source-mode")}else{var a=e.html();e.text(a),t.addClass("source-mode")}}(t);break;case"paste":t.elements[0].addEventListener("paste",(function(e){e.preventDefault();var t,n=e.clipboardData||window.clipboardData;if(n.types.includes("text/html")){t=n.getData("text/html");var a=document.createElement("div");a.innerHTML=t;var o=function(e){if(1===e.nodeType){var t=["href","src","alt"];if(Array.from(e.attributes).forEach((function(n){t.includes(n.name)||e.removeAttribute(n.name)})),e.style.length>0){var n=["font-weight","font-style","text-decoration","text-align"];Array.from(e.style).forEach((function(t){n.includes(t)||e.style.removeProperty(t)}))}Array.from(e.children).forEach(o)}};o(a),t=a.innerHTML}else t=(t=n.getData("text/plain")).replace(/\n/g,"<br>");var i=window.getSelection();if(i.rangeCount){var r=i.getRangeAt(0);r.deleteContents();var s=document.createDocumentFragment(),c=document.createElement("div");for(c.innerHTML=t;c.firstChild;)s.appendChild(c.firstChild);r.insertNode(s),r.collapse(!1),i.removeAllRanges(),i.addRange(r)}}));break;default:a&&document.execCommand(a,!1,o||null)}}function l(e,t){var n=$CSD('<div class="csd-editor-dropdown"></div>');t.forEach((function(e){var t=$CSD('\n <button type="button" class="csd-editor-dropdown-item csd-editor-tool" data-command="'.concat(e.command||"",'" data-value="').concat(e.value||"",'">\n ').concat(e.icon?'<i class="'.concat(e.icon,'"></i>'):"","\n <span>").concat(e.text,"</span>\n </button>\n "));n.append(t)}));var a=$CSD(event.target).closest(".csd-editor-tool")[0].getBoundingClientRect(),o=window.pageYOffset||document.documentElement.scrollTop,i=window.pageXOffset||document.documentElement.scrollLeft;n.css({position:"absolute",top:a.bottom+o+"px",left:a.left+i+"px"}),$CSD("body").append(n),n.on("click",".csd-editor-dropdown-item",(function(t){t.preventDefault(),t.stopPropagation();this.dataset.command,this.dataset.value;c(this,e),n.remove()})),n.on("mousedown",(function(e){e.preventDefault(),e.stopPropagation()})),setTimeout((function(){$CSD(document).on("mousedown",(function(e){n.elements[0].contains(e.target)||(n.remove(),$CSD(document).off("mousedown"))}))}),0)}function d(e,t){var n=$CSD('\n <div class="csd-editor-color-picker">\n <div class="color-grid">\n '.concat(["#000000","#FF0000","#00FF00","#0000FF","#FFFF00","#FF00FF","#00FFFF","#FFFFFF","#808080","#800000","#008000","#000080","#808000","#800080","#008080","#C0C0C0"].map((function(e){return'\n <button type="button" class="color-item" style="background-color: '.concat(e,'" data-color="').concat(e,'"></button>\n ')})).join(""),"\n </div>\n