mirror of
https://github.com/jaandrle/deka-dom-el
synced 2025-04-02 20:15:53 +02:00
* ⚡ 🎉 * ⚡ wip * 🔤 * ⚡ wip * ⚡ wip * ⚡ Refatc signals to .get/.set syntax #26 * 🐛 Better types for on* * 🔤 * 🔤 * 🐛 coumputed signal * 🔤 ⚡ Docs UI/UX * ⚡ 🔤 UI enhancements * ⚡ (bs) (un)min * 🔤 adds debugging * 🔤 ssr * 🔤 * ⚡ bs/lint * 🔤 * 🔤 UI * 🔤 updates texts * 🔤UI * ⚡ dispatch * 🔤 events * 🔤 elements * 🔤 intro * 🐛 fixes completitions for el with components * 🐛 wrong file(s) in git * 🔤 logo * 🐛 🔤 types 3ps * 🔤 ui/ux * 🔤 * 🔤 * 🔤 scopes * 🔤 * 🔤 ui/ux * 🔤 * ⚡ issignal * 🔤 improvemens * ⚡ irelands * 🔤 UI/UX/wording * 🐛 npx-hint [Scrollable region must have keyboard access | Axe Rules | Deque University | Deque Systems](https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI) * 🔤 logos * ⚡ better? dts builds * Update README.md
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
//TODO: https://www.npmjs.com/package/html-element
|
|
import { enviroment as env } from './src/dom-common.js';
|
|
env.ssr= " ssr";
|
|
|
|
const q_store= new Set();
|
|
env.q= function(promise){
|
|
if(promise) return ( q_store.add(promise), promise );
|
|
return Promise.allSettled(Array.from(q_store)).then(()=> q_store.clear());
|
|
};
|
|
export const queue= env.q;
|
|
|
|
const { setDeleteAttr }= env;
|
|
/** @param {HTMLElement} obj */
|
|
env.setDeleteAttr= function(obj, prop, value){
|
|
if("value"===prop) return obj.setAttribute(prop, value);
|
|
if("checked"!==prop) return setDeleteAttr(obj, prop, value);
|
|
if(value) return obj.setAttribute(prop, "");
|
|
obj.removeAttribute(prop);
|
|
};
|
|
const keys= { H: "HTMLElement", S: "SVGElement", F: "DocumentFragment", D: "document" };
|
|
let env_bk= {};
|
|
let dom_last;
|
|
|
|
export function register(dom){
|
|
if(dom_last!==dom){
|
|
const w= dom.window;
|
|
Object.entries(keys).forEach(([ kE, kW ])=> {
|
|
env_bk[kE]= env[kE];
|
|
env[kE]= w[kW];
|
|
});
|
|
w.console= globalThis.console;
|
|
}
|
|
dom_last= dom;
|
|
|
|
return import("./index.js");
|
|
}
|
|
export function unregister(){
|
|
if(!dom_last)
|
|
return false;
|
|
|
|
Object.assign(env, env_bk);
|
|
env_bk= {};
|
|
dom_last= undefined;
|
|
return true;
|
|
}
|