{"version":3,"file":"imm_pxy.mjs","sources":["../code/imm_utils.mjs","../code/imm_pxy.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 {_I_, _dash_name, _prop_name, _el_get, _el_has, _el_set} from './imm_utils.mjs'\n\n\nconst _imm_pxy_gset = /* #__PURE__ */ _I_({\n get: (fn,k) => fn(k),\n set: (fn,k,v) => (fn(k,v), 1),\n})\nexport const imm_pxy_gset = fn =>\n new Proxy(fn, _imm_pxy_gset)\n\n\nconst _imm_pxy = /* #__PURE__ */ _I_({\n get(tag_fn, key, ns) {\n let r = tag_fn[key]\n if (undefined === r && /[a-z]/.test(key))\n ns[key] = r = tag_fn\n .bind(null, _dash_name(key))\n return r }})\n\nexport const imm_pxy_tag = (tag_fn, kw=tag_fn) =>\n ({ __proto__: new Proxy(tag_fn, _imm_pxy), ... kw })\n\nconst\n _imm_pxy_attr = /* #__PURE__ */ _I_({\n // use k.trim to avoid Symbols\n get: ({$},k) => k.trim && (_el_get($, _dash_name(k)) || _el_get($, k)),\n has: ({$},k) => k.trim && (_el_has($, _dash_name(k)) || _el_has($, k)),\n set: ({$},k,v) => _el_set($, _dash_name(k), v),\n deleteProperty: ({$},k) => _el_set($, _dash_name(k)) || _el_set($, k),\n\n // update the proxy for each attribute to leverage default implementation of getOwnPropertyDescriptor()\n ownKeys: pxy => pxy.$.getAttributeNames().map(k => (k=_prop_name(k), pxy[k] = k)),\n })\n\nexport const imm_pxy_attr = el =>\n new Proxy({$:el}, _imm_pxy_attr)\n\nexport const with_ns_attr = ImmKlass =>\n class extends ImmKlass {\n get _ns_() { return imm_pxy_attr(this) }\n }\n\n\nexport function imm_pxy_css(css_style) {\n let _css_prop = css_style.getPropertyValue.bind(css_style)\n return imm_pxy_gset(k => _css_prop(_dash_name(k))) }\n\n"],"names":[],"mappings":"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"}