@repobit/dex-store-elements 1.7.3 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -906
- package/README.md +308 -283
- package/dist/src/actions/action.adapter.d.ts +36 -0
- package/dist/src/actions/action.adapter.js +183 -0
- package/dist/src/actions/action.adapter.js.map +1 -0
- package/dist/src/actions/action.attributes.d.ts +15 -0
- package/dist/src/actions/action.attributes.js +137 -0
- package/dist/src/actions/action.attributes.js.map +1 -0
- package/dist/src/actions/action.registry.d.ts +4 -0
- package/dist/src/actions/action.registry.js +119 -0
- package/dist/src/actions/action.registry.js.map +1 -0
- package/dist/src/actions/index.d.ts +3 -2
- package/dist/src/actions/index.js +3 -80
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/compute/compute.expand.d.ts +70 -0
- package/dist/src/compute/compute.expand.js +319 -0
- package/dist/src/compute/compute.expand.js.map +1 -0
- package/dist/src/compute/compute.scan.d.ts +54 -0
- package/dist/src/compute/compute.scan.js +160 -0
- package/dist/src/compute/compute.scan.js.map +1 -0
- package/dist/src/compute/option-resolver.d.ts +31 -0
- package/dist/src/compute/option-resolver.js +147 -0
- package/dist/src/compute/option-resolver.js.map +1 -0
- package/dist/src/contexts/context.compute.d.ts +12 -0
- package/dist/src/contexts/context.compute.js +4 -0
- package/dist/src/contexts/context.compute.js.map +1 -0
- package/dist/src/contexts/context.scope.d.ts +139 -0
- package/dist/src/contexts/context.scope.js +48 -0
- package/dist/src/contexts/context.scope.js.map +1 -0
- package/dist/src/controllers/controller.action-resolve.d.ts +110 -0
- package/dist/src/controllers/controller.action-resolve.js +203 -0
- package/dist/src/controllers/controller.action-resolve.js.map +1 -0
- package/dist/src/controllers/controller.action-topology.d.ts +59 -0
- package/dist/src/controllers/controller.action-topology.js +130 -0
- package/dist/src/controllers/controller.action-topology.js.map +1 -0
- package/dist/src/controllers/controller.compute.d.ts +72 -0
- package/dist/src/controllers/controller.compute.js +110 -0
- package/dist/src/controllers/controller.compute.js.map +1 -0
- package/dist/src/controllers/controller.resolve.d.ts +78 -0
- package/dist/src/controllers/controller.resolve.js +205 -0
- package/dist/src/controllers/controller.resolve.js.map +1 -0
- package/dist/src/core/action-topology.d.ts +62 -0
- package/dist/src/core/action-topology.js +67 -0
- package/dist/src/core/action-topology.js.map +1 -0
- package/dist/src/core/actions.d.ts +64 -0
- package/dist/src/core/actions.js +47 -0
- package/dist/src/core/actions.js.map +1 -0
- package/dist/src/core/node.element.d.ts +179 -0
- package/dist/src/core/node.element.js +573 -0
- package/dist/src/core/node.element.js.map +1 -0
- package/dist/src/core/node.scope.d.ts +374 -0
- package/dist/src/core/node.scope.js +558 -0
- package/dist/src/core/node.scope.js.map +1 -0
- package/dist/src/core/option-update.d.ts +11 -0
- package/dist/src/core/option-update.js +59 -0
- package/dist/src/core/option-update.js.map +1 -0
- package/dist/src/dsl/compilers/array/compiler.js +13 -14
- package/dist/src/dsl/compilers/array/compiler.js.map +1 -1
- package/dist/src/dsl/compilers/boolean/compiler.d.ts +1 -1
- package/dist/src/dsl/compilers/boolean/compiler.js +14 -27
- package/dist/src/dsl/compilers/boolean/compiler.js.map +1 -1
- package/dist/src/dsl/compilers/enum/compiler.js +7 -10
- package/dist/src/dsl/compilers/enum/compiler.js.map +1 -1
- package/dist/src/dsl/compilers/index.d.ts +1 -1
- package/dist/src/dsl/compilers/index.js +5 -5
- package/dist/src/dsl/compilers/index.js.map +1 -1
- package/dist/src/dsl/utilty.d.ts +0 -4
- package/dist/src/dsl/utilty.js +3 -30
- package/dist/src/dsl/utilty.js.map +1 -1
- package/dist/src/eta/batch.d.ts +123 -0
- package/dist/src/eta/batch.js +162 -0
- package/dist/src/eta/batch.js.map +1 -0
- package/dist/src/eta/batcher.d.ts +184 -0
- package/dist/src/eta/batcher.js +335 -0
- package/dist/src/eta/batcher.js.map +1 -0
- package/dist/src/eta/cache.d.ts +36 -0
- package/dist/src/eta/cache.js +56 -0
- package/dist/src/eta/cache.js.map +1 -0
- package/dist/src/eta/controller.d.ts +608 -0
- package/dist/src/eta/controller.js +1036 -0
- package/dist/src/eta/controller.js.map +1 -0
- package/dist/src/eta/factory.d.ts +74 -0
- package/dist/src/eta/factory.js +121 -0
- package/dist/src/eta/factory.js.map +1 -0
- package/dist/src/eta/idle.d.ts +39 -0
- package/dist/src/eta/idle.js +52 -0
- package/dist/src/eta/idle.js.map +1 -0
- package/dist/src/eta/index.d.ts +52 -0
- package/dist/src/eta/index.js +13 -0
- package/dist/src/eta/index.js.map +1 -0
- package/dist/src/eta/observer.d.ts +263 -0
- package/dist/src/eta/observer.js +263 -0
- package/dist/src/eta/observer.js.map +1 -0
- package/dist/src/eta/operations.d.ts +41 -0
- package/dist/src/eta/operations.js +59 -0
- package/dist/src/eta/operations.js.map +1 -0
- package/dist/src/eta/source-registry.d.ts +198 -0
- package/dist/src/eta/source-registry.js +267 -0
- package/dist/src/eta/source-registry.js.map +1 -0
- package/dist/src/eta/template-index.d.ts +285 -0
- package/dist/src/eta/template-index.js +642 -0
- package/dist/src/eta/template-index.js.map +1 -0
- package/dist/src/eta/types.d.ts +529 -0
- package/dist/src/eta/types.js +2 -0
- package/dist/src/eta/types.js.map +1 -0
- package/dist/src/index.d.ts +21 -9
- package/dist/src/index.js +22 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/nodes/node.context.d.ts +5 -3
- package/dist/src/nodes/node.context.js +48 -3
- package/dist/src/nodes/node.context.js.map +1 -1
- package/dist/src/nodes/node.option.d.ts +11 -31
- package/dist/src/nodes/node.option.js +158 -222
- package/dist/src/nodes/node.option.js.map +1 -1
- package/dist/src/nodes/node.product.d.ts +7 -11
- package/dist/src/nodes/node.product.js +85 -64
- package/dist/src/nodes/node.product.js.map +1 -1
- package/dist/src/renders/attributes/buyLink.d.ts +2 -2
- package/dist/src/renders/attributes/buyLink.js +14 -11
- package/dist/src/renders/attributes/buyLink.js.map +1 -1
- package/dist/src/renders/attributes/devices.d.ts +2 -2
- package/dist/src/renders/attributes/devices.js +9 -19
- package/dist/src/renders/attributes/devices.js.map +1 -1
- package/dist/src/renders/attributes/discount.d.ts +2 -2
- package/dist/src/renders/attributes/discount.js +56 -44
- package/dist/src/renders/attributes/discount.js.map +1 -1
- package/dist/src/renders/attributes/hide.d.ts +2 -2
- package/dist/src/renders/attributes/hide.js +49 -14
- package/dist/src/renders/attributes/hide.js.map +1 -1
- package/dist/src/renders/attributes/index.d.ts +3 -3
- package/dist/src/renders/attributes/index.js +2 -4
- package/dist/src/renders/attributes/index.js.map +1 -1
- package/dist/src/renders/attributes/price.d.ts +2 -2
- package/dist/src/renders/attributes/price.js +30 -44
- package/dist/src/renders/attributes/price.js.map +1 -1
- package/dist/src/renders/attributes/subscription.d.ts +2 -2
- package/dist/src/renders/attributes/subscription.js +14 -20
- package/dist/src/renders/attributes/subscription.js.map +1 -1
- package/dist/src/renders/attributes/utilty.d.ts +2 -0
- package/dist/src/renders/attributes/utilty.js +17 -4
- package/dist/src/renders/attributes/utilty.js.map +1 -1
- package/dist/src/renders/context.d.ts +122 -10
- package/dist/src/renders/context.js +140 -80
- package/dist/src/renders/context.js.map +1 -1
- package/dist/src/renders/format.js +2 -2
- package/dist/src/renders/format.js.map +1 -1
- package/dist/src/renders/index.d.ts +6 -2
- package/dist/src/renders/index.js +67 -29
- package/dist/src/renders/index.js.map +1 -1
- package/dist/src/renders/observe.d.ts +1 -4
- package/dist/src/renders/observe.js +10 -24
- package/dist/src/renders/observe.js.map +1 -1
- package/dist/src/renders/render.wrapper.d.ts +37 -0
- package/dist/src/renders/render.wrapper.js +147 -0
- package/dist/src/renders/render.wrapper.js.map +1 -0
- package/dist/src/templating/eta.js +1 -4
- package/dist/src/templating/eta.js.map +1 -1
- package/package.json +4 -5
- package/dist/src/actions/action.button.d.ts +0 -2
- package/dist/src/actions/action.button.js +0 -8
- package/dist/src/actions/action.button.js.map +0 -1
- package/dist/src/actions/action.input.d.ts +0 -2
- package/dist/src/actions/action.input.js +0 -43
- package/dist/src/actions/action.input.js.map +0 -1
- package/dist/src/actions/action.select.d.ts +0 -2
- package/dist/src/actions/action.select.js +0 -14
- package/dist/src/actions/action.select.js.map +0 -1
- package/dist/src/actions/utilty.d.ts +0 -16
- package/dist/src/actions/utilty.js +0 -149
- package/dist/src/actions/utilty.js.map +0 -1
- package/dist/src/contexts/context.datalayer.d.ts +0 -9
- package/dist/src/contexts/context.datalayer.js +0 -3
- package/dist/src/contexts/context.datalayer.js.map +0 -1
- package/dist/src/contexts/context.derived.d.ts +0 -12
- package/dist/src/contexts/context.derived.js +0 -3
- package/dist/src/contexts/context.derived.js.map +0 -1
- package/dist/src/contexts/context.option.d.ts +0 -5
- package/dist/src/contexts/context.option.js +0 -3
- package/dist/src/contexts/context.option.js.map +0 -1
- package/dist/src/contexts/context.product.d.ts +0 -5
- package/dist/src/contexts/context.product.js +0 -3
- package/dist/src/contexts/context.product.js.map +0 -1
- package/dist/src/contexts/context.state.d.ts +0 -28
- package/dist/src/contexts/context.state.js +0 -3
- package/dist/src/contexts/context.state.js.map +0 -1
- package/dist/src/contexts/context.store.d.ts +0 -5
- package/dist/src/contexts/context.store.js +0 -3
- package/dist/src/contexts/context.store.js.map +0 -1
- package/dist/src/controllers/collect-controller.d.ts +0 -39
- package/dist/src/controllers/collect-controller.js +0 -161
- package/dist/src/controllers/collect-controller.js.map +0 -1
- package/dist/src/controllers/compute-controller.d.ts +0 -55
- package/dist/src/controllers/compute-controller.js +0 -350
- package/dist/src/controllers/compute-controller.js.map +0 -1
- package/dist/src/controllers/eta-renderer/eta-dom-renderer.d.ts +0 -25
- package/dist/src/controllers/eta-renderer/eta-dom-renderer.js +0 -192
- package/dist/src/controllers/eta-renderer/eta-dom-renderer.js.map +0 -1
- package/dist/src/controllers/eta-renderer/eta-mutation-observer.d.ts +0 -28
- package/dist/src/controllers/eta-renderer/eta-mutation-observer.js +0 -206
- package/dist/src/controllers/eta-renderer/eta-mutation-observer.js.map +0 -1
- package/dist/src/controllers/eta-renderer/eta-renderer.d.ts +0 -21
- package/dist/src/controllers/eta-renderer/eta-renderer.js +0 -77
- package/dist/src/controllers/eta-renderer/eta-renderer.js.map +0 -1
- package/dist/src/controllers/eta-renderer/eta-template-cache.d.ts +0 -24
- package/dist/src/controllers/eta-renderer/eta-template-cache.js +0 -61
- package/dist/src/controllers/eta-renderer/eta-template-cache.js.map +0 -1
- package/dist/src/controllers/eta-renderer/eta-types.d.ts +0 -11
- package/dist/src/controllers/eta-renderer/eta-types.js +0 -1
- package/dist/src/controllers/eta-renderer/eta-types.js.map +0 -1
- package/dist/src/controllers/eta-renderer/index.d.ts +0 -2
- package/dist/src/controllers/eta-renderer/index.js +0 -2
- package/dist/src/controllers/eta-renderer/index.js.map +0 -1
- package/dist/src/controllers/event-pipeline-controller.d.ts +0 -28
- package/dist/src/controllers/event-pipeline-controller.js +0 -72
- package/dist/src/controllers/event-pipeline-controller.js.map +0 -1
- package/dist/src/events/events.d.ts +0 -75
- package/dist/src/events/events.js +0 -78
- package/dist/src/events/events.js.map +0 -1
- package/dist/src/nodes/node.root.d.ts +0 -16
- package/dist/src/nodes/node.root.js +0 -49
- package/dist/src/nodes/node.root.js.map +0 -1
- package/dist/src/nodes/node.state.d.ts +0 -88
- package/dist/src/nodes/node.state.js +0 -330
- package/dist/src/nodes/node.state.js.map +0 -1
- package/dist/src/renders/utility.d.ts +0 -32
- package/dist/src/renders/utility.js +0 -191
- package/dist/src/renders/utility.js.map +0 -1
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { EtaDomRenderer } from "../../controllers/eta-renderer/eta-dom-renderer.js";
|
|
2
|
-
import { EtaMutationObserver } from "../../controllers/eta-renderer/eta-mutation-observer.js";
|
|
3
|
-
import { EtaTemplateCache } from "../../controllers/eta-renderer/eta-template-cache.js";
|
|
4
|
-
import { Task } from "@lit/task";
|
|
5
|
-
export class EtaRenderController {
|
|
6
|
-
constructor(host) {
|
|
7
|
-
this._cache = new EtaTemplateCache();
|
|
8
|
-
this._renderInProgress = false;
|
|
9
|
-
this._etaIdleWaiters = [];
|
|
10
|
-
this._mutationRequested = false;
|
|
11
|
-
this.host = host;
|
|
12
|
-
this._observer = new EtaMutationObserver(host, this._cache, () => this._scheduleMutationRender());
|
|
13
|
-
this._renderer = new EtaDomRenderer(host, this._cache, (sr, h) => this._observer.ensureShadowRootObserved(sr, h));
|
|
14
|
-
host.addController(this);
|
|
15
|
-
this._etaRenderTask = new Task(host, {
|
|
16
|
-
task: async () => {
|
|
17
|
-
try {
|
|
18
|
-
if (!this.host.shouldRunEtaStateRender())
|
|
19
|
-
return;
|
|
20
|
-
const fromMutation = this._mutationRequested;
|
|
21
|
-
const ctx = await this.host.buildEtaContext();
|
|
22
|
-
if (!ctx)
|
|
23
|
-
return;
|
|
24
|
-
if (fromMutation)
|
|
25
|
-
this._mutationRequested = false;
|
|
26
|
-
const dirtyRoots = fromMutation ? this._observer.consumeDirtyRoots() : undefined;
|
|
27
|
-
this._renderInProgress = true;
|
|
28
|
-
try {
|
|
29
|
-
await this._observer.suspend(async () => {
|
|
30
|
-
await this._renderer.render(ctx, { fromMutation, dirtyRoots });
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
finally {
|
|
34
|
-
this._renderInProgress = false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
finally {
|
|
38
|
-
this._notifyEtaIdle();
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
args: () => this.host.getEtaArgs()
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
get taskComplete() {
|
|
45
|
-
return this._etaRenderTask.taskComplete;
|
|
46
|
-
}
|
|
47
|
-
waitForIdle() {
|
|
48
|
-
if (this._isEtaIdle())
|
|
49
|
-
return Promise.resolve();
|
|
50
|
-
return new Promise((resolve) => {
|
|
51
|
-
this._etaIdleWaiters.push(resolve);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
hostConnected() {
|
|
55
|
-
this._observer.connect();
|
|
56
|
-
}
|
|
57
|
-
hostDisconnected() {
|
|
58
|
-
this._observer.disconnect();
|
|
59
|
-
}
|
|
60
|
-
_scheduleMutationRender() {
|
|
61
|
-
this._mutationRequested = true;
|
|
62
|
-
this._etaRenderTask.run();
|
|
63
|
-
}
|
|
64
|
-
_isEtaIdle() {
|
|
65
|
-
return !this._renderInProgress && this._observer.isIdle();
|
|
66
|
-
}
|
|
67
|
-
_notifyEtaIdle() {
|
|
68
|
-
if (!this._isEtaIdle())
|
|
69
|
-
return;
|
|
70
|
-
if (this._etaIdleWaiters.length === 0)
|
|
71
|
-
return;
|
|
72
|
-
const waiters = this._etaIdleWaiters.splice(0);
|
|
73
|
-
for (const w of waiters)
|
|
74
|
-
w();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=eta-renderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eta-renderer.js","sourceRoot":"","sources":["../../../../src/controllers/eta-renderer/eta-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["import { EtaDomRenderer } from \"@/controllers/eta-renderer/eta-dom-renderer\";\nimport { EtaMutationObserver } from \"@/controllers/eta-renderer/eta-mutation-observer\";\nimport { EtaTemplateCache } from \"@/controllers/eta-renderer/eta-template-cache\";\nimport { EtaRenderHost } from \"@/controllers/eta-renderer/eta-types\";\nimport { Task } from \"@lit/task\";\nimport { ReactiveController } from \"lit\";\n\nexport type { EtaRenderHost } from \"@/controllers/eta-renderer/eta-types\";\n\nexport class EtaRenderController implements ReactiveController {\n private host : EtaRenderHost;\n private _etaRenderTask: Task<unknown[], unknown>;\n\n private _cache = new EtaTemplateCache();\n private _observer: EtaMutationObserver;\n private _renderer: EtaDomRenderer;\n\n private _renderInProgress = false;\n private _etaIdleWaiters: Array<() => void> = [];\n private _mutationRequested = false;\n\n constructor(host: EtaRenderHost) {\n this.host = host;\n\n this._observer = new EtaMutationObserver(host, this._cache, () => this._scheduleMutationRender());\n this._renderer = new EtaDomRenderer(host, this._cache, (sr, h) => this._observer.ensureShadowRootObserved(sr, h));\n\n host.addController(this);\n\n this._etaRenderTask = new Task(host, {\n task: async () => {\n try {\n if (!this.host.shouldRunEtaStateRender()) return;\n const fromMutation = this._mutationRequested;\n\n const ctx = await this.host.buildEtaContext();\n if (!ctx) return;\n\n if (fromMutation) this._mutationRequested = false;\n\n const dirtyRoots = fromMutation ? this._observer.consumeDirtyRoots() : undefined;\n\n this._renderInProgress = true;\n try {\n await this._observer.suspend(async () => {\n await this._renderer.render(ctx, { fromMutation, dirtyRoots });\n });\n } finally {\n this._renderInProgress = false;\n }\n } finally {\n this._notifyEtaIdle();\n }\n },\n args: () => this.host.getEtaArgs()\n });\n }\n\n get taskComplete() {\n return this._etaRenderTask.taskComplete;\n }\n\n waitForIdle(): Promise<void> {\n if (this._isEtaIdle()) return Promise.resolve();\n return new Promise<void>((resolve) => {\n this._etaIdleWaiters.push(resolve);\n });\n }\n\n hostConnected() {\n this._observer.connect();\n }\n\n hostDisconnected() {\n this._observer.disconnect();\n }\n\n private _scheduleMutationRender() {\n this._mutationRequested = true;\n this._etaRenderTask.run();\n }\n\n private _isEtaIdle(): boolean {\n return !this._renderInProgress && this._observer.isIdle();\n }\n\n private _notifyEtaIdle() {\n if (!this._isEtaIdle()) return;\n if (this._etaIdleWaiters.length === 0) return;\n const waiters = this._etaIdleWaiters.splice(0);\n for (const w of waiters) w();\n }\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import eta from "../../templating/eta.js";
|
|
2
|
-
type TemplateEntry = {
|
|
3
|
-
src: string;
|
|
4
|
-
fn?: ReturnType<typeof eta.compile>;
|
|
5
|
-
lastRendered?: string;
|
|
6
|
-
};
|
|
7
|
-
type UpdateOptions = {
|
|
8
|
-
allowMutationRefresh: boolean;
|
|
9
|
-
};
|
|
10
|
-
export declare class EtaTemplateCache {
|
|
11
|
-
private _elementTemplates;
|
|
12
|
-
private _attrTemplates;
|
|
13
|
-
private _noEtaAttrs?;
|
|
14
|
-
getElementEntry(el: HTMLElement): TemplateEntry | undefined;
|
|
15
|
-
hasTemplate(el: HTMLElement): boolean;
|
|
16
|
-
getOrCreateAttrCache(el: HTMLElement): Map<string, TemplateEntry>;
|
|
17
|
-
hasNoEtaAttrs(el: HTMLElement): boolean;
|
|
18
|
-
markNoEtaAttrs(el: HTMLElement): void;
|
|
19
|
-
clearNoEtaAttrs(el: HTMLElement): void;
|
|
20
|
-
updateElementEntry(el: HTMLElement, currentSrc: string, { allowMutationRefresh }: UpdateOptions): TemplateEntry;
|
|
21
|
-
getLastRendered(el: HTMLElement): string | undefined;
|
|
22
|
-
setLastRendered(el: HTMLElement, rendered: string): void;
|
|
23
|
-
}
|
|
24
|
-
export {};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
export class EtaTemplateCache {
|
|
2
|
-
constructor() {
|
|
3
|
-
this._elementTemplates = new WeakMap();
|
|
4
|
-
this._attrTemplates = new WeakMap();
|
|
5
|
-
}
|
|
6
|
-
getElementEntry(el) {
|
|
7
|
-
return this._elementTemplates.get(el);
|
|
8
|
-
}
|
|
9
|
-
hasTemplate(el) {
|
|
10
|
-
const entry = this._elementTemplates.get(el);
|
|
11
|
-
return Boolean(entry && entry.src && entry.src.includes("{{"));
|
|
12
|
-
}
|
|
13
|
-
getOrCreateAttrCache(el) {
|
|
14
|
-
let cache = this._attrTemplates.get(el);
|
|
15
|
-
if (!cache) {
|
|
16
|
-
cache = new Map();
|
|
17
|
-
this._attrTemplates.set(el, cache);
|
|
18
|
-
}
|
|
19
|
-
return cache;
|
|
20
|
-
}
|
|
21
|
-
hasNoEtaAttrs(el) {
|
|
22
|
-
return this._noEtaAttrs?.has(el) ?? false;
|
|
23
|
-
}
|
|
24
|
-
markNoEtaAttrs(el) {
|
|
25
|
-
if (!this._noEtaAttrs)
|
|
26
|
-
this._noEtaAttrs = new WeakSet();
|
|
27
|
-
this._noEtaAttrs.add(el);
|
|
28
|
-
}
|
|
29
|
-
clearNoEtaAttrs(el) {
|
|
30
|
-
this._noEtaAttrs?.delete(el);
|
|
31
|
-
}
|
|
32
|
-
updateElementEntry(el, currentSrc, { allowMutationRefresh }) {
|
|
33
|
-
let entry = this._elementTemplates.get(el);
|
|
34
|
-
const hadTemplate = Boolean(entry && entry.src && entry.src.includes("{{"));
|
|
35
|
-
if (!entry) {
|
|
36
|
-
entry = { src: currentSrc };
|
|
37
|
-
this._elementTemplates.set(el, entry);
|
|
38
|
-
return entry;
|
|
39
|
-
}
|
|
40
|
-
if (entry.src !== currentSrc) {
|
|
41
|
-
const isTemplateLike = currentSrc.includes("{{");
|
|
42
|
-
// Accept SPA-authored changes (even without templates) only when mutation-triggered
|
|
43
|
-
// and the element did not previously cache a template.
|
|
44
|
-
if (isTemplateLike || (allowMutationRefresh && !hadTemplate)) {
|
|
45
|
-
entry.src = currentSrc;
|
|
46
|
-
delete entry.fn;
|
|
47
|
-
delete entry.lastRendered;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return entry;
|
|
51
|
-
}
|
|
52
|
-
getLastRendered(el) {
|
|
53
|
-
return this._elementTemplates.get(el)?.lastRendered;
|
|
54
|
-
}
|
|
55
|
-
setLastRendered(el, rendered) {
|
|
56
|
-
const entry = this._elementTemplates.get(el);
|
|
57
|
-
if (entry)
|
|
58
|
-
entry.lastRendered = rendered;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=eta-template-cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eta-template-cache.js","sourceRoot":"","sources":["../../../../src/controllers/eta-renderer/eta-template-cache.ts"],"names":[],"mappings":"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","sourcesContent":["import eta from \"@/templating/eta\";\n\ntype TemplateEntry = { src: string; fn?: ReturnType<typeof eta.compile>; lastRendered?: string };\n\ntype UpdateOptions = {\n allowMutationRefresh: boolean;\n};\n\nexport class EtaTemplateCache {\n private _elementTemplates = new WeakMap<HTMLElement, TemplateEntry>();\n private _attrTemplates = new WeakMap<HTMLElement, Map<string, TemplateEntry>>();\n private _noEtaAttrs?: WeakSet<HTMLElement>;\n\n getElementEntry(el: HTMLElement): TemplateEntry | undefined {\n return this._elementTemplates.get(el);\n }\n\n hasTemplate(el: HTMLElement): boolean {\n const entry = this._elementTemplates.get(el);\n return Boolean(entry && entry.src && entry.src.includes(\"{{\"));\n }\n\n getOrCreateAttrCache(el: HTMLElement): Map<string, TemplateEntry> {\n let cache = this._attrTemplates.get(el);\n if (!cache) {\n cache = new Map();\n this._attrTemplates.set(el, cache);\n }\n return cache;\n }\n\n hasNoEtaAttrs(el: HTMLElement): boolean {\n return this._noEtaAttrs?.has(el) ?? false;\n }\n\n markNoEtaAttrs(el: HTMLElement) {\n if (!this._noEtaAttrs) this._noEtaAttrs = new WeakSet<HTMLElement>();\n this._noEtaAttrs.add(el);\n }\n\n clearNoEtaAttrs(el: HTMLElement) {\n this._noEtaAttrs?.delete(el);\n }\n\n updateElementEntry(el: HTMLElement, currentSrc: string, { allowMutationRefresh }: UpdateOptions): TemplateEntry {\n let entry = this._elementTemplates.get(el);\n const hadTemplate = Boolean(entry && entry.src && entry.src.includes(\"{{\"));\n\n if (!entry) {\n entry = { src: currentSrc };\n this._elementTemplates.set(el, entry);\n return entry;\n }\n\n if (entry.src !== currentSrc) {\n const isTemplateLike = currentSrc.includes(\"{{\");\n // Accept SPA-authored changes (even without templates) only when mutation-triggered\n // and the element did not previously cache a template.\n if (isTemplateLike || (allowMutationRefresh && !hadTemplate)) {\n entry.src = currentSrc;\n delete entry.fn;\n delete entry.lastRendered;\n }\n }\n\n return entry;\n }\n\n getLastRendered(el: HTMLElement): string | undefined {\n return this._elementTemplates.get(el)?.lastRendered;\n }\n\n setLastRendered(el: HTMLElement, rendered: string) {\n const entry = this._elementTemplates.get(el);\n if (entry) entry.lastRendered = rendered;\n }\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ReactiveControllerHost } from "lit";
|
|
2
|
-
export type EtaRenderHost = ReactiveControllerHost & HTMLElement & {
|
|
3
|
-
etaMutationDelay: number;
|
|
4
|
-
etaMutationDelayMax: number;
|
|
5
|
-
shouldRunEtaStateRender(): boolean;
|
|
6
|
-
shouldObserveEtaMutations(): boolean;
|
|
7
|
-
getEtaArgs(): unknown[];
|
|
8
|
-
buildEtaContext(): Promise<object | undefined>;
|
|
9
|
-
isStateNodeElement(el: Element): boolean;
|
|
10
|
-
};
|
|
11
|
-
export type ObserveShadowRoot = (shadowRoot: ShadowRoot, host?: HTMLElement) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=eta-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eta-types.js","sourceRoot":"","sources":["../../../../src/controllers/eta-renderer/eta-types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactiveControllerHost } from \"lit\";\n\nexport type EtaRenderHost = ReactiveControllerHost & HTMLElement & {\n etaMutationDelay : number;\n etaMutationDelayMax: number;\n shouldRunEtaStateRender(): boolean;\n shouldObserveEtaMutations(): boolean;\n getEtaArgs(): unknown[];\n buildEtaContext(): Promise<object | undefined>;\n isStateNodeElement(el: Element): boolean;\n};\n\nexport type ObserveShadowRoot = (shadowRoot: ShadowRoot, host?: HTMLElement) => void;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controllers/eta-renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { EtaRenderController } from \"./eta-renderer\";\nexport type { EtaRenderHost, ObserveShadowRoot } from \"./eta-types\";\n\n"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { EventType } from "../events/events.js";
|
|
2
|
-
import { ReactiveController, ReactiveControllerHost } from "lit";
|
|
3
|
-
type NodeEvent = EventType | undefined;
|
|
4
|
-
type EventPipelineHost = ReactiveControllerHost & EventTarget & {
|
|
5
|
-
_eventParent?: NodeEvent;
|
|
6
|
-
_eventDom?: NodeEvent;
|
|
7
|
-
_event?: NodeEvent;
|
|
8
|
-
ignoreEventsParent: boolean;
|
|
9
|
-
autoForward: boolean;
|
|
10
|
-
};
|
|
11
|
-
export declare class EventPipelineController implements ReactiveController {
|
|
12
|
-
private host;
|
|
13
|
-
private _prevDomEventRef?;
|
|
14
|
-
private _prevParentEventRef?;
|
|
15
|
-
private _prevIgnoreParent?;
|
|
16
|
-
private _syncTask;
|
|
17
|
-
private _forwardTask;
|
|
18
|
-
private _forwardEvent;
|
|
19
|
-
private _notifyParent;
|
|
20
|
-
constructor(host: EventPipelineHost, forwardEvent: (e?: NodeEvent) => void, notifyParent: () => void);
|
|
21
|
-
get syncComplete(): Promise<void>;
|
|
22
|
-
get forwardComplete(): Promise<void>;
|
|
23
|
-
hostConnected(): void;
|
|
24
|
-
hostDisconnected(): void;
|
|
25
|
-
hostUpdate(): void;
|
|
26
|
-
hostUpdated(): void;
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Task } from "@lit/task";
|
|
2
|
-
export class EventPipelineController {
|
|
3
|
-
constructor(host, forwardEvent, notifyParent) {
|
|
4
|
-
this.host = host;
|
|
5
|
-
this._forwardEvent = forwardEvent;
|
|
6
|
-
this._notifyParent = notifyParent;
|
|
7
|
-
host.addController(this);
|
|
8
|
-
this._syncTask = new Task(host, {
|
|
9
|
-
task: async ([fromParent, fromDom, ignoreParent]) => {
|
|
10
|
-
const dom = fromDom;
|
|
11
|
-
const parent = fromParent;
|
|
12
|
-
const domChanged = !!dom && dom !== this._prevDomEventRef;
|
|
13
|
-
const parentChanged = !!parent && parent !== this._prevParentEventRef;
|
|
14
|
-
const ignoreChanged = ignoreParent !== this._prevIgnoreParent;
|
|
15
|
-
if (!domChanged && !parentChanged && !ignoreChanged)
|
|
16
|
-
return;
|
|
17
|
-
this._prevIgnoreParent = ignoreParent;
|
|
18
|
-
if (domChanged)
|
|
19
|
-
this._prevDomEventRef = dom;
|
|
20
|
-
if (parentChanged)
|
|
21
|
-
this._prevParentEventRef = parent;
|
|
22
|
-
if (ignoreParent) {
|
|
23
|
-
if (domChanged) {
|
|
24
|
-
this.host._event = dom;
|
|
25
|
-
}
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (domChanged) {
|
|
29
|
-
this.host._event = dom;
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (parentChanged) {
|
|
33
|
-
this.host._event = parent;
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
// If only the ignore flag changed, adopt parent event (if any).
|
|
37
|
-
if (!ignoreParent && parent) {
|
|
38
|
-
this.host._event = parent;
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
args: () => [this.host._eventParent, this.host._eventDom, this.host.ignoreEventsParent]
|
|
42
|
-
});
|
|
43
|
-
this._forwardTask = new Task(host, {
|
|
44
|
-
task: async ([evt, auto]) => {
|
|
45
|
-
if (!evt || !auto)
|
|
46
|
-
return;
|
|
47
|
-
this._forwardEvent(evt);
|
|
48
|
-
this._notifyParent();
|
|
49
|
-
},
|
|
50
|
-
args: () => [this.host._event, this.host.autoForward]
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
get syncComplete() {
|
|
54
|
-
return this._syncTask.taskComplete;
|
|
55
|
-
}
|
|
56
|
-
get forwardComplete() {
|
|
57
|
-
return this._forwardTask.taskComplete;
|
|
58
|
-
}
|
|
59
|
-
hostConnected() {
|
|
60
|
-
// no-op
|
|
61
|
-
}
|
|
62
|
-
hostDisconnected() {
|
|
63
|
-
// no-op
|
|
64
|
-
}
|
|
65
|
-
hostUpdate() {
|
|
66
|
-
// no-op
|
|
67
|
-
}
|
|
68
|
-
hostUpdated() {
|
|
69
|
-
// no-op
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=event-pipeline-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-pipeline-controller.js","sourceRoot":"","sources":["../../../src/controllers/event-pipeline-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EventType } from \"@/events/events\";\nimport { Task } from \"@lit/task\";\nimport { ReactiveController, ReactiveControllerHost } from \"lit\";\n\ntype NodeEvent = EventType | undefined;\n\ntype EventPipelineHost = ReactiveControllerHost & EventTarget & {\n _eventParent? : NodeEvent;\n _eventDom? : NodeEvent;\n _event? : NodeEvent;\n ignoreEventsParent: boolean;\n autoForward : boolean;\n};\n\nexport class EventPipelineController implements ReactiveController {\n private host: EventPipelineHost;\n\n private _prevDomEventRef? : NodeEvent;\n private _prevParentEventRef?: NodeEvent;\n private _prevIgnoreParent? : boolean;\n\n private _syncTask : Task<unknown[], void>;\n private _forwardTask : Task<unknown[], void>;\n private _forwardEvent: (e?: NodeEvent) => void;\n private _notifyParent: () => void;\n\n constructor(host: EventPipelineHost, forwardEvent: (e?: NodeEvent) => void, notifyParent: () => void) {\n this.host = host;\n this._forwardEvent = forwardEvent;\n this._notifyParent = notifyParent;\n host.addController(this);\n\n this._syncTask = new Task(host, {\n task: async ([fromParent, fromDom, ignoreParent]) => {\n const dom = fromDom as NodeEvent;\n const parent = fromParent as NodeEvent;\n\n const domChanged = !!dom && dom !== this._prevDomEventRef;\n const parentChanged = !!parent && parent !== this._prevParentEventRef;\n const ignoreChanged = ignoreParent !== this._prevIgnoreParent;\n\n if (!domChanged && !parentChanged && !ignoreChanged) return;\n\n this._prevIgnoreParent = ignoreParent;\n if (domChanged) this._prevDomEventRef = dom;\n if (parentChanged) this._prevParentEventRef = parent;\n\n if (ignoreParent) {\n if (domChanged) {\n this.host._event = dom;\n }\n return;\n }\n\n if (domChanged) {\n this.host._event = dom;\n return;\n }\n\n if (parentChanged) {\n this.host._event = parent;\n return;\n }\n\n // If only the ignore flag changed, adopt parent event (if any).\n if (!ignoreParent && parent) {\n this.host._event = parent;\n }\n },\n args: () => [this.host._eventParent, this.host._eventDom, this.host.ignoreEventsParent]\n });\n\n this._forwardTask = new Task(host, {\n task: async ([evt, auto]) => {\n if (!evt || !auto) return;\n this._forwardEvent(evt as NodeEvent);\n this._notifyParent();\n },\n args: () => [this.host._event, this.host.autoForward]\n });\n }\n\n get syncComplete() {\n return this._syncTask.taskComplete;\n }\n\n get forwardComplete() {\n return this._forwardTask.taskComplete;\n }\n\n hostConnected() {\n // no-op\n }\n\n hostDisconnected() {\n // no-op\n }\n\n hostUpdate() {\n // no-op\n }\n\n hostUpdated() {\n // no-op\n }\n}\n"]}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ProductOption } from "@repobit/dex-store";
|
|
2
|
-
export type UpdateByDelta = {
|
|
3
|
-
type: "devices" | "subscription";
|
|
4
|
-
delta: number | "next" | "prev";
|
|
5
|
-
min?: number;
|
|
6
|
-
max?: number;
|
|
7
|
-
/**
|
|
8
|
-
* If true, treat `delta` as the new absolute value
|
|
9
|
-
* instead of adding/subtracting it.
|
|
10
|
-
*/
|
|
11
|
-
useAsValue?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Optional identifier of the action source element (data-store-id)
|
|
14
|
-
*/
|
|
15
|
-
storeId?: string;
|
|
16
|
-
};
|
|
17
|
-
export type Action = {
|
|
18
|
-
id?: string;
|
|
19
|
-
campaign?: string;
|
|
20
|
-
bundle?: boolean;
|
|
21
|
-
devices?: number;
|
|
22
|
-
subscription?: number;
|
|
23
|
-
/**
|
|
24
|
-
* Optional identifier of the action source element (data-store-id)
|
|
25
|
-
*/
|
|
26
|
-
storeId?: string;
|
|
27
|
-
};
|
|
28
|
-
export type CollectUpdateByDelta = {
|
|
29
|
-
name: symbol | string;
|
|
30
|
-
update: UpdateByDelta | null;
|
|
31
|
-
};
|
|
32
|
-
export type CollectAction = {
|
|
33
|
-
name: symbol | string;
|
|
34
|
-
action: Action | null;
|
|
35
|
-
};
|
|
36
|
-
export type CollectOption = {
|
|
37
|
-
name: symbol | string;
|
|
38
|
-
options: Promise<ProductOption[]> | null;
|
|
39
|
-
};
|
|
40
|
-
export declare class UpdateByDeltaEvent extends CustomEvent<UpdateByDelta> {
|
|
41
|
-
static readonly eventName = "store-update-delta";
|
|
42
|
-
constructor(detail: UpdateByDelta);
|
|
43
|
-
}
|
|
44
|
-
export declare class ActionEvent extends CustomEvent<Action> {
|
|
45
|
-
static readonly eventName = "store-set-action";
|
|
46
|
-
constructor(detail: Action);
|
|
47
|
-
}
|
|
48
|
-
export declare class CollectActionEvent extends CustomEvent<CollectAction> {
|
|
49
|
-
static readonly eventName = "store-collect-action";
|
|
50
|
-
constructor(detail: CollectAction);
|
|
51
|
-
}
|
|
52
|
-
export declare class CollectUpdateByDeltaEvent extends CustomEvent<CollectUpdateByDelta> {
|
|
53
|
-
static readonly eventName = "store-collect-update-by-delta";
|
|
54
|
-
constructor(detail: CollectUpdateByDelta);
|
|
55
|
-
}
|
|
56
|
-
export declare class CollectOptionEvent extends CustomEvent<CollectOption> {
|
|
57
|
-
static readonly eventName = "store-collect-option";
|
|
58
|
-
constructor(detail: CollectOption);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Contextual child registration for updateComplete coordination.
|
|
62
|
-
* Children dispatch these to their nearest StateNode-like parent.
|
|
63
|
-
*/
|
|
64
|
-
export type CollectChild = {
|
|
65
|
-
child: HTMLElement;
|
|
66
|
-
};
|
|
67
|
-
export declare class CollectChildEvent extends CustomEvent<CollectChild> {
|
|
68
|
-
static readonly eventName = "store-collect-child";
|
|
69
|
-
constructor(detail: CollectChild);
|
|
70
|
-
}
|
|
71
|
-
export declare class CollectChildRemovedEvent extends CustomEvent<CollectChild> {
|
|
72
|
-
static readonly eventName = "store-collect-child-removed";
|
|
73
|
-
constructor(detail: CollectChild);
|
|
74
|
-
}
|
|
75
|
-
export type EventType = UpdateByDeltaEvent | ActionEvent;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
export class UpdateByDeltaEvent extends CustomEvent {
|
|
2
|
-
static { this.eventName = "store-update-delta"; }
|
|
3
|
-
constructor(detail) {
|
|
4
|
-
super(UpdateByDeltaEvent.eventName, {
|
|
5
|
-
detail,
|
|
6
|
-
bubbles: true,
|
|
7
|
-
composed: true,
|
|
8
|
-
cancelable: true
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export class ActionEvent extends CustomEvent {
|
|
13
|
-
static { this.eventName = "store-set-action"; }
|
|
14
|
-
constructor(detail) {
|
|
15
|
-
super(ActionEvent.eventName, {
|
|
16
|
-
detail,
|
|
17
|
-
bubbles: true,
|
|
18
|
-
composed: true,
|
|
19
|
-
cancelable: true
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export class CollectActionEvent extends CustomEvent {
|
|
24
|
-
static { this.eventName = "store-collect-action"; }
|
|
25
|
-
constructor(detail) {
|
|
26
|
-
super(CollectActionEvent.eventName, {
|
|
27
|
-
detail,
|
|
28
|
-
bubbles: true,
|
|
29
|
-
composed: true,
|
|
30
|
-
cancelable: true
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export class CollectUpdateByDeltaEvent extends CustomEvent {
|
|
35
|
-
static { this.eventName = "store-collect-update-by-delta"; }
|
|
36
|
-
constructor(detail) {
|
|
37
|
-
super(CollectUpdateByDeltaEvent.eventName, {
|
|
38
|
-
detail,
|
|
39
|
-
bubbles: true,
|
|
40
|
-
composed: true,
|
|
41
|
-
cancelable: true
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export class CollectOptionEvent extends CustomEvent {
|
|
46
|
-
static { this.eventName = "store-collect-option"; }
|
|
47
|
-
constructor(detail) {
|
|
48
|
-
super(CollectOptionEvent.eventName, {
|
|
49
|
-
detail,
|
|
50
|
-
bubbles: true,
|
|
51
|
-
composed: true,
|
|
52
|
-
cancelable: true
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export class CollectChildEvent extends CustomEvent {
|
|
57
|
-
static { this.eventName = "store-collect-child"; }
|
|
58
|
-
constructor(detail) {
|
|
59
|
-
super(CollectChildEvent.eventName, {
|
|
60
|
-
detail,
|
|
61
|
-
bubbles: true,
|
|
62
|
-
composed: true,
|
|
63
|
-
cancelable: true
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
export class CollectChildRemovedEvent extends CustomEvent {
|
|
68
|
-
static { this.eventName = "store-collect-child-removed"; }
|
|
69
|
-
constructor(detail) {
|
|
70
|
-
super(CollectChildRemovedEvent.eventName, {
|
|
71
|
-
detail,
|
|
72
|
-
bubbles: true,
|
|
73
|
-
composed: true,
|
|
74
|
-
cancelable: true
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/events/events.ts"],"names":[],"mappings":"AA6CA,MAAM,OAAO,kBAAmB,SAAQ,WAA0B;aAChD,cAAS,GAAG,oBAAoB,CAAC;IAEjD,YAAY,MAAqB;QAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE;YAClC,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,OAAO,WAAY,SAAQ,WAAmB;aAClC,cAAS,GAAG,kBAAkB,CAAC;IAE/C,YAAY,MAAc;QACxB,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE;YAC3B,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,WAA0B;aAChD,cAAS,GAAG,sBAAsB,CAAC;IAEnD,YAAY,MAAqB;QAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE;YAClC,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,OAAO,yBAA0B,SAAQ,WAAiC;aAC9D,cAAS,GAAG,+BAA+B,CAAC;IAE5D,YAAY,MAA4B;QACtC,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE;YACzC,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,WAA0B;aAChD,cAAS,GAAG,sBAAsB,CAAC;IAEnD,YAAY,MAAqB;QAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE;YAClC,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;;AAWH,MAAM,OAAO,iBAAkB,SAAQ,WAAyB;aAC9C,cAAS,GAAG,qBAAqB,CAAC;IAElD,YAAY,MAAoB;QAC9B,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE;YACjC,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,OAAO,wBAAyB,SAAQ,WAAyB;aACrD,cAAS,GAAG,6BAA6B,CAAC;IAE1D,YAAY,MAAoB;QAC9B,KAAK,CAAC,wBAAwB,CAAC,SAAS,EAAE;YACxC,MAAM;YACN,OAAO,EAAK,IAAI;YAChB,QAAQ,EAAI,IAAI;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC","sourcesContent":["import { ProductOption } from \"@repobit/dex-store\";\n\nexport type UpdateByDelta = {\n type : \"devices\" | \"subscription\";\n delta : number | \"next\" | \"prev\";\n min? : number;\n max? : number;\n /**\n * If true, treat `delta` as the new absolute value\n * instead of adding/subtracting it.\n */\n useAsValue?: boolean;\n /**\n * Optional identifier of the action source element (data-store-id)\n */\n storeId? : string;\n}\n\nexport type Action = {\n id? : string;\n campaign? : string;\n bundle? : boolean;\n devices? : number;\n subscription?: number;\n /**\n * Optional identifier of the action source element (data-store-id)\n */\n storeId? : string;\n}\n\nexport type CollectUpdateByDelta = {\n name : symbol | string,\n update: UpdateByDelta | null\n};\n\nexport type CollectAction = {\n name : symbol | string,\n action: Action | null\n};\n\nexport type CollectOption = {\n name : symbol | string,\n options: Promise<ProductOption[]> | null,\n};\n\nexport class UpdateByDeltaEvent extends CustomEvent<UpdateByDelta> {\n static readonly eventName = \"store-update-delta\";\n\n constructor(detail: UpdateByDelta) {\n super(UpdateByDeltaEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\nexport class ActionEvent extends CustomEvent<Action> {\n static readonly eventName = \"store-set-action\";\n\n constructor(detail: Action) {\n super(ActionEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\nexport class CollectActionEvent extends CustomEvent<CollectAction> {\n static readonly eventName = \"store-collect-action\";\n\n constructor(detail: CollectAction) {\n super(CollectActionEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\nexport class CollectUpdateByDeltaEvent extends CustomEvent<CollectUpdateByDelta> {\n static readonly eventName = \"store-collect-update-by-delta\";\n\n constructor(detail: CollectUpdateByDelta) {\n super(CollectUpdateByDeltaEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\nexport class CollectOptionEvent extends CustomEvent<CollectOption> {\n static readonly eventName = \"store-collect-option\";\n\n constructor(detail: CollectOption) {\n super(CollectOptionEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\n/**\n * Contextual child registration for updateComplete coordination.\n * Children dispatch these to their nearest StateNode-like parent.\n */\nexport type CollectChild = {\n child: HTMLElement;\n};\n\nexport class CollectChildEvent extends CustomEvent<CollectChild> {\n static readonly eventName = \"store-collect-child\";\n\n constructor(detail: CollectChild) {\n super(CollectChildEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\nexport class CollectChildRemovedEvent extends CustomEvent<CollectChild> {\n static readonly eventName = \"store-collect-child-removed\";\n\n constructor(detail: CollectChild) {\n super(CollectChildRemovedEvent.eventName, {\n detail,\n bubbles : true,\n composed : true,\n cancelable: true\n });\n }\n}\n\nexport type EventType =\n UpdateByDeltaEvent |\n ActionEvent;\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { dataLayerContextType } from "../contexts/context.datalayer.js";
|
|
2
|
-
import { derivedContextType } from "../contexts/context.derived.js";
|
|
3
|
-
import { optionContextType } from "../contexts/context.option.js";
|
|
4
|
-
import { productContextType } from "../contexts/context.product.js";
|
|
5
|
-
import { storeContextType } from "../contexts/context.store.js";
|
|
6
|
-
import { StateNode } from "./node.state.js";
|
|
7
|
-
export declare class RootNode extends StateNode {
|
|
8
|
-
/**
|
|
9
|
-
* Consumes store provided by root node
|
|
10
|
-
*/
|
|
11
|
-
store?: storeContextType;
|
|
12
|
-
dataLayer?: dataLayerContextType;
|
|
13
|
-
_optionContextDefault?: optionContextType;
|
|
14
|
-
_productContextDefault?: productContextType;
|
|
15
|
-
derived?: derivedContextType | null;
|
|
16
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { dataLayerContext } from "../contexts/context.datalayer.js";
|
|
8
|
-
import { derivedContext } from "../contexts/context.derived.js";
|
|
9
|
-
import { optionContext } from "../contexts/context.option.js";
|
|
10
|
-
import { productContext } from "../contexts/context.product.js";
|
|
11
|
-
import { storeContext } from "../contexts/context.store.js";
|
|
12
|
-
import { provide } from "@lit/context";
|
|
13
|
-
import { property } from "lit/decorators.js";
|
|
14
|
-
import { StateNode } from "./node.state.js";
|
|
15
|
-
export class RootNode extends StateNode {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
// Provide a default answer for optionContext at the root so
|
|
19
|
-
// consumers always receive a value (Promise<null>) even when
|
|
20
|
-
// not inside a <bd-option> subtree. A closer provider overrides it.
|
|
21
|
-
this._optionContextDefault = Promise.resolve(null);
|
|
22
|
-
// Provide a default product context so binders receive a value
|
|
23
|
-
// even outside a <bd-product> subtree (overridden by closer provider).
|
|
24
|
-
this._productContextDefault = null;
|
|
25
|
-
// Provide user-defined derived variables/functions for Eta + DSL
|
|
26
|
-
this.derived = null;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
__decorate([
|
|
30
|
-
provide({ context: storeContext }),
|
|
31
|
-
property({ attribute: false })
|
|
32
|
-
], RootNode.prototype, "store", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
provide({ context: dataLayerContext }),
|
|
35
|
-
property({ attribute: false })
|
|
36
|
-
], RootNode.prototype, "dataLayer", void 0);
|
|
37
|
-
__decorate([
|
|
38
|
-
provide({ context: optionContext }),
|
|
39
|
-
property({ attribute: false })
|
|
40
|
-
], RootNode.prototype, "_optionContextDefault", void 0);
|
|
41
|
-
__decorate([
|
|
42
|
-
provide({ context: productContext }),
|
|
43
|
-
property({ attribute: false })
|
|
44
|
-
], RootNode.prototype, "_productContextDefault", void 0);
|
|
45
|
-
__decorate([
|
|
46
|
-
provide({ context: derivedContext }),
|
|
47
|
-
property({ attribute: false })
|
|
48
|
-
], RootNode.prototype, "derived", void 0);
|
|
49
|
-
//# sourceMappingURL=node.root.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.root.js","sourceRoot":"","sources":["../../../src/nodes/node.root.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAwB,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAqB,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAoB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,QAAS,SAAQ,SAAS;IAAvC;;QAYE,4DAA4D;QAC5D,6DAA6D;QAC7D,oEAAoE;QAGpE,0BAAqB,GAAuB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElE,+DAA+D;QAC/D,uEAAuE;QAGvE,2BAAsB,GAAwB,IAAI,CAAC;QAEnD,iEAAiE;QAGjE,YAAO,GAA+B,IAAI,CAAC;IAC7C,CAAC;CAAA;AAvBC;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,EAAG,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;uCACN;AAIzB;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;2CACE;AAOjC;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;uDACmC;AAMlE;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wDACoB;AAKnD;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;yCACY","sourcesContent":["import { dataLayerContext, dataLayerContextType } from \"@/contexts/context.datalayer\";\nimport { derivedContext, derivedContextType } from \"@/contexts/context.derived\";\nimport { optionContext, optionContextType } from \"@/contexts/context.option\";\nimport { productContext, productContextType } from \"@/contexts/context.product\";\nimport { storeContext, storeContextType } from \"@/contexts/context.store\";\nimport { provide } from \"@lit/context\";\nimport { property } from \"lit/decorators.js\";\nimport { StateNode } from \"./node.state\";\n\nexport class RootNode extends StateNode {\n /**\n * Consumes store provided by root node\n */\n @provide({ context: storeContext })\n @property({ attribute: false })\n store?: storeContextType;\n\n @provide({ context: dataLayerContext })\n @property({ attribute: false })\n dataLayer?: dataLayerContextType;\n\n // Provide a default answer for optionContext at the root so\n // consumers always receive a value (Promise<null>) even when\n // not inside a <bd-option> subtree. A closer provider overrides it.\n @provide({ context: optionContext })\n @property({ attribute: false })\n _optionContextDefault?: optionContextType = Promise.resolve(null);\n\n // Provide a default product context so binders receive a value\n // even outside a <bd-product> subtree (overridden by closer provider).\n @provide({ context: productContext })\n @property({ attribute: false })\n _productContextDefault?: productContextType = null;\n\n // Provide user-defined derived variables/functions for Eta + DSL\n @provide({ context: derivedContext })\n @property({ attribute: false })\n derived?: derivedContextType | null = null;\n}\n"]}
|