Changeset 3147994
- Timestamp:
- 09/07/2024 01:49:40 PM (16 months ago)
- Location:
- all-in-one-wp-sticky-anything
- Files:
-
- 28 added
- 7 edited
-
tags/1.0.2 (added)
-
tags/1.0.2/all-in-one-wp-sticky-anything.php (added)
-
tags/1.0.2/assets (added)
-
tags/1.0.2/assets/css (added)
-
tags/1.0.2/assets/css/admin.css (added)
-
tags/1.0.2/assets/css/frontend.css (added)
-
tags/1.0.2/assets/images (added)
-
tags/1.0.2/assets/images/logo.jpg (added)
-
tags/1.0.2/assets/images/spinner.gif (added)
-
tags/1.0.2/assets/js (added)
-
tags/1.0.2/assets/js/admin.js (added)
-
tags/1.0.2/assets/js/frontend.js (added)
-
tags/1.0.2/assets/vendor (added)
-
tags/1.0.2/assets/vendor/stickr.min.js (added)
-
tags/1.0.2/assets/vendor/sweetalert2 (added)
-
tags/1.0.2/assets/vendor/sweetalert2/sweetalert2.min.css (added)
-
tags/1.0.2/assets/vendor/sweetalert2/sweetalert2.min.js (added)
-
tags/1.0.2/includes (added)
-
tags/1.0.2/includes/Admin.php (added)
-
tags/1.0.2/includes/Ajax.php (added)
-
tags/1.0.2/includes/Enqueue.php (added)
-
tags/1.0.2/includes/Hooks.php (added)
-
tags/1.0.2/includes/Install.php (added)
-
tags/1.0.2/includes/Main.php (added)
-
tags/1.0.2/includes/functions.php (added)
-
tags/1.0.2/languages (added)
-
tags/1.0.2/languages/all-in-one-wp-sticky-anything.pot (added)
-
tags/1.0.2/readme.txt (added)
-
trunk/all-in-one-wp-sticky-anything.php (modified) (2 diffs)
-
trunk/assets/js/admin.js (modified) (1 diff)
-
trunk/assets/js/frontend.js (modified) (1 diff)
-
trunk/includes/Install.php (modified) (2 diffs)
-
trunk/includes/Main.php (modified) (2 diffs)
-
trunk/languages/all-in-one-wp-sticky-anything.pot (modified) (4 diffs)
-
trunk/readme.txt (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
all-in-one-wp-sticky-anything/trunk/all-in-one-wp-sticky-anything.php
r3147850 r3147994 4 4 * Plugin URI: https://wordpress.org/plugins/all-in-one-all-in-one-wp-sticky-anything 5 5 * Description: All-in-One WP Sticky Anything plugin will make stick to the side of page after when scrolled up & down. 6 * Version: 1.0. 16 * Version: 1.0.2 7 7 * Requires at least: 5.2 8 8 * Requires PHP: 7.0 … … 21 21 22 22 /** define constants */ 23 define( 'AI1WPSA_VERSION', '1.0. 1' );23 define( 'AI1WPSA_VERSION', '1.0.2' ); 24 24 define( 'AI1WPSA_FILE', __FILE__ ); 25 25 define( 'AI1WPSA_PATH', dirname( AI1WPSA_FILE ) ); -
all-in-one-wp-sticky-anything/trunk/assets/js/admin.js
r3147850 r3147994 1 (()=>{"use strict";var e=React.createContext();const t=e;var n=e.Provider,a=(e.Consumer,wp.element.useContext),i=wp.components.Spinner;function c(){var e=a(t),n=e.loading,c=(e.setLoading,e.handleSaveSettings);return React.createElement("div",{className:"ai1wpsa-app-header"},React.createElement("div",{className:"header-title"},React.createElement("img",{src:"".concat(ai1wpsa.pluginUrl,"/assets/images/logo.jpg"),alt:wp.i18n.__("All-in-One WP Sticky Anything","all-in-one-wp-sticky-anything")}),React.createElement("span",null,wp.i18n.__("All-in-One WP Sticky Anything Settings","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"header-actions"},React.createElement("buttton",{type:"button",className:"ai1wpsa-btn save-btn",onClick:c},n&&React.createElement(i,null),React.createElement("span",{className:"dashicons dashicons-saved"}),wp.i18n.__("Save","all-in-one-wp-sticky-anything"))))}function l(e){return l="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},l(e)}function s(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 r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=l(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=l(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=wp.element.useContext,m=wp.components,d=(m.FormToggle,m.TextControl);function p(){var e=u(t),n=e.data,a=e.setData,i=n||{},c=i.stickyClass,l=void 0===c?"":c,s=i.stickyZIndex,o=void 0===s?"":s;return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-admin-generic"}),React.createElement("span",null,wp.i18n.__("General Settings","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("Sticky Class","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement(d,{value:l,placeholder:wp.i18n.__("ex: #main-navigaion or .header","all-in-one-wp-sticky-anything"),onChange:function(e){return a(r(r({},n),{},{stickyClass:e}))}}),React.createElement("p",{className:"description"},wp.i18n.__('Write your sticky selector here. Make anything sticky by use sticky class. example: `<div class="sticky">I am sticky</div>`',"all-in-one-wp-sticky-anything")))),React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("z-index","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement(d,{value:o,placeholder:wp.i18n.__("ex: 9999","all-in-one-wp-sticky-anything"),onChange:function(e){return a(r(r({},n),{},{stickyZIndex:e}))}}),React.createElement("p",{className:"description"},wp.i18n.__("Set your desire z-index value for your target element.","all-in-one-wp-sticky-anything"))))))}function y(e){return y="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},y(e)}function g(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 h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){w(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function w(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=y(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=y(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==y(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=wp.element,v=f.useContext,E=f.useEffect,R=wp.components.TextareaControl;function b(){var e=v(t),n=e.data,a=e.setData,i=n.customCss,c=void 0===i?"":i;return E((function(){var e=document.querySelectorAll(".ai1wpsa-custom-css textarea");wp.codeEditor.initialize(e,h(h({},wp.codeEditor.defaultSettings),{},{mode:"css",wordWrap:!0,tabSize:2,autoComplete:{enable:!0,showDescriptions:!0,caseSensitive:!0,autoTrigger:!0,delay:0,maxItems:10,sortBy:"score",maxLength:0,maxResults:10,highlightMatches:!0,maxHighlightLength:0,style:"popup"},showGutter:!0,showPrintMargin:!0,highlightActiveLine:!0,showLineNumbers:!0,enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableCodeFolding:!0,enableCodeFormatting:!0})).codemirror.on("change",(function(e){var t=e.getValue();a((function(e){return h(h({},e),{},{customCss:t})}))}))}),[]),React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-editor-code"}),React.createElement("span",null,wp.i18n.__("Custom CSS","ai1wpsa"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("Custom CSS","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement(R,{value:c,className:"ai1wpsa-custom-css",placeholder:wp.i18n.__("ex: .header{ // your css code here.}","all-in-one-wp-sticky-anything"),onChange:function(e){return a(h(h({},n),{},{customCss:e.target.value}))},rows:12}),React.createElement("p",{className:"description"},wp.i18n.__("Write your custom CSS here.","all-in-one-wp-sticky-anything"))))))}var _=wp.element.useContext;function k(){var e=_(t).handleResetSettings;return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-content-header"},React.createElement("i",{className:"dashicons dashicons-admin-tools"}),React.createElement("span",null,wp.i18n.__("Tools","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("Reset Data","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement("button",{type:"button",className:"ai1wpsa-btn reset-btn",onClick:e},React.createElement("i",{className:"dashicons dashicons-update"}),wp.i18n.__("Reset","all-in-one-wp-sticky-anything")),React.createElement("p",{className:"description"},wp.i18n.__("Reset all settings to default.","all-in-one-wp-sticky-anything"))))))}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,i,c,l,s=[],r=!0,o=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;r=!1}else for(;!(r=(a=c.call(n)).done)&&(s.push(a.value),s.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{if(!r&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(o)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(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)?N(e,t):void 0}}(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 N(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}var O=wp.element,C=O.useState,j=O.useEffect;function A(){var e=S(C(localStorage.getItem("ai1wp_tab")||"general"),2),t=e[0],n=e[1];j((function(){localStorage.setItem("ai1wp_tab",t)}),[t]);var a=[{id:"general",title:wp.i18n.__("General","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-admin-generic"},{id:"css",title:wp.i18n.__("Custom CSS","all-in-one-wp-sticky-anything"),icon:" dashicons dashicons-editor-code"},{id:"tools",title:wp.i18n.__("Tools","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-admin-tools"}];return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-menu"},a.map((function(e){var a=e.id,i=e.title,c=e.icon;return React.createElement("div",{className:"ai1wpsa-settings-menu-item ".concat(a," ").concat(t===a?"active":""," "),onClick:function(){return n(a)}},React.createElement("i",{className:c}),i)}))),"general"===t&&React.createElement(p,null),"css"===t&&React.createElement(b,null),"tools"===t&&React.createElement(k,null))}function x(e){Swal.fire({title:!1,text:e,icon:"success",toast:!0,timer:1500,timerProgressBar:!0,showConfirmButton:!1,position:"top-end",customClass:{container:"ai1wpsa-swal ai1wpsa-notification"}})}function P(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,i,c,l,s=[],r=!0,o=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;r=!1}else for(;!(r=(a=c.call(n)).done)&&(s.push(a.value),s.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{if(!r&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(o)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(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)?I(e,t):void 0}}(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 I(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}var D=wp.element,W=D.useState,T=D.useEffect;function M(){var e=P(W([]),2),t=e[0],a=e[1],i=P(W(!1),2),l=i[0],s=i[1];return T((function(){s(!0);var e=localStorage.getItem("stickySettings");e?(a(JSON.parse(e)),s(!1)):wp.ajax.post("ai1wpsa_get_settings",{nonce:ai1wpsa.nonce}).done((function(e){var t=e.data;t&&(a(t),localStorage.setItem("stickySettings",JSON.stringify(t))),s(!1)}))}),[]),React.createElement("div",{className:"ai1wpsa-settings-wrap"},React.createElement(n,{value:{data:t,setData:a,loading:l,setLoading:s,handleSaveSettings:function(){wp.ajax.post("ai1wpsa_save_settings",{data:t,nonce:ai1wpsa.nonce}).done((function(e){x(wp.i18n.__("Settings saved successfully.","all-in-one-wp-sticky-anything")),localStorage.setItem("stickySettings",JSON.stringify(t))})).fail((function(e){console.log(e)}))},handleResetSettings:function(){x(wp.i18n.__("Settings Reset successfully.","all-in-one-wp-sticky-anything")),a({}),localStorage.setItem("stickySettings",JSON.stringify({}))}}},React.createElement(c,null),!l&&React.createElement(A,null)))}function B(){return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-media-document"}),React.createElement("span",null,wp.i18n.__("Basic Usage","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-row bg-10"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Sticky Header")),React.createElement("p",null,wp.i18n.__("You can make Sticky Header easily by All-in-one WP Sticky Anyting. You need to do some step for it.","all-in-one-sticky-anything")),React.createElement("ul",null,React.createElement("li",null,"1. Go to WordPress Dashboard > Sticky Anything settings."),React.createElement("li",null,'2. In the "Sticky Class" field, enter the CSS selector of your header. Must you need to provide a valid css class or id selector. example: .header'),React.createElement("li",null,'3. If sticky header z-index issue on scroll, then you need to configure the "Z-index" field. Write the max big integer value. ex: 9999999'),React.createElement("li",null,"4. Now you can click save button on the header."))),React.createElement("div",{class:"settings-col"})),React.createElement("div",{class:"settings-row bg-9"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Sticky Element/ Sidebar")),React.createElement("p",null,wp.i18n.__("You can make any sticky element or sidebar easily on your WordPress website by All-in-one WP Sticky Anyting. Integration is super easy. You need add a class on your target element. ex: sticky.","all-in-one-sticky-anything"))),React.createElement("div",{class:"settings-col"})),React.createElement("div",{class:"settings-row bg-9"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Custom CSS")),React.createElement("p",null,wp.i18n.__("If needed, add custom CSS to fine-tune the appearance and behavior of the sticky header. Your custom css need to paste on the Custom CSS box and Click Save button.","all-in-one-sticky-anything"))),React.createElement("div",{class:"settings-col"}))))}function L(){var e=[{version:"v1.0.0",date:"16-02-2022",new:[wp.i18n.__("Initial Version","all-in-one-wp-sticky-anything")],fix:[],enhancement:[]},{version:"v1.0.1",date:"07-09-2024",new:[wp.i18n.__("Z-Index","all-in-one-wp-sticky-anything"),wp.i18n.__("Custom CSS","all-in-one-wp-sticky-anything"),wp.i18n.__("Reset Settings","all-in-one-wp-sticky-anything")],enhancement:[wp.i18n.__("Improved Dashboard","all-in-one-wp-sticky-anything")]} ];return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-editor-ul"}),React.createElement("span",null,wp.i18n.__("Changelog","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content changelog"},React.createElement("h2",null,wp.i18n.__("What's new in the latest changes","all-in-one-wp-stikcy-anything")),React.createElement("p",null,wp.i18n.__("Check out the latest change logs.","all-in-one-wp-sticky-anything")),e.map((function(e){var t,n,a;return React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("span",{className:"version"},null==e?void 0:e.version),React.createElement("h3",null,null==e?void 0:e.date),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},(null==e||null===(t=e.new)||void 0===t?void 0:t.length)>0&&React.createElement("div",{className:"new"},React.createElement("h3",null,wp.i18n.__("New Features","all-in-one-wp-sticky-anything")),null==e?void 0:e.new.map((function(e,t){return React.createElement("p",{key:t},React.createElement("i",{className:"dashicons dashicons-plus-alt2"}),e)}))),(null==e||null===(n=e.fix)||void 0===n?void 0:n.length)>0&&React.createElement("div",{className:"fix"},React.createElement("h3",null,wp.i18n.__("Fixs","all-in-one-wp-sticky-anything")),null==e?void 0:e.fix.map((function(e,t){return React.createElement("p",{key:t},React.createElement("i",{className:"dashicons dashicons-yes"}),e)}))),(null==e||null===(a=e.enhancement)||void 0===a?void 0:a.length)>0&&React.createElement("div",{className:"enhancement"},React.createElement("h3",null,wp.i18n.__("Enhancements","all-in-one-wp-sticky-anything")),null==e?void 0:e.enhancement.map((function(e,t){return React.createElement("p",{key:t},React.createElement("i",{className:"dashicons dashicons-star-filled"}),e)})))))}))))}wp.element.useState;function Y(){return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-content-header"},React.createElement("i",{className:"dashicons dashicons-editor-help"}),React.createElement("span",null,wp.i18n.__("Help","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("h2",null,wp.i18n.__("Frequently Asked Questions","all-in-one-wp-stikcy-anything")),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("Can I make multiple elements sticky?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Yes.")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("How to sticky anything in WordPress ?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Just use .sticky class.","all-in-one-wp-sticky-anything")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("Will All-in-One WP Sticky Anything slow down my website?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("No.","all-in-one-wp-sticky-anything")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("How to disable the sticky?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Just remove class from settings.","all-in-one-wp-sticky-anything")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("I need more help please!","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Please use the support forum.","all-in-one-wp-sticky-anything")," ",React.createElement("a",{href:"https://wordpress.org/support/plugin/all-in-one-wp-sticky-anything/",target:"_blank"},wp.i18n.__("Suport Forum")))))))}function F(){return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-info-outline"}),React.createElement("span",null,wp.i18n.__("Introduction","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content introduction"},React.createElement("div",{class:"settings-row bg-10"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Sticky Anything Quick Overview")),React.createElement("p",null,wp.i18n.__("The Sticky Anything WordPress plugin is a versatile tool designed to help you make any element on your website sticky as users scroll. It's particularly useful for keeping important content like headers, menus, or call-to-action buttons visible, no matter where users are on your page.","all-in-one-sticky-anything"))),React.createElement("div",{class:"settings-col"},React.createElement("iframe",{width:"100%",height:"315",src:"https://www.youtube.com/embed/Y2IEuGCVu0Y?si=fLPBh9a8_C641LMF",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0})))))}function G(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,i,c,l,s=[],r=!0,o=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;r=!1}else for(;!(r=(a=c.call(n)).done)&&(s.push(a.value),s.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{if(!r&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(o)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(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)?H(e,t):void 0}}(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 H(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}var U=wp.element,J=U.useState,z=U.useEffect;function Q(){var e=G(J(localStorage.getItem("ai1wp_gs_tab")||"introduction"),2),t=e[0],n=e[1];z((function(){localStorage.setItem("ai1wp_gs_tab",t)}),[t]);var a=[{id:"introduction",title:wp.i18n.__("Introduction","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-info-outline"},{id:"basic-usage",title:wp.i18n.__("Basic Usage","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-media-document"},{id:"help",title:wp.i18n.__("Help","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-editor-help"},{id:"changelog",title:wp.i18n.__("Changelog","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-editor-ul"}];return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-menu"},a.map((function(e){var a=e.id,i=e.title,c=e.icon;return React.createElement("div",{className:"ai1wpsa-settings-menu-item ".concat(a," ").concat(t===a?"active":""," "),onClick:function(){return n(a)}},React.createElement("i",{className:c}),i)}))),"introduction"===t&&React.createElement(F,null),"basic-usage"===t&&React.createElement(B,null),"help"===t&&React.createElement(Y,null),"changelog"===t&&React.createElement(L,null))}function Z(){return React.createElement("div",{className:"ai1wpsa-app-header"},React.createElement("div",{className:"header-logo"},React.createElement("img",{src:"".concat(ai1wpsa.pluginUrl,"/assets/images/logo.jpg"),alt:wp.i18n.__("All-in-One WP Sticky Anything","all-in-one-wp-sticky-anything")})),React.createElement("div",{className:"header-title"},React.createElement("h2",null,wp.i18n.__("All-in-One WP Sticky Anything","all-in-one-wp-sticky-anything")),React.createElement("p",null,wp.i18n.__("All-in-One WP Sticky Anything on Scroll plugin allows to you make any elements sticky or sticky Header on your website.","all-in-one-wp-sticky-anything")),React.createElement("button",{type:"button",className:"btn ai1wpsa-btn"},wp.i18n.__("Getting Started"))))}wp.element.useState;function V(){return React.createElement("div",{className:"ai1wpsa-getting-started-wrap"},React.createElement(Z,null),React.createElement(Q,null))}var $=jQuery,q={init:function(){$(document).on("click",".accordion-item .accordion-header",q.handleToggleItem)},handleToggleItem:function(e){e.preventDefault(),$(this).closest(".accordion-item").toggleClass("active"),$(this).find("i").toggleClass("dashicons-arrow-up-alt2")}};const K=q;!function(e){var t={init:function(){t.initSettings(),t.initGettingStarted()},ready:function(){K.init()},initSettings:function(){var e=document.getElementById("ai1wpsa-settings");e&&ReactDOM.render(React.createElement(M,null),e)},initGettingStarted:function(){var e=document.getElementById("ai1wpsa-getting-started");e&&ReactDOM.render(React.createElement(V,null),e)}};t.init(),e(document).ready(t.ready)}(jQuery)})();1 (()=>{"use strict";var e=React.createContext();const t=e;var n=e.Provider,a=(e.Consumer,wp.element.useContext),i=wp.components.Spinner;function c(){var e=a(t),n=e.loading,c=(e.setLoading,e.handleSaveSettings);return React.createElement("div",{className:"ai1wpsa-app-header"},React.createElement("div",{className:"header-title"},React.createElement("img",{src:"".concat(ai1wpsa.pluginUrl,"/assets/images/logo.jpg"),alt:wp.i18n.__("All-in-One WP Sticky Anything","all-in-one-wp-sticky-anything")}),React.createElement("span",null,wp.i18n.__("All-in-One WP Sticky Anything Settings","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"header-actions"},React.createElement("buttton",{type:"button",className:"ai1wpsa-btn save-btn",onClick:c},n&&React.createElement(i,null),React.createElement("span",{className:"dashicons dashicons-saved"}),wp.i18n.__("Save","all-in-one-wp-sticky-anything"))))}function l(e){return l="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},l(e)}function s(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 r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=l(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=l(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=wp.element.useContext,m=wp.components,d=(m.FormToggle,m.TextControl);function p(){var e=u(t),n=e.data,a=e.setData,i=n||{},c=i.stickyClass,l=void 0===c?"":c,s=i.stickyZIndex,o=void 0===s?"":s;return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-admin-generic"}),React.createElement("span",null,wp.i18n.__("General Settings","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("Sticky Class","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement(d,{value:l,placeholder:wp.i18n.__("ex: #main-navigaion or .header","all-in-one-wp-sticky-anything"),onChange:function(e){return a(r(r({},n),{},{stickyClass:e}))}}),React.createElement("p",{className:"description"},wp.i18n.__('Write your sticky selector here. Make anything sticky by use sticky class. example: `<div class="sticky">I am sticky</div>`',"all-in-one-wp-sticky-anything")))),React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("z-index","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement(d,{value:o,placeholder:wp.i18n.__("ex: 9999","all-in-one-wp-sticky-anything"),onChange:function(e){return a(r(r({},n),{},{stickyZIndex:e}))}}),React.createElement("p",{className:"description"},wp.i18n.__("Set your desire z-index value for your target element.","all-in-one-wp-sticky-anything"))))))}function y(e){return y="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},y(e)}function g(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 h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){w(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function w(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=y(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=y(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==y(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=wp.element,v=f.useContext,E=f.useEffect,R=wp.components.TextareaControl;function b(){var e=v(t),n=e.data,a=e.setData,i=n.customCss,c=void 0===i?"":i;return E((function(){var e=document.querySelectorAll(".ai1wpsa-custom-css textarea");wp.codeEditor.initialize(e,h(h({},wp.codeEditor.defaultSettings),{},{mode:"css",wordWrap:!0,tabSize:2,autoComplete:{enable:!0,showDescriptions:!0,caseSensitive:!0,autoTrigger:!0,delay:0,maxItems:10,sortBy:"score",maxLength:0,maxResults:10,highlightMatches:!0,maxHighlightLength:0,style:"popup"},showGutter:!0,showPrintMargin:!0,highlightActiveLine:!0,showLineNumbers:!0,enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableCodeFolding:!0,enableCodeFormatting:!0})).codemirror.on("change",(function(e){var t=e.getValue();a((function(e){return h(h({},e),{},{customCss:t})}))}))}),[]),React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-editor-code"}),React.createElement("span",null,wp.i18n.__("Custom CSS","ai1wpsa"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("Custom CSS","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement(R,{value:c,className:"ai1wpsa-custom-css",placeholder:wp.i18n.__("ex: .header{ // your css code here.}","all-in-one-wp-sticky-anything"),onChange:function(e){return a(h(h({},n),{},{customCss:e.target.value}))},rows:12}),React.createElement("p",{className:"description"},wp.i18n.__("Write your custom CSS here.","all-in-one-wp-sticky-anything"))))))}var _=wp.element.useContext;function k(){var e=_(t).handleResetSettings;return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-content-header"},React.createElement("i",{className:"dashicons dashicons-admin-tools"}),React.createElement("span",null,wp.i18n.__("Tools","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-field"},React.createElement("h4",{class:"settings-field-label"},wp.i18n.__("Reset Data","all-in-one-wp-sticky-anything")),React.createElement("div",{class:"settings-field-content"},React.createElement("button",{type:"button",className:"ai1wpsa-btn reset-btn",onClick:e},React.createElement("i",{className:"dashicons dashicons-update"}),wp.i18n.__("Reset","all-in-one-wp-sticky-anything")),React.createElement("p",{className:"description"},wp.i18n.__("Reset all settings to default.","all-in-one-wp-sticky-anything"))))))}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,i,c,l,s=[],r=!0,o=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;r=!1}else for(;!(r=(a=c.call(n)).done)&&(s.push(a.value),s.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{if(!r&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(o)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(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)?N(e,t):void 0}}(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 N(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}var O=wp.element,C=O.useState,j=O.useEffect;function A(){var e=S(C(localStorage.getItem("ai1wp_tab")||"general"),2),t=e[0],n=e[1];j((function(){localStorage.setItem("ai1wp_tab",t)}),[t]);var a=[{id:"general",title:wp.i18n.__("General","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-admin-generic"},{id:"css",title:wp.i18n.__("Custom CSS","all-in-one-wp-sticky-anything"),icon:" dashicons dashicons-editor-code"},{id:"tools",title:wp.i18n.__("Tools","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-admin-tools"}];return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-menu"},a.map((function(e){var a=e.id,i=e.title,c=e.icon;return React.createElement("div",{className:"ai1wpsa-settings-menu-item ".concat(a," ").concat(t===a?"active":""," "),onClick:function(){return n(a)}},React.createElement("i",{className:c}),i)}))),"general"===t&&React.createElement(p,null),"css"===t&&React.createElement(b,null),"tools"===t&&React.createElement(k,null))}function x(e){Swal.fire({title:!1,text:e,icon:"success",toast:!0,timer:1500,timerProgressBar:!0,showConfirmButton:!1,position:"top-end",customClass:{container:"ai1wpsa-swal ai1wpsa-notification"}})}function P(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,i,c,l,s=[],r=!0,o=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;r=!1}else for(;!(r=(a=c.call(n)).done)&&(s.push(a.value),s.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{if(!r&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(o)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(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)?I(e,t):void 0}}(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 I(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}var D=wp.element,W=D.useState,T=D.useEffect;function M(){var e=P(W([]),2),t=e[0],a=e[1],i=P(W(!1),2),l=i[0],s=i[1];return T((function(){s(!0);var e=localStorage.getItem("stickySettings");e?(a(JSON.parse(e)),s(!1)):wp.ajax.post("ai1wpsa_get_settings",{nonce:ai1wpsa.nonce}).done((function(e){var t=e.data;t&&(a(t),localStorage.setItem("stickySettings",JSON.stringify(t))),s(!1)}))}),[]),React.createElement("div",{className:"ai1wpsa-settings-wrap"},React.createElement(n,{value:{data:t,setData:a,loading:l,setLoading:s,handleSaveSettings:function(){wp.ajax.post("ai1wpsa_save_settings",{data:t,nonce:ai1wpsa.nonce}).done((function(e){x(wp.i18n.__("Settings saved successfully.","all-in-one-wp-sticky-anything")),localStorage.setItem("stickySettings",JSON.stringify(t))})).fail((function(e){console.log(e)}))},handleResetSettings:function(){x(wp.i18n.__("Settings Reset successfully.","all-in-one-wp-sticky-anything")),a({}),localStorage.setItem("stickySettings",JSON.stringify({}))}}},React.createElement(c,null),!l&&React.createElement(A,null)))}function B(){return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-media-document"}),React.createElement("span",null,wp.i18n.__("Basic Usage","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("div",{class:"settings-row bg-10"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Sticky Header")),React.createElement("p",null,wp.i18n.__("You can make Sticky Header easily by All-in-one WP Sticky Anyting. You need to do some step for it.","all-in-one-sticky-anything")),React.createElement("ul",null,React.createElement("li",null,"1. Go to WordPress Dashboard > Sticky Anything settings."),React.createElement("li",null,'2. In the "Sticky Class" field, enter the CSS selector of your header. Must you need to provide a valid css class or id selector. example: .header'),React.createElement("li",null,'3. If sticky header z-index issue on scroll, then you need to configure the "Z-index" field. Write the max big integer value. ex: 9999999'),React.createElement("li",null,"4. Now you can click save button on the header."))),React.createElement("div",{class:"settings-col"})),React.createElement("div",{class:"settings-row bg-9"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Sticky Element/ Sidebar")),React.createElement("p",null,wp.i18n.__("You can make any sticky element or sidebar easily on your WordPress website by All-in-one WP Sticky Anyting. Integration is super easy. You need add a class on your target element. ex: sticky.","all-in-one-sticky-anything"))),React.createElement("div",{class:"settings-col"})),React.createElement("div",{class:"settings-row bg-9"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Custom CSS")),React.createElement("p",null,wp.i18n.__("If needed, add custom CSS to fine-tune the appearance and behavior of the sticky header. Your custom css need to paste on the Custom CSS box and Click Save button.","all-in-one-sticky-anything"))),React.createElement("div",{class:"settings-col"}))))}function L(){var e=[{version:"v1.0.0",date:"16-02-2022",new:[wp.i18n.__("Initial Version","all-in-one-wp-sticky-anything")],fix:[],enhancement:[]},{version:"v1.0.1",date:"07-09-2024",new:[wp.i18n.__("Z-Index","all-in-one-wp-sticky-anything"),wp.i18n.__("Custom CSS","all-in-one-wp-sticky-anything"),wp.i18n.__("Reset Settings","all-in-one-wp-sticky-anything")],enhancement:[wp.i18n.__("Improved Dashboard","all-in-one-wp-sticky-anything")]},{version:"v1.0.2",date:"07-09-2024",fix:[wp.i18n.__("Migrate old data","all-in-one-wp-sticky-anything")]}];return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-editor-ul"}),React.createElement("span",null,wp.i18n.__("Changelog","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content changelog"},React.createElement("h2",null,wp.i18n.__("What's new in the latest changes","all-in-one-wp-stikcy-anything")),React.createElement("p",null,wp.i18n.__("Check out the latest change logs.","all-in-one-wp-sticky-anything")),e.map((function(e){var t,n,a;return React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("span",{className:"version"},null==e?void 0:e.version),React.createElement("h3",null,null==e?void 0:e.date),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},(null==e||null===(t=e.new)||void 0===t?void 0:t.length)>0&&React.createElement("div",{className:"new"},React.createElement("h3",null,wp.i18n.__("New Features","all-in-one-wp-sticky-anything")),null==e?void 0:e.new.map((function(e,t){return React.createElement("p",{key:t},React.createElement("i",{className:"dashicons dashicons-plus-alt2"}),e)}))),(null==e||null===(n=e.fix)||void 0===n?void 0:n.length)>0&&React.createElement("div",{className:"fix"},React.createElement("h3",null,wp.i18n.__("Fixs","all-in-one-wp-sticky-anything")),null==e?void 0:e.fix.map((function(e,t){return React.createElement("p",{key:t},React.createElement("i",{className:"dashicons dashicons-yes"}),e)}))),(null==e||null===(a=e.enhancement)||void 0===a?void 0:a.length)>0&&React.createElement("div",{className:"enhancement"},React.createElement("h3",null,wp.i18n.__("Enhancements","all-in-one-wp-sticky-anything")),null==e?void 0:e.enhancement.map((function(e,t){return React.createElement("p",{key:t},React.createElement("i",{className:"dashicons dashicons-star-filled"}),e)})))))}))))}wp.element.useState;function Y(){return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-content-header"},React.createElement("i",{className:"dashicons dashicons-editor-help"}),React.createElement("span",null,wp.i18n.__("Help","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content"},React.createElement("h2",null,wp.i18n.__("Frequently Asked Questions","all-in-one-wp-stikcy-anything")),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("Can I make multiple elements sticky?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Yes.")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("How to sticky anything in WordPress ?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Just use .sticky class.","all-in-one-wp-sticky-anything")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("Will All-in-One WP Sticky Anything slow down my website?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("No.","all-in-one-wp-sticky-anything")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("How to disable the sticky?","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Just remove class from settings.","all-in-one-wp-sticky-anything")))),React.createElement("div",{className:"accordion-item"},React.createElement("div",{className:"accordion-header"},React.createElement("h3",null,wp.i18n.__("I need more help please!","all-in-one-wp-stikcy-anything")),React.createElement("i",{className:"dashicons dashicons-arrow-down-alt2"})),React.createElement("div",{className:"accordion-body"},React.createElement("p",null,wp.i18n.__("Please use the support forum.","all-in-one-wp-sticky-anything")," ",React.createElement("a",{href:"https://wordpress.org/support/plugin/all-in-one-wp-sticky-anything/",target:"_blank"},wp.i18n.__("Suport Forum")))))))}function F(){return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{class:"ai1wpsa-settings-content-header"},React.createElement("i",{class:"dashicons dashicons-info-outline"}),React.createElement("span",null,wp.i18n.__("Introduction","all-in-one-wp-sticky-anything"))),React.createElement("div",{className:"settings-content introduction"},React.createElement("div",{class:"settings-row bg-10"},React.createElement("div",{class:"settings-col"},React.createElement("h2",null,wp.i18n.__("Sticky Anything Quick Overview")),React.createElement("p",null,wp.i18n.__("The Sticky Anything WordPress plugin is a versatile tool designed to help you make any element on your website sticky as users scroll. It's particularly useful for keeping important content like headers, menus, or call-to-action buttons visible, no matter where users are on your page.","all-in-one-sticky-anything"))),React.createElement("div",{class:"settings-col"},React.createElement("iframe",{width:"100%",height:"315",src:"https://www.youtube.com/embed/Y2IEuGCVu0Y?si=fLPBh9a8_C641LMF",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0})))))}function G(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,i,c,l,s=[],r=!0,o=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;r=!1}else for(;!(r=(a=c.call(n)).done)&&(s.push(a.value),s.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{if(!r&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(o)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(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)?H(e,t):void 0}}(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 H(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}var U=wp.element,J=U.useState,z=U.useEffect;function Q(){var e=G(J(localStorage.getItem("ai1wp_gs_tab")||"introduction"),2),t=e[0],n=e[1];z((function(){localStorage.setItem("ai1wp_gs_tab",t)}),[t]);var a=[{id:"introduction",title:wp.i18n.__("Introduction","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-info-outline"},{id:"basic-usage",title:wp.i18n.__("Basic Usage","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-media-document"},{id:"help",title:wp.i18n.__("Help","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-editor-help"},{id:"changelog",title:wp.i18n.__("Changelog","all-in-one-wp-sticky-anything"),icon:"dashicons dashicons-editor-ul"}];return React.createElement("div",{className:"ai1wpsa-settings-content"},React.createElement("div",{className:"ai1wpsa-settings-menu"},a.map((function(e){var a=e.id,i=e.title,c=e.icon;return React.createElement("div",{className:"ai1wpsa-settings-menu-item ".concat(a," ").concat(t===a?"active":""," "),onClick:function(){return n(a)}},React.createElement("i",{className:c}),i)}))),"introduction"===t&&React.createElement(F,null),"basic-usage"===t&&React.createElement(B,null),"help"===t&&React.createElement(Y,null),"changelog"===t&&React.createElement(L,null))}function Z(){return React.createElement("div",{className:"ai1wpsa-app-header"},React.createElement("div",{className:"header-logo"},React.createElement("img",{src:"".concat(ai1wpsa.pluginUrl,"/assets/images/logo.jpg"),alt:wp.i18n.__("All-in-One WP Sticky Anything","all-in-one-wp-sticky-anything")})),React.createElement("div",{className:"header-title"},React.createElement("h2",null,wp.i18n.__("All-in-One WP Sticky Anything","all-in-one-wp-sticky-anything")),React.createElement("p",null,wp.i18n.__("All-in-One WP Sticky Anything on Scroll plugin allows to you make any elements sticky or sticky Header on your website.","all-in-one-wp-sticky-anything")),React.createElement("button",{type:"button",className:"btn ai1wpsa-btn"},wp.i18n.__("Getting Started"))))}wp.element.useState;function V(){return React.createElement("div",{className:"ai1wpsa-getting-started-wrap"},React.createElement(Z,null),React.createElement(Q,null))}var $=jQuery,q={init:function(){$(document).on("click",".accordion-item .accordion-header",q.handleToggleItem)},handleToggleItem:function(e){e.preventDefault(),$(this).closest(".accordion-item").toggleClass("active"),$(this).find("i").toggleClass("dashicons-arrow-up-alt2")}};const K=q;!function(e){var t={init:function(){t.initSettings(),t.initGettingStarted()},ready:function(){K.init()},initSettings:function(){var e=document.getElementById("ai1wpsa-settings");e&&ReactDOM.render(React.createElement(M,null),e)},initGettingStarted:function(){var e=document.getElementById("ai1wpsa-getting-started");e&&ReactDOM.render(React.createElement(V,null),e)}};t.init(),e(document).ready(t.ready)}(jQuery)})(); -
all-in-one-wp-sticky-anything/trunk/assets/js/frontend.js
r3147850 r3147994 1 (()=>{var t,o;t=jQuery,o=function(){var o=ai1wpsa,s=o.stickyData,e=o.isLoggedIn,i=s.stickyClass,a=s.stickyZIndex,c=e?32:0;jQuery(".sticky").stickr({duration:0,offsetTop:0,offsetBottom:30}),jQuery(i).stickr({duration:0,offsetTop:c,offsetBottom:30,closeButton:! 0}),t(i).css("z-index",a)},t(document).ready(o)})();1 (()=>{var t,o;t=jQuery,o=function(){var o=ai1wpsa,s=o.stickyData,e=o.isLoggedIn,i=s.stickyClass,a=s.stickyZIndex,c=e?32:0;jQuery(".sticky").stickr({duration:0,offsetTop:0,offsetBottom:30}),jQuery(i).stickr({duration:0,offsetTop:c,offsetBottom:30,closeButton:!1}),t(i).css("z-index",a)},t(document).ready(o)})(); -
all-in-one-wp-sticky-anything/trunk/includes/Install.php
r3147850 r3147994 22 22 23 23 /** 24 * Plugin upgrade 25 * 26 * @since 1.0.2 27 */ 28 public static function upgrade() { 29 // Check if the upgrade has already been done 30 $upgrade_done = get_option('ai1wpsa_upgrade'); 31 32 // If the upgrade hasn't been done yet, proceed 33 if (!$upgrade_done) { 34 // sticky class 35 $sticky_class = get_option('stickyclass'); 36 37 if (!empty($sticky_class)) { 38 $data = array( 39 'stickyClass' => $sticky_class 40 ); 41 42 update_option('ai1wpsa_settings', $data); 43 } 44 45 // Set the flag to indicate the upgrade has been completed 46 update_option('ai1wpsa_upgrade', 1); 47 } 48 } 49 50 /** 24 51 * Create plugin settings default data 25 52 * … … 36 63 } 37 64 38 if (empty($settings)){65 if (empty($settings)) { 39 66 update_option('ai1wpsa_settings', ''); 40 67 } -
all-in-one-wp-sticky-anything/trunk/includes/Main.php
r3147850 r3147994 52 52 private function init_hooks() { 53 53 54 // migrate old data 55 add_action('admin_init', [$this, 'migrate_old_data']); 56 54 57 add_action('admin_notices', [$this, 'print_notices'], 15); 55 58 … … 59 62 // Plugin action links 60 63 add_filter('plugin_action_links_' . plugin_basename(AI1WPSA_FILE), [$this, 'plugin_action_links']); 64 } 65 66 /** 67 * Migrate Data 68 * 69 * @return void 70 */ 71 public function migrate_old_data(){ 72 if ( ! class_exists( 'AI1WPSA\Install' ) ) { 73 require_once AI1WPSA_INCLUDES . '/Install.php'; 74 } 75 76 Install::upgrade(); 61 77 } 62 78 -
all-in-one-wp-sticky-anything/trunk/languages/all-in-one-wp-sticky-anything.pot
r3147850 r3147994 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: All-in-One WP Sticky Anything 1.0. 1\n"5 "Project-Id-Version: All-in-One WP Sticky Anything 1.0.2\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/all-in-one-wp-sticky-anything\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2024-09-07T 05:47:03+00:00\n"12 "POT-Creation-Date: 2024-09-07T11:41:15+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.10.0\n" … … 51 51 52 52 #: includes/Admin.php:38 53 #: includes/Main.php: 9853 #: includes/Main.php:114 54 54 msgid "Settings" 55 55 msgstr "" … … 170 170 171 171 #: assets/js/admin.js:1 172 msgid "Migrate old data" 173 msgstr "" 174 175 #: assets/js/admin.js:1 172 176 msgid "Changelog" 173 177 msgstr "" -
all-in-one-wp-sticky-anything/trunk/readme.txt
r3147850 r3147994 1 === All-in-One WP Sticky Anything - Sticky Header ===1 === All-in-One WP Sticky Anything - Sticky Menu & Sticky Header === 2 2 Contributors: monzuralam 3 3 Tags: sticky, wp-sticky, sticky-anything, sticky menu, sticky header, sticky bar, wpsticky, all-in-one … … 5 5 Tested up to: 6.6.1 6 6 Requires PHP: 5.6 7 Stable tag: 1.0. 17 Stable tag: 1.0.2 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 14 14 == Description == 15 15 16 = All-in-One WP Sticky Anything - Sticky Header =16 = All-in-One WP Sticky Anything - Sticky Menu & Sticky Header = 17 17 18 18 All-in-One WP Sticky Anything on Scroll plugin allows to you make any elements sticky on your website. It also works in Elementor page builder. … … 24 24 25 25 = 🔥 Features of All-in-One WP Sticky Anything = 26 * **📌 Any Element Can Be Made Sticky**: The user can make any element sticky by using this plugin. When you want to create an element sticky, just pick CSS class name, class id, or CSS selector. 27 * **🔝 Z-index**: If other elements on the page overlap or peek through your sticky element, you can easily adjust the Z-index to ensure it stays on top. 28 * **✏️ Custom CSS**: All-in-One Sticky Anything allows you to customize the appearance of the website using custom CSS. 29 * **⏱️ Quick to Set Up**: It doesn’t require any pro skills to download and install the plugin. You can download itself and install it on your WordPress dashboard. 30 * **⚡ Blazing Fast**: Make anything sticky element in one or less time. 31 * **Works with Everything**: All-in-One Sticky Plugin is compatible with most common themes, page builder’s plugin. We have tested it for many times and perfected it for you. It is perfectly working in Elementor page builder. 32 * **Easy to use**: There are no complex settings for using it. You just pick class name or id and place it into fields and save it. There are other ways to sticky just use sticky class. 26 **📌 Any Element Can Be Made Sticky**: The user can make any element sticky by using this plugin. When you want to create an element sticky, just pick CSS class name, class id, or CSS selector. 27 28 **🔝 Z-index**: If other elements on the page overlap or peek through your sticky element, you can easily adjust the Z-index to ensure it stays on top. 29 30 **✏️ Custom CSS**: All-in-One Sticky Anything allows you to customize the appearance of the website using custom CSS. 31 32 **⏱️ Quick to Set Up**: It doesn’t require any pro skills to download and install the plugin. You can download itself and install it on your WordPress dashboard. 33 34 **⚡ Blazing Fast**: Make anything sticky element in one or less time. 35 36 **🛠️ Works with Everything**: All-in-One Sticky Plugin is compatible with most common themes, page builder’s plugin. We have tested it for many times and perfected it for you. It is perfectly working in Elementor page builder. 37 38 **💡 Easy to use**: There are no complex settings for using it. You just pick class name or id and place it into fields and save it. There are other ways to sticky just use sticky class. 33 39 34 40 = 🌟 Benefits of All-in-One WP Sticky Anything = … … 86 92 * **New:** Custom Css option has been added. 87 93 * **New:** Reset Settings option has been added. 94 95 = 1.0.2 (07-09-2024) = 96 * **Fix:** Migrate old data.
Note: See TracChangeset
for help on using the changeset viewer.