{"version":3,"file":"imm_clone.mjs","sources":["../code/imm_utils.mjs","../code/imm_elem_core.mjs","../code/imm_clone.mjs"],"sourcesContent":["export const\n _I_ = x=>x,\n _dash_name = s => s?.replace(/_/g, '-'),\n _prop_name = s => s?.replace(/-/g, '_'),\n _pairs = o => Object.entries(o),\n _is_obj = a => 'object' === typeof a && null !== a,\n _is_iter = a => _is_obj(a) && Symbol.iterator in a,\n _is_attr_dict = a => _is_obj(a)\n && !a.nodeType && !a.toDOM\n && !_is_iter(a)\n\nexport const\n _imm_cp = (tgt, src, key) =>\n Object.assign(tgt, key ? {[key]:src} : src),\n _ce = /* #__PURE__ */ _I_(customElements),\n\n _el_on = (el, ...z) => ( el.addEventListener(...z), el ),\n _el_get = (el,k) => (k=el.getAttribute(k), ''==k || k),\n _el_has = (el,k) => el.hasAttribute(k),\n _el_set = (el,k,v) => (\n (null == v || false === v\n ? el.removeAttribute(k) // false or nullish is semantically removeAttribute()\n : _is_obj(v) == {style: 1}[k] ? _imm_cp(el[k], v) // use object assign for known keys: style; note true==1 but false!=undefined\n : el.setAttribute(k, true === v ? '' : v)\n ), 1)\n\n","import { _el_set, _dash_name, _ce } from './imm_utils.mjs'\nimport { _imm_cp } from './imm_dom_core.mjs'\nimport { with_ns_attr } from './imm_pxy.mjs'\n\n\nconst _subclass_unless = (klass, args) =>\n true === args[0] ? (args.shift(), klass)\n : class extends klass {}\n\nexport const\n imm_ac_on = el =>\n (old, value, attr) =>\n _el_set(el, attr, value),\n\n imm_when = tag_name =>\n _ce.whenDefined(tag_name)\n .then(el => el || _ce.get(tag_name)),\n\n imm_mixin = (klass, ... args) => (\n klass = _subclass_unless(klass, args),\n _imm_cp(klass.prototype, args[0]),\n _imm_cp(klass, args[1]))\n\n\nexport {imm_define as imm_define_when}\nexport async function imm_define(klass, tag, ...when) {\n for (let k of when)\n if (k) await k.trim ? _ce.whenDefined(k) : k\n _ce.define(_dash_name(tag), klass, tag.options)\n return klass\n}\n\nexport function imm_observe(klass, ...attrs) {\n klass = _subclass_unless(klass, attrs)\n klass.observedAttributes = attrs\n .flat(9).map(_dash_name)\n .concat(klass.observedAttributes||[])\n return klass\n}\n\n\nexport class Imm0 extends HTMLElement {\n static with(...args) {\n return imm_mixin(this, ...args)\n }\n static observe(...attrs) {\n return imm_observe(this, ...attrs)\n }\n static define(...args) {\n imm_define(this, ...args)\n return this\n }\n\n\n // _wc_(el, op, v) {} -- use static _wc_ to setup\n static _wc_(fnop, adapt) {\n return this.with(\n { _wc_: (self, op, v) => fnop[op]?.(self, v) },\n adapt && { adapt })\n }\n\n connectedCallback() { this._wc_(this, 'c') }\n disconnectedCallback() { this._wc_(this, '') }\n attributeChangedCallback(attr_name, v_old, v_new) {\n // look for an '^attr_name' method on this.\n // If exists, call it with attribute change details.\n if (false !== this['^'+attr_name]?.(v_old, v_new, attr_name)) {\n // if not false, call _wc_ attribute changed callback for update or _refresh_ semantics\n this._wc_(this, 'ac', [attr_name, v_old, v_new])\n }\n }\n}\n\n\nexport class ImmCore extends /* #__PURE__ */ with_ns_attr(Imm0) {\n static dom(dfn, proto_, kw) {\n if (proto_)\n kw = {...kw, ... (\n 'object' === typeof proto_ ? proto_\n : this.adapt(proto_) )}\n\n if (dfn.trim) dfn = [dfn] // if string, make array\n return this // klass\n .with( kw ) // subclass\n .define(...dfn) // imm_define_when\n }\n}\n\n","import { Imm0 } from './imm_elem_core.mjs'\n\nexport const ImmClone = /* #__PURE__ */\n Imm0._wc_({c: el => imm_clone(el, el.getAttribute('query')) })\n\nexport function imm_clone(el_tgt, query, el_root=el_tgt.ownerDocument) {\n for (let el of el_root.querySelectorAll(query)) {\n el = (el.content || el).cloneNode(true)\n el_tgt.append(el)\n }\n return el_tgt\n}\n\n"],"names":[],"mappings":"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"}