: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
for(let i=0;i<sort.length;++i){
let r=builder.querySelector('[data-cid="'+sort[i]+'"]');
builder.querySelectorAll(':scope>.module_row')[i-1].after(r);
for(let [id,vals] of changes){
// register.remove(id,true);
row=api.Helper.cloneObject(row);
oldEl=Registry.get(id)?.el,
for(let cids=r.el.querySelectorAll('[data-cid]'),i=cids.length-1;i>-1;--i){
ids.add(cids[i].dataset.cid);
builder.querySelectorAll(':scope>.module_row')[index-1].after(r.el);
oldEl?.replaceWith(r.el);
await api.bootstrap(ids.keys(),undefined,false);
api.Utils.runJs(el, 'row');
api.activeModel=Registry.get(cid);
api.liveStylingInstance.el=api.activeModel.el;
api.liveStylingInstance.model=api.activeModel;
ThemifyConstructor.grid.set(rowSizes);
//api.activeModel.visualPreview?.(settings);
Themify.on('tb_toolbar_loaded',()=>{
const toolbarEl=api.ToolBar.el;
new api.undoManager(toolbarEl.tfClass('undo')[0],toolbarEl.tfClass('redo')[0],toolbarEl.tfClass('compact_undo')[0]);
},true,api.ToolBar?.isLoaded===true);
})(tb_app,topWindowDoc,_CLICK_);