diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
new file mode 100644
index 0000000..6c6d6b9
--- /dev/null
+++ b/.github/copilot-instructions.md
@@ -0,0 +1,144 @@
+# blÖcks REDAXO Addon
+
+Always follow these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.
+
+blÖcks is a REDAXO CMS addon that adds features to content modules including drag & drop reordering, cut & copy functionality, and online/offline status management. The addon uses a Node.js/Grunt build system for frontend asset compilation.
+
+## Working Effectively
+
+### Initial Setup
+- Bootstrap the development environment:
+ - Node.js v20+ and npm are pre-installed
+ - Run `npm install` -- takes ~35 seconds, may show vulnerabilities that don't affect functionality
+ - Grunt CLI is pre-installed globally
+
+### Build Process
+- **Development build with watch mode:**
+ - `grunt` -- NEVER CANCEL: runs build then starts watch mode indefinitely. Use Ctrl+C to stop when done.
+ - Processes LESS → CSS, concatenates/uglifies JS, syncs assets to correct directories
+ - Watch mode automatically rebuilds when source files change
+
+- **Production build:**
+ - `grunt --production` -- takes ~2 seconds, NEVER CANCEL: Set timeout to 30+ seconds
+ - Compresses CSS, uglifies JS, generates distribution-ready assets
+ - Does not include source maps
+
+### Asset Synchronization
+- `./rsync.sh` -- takes <1 second
+ - Syncs compiled assets from individual plugin directories to main assets directory
+ - Uses rsync.exclude file to filter files
+ - Required after manual asset changes
+
+### Release Management
+- **Version updates:**
+ - `./version.sh "4.0.3"` -- DOES NOT WORK on Linux (macOS-specific sed syntax)
+ - Updates version numbers in .php and .yml files
+ - Document this limitation: "version.sh script fails on Linux due to macOS-specific sed syntax"
+
+- **Create release package:**
+ - `./zip.sh` -- takes ~2 seconds, NEVER CANCEL: Set timeout to 30+ seconds
+ - Runs production build first, then creates zip file in parent directory
+ - Excludes development files (node_modules, assets_src, .git, etc.)
+ - Creates bloecks.zip ready for REDAXO installer
+
+## Validation
+
+### Build Validation
+- Always run `grunt --production` after making changes to verify assets compile correctly
+- Check that files are created in assets/css/ and assets/js/ directories
+- Verify plugin assets are synced to correct locations after rsync
+
+### Manual Testing Scenarios
+- This is a backend-focused addon - no frontend UI to test
+- Verify that build process completes without errors
+- Check that all LESS files compile to CSS without syntax errors
+- Confirm JavaScript files concatenate and uglify properly
+
+## File Structure & Navigation
+
+### Key Directories
+- `/lib/` - Core PHP classes (bloecks_abstract, bloecks_backend, Bloecks)
+- `/assets_src/` - Source files for compilation (LESS, JS)
+- `/assets/` - Compiled output files (CSS, JS)
+- `/plugins/cutncopy/` - Cut & copy functionality plugin
+- `/plugins/dragndrop/` - Drag & drop reordering plugin
+- `/pages/` - Admin interface pages
+- `/lang/` - Translation files
+
+### Important Files
+- `package.yml` - Addon metadata and dependencies
+- `boot.php` - Addon initialization
+- `Gruntfile.js` - Build configuration
+- `package.json` - Node.js dependencies
+- `README.developers.md` - Development documentation (German)
+
+### Asset Processing
+- Source files in `**/assets_src/less/be.less` → compiled to `**/assets/css/be.css`
+- Source files in `**/assets_src/js/be/**/*.js` → concatenated to `**/assets/js/be.js`
+- Frontend files follow same pattern with `fe.less` and `fe/` directory
+- Plugin assets follow same structure within their directories
+
+## Common Tasks
+
+The following are validated commands and their expected outputs:
+
+### Install Dependencies
+```bash
+npm install
+# Takes ~35 seconds
+# Shows deprecation warnings and 14 vulnerabilities - these don't affect functionality
+# Use timeout of 60+ seconds
+```
+
+### Development Build
+```bash
+grunt
+# Compiles assets then starts watch mode
+# Initial build takes ~2 seconds, then waits for file changes
+# Stop with Ctrl+C when done
+# NEVER CANCEL: Set timeout to indefinite for watch mode
+```
+
+### Production Build
+```bash
+grunt --production
+# Takes ~2 seconds
+# Outputs: "Done."
+# Creates minified, production-ready assets
+# NEVER CANCEL: Set timeout to 30+ seconds
+```
+
+### Create Release
+```bash
+./zip.sh
+# Takes ~2 seconds total (includes grunt --production)
+# Creates ../bloecks.zip file ready for distribution
+# NEVER CANCEL: Set timeout to 30+ seconds
+```
+
+### Sync Assets
+```bash
+./rsync.sh
+# Takes <1 second
+# No output on success
+```
+
+## Repository Information
+
+### Technology Stack
+- **Backend:** PHP 7+ (REDAXO CMS addon)
+- **Frontend Build:** Node.js, Grunt, LESS, UglifyJS
+- **Asset Management:** rsync for directory synchronization
+
+### Dependencies
+- REDAXO ^5.5.0
+- PHP >=7
+- structure/content ^2.1.0
+- Node.js for build system
+
+### Plugin Architecture
+- `cutncopy` - Copy and paste content blocks between articles
+- `dragndrop` - Drag and drop reordering of content blocks
+- Status management was deprecated in v3.0.0 (now in REDAXO core)
+
+Always run production builds and asset sync after making changes to ensure compatibility with the REDAXO addon system.
\ No newline at end of file
diff --git a/assets/css/be.css.map b/assets/css/be.css.map
deleted file mode 100644
index def2c17..0000000
--- a/assets/css/be.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["assets_src/less/be.less",""],"names":[],"mappings":"AAAA;EACI,oBAAA;CCCH;ADCO;EACI,WAAA;CCCX;ADHG;EAKQ,gBAAA;CCCX;ADID;EACI,cAAA;CCFH;ADKD;EACI,uBAAA;EACA,iBAAA;OAAA,YAAA;CCHH","file":"to.css","sourcesContent":[null,".bloecks--table {\n table-layout: fixed;\n}\n.bloecks--table--cell.is--label {\n width: 40%;\n}\n.bloecks--table--cell input {\n max-width: 100%;\n}\n.is--hidden {\n display: none;\n}\n.bloecks--code {\n font-family: monospace;\n tab-size: 2;\n}\n/*# sourceMappingURL=styles.css.map */"]}
\ No newline at end of file
diff --git a/assets/js/be.js.map b/assets/js/be.js.map
deleted file mode 100644
index b9ab85e..0000000
--- a/assets/js/be.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../assets_src/js/be/code.js","../../assets_src/js/be/fragments.js","../../assets_src/js/be/scripts.js"],"names":[],"mappings":"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","file":"be.js","sourcesContent":["var bloecks_code = {\n init : function()\n {\n return; \n console.log('code');\n $(document).on({\n 'keydown.bloecks' : function(e)\n {\n console.log(e);\n console.log('Key pressed ' + e.keyCode + ' (and SHIFT is ' + (e.shiftKey === true ? '' : 'not ') + 'pressed');\n switch(e.keyCode)\n {\n case 9 :\n if(e.shiftKey)\n {\n bloecks_code.jumpToPreviousTab(this);\n }\n else\n {\n bloecks_code.insertTextAtCursor(this, \"\\t\");\n }\n return false;\n break;\n case 13 :\n return bloecks_code.insertLinebreakAtCursor(this);\n break;\n }\n }\n }, 'textarea.bloecks--code');\n },\n\n insertLinebreakAtCursor : function (el) {\n var val = el.value, endIndex, range;\n if (typeof el.selectionStart != \"undefined\" && typeof el.selectionEnd != \"undefined\")\n {\n before = val.slice(0, el.selectionStart);\n matches = before.match(/(\\n|^)(\\t+|\\s+)?[^\\n]+$/);\n console.log(matches);\n if(matches && typeof(matches[2]) != 'undefined')\n {\n this.insertTextAtCursor(el, \"\\n\" + matches[2]);\n return false;\n }\n }\n else if (typeof document.selection != \"undefined\" && typeof document.selection.createRange != \"undefined\")\n {\n el.focus();\n range = document.selection.createRange();\n range.collapse(false);\n console.log(\"RANGE\");\n console.log(range);\n range.select();\n }\n\n return true;\n },\n\n jumpToPreviousTab : function(el)\n {\n var val = el.value, endIndex, range;\n if (typeof el.selectionStart != \"undefined\" && typeof el.selectionEnd != \"undefined\")\n {\n before = val.slice(0, el.selectionStart);\n\n matches = before.match(/(\\n|^)(.*)[^\\n]+$/);\n console.log(matches);\n }\n else if (typeof document.selection != \"undefined\" && typeof document.selection.createRange != \"undefined\")\n {\n el.focus();\n range = document.selection.createRange();\n range.collapse(false);\n console.log(\"RANGE\");\n console.log(range);\n range.select();\n }\n },\n\n insertTextAtCursor : function (el, text) {\n var val = el.value, endIndex, range;\n if (typeof el.selectionStart != \"undefined\" && typeof el.selectionEnd != \"undefined\")\n {\n endIndex = el.selectionEnd;\n el.value = val.slice(0, el.selectionStart) + text + val.slice(endIndex);\n el.selectionStart = el.selectionEnd = endIndex + text.length;\n }\n else if (typeof document.selection != \"undefined\" && typeof document.selection.createRange != \"undefined\")\n {\n el.focus();\n range = document.selection.createRange();\n range.collapse(false);\n range.text = text;\n range.select();\n }\n }\n}\n\n$(document).on('ready.bloecks', $.proxy(bloecks_code.init, bloecks_code));\n","var bloecks_fragments = {\n init : function()\n {\n console.log('fragments');\n this.addToggleButtons();\n },\n\n addToggleButtons : function()\n {\n $(document).on({\n 'change.bloecks' : function(e)\n {\n bloecks_fragments.toggle(this);\n }\n }, '.bloecks--setting input[type=\"checkbox\"][name*=\"[active]\"]');\n },\n\n toggle : function(el)\n {\n var on = $(el).is(':checked'),\n id = $(el).attr('id');\n\n if(on)\n {\n $('.' + id).removeClass('is--hidden');\n }\n else\n {\n $('.' + id).addClass('is--hidden');\n }\n }\n}\n\n$(document).on('ready.bloecks', $.proxy(bloecks_fragments.init, bloecks_fragments));\n$(document).on('rex:ready', function(e){\n $('.bloecks--setting input[type=\"checkbox\"][name*=\"[active]\"]').each(function(i, el){\n bloecks_fragments.toggle(el);\n });\n});\n","var bloecks = {\n\n plugins : [],\n\n init : function()\n {\n // get clean plugins list\n var plugins = this.getPlugins(true),\n plugins_length = plugins.length;\n\n for(var i = 0; i < plugins_length; i++)\n {\n // for each plugin - execute init routine\n this[plugins[i]].init();\n }\n },\n\n getSliceId : function(slice)\n {\n var id = null;\n\n if(!$(slice).is('.rex-slice-output'))\n {\n if($(slice).parents('.rex-slice-output').length)\n {\n slice = $(slice).parents('.rex-slice-output').first();\n }\n else if($(slice).find('.rex-slice-output').length == 1)\n {\n slice = $(slice).find('.rex-slice-output').first();\n }\n else\n {\n slice = null;\n }\n }\n\n if(slice)\n {\n if($(slice).find('[href*=\"slice_id=\"]').length)\n {\n id = parseInt($(slice).find('[href*=\"slice_id=\"]').first().attr('href').replace(/.*slice_id=(\\d+).*/,'$1'));\n }\n else if($(slice).attr('id'))\n {\n id = parseInt($(slice).attr('id').replace(/[^0-9]/g, ''))\n }\n }\n\n return id;\n },\n\n executePjax : function(url)\n {\n var matches = url.match(/(#[^\\?\\&]+)/);\n if(matches)\n {\n url = url.replace(/(#[^\\?\\&]+)/, '') + matches[0];\n }\n console.log('PJAXing ' + url);\n\n $.pjax(\n {\n url: url,\n container: '#rex-js-page-main-content',\n fragment : '#rex-js-page-main-content',\n push : false\n });\n },\n\n getPlugins : function(initializable)\n {\n initializable = initializable === true;\n return this.plugins.filter(function(value){\n // a plugin name is only valid if it's (a) a string, (b) a method exists in main js object and (c) if it contains an init() routine\n return typeof(value) == 'string' && typeof(bloecks[value]) != 'undefined' && (!initializable || typeof(bloecks[value].init) == 'function');\n });\n\n },\n\n addPlugin : function(name, object, priority)\n {\n this[name] = object; // add plugin object to main object\n\n // get valid priority\n priority = parseInt(priority);\n priority = Math.max(isNaN(priority) ? 0 : priority, this.plugins.length);\n\n // fill up plugins array if priority is greater than plugins array length\n if(priority > this.plugins.length)\n {\n this.plugins = this.plugins.concat(Array.apply(null, Array(priority - this.plugins.length)));\n }\n\n // add plugin name to plugins array\n this.plugins.splice(priority, 0, name);\n }\n}\n\n$(document).on('rex:ready', $.proxy(bloecks.init, bloecks));\n"]}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 70e146d..9a94352 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1621,6 +1621,7 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
+ "optional": true,
"dependencies": {
"minimist": "^1.2.6"
},
@@ -1860,6 +1861,7 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
+ "optional": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
diff --git a/plugins/cutncopy/assets/css/be.css.map b/plugins/cutncopy/assets/css/be.css.map
deleted file mode 100644
index 53ec4bc..0000000
--- a/plugins/cutncopy/assets/css/be.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["plugins/cutncopy/assets_src/less/be.less",""],"names":[],"mappings":"AAAA;;EAEI,YAAA;EACA,iBAAA;EACA,mBAAA;CCCH;ADCG;;;;EAEI,YAAA;EACA,oBAAA;EACA,sBAAA;CCGP;ADAG;;EACI,0BAAA;EACA,YAAA;CCGP;ADCD;;EAEI,aAAA;CCCH;ADED;;EAEI,iBAAA;CCAH;ADGD;;EAEI,iBAAA;CCDH;ADID;EACI,8BAAA;CCFH;ADKO;EACI,sBAAA;EACA,qEAAA;EACA,mBAAA;EACA,qBAAA;EACA,oCAAA;EACA,mCAAA;EACA,iBAAA;EACA,oBAAA;EACA,eAAA;CCHX;ADOG;EACI,iBAAA;CCLP;ADkDD;;EArCQ,iCAAA;EACA,wCAAA;EACA,oCAAA;CCTP;ADWO;;;;EAEI,iCAAA;EACA,wCAAA;EACA,oCAAA;CCPX;ADUO;;EACI,iCAAA;EACA,0BAAA;EACA,sBAAA;CCPX;ADSW;;;;EAEI,iCAAA;EACA,0BAAA;EACA,sBAAA;CCLf;ADsBD;EAXQ,oBAAA;EACA,6BAAA;CCRP;ADWW;EACI,eAAA;CCTf;ADmBD;EACI;;IA1CI,iCAAA;IACA,wCAAA;IACA,oCAAA;GC2BL;EDzBK;;;;IAEI,iCAAA;IACA,wCAAA;IACA,oCAAA;GC6BT;ED1BK;;IACI,iCAAA;IACA,0BAAA;IACA,sBAAA;GC6BT;ED3BS;;;;IAEI,iCAAA;IACA,0BAAA;IACA,sBAAA;GC+Bb;EDTC;IAhBI,oBAAA;IACA,6BAAA;GC4BL;EDzBS;IACI,eAAA;GC2Bb;CACF","file":"to.css","sourcesContent":[null,".btn-copy,\n.btn-cut {\n color: #000;\n background: #fff;\n border-color: #ccc;\n}\n.btn-copy:hover,\n.btn-cut:hover,\n.btn-copy:focus,\n.btn-cut:focus {\n color: #000;\n background: #e6e6e6;\n border-color: #adadad;\n}\n.btn-copy[data-bloecks-cutncopy-iscopied=\"true\"],\n.btn-cut[data-bloecks-cutncopy-iscopied=\"true\"] {\n background-color: #4b9ad9;\n color: #fff;\n}\n.btn-copy.disabled,\n.btn-cut.disabled {\n opacity: 0.2;\n}\n.fa-copy:before,\n.rex-icon-copy:before {\n content: \"\\f0c5\";\n}\n.fa-cut:before,\n.rex-icon-cut:before {\n content: \"\\f0c4\";\n}\n.bloecks-cutncopy-clipboard-slice {\n border-bottom: 1px solid #ccc;\n}\n.bloecks-cutncopy-clipboard-slice a:before {\n display: inline-block;\n font: normal normal normal 14px/1 \"Font Awesome 6 Free\", FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n content: \"\\f0c5\";\n margin-right: 0.5em;\n color: #4b9ad9;\n}\n.bloecks-cutncopy-clipboard-slice.is--cut a:before {\n content: \"\\f0c4\";\n}\nbody.rex-theme-dark .btn-copy,\nbody.rex-theme-dark .btn-cut {\n color: rgba(255, 255, 255, 0.75);\n background-color: rgba(46, 59, 74, 0.8);\n border-color: rgba(30, 39, 49, 0.8);\n}\nbody.rex-theme-dark .btn-copy:hover,\nbody.rex-theme-dark .btn-cut:hover,\nbody.rex-theme-dark .btn-copy:focus,\nbody.rex-theme-dark .btn-cut:focus {\n color: rgba(255, 255, 255, 0.75);\n background-color: rgba(54, 69, 86, 0.8);\n border-color: rgba(38, 49, 61, 0.8);\n}\nbody.rex-theme-dark .btn-copy[data-bloecks-cutncopy-iscopied=\"true\"],\nbody.rex-theme-dark .btn-cut[data-bloecks-cutncopy-iscopied=\"true\"] {\n color: rgba(255, 255, 255, 0.75);\n background-color: #1867a6;\n border-color: #0b304d;\n}\nbody.rex-theme-dark .btn-copy[data-bloecks-cutncopy-iscopied=\"true\"]:hover,\nbody.rex-theme-dark .btn-cut[data-bloecks-cutncopy-iscopied=\"true\"]:hover,\nbody.rex-theme-dark .btn-copy[data-bloecks-cutncopy-iscopied=\"true\"]:focus,\nbody.rex-theme-dark .btn-cut[data-bloecks-cutncopy-iscopied=\"true\"]:focus {\n color: rgba(255, 255, 255, 0.75);\n background-color: #1a72b8;\n border-color: #0b304d;\n}\nbody.rex-theme-dark .bloecks-cutncopy-clipboard-slice {\n padding-bottom: 5px;\n border-bottom-color: #1b232c;\n}\nbody.rex-theme-dark .bloecks-cutncopy-clipboard-slice a:before {\n color: #1867a6;\n}\n@media (prefers-color-scheme: dark) {\n body.rex-has-theme:not(.rex-theme-light) .btn-copy,\n body.rex-has-theme:not(.rex-theme-light) .btn-cut {\n color: rgba(255, 255, 255, 0.75);\n background-color: rgba(46, 59, 74, 0.8);\n border-color: rgba(30, 39, 49, 0.8);\n }\n body.rex-has-theme:not(.rex-theme-light) .btn-copy:hover,\n body.rex-has-theme:not(.rex-theme-light) .btn-cut:hover,\n body.rex-has-theme:not(.rex-theme-light) .btn-copy:focus,\n body.rex-has-theme:not(.rex-theme-light) .btn-cut:focus {\n color: rgba(255, 255, 255, 0.75);\n background-color: rgba(54, 69, 86, 0.8);\n border-color: rgba(38, 49, 61, 0.8);\n }\n body.rex-has-theme:not(.rex-theme-light) .btn-copy[data-bloecks-cutncopy-iscopied=\"true\"],\n body.rex-has-theme:not(.rex-theme-light) .btn-cut[data-bloecks-cutncopy-iscopied=\"true\"] {\n color: rgba(255, 255, 255, 0.75);\n background-color: #1867a6;\n border-color: #0b304d;\n }\n body.rex-has-theme:not(.rex-theme-light) .btn-copy[data-bloecks-cutncopy-iscopied=\"true\"]:hover,\n body.rex-has-theme:not(.rex-theme-light) .btn-cut[data-bloecks-cutncopy-iscopied=\"true\"]:hover,\n body.rex-has-theme:not(.rex-theme-light) .btn-copy[data-bloecks-cutncopy-iscopied=\"true\"]:focus,\n body.rex-has-theme:not(.rex-theme-light) .btn-cut[data-bloecks-cutncopy-iscopied=\"true\"]:focus {\n color: rgba(255, 255, 255, 0.75);\n background-color: #1a72b8;\n border-color: #0b304d;\n }\n body.rex-has-theme:not(.rex-theme-light) .bloecks-cutncopy-clipboard-slice {\n padding-bottom: 5px;\n border-bottom-color: #1b232c;\n }\n body.rex-has-theme:not(.rex-theme-light) .bloecks-cutncopy-clipboard-slice a:before {\n color: #1867a6;\n }\n}\n/*# sourceMappingURL=styles.css.map */"]}
\ No newline at end of file
diff --git a/plugins/cutncopy/assets/js/be.js b/plugins/cutncopy/assets/js/be.js
deleted file mode 100644
index 7d2cb88..0000000
--- a/plugins/cutncopy/assets/js/be.js
+++ /dev/null
@@ -1,2 +0,0 @@
-bloecks.addPlugin("status",{init:function(){$('[href*="bloecks/status/status"][href*="status="]').each(function(a,b){var c=$(b).attr("href").match(/status=(\d)/),d=$(b).parents(".rex-slice-output");d.length&&c&&(c=0===parseInt(c[1]),c?d.first().removeClass("bloecks--status--inactive"):d.first().addClass("bloecks--status--inactive")),$(b).on("click.bloecks",function(a){return $.pjax({url:$(this).attr("href"),container:"#rex-js-page-main-content",fragment:"#rex-js-page-main-content",push:!1}),!1})})}});
-//# sourceMappingURL=be.js.map
\ No newline at end of file
diff --git a/plugins/cutncopy/assets/js/be.js.map b/plugins/cutncopy/assets/js/be.js.map
deleted file mode 100644
index 95a79e6..0000000
--- a/plugins/cutncopy/assets/js/be.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../assets_src/js/be/scripts.js"],"names":["bloecks","addPlugin","init","$","each","i","btn","setStatus","attr","match","sliceContainer","parents","length","parseInt","first","removeClass","addClass","on","e","pjax","url","this","container","fragment","push"],"mappings":"AAAAA,QAAQC,UACJ,UAEIC,KAAO,WAEHC,EAAA,oDAAsDC,KAAK,SAASC,EAAGC,GACnE,GAAIC,GAAYJ,EAAEG,GAAKE,KAAI,QAASC,MAAK,eACrCC,EAAiBP,EAAEG,GAAKK,QAAO,oBAEhCD,GAAeE,QAAUL,IAExBA,EAAuC,IAA3BM,SAASN,EAAU,IAC5BA,EAECG,EAAeI,QAAQC,YAAW,6BAIlCL,EAAeI,QAAQE,SAAQ,8BAIvCb,EAAEG,GAAKW,GAAE,gBAAkB,SAASC,GAUhC,MARAf,GAAEgB,MAEEC,IAAKjB,EAAEkB,MAAMb,KAAI,QACjBc,UAAW,4BACXC,SAAW,4BACXC,MAAO,KAGJ","file":"be.js","sourcesContent":["bloecks.addPlugin(\n 'status',\n {\n init : function()\n {\n $('[href*=\"bloecks/status/status\"][href*=\"status=\"]').each(function(i, btn){\n var setStatus = $(btn).attr('href').match(/status=(\\d)/),\n sliceContainer = $(btn).parents('.rex-slice-output');\n\n if(sliceContainer.length && setStatus)\n {\n setStatus = parseInt(setStatus[1]) === 0;\n if(setStatus)\n {\n sliceContainer.first().removeClass('bloecks--status--inactive');\n }\n else\n {\n sliceContainer.first().addClass('bloecks--status--inactive');\n }\n }\n\n $(btn).on('click.bloecks', function(e){\n\n $.pjax(\n {\n url: $(this).attr('href'),\n container: '#rex-js-page-main-content',\n fragment : '#rex-js-page-main-content',\n push : false\n });\n\n return false;\n })\n });\n }\n }\n);\n"]}
\ No newline at end of file
diff --git a/plugins/dragndrop/assets/css/be.css.map b/plugins/dragndrop/assets/css/be.css.map
deleted file mode 100644
index 4982d37..0000000
--- a/plugins/dragndrop/assets/css/be.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["plugins/dragndrop/assets_src/less/be.less",""],"names":[],"mappings":"AAMI;EACI,cAAA;CCLP;ADUD;EACI,mBAAA;CCRH;ADWG;EAEQ,cAAA;CCVX;ADeG;EAEQ,mBAAA;EACA,WAAA;CCdX;ADWG;EASQ,mBAAA;EACA,QAAA;EACA,SAAA;EACA,oBAAA;EACA,aAAA;CCjBX;ADIG;EAgBY,eAAA;EACA,mBAAA;EACA,SAAA;EACA,SAAA;EACA,UAAA;EACA,YAAA;EACA,UAAA;EACA,4CAAA;EACA,YAAA;EAEA,WAAA;EACA,4BAAA;EACA,0FAAA;CClBf;ADuBO;;EAEI,WAAA;EACA,4BAAA;EACA,wFAAA;CCrBX;ADhBG;EA0CQ,cAAA;CCvBX;AD6BD;EACI,+BAAA;CC3BH;ADgCD;EAEQ,aAAA;EACA,gXAAA;EACA,gCAAA;EACA,6BAAA;EACA,qBAAA;CC/BP;ADkCG;EAEQ,iBAAA;CCjCX;ADuCD;EACI,iBAAA;EACA,qBAAA;EACA,sBAAA;CCrCH;ADkCD;EAMQ,2CAAA;CCrCP;AD+BD;EAUQ,cAAA;CCtCP;ADmDD;EALY,w5EAAA;CC3CX;ADoDD;EACI;IAVQ,w5EAAA;GCvCT;CACF","file":"to.css","sourcesContent":[null,".is--editing .rex-slice-select {\n display: none;\n}\n.rex-slice-draggable {\n position: relative;\n}\n.rex-slice-draggable.has--no-sortbuttons *[href*=\"direction=move\"] {\n display: none;\n}\n.rex-slice-draggable.is--compact .rex-slice-output {\n position: relative;\n z-index: 5;\n}\n.rex-slice-draggable.is--compact .rex-slice-select {\n position: absolute;\n left: 0;\n right: 0;\n margin: -20px 0 0 0;\n height: 20px;\n}\n.rex-slice-draggable.is--compact .rex-slice-select > .dropdown {\n display: block;\n position: absolute;\n top: 50%;\n left: 5%;\n right: 5%;\n width: auto;\n margin: 0;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5);\n z-index: 10;\n opacity: 0;\n transform: translateY(-25%);\n transition: transform 300ms ease-out, opacity 300ms ease-out, max-height 0ms linear 300ms;\n}\n.rex-slice-draggable.is--compact:hover .rex-slice-select > .dropdown,\n.rex-slice-draggable.is--compact .rex-slice-select > .dropdown.open {\n opacity: 1;\n transform: translateY(-50%);\n transition: transform 300ms ease-out, opacity 300ms ease-out, max-height 0ms linear 0ms;\n}\n.rex-slice-draggable.is--compact .rex-slice-select > .dropdown.open {\n z-index: 1010;\n}\n.rex-slice-placeholder {\n background: rgba(0, 0, 0, 0.2);\n}\n.rex-slice-draggable .rex-page-section > .panel > .panel-heading.ui-sortable-handle {\n cursor: grab;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAABECAYAAACxiwTbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJFJREFUeNrskj0OgCAMhVtinIhXcPL+93HSKyiTg1giRgL1Z3DzveSFUF6BJh8TUS1uxVbsxKN48d5TEDOTlgnVTtzQqVncZ41FxsRbUuV7rWZNfDqVUxqLjIkzTeI1roPS+CazK8x4zKmJ7w7vZOhrPX21ugIgywEAAAAAAAAAAAAAAAAAAAAAAADADwDYBBgASa0vocoUKsUAAAAASUVORK5CYII=');\n background-position: 2px center;\n background-repeat: no-repeat;\n background-size: 7px;\n}\n.rex-slice-draggable.ui-sortable-helper .rex-page-section > .panel > .panel-heading.ui-sortable-handle {\n cursor: grabbing;\n}\n.rex-slice-draggable.ui-sortable-helper {\n list-style: none;\n margin: 0 !important;\n padding: 0 !important;\n}\n.rex-slice-draggable.ui-sortable-helper .panel {\n box-shadow: 0 5px 7px 0 rgba(0, 0, 0, 0.2);\n}\n.rex-slice-draggable.ui-sortable-helper .rex-slice-select {\n display: none;\n}\nbody.rex-theme-dark .rex-slice-draggable .rex-page-section > .panel > .panel-heading.ui-sortable-handle {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAABECAYAAACxiwTbAAAEsGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgdGlmZjpJbWFnZUxlbmd0aD0iNjgiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iMTQiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjcyLjAiCiAgIHRpZmY6WVJlc29sdXRpb249IjcyLjAiCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSIxNCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjY4IgogICBleGlmOkNvbG9yU3BhY2U9IjEiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTAtMDJUMTM6Mzk6MTArMDI6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMTAtMDJUMTM6Mzk6MTArMDI6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgUGhvdG8gMS4xMC4xIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEwLTAyVDEzOjM5OjEwKzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9InIiPz4kr5qHAAABf2lDQ1BzUkdCIElFQzYxOTY2LTIuMQAAKJF1kc8rRFEUxz8G0aBRLCwsJg0rNCixUUYaapLGKL82b+78UvPj9d5IslW2ihIbvxb8BWyVtVJESnbKmtgwPefNmxrJnNs993O/95zTveeCK5JWGbPGD5ls3ggHA965+QVv3QtuqmgRP6wpUx+dng5R0T7vJVbstseuVTnuX2uIxU0FVfXCI0o38sITwqHVvG7zjnCrSmkx4TPhbkMuKHxn61GHX21OOvxtsxEJj4GrWdib/MXRX6xSRkZYXo4vk15RpfvYL2mMZ2dnZO2Q2Y5JmCABvEwyzhiD9DEsfpAe+umVHRXy/cX8KXKSq8TrrGGwTJIUebpFXZHqcVkTosdlpFmz+/+3r2ZioN+p3hiA2mfLeu+Eum0obFnW15FlFY6h+gkus+X83CEMfYi+VdZ8B+DZgPOrshbdhYtNaHvUNUMrStUyXYkEvJ1C0zy03IB70elZ6ZyTB4isy1ddw94+dEm8Z+kHSrJn2dEAkCIAAAAJcEhZcwAACxMAAAsTAQCanBgAAAB4SURBVEiJ7ZKxDYAwDAQPF1SIFWC6DJXpYAVERYFoLBIlLqjRX2P59YmbG1JKI7AAE3ACe875oiLqmAczYD5XerqO+S817R5lk/npmnaPstOAHTiA2+cWPPzS+R2DBHiRAEgACYAEkAASQAJIAAlQkAD/RQIUus4DrX66Cc05wX4AAAAASUVORK5CYII=');\n}\n@media (prefers-color-scheme: dark) {\n body.rex-has-theme:not(.rex-theme-light) .rex-slice-draggable .rex-page-section > .panel > .panel-heading.ui-sortable-handle {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAABECAYAAACxiwTbAAAEsGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgdGlmZjpJbWFnZUxlbmd0aD0iNjgiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iMTQiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjcyLjAiCiAgIHRpZmY6WVJlc29sdXRpb249IjcyLjAiCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSIxNCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjY4IgogICBleGlmOkNvbG9yU3BhY2U9IjEiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTAtMDJUMTM6Mzk6MTArMDI6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMTAtMDJUMTM6Mzk6MTArMDI6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgUGhvdG8gMS4xMC4xIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEwLTAyVDEzOjM5OjEwKzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9InIiPz4kr5qHAAABf2lDQ1BzUkdCIElFQzYxOTY2LTIuMQAAKJF1kc8rRFEUxz8G0aBRLCwsJg0rNCixUUYaapLGKL82b+78UvPj9d5IslW2ihIbvxb8BWyVtVJESnbKmtgwPefNmxrJnNs993O/95zTveeCK5JWGbPGD5ls3ggHA965+QVv3QtuqmgRP6wpUx+dng5R0T7vJVbstseuVTnuX2uIxU0FVfXCI0o38sITwqHVvG7zjnCrSmkx4TPhbkMuKHxn61GHX21OOvxtsxEJj4GrWdib/MXRX6xSRkZYXo4vk15RpfvYL2mMZ2dnZO2Q2Y5JmCABvEwyzhiD9DEsfpAe+umVHRXy/cX8KXKSq8TrrGGwTJIUebpFXZHqcVkTosdlpFmz+/+3r2ZioN+p3hiA2mfLeu+Eum0obFnW15FlFY6h+gkus+X83CEMfYi+VdZ8B+DZgPOrshbdhYtNaHvUNUMrStUyXYkEvJ1C0zy03IB70elZ6ZyTB4isy1ddw94+dEm8Z+kHSrJn2dEAkCIAAAAJcEhZcwAACxMAAAsTAQCanBgAAAB4SURBVEiJ7ZKxDYAwDAQPF1SIFWC6DJXpYAVERYFoLBIlLqjRX2P59YmbG1JKI7AAE3ACe875oiLqmAczYD5XerqO+S817R5lk/npmnaPstOAHTiA2+cWPPzS+R2DBHiRAEgACYAEkAASQAJIAAlQkAD/RQIUus4DrX66Cc05wX4AAAAASUVORK5CYII=');\n }\n}\n/*# sourceMappingURL=styles.css.map */"]}
\ No newline at end of file
diff --git a/plugins/dragndrop/assets/js/be.js.map b/plugins/dragndrop/assets/js/be.js.map
deleted file mode 100644
index e22cbaf..0000000
--- a/plugins/dragndrop/assets/js/be.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../assets_src/js/be/scripts.js"],"names":[],"mappings":"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","file":"be.js","sourcesContent":["bloecks.addPlugin(\n 'dragndrop',\n {\n init : function()\n {\n var _this = this;\n // for each rex-slices container\n $('.rex-slices:not(.is--undraggable)').each(function(i, slicewrapper)\n {\n // remove any sortable\n try {\n $(slicewrapper).sortable('destroy');\n } catch(ev) { }\n\n if(!$(slicewrapper).find('.rex-slice.rex-slice-edit, .rex-slice.rex-slice-add').length)\n {\n // only add sortables if the page is not in EDIT mode\n _this.addSortables(slicewrapper);\n }\n else\n {\n $(slicewrapper).addClass('is--editing');\n }\n });\n },\n\n markDisabledItems : function(slicewrapper, disabledClass)\n {\n disabledClass = typeof(disabledClass) != 'string' ? 'ui-state-disabled' : disabledClass;\n\n $(slicewrapper).find('.rex-slice-output:not(.' + disabledClass + ')').each(function(j, slice)\n {\n if(!$(slice).find('[href*=\"direction=move\"]').length)\n {\n // we won't let the user move items that cannot be moved by perms etc.\n $(slice).addClass(disabledClass);\n }\n });\n },\n\n addSortables : function(slicewrapper)\n {\n var disabledClass = 'ui-state-disabled';\n\n this.markDisabledItems(slicewrapper, disabledClass);\n\n $(slicewrapper).sortable({\n appendTo: document.body,\n handle: '.rex-page-section>.panel>.panel-heading',\n placeholder: 'rex-slice rex-slice-placeholder',\n cancel: disabledClass,\n // containment: $(slicewrapper),\n helper: 'clone',\n items: '>.rex-slice.rex-slice-draggable',\n\n create: function (event, ui)\n {\n // fix wrapper height to avoid page jumps\n $(slicewrapper).css({\n minHeight: $(slicewrapper).outerHeight()\n });\n },\n\n start : function(event, ui)\n {\n $(this).addClass('ui-state-sorting');\n\n // refresh positions just to make sure everything is okay\n $(this).sortable('refreshPositions');\n\n // set placeholder height according to item (helper)\n ui.placeholder.height(ui.helper.outerHeight());\n },\n\n stop : function(event, ui)\n {\n if(!$(this).hasClass('ui-state-updated'))\n {\n $(this).removeClass('ui-state-sorting');\n }\n },\n\n update : function(event, ui)\n {\n $(this).addClass('ui-state-updated');\n\n // refresh items just to make sure everything is okay\n $(this).sortable('refresh');\n\n var direction = ui.position.top < ui.originalPosition.top ? 'up' : 'down';\n\n var this_id = bloecks.getSliceId(ui.item),\n prev_id = ui.item.prevAll('.rex-slice-draggable').length ? bloecks.getSliceId(ui.item.prevAll('.rex-slice-draggable').first()) : 0;\n\n if(this_id !== null && prev_id !== null)\n {\n console.log('Move ' + this_id + ' ' + direction + ', after ' + prev_id);\n\n var url = ui.item.find('[href*=\"direction=move' + direction + '\"]').length ? ui.item.find('[href*=\"direction=move' + direction + '\"]').first().attr('href') : null;\n if(url !== null)\n {\n url = url.replace(/(&|&)direction=move(up|down)/, \"$1direction=move$2$1insertafter=\" + prev_id);\n url = url.replace(/content_move_slice/, \"content_move_slice_to\");\n url = url.replace(/_csrf_token=[^&]+/, \"_csrf_token=\" + ui.item.data('csrf-token'));\n url += '#slice' + this_id;\n }\n else\n {\n url = window.location.href;\n }\n\n console.log(url);\n\n bloecks.executePjax(url);\n }\n }\n });\n },\n }\n);\n"]}
\ No newline at end of file