UNPKG

@chasemoskal/magical

Version:

web toolkit for lit apps

76 lines 5.39 kB
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; import { render } from "lit"; import { directive } from "lit/directive.js"; import { AsyncDirective } from "lit/async-directive.js"; import { makeUseObjectForView } from "./view/make-use-object-for-view.js"; import { createShadowDomWithStyles } from "./view/create-shadow-dom-with-styles.js"; export const view = ({ styles, shadow = false }, sauce) => { var _ViewDirective_instances, _ViewDirective_mostRecentProps, _ViewDirective_stateMap, _ViewDirective_setupMap, _ViewDirective_stateIndex, _ViewDirective_setupIndex, _ViewDirective_renderCount, _ViewDirective_use, _ViewDirective_root, _ViewDirective_renderIntoShadowOrNot; class ViewDirective extends AsyncDirective { constructor() { super(...arguments); _ViewDirective_instances.add(this); _ViewDirective_mostRecentProps.set(this, []); _ViewDirective_stateMap.set(this, new Map()); _ViewDirective_setupMap.set(this, new Map()); _ViewDirective_stateIndex.set(this, 0); _ViewDirective_setupIndex.set(this, 0); _ViewDirective_renderCount.set(this, 0); _ViewDirective_use.set(this, makeUseObjectForView({ stateMap: __classPrivateFieldGet(this, _ViewDirective_stateMap, "f"), setupMap: __classPrivateFieldGet(this, _ViewDirective_setupMap, "f"), pullStateIndex: () => { var _a, _b; return __classPrivateFieldSet(this, _ViewDirective_stateIndex, (_b = __classPrivateFieldGet(this, _ViewDirective_stateIndex, "f"), _a = _b++, _b), "f"), _a; }, pullSetupIndex: () => { var _a, _b; return __classPrivateFieldSet(this, _ViewDirective_setupIndex, (_b = __classPrivateFieldGet(this, _ViewDirective_setupIndex, "f"), _a = _b++, _b), "f"), _a; }, getRenderCount: () => __classPrivateFieldGet(this, _ViewDirective_renderCount, "f"), render: () => { this.setValue(__classPrivateFieldGet(this, _ViewDirective_instances, "m", _ViewDirective_renderIntoShadowOrNot).call(this)); }, })); _ViewDirective_root.set(this, shadow ? createShadowDomWithStyles(styles) : undefined); } update(part, props) { __classPrivateFieldSet(this, _ViewDirective_mostRecentProps, props, "f"); return __classPrivateFieldGet(this, _ViewDirective_instances, "m", _ViewDirective_renderIntoShadowOrNot).call(this); } disconnected() { super.disconnected(); __classPrivateFieldSet(this, _ViewDirective_renderCount, 0, "f"); for (const dispose of __classPrivateFieldGet(this, _ViewDirective_setupMap, "f").values()) dispose(); __classPrivateFieldGet(this, _ViewDirective_setupMap, "f").clear(); } render() { __classPrivateFieldSet(this, _ViewDirective_stateIndex, 0, "f"); __classPrivateFieldSet(this, _ViewDirective_setupIndex, 0, "f"); const renderer = sauce(__classPrivateFieldGet(this, _ViewDirective_use, "f")); return renderer(...__classPrivateFieldGet(this, _ViewDirective_mostRecentProps, "f")); } } _ViewDirective_mostRecentProps = new WeakMap(), _ViewDirective_stateMap = new WeakMap(), _ViewDirective_setupMap = new WeakMap(), _ViewDirective_stateIndex = new WeakMap(), _ViewDirective_setupIndex = new WeakMap(), _ViewDirective_renderCount = new WeakMap(), _ViewDirective_use = new WeakMap(), _ViewDirective_root = new WeakMap(), _ViewDirective_instances = new WeakSet(), _ViewDirective_renderIntoShadowOrNot = function _ViewDirective_renderIntoShadowOrNot() { let result; if (__classPrivateFieldGet(this, _ViewDirective_root, "f")) { render(this.render(), __classPrivateFieldGet(this, _ViewDirective_root, "f").shadow); result = __classPrivateFieldGet(this, _ViewDirective_root, "f").element; } else { result = this.render(); } __classPrivateFieldSet(this, _ViewDirective_renderCount, __classPrivateFieldGet(this, _ViewDirective_renderCount, "f") + 1, "f"); return result; }; const viewDirective = directive(ViewDirective); return viewDirective; }; //# sourceMappingURL=view.js.map