@repobit/dex-store-elements 1.4.2 → 1.4.4

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.
Files changed (96) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +15 -4
  3. package/dist/src/actions/action.button.js +4 -11
  4. package/dist/src/actions/action.button.js.map +1 -1
  5. package/dist/src/actions/action.input.js +28 -22
  6. package/dist/src/actions/action.input.js.map +1 -1
  7. package/dist/src/actions/action.select.js +10 -8
  8. package/dist/src/actions/action.select.js.map +1 -1
  9. package/dist/src/actions/index.d.ts +1 -1
  10. package/dist/src/actions/index.js +45 -49
  11. package/dist/src/actions/index.js.map +1 -1
  12. package/dist/src/actions/utilty.d.ts +1 -0
  13. package/dist/src/actions/utilty.js +59 -29
  14. package/dist/src/actions/utilty.js.map +1 -1
  15. package/dist/src/contexts/context.datalayer.js.map +1 -1
  16. package/dist/src/contexts/context.derived.js.map +1 -1
  17. package/dist/src/contexts/context.option.js.map +1 -1
  18. package/dist/src/contexts/context.product.js.map +1 -1
  19. package/dist/src/contexts/context.state.js.map +1 -1
  20. package/dist/src/contexts/context.store.js.map +1 -1
  21. package/dist/src/controllers/collect-controller.d.ts +39 -0
  22. package/dist/src/controllers/collect-controller.js +161 -0
  23. package/dist/src/controllers/collect-controller.js.map +1 -0
  24. package/dist/src/controllers/compute-controller.d.ts +55 -0
  25. package/dist/src/controllers/compute-controller.js +350 -0
  26. package/dist/src/controllers/compute-controller.js.map +1 -0
  27. package/dist/src/controllers/eta-renderer/eta-dom-renderer.d.ts +21 -0
  28. package/dist/src/controllers/eta-renderer/eta-dom-renderer.js +152 -0
  29. package/dist/src/controllers/eta-renderer/eta-dom-renderer.js.map +1 -0
  30. package/dist/src/controllers/eta-renderer/eta-mutation-observer.d.ts +28 -0
  31. package/dist/src/controllers/eta-renderer/eta-mutation-observer.js +206 -0
  32. package/dist/src/controllers/eta-renderer/eta-mutation-observer.js.map +1 -0
  33. package/dist/src/controllers/eta-renderer/eta-renderer.d.ts +21 -0
  34. package/dist/src/controllers/eta-renderer/eta-renderer.js +77 -0
  35. package/dist/src/controllers/eta-renderer/eta-renderer.js.map +1 -0
  36. package/dist/src/controllers/eta-renderer/eta-template-cache.d.ts +21 -0
  37. package/dist/src/controllers/eta-renderer/eta-template-cache.js +52 -0
  38. package/dist/src/controllers/eta-renderer/eta-template-cache.js.map +1 -0
  39. package/dist/src/controllers/eta-renderer/eta-types.d.ts +11 -0
  40. package/dist/src/controllers/eta-renderer/eta-types.js +1 -0
  41. package/dist/src/controllers/eta-renderer/eta-types.js.map +1 -0
  42. package/dist/src/controllers/eta-renderer/index.d.ts +2 -0
  43. package/dist/src/controllers/eta-renderer/index.js +2 -0
  44. package/dist/src/controllers/eta-renderer/index.js.map +1 -0
  45. package/dist/src/controllers/event-pipeline-controller.d.ts +28 -0
  46. package/dist/src/controllers/event-pipeline-controller.js +72 -0
  47. package/dist/src/controllers/event-pipeline-controller.js.map +1 -0
  48. package/dist/src/dsl/compilers/array/compiler.js.map +1 -1
  49. package/dist/src/dsl/compilers/boolean/compiler.js.map +1 -1
  50. package/dist/src/dsl/compilers/enum/compiler.js.map +1 -1
  51. package/dist/src/dsl/compilers/index.js.map +1 -1
  52. package/dist/src/dsl/utilty.js.map +1 -1
  53. package/dist/src/events/events.js.map +1 -1
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/nodes/node.context.js.map +1 -1
  56. package/dist/src/nodes/node.option.d.ts +4 -2
  57. package/dist/src/nodes/node.option.js +56 -56
  58. package/dist/src/nodes/node.option.js.map +1 -1
  59. package/dist/src/nodes/node.product.d.ts +4 -3
  60. package/dist/src/nodes/node.product.js +16 -28
  61. package/dist/src/nodes/node.product.js.map +1 -1
  62. package/dist/src/nodes/node.root.js.map +1 -1
  63. package/dist/src/nodes/node.state.d.ts +18 -70
  64. package/dist/src/nodes/node.state.js +42 -862
  65. package/dist/src/nodes/node.state.js.map +1 -1
  66. package/dist/src/renders/attributes/buyLink.js +12 -8
  67. package/dist/src/renders/attributes/buyLink.js.map +1 -1
  68. package/dist/src/renders/attributes/devices.js +10 -10
  69. package/dist/src/renders/attributes/devices.js.map +1 -1
  70. package/dist/src/renders/attributes/discount.js +60 -81
  71. package/dist/src/renders/attributes/discount.js.map +1 -1
  72. package/dist/src/renders/attributes/hide.js +21 -26
  73. package/dist/src/renders/attributes/hide.js.map +1 -1
  74. package/dist/src/renders/attributes/index.js.map +1 -1
  75. package/dist/src/renders/attributes/price.js +60 -81
  76. package/dist/src/renders/attributes/price.js.map +1 -1
  77. package/dist/src/renders/attributes/subscription.js +11 -11
  78. package/dist/src/renders/attributes/subscription.js.map +1 -1
  79. package/dist/src/renders/attributes/trialLink.js +5 -4
  80. package/dist/src/renders/attributes/trialLink.js.map +1 -1
  81. package/dist/src/renders/attributes/utilty.d.ts +2 -0
  82. package/dist/src/renders/attributes/utilty.js +5 -0
  83. package/dist/src/renders/attributes/utilty.js.map +1 -0
  84. package/dist/src/renders/context.js.map +1 -1
  85. package/dist/src/renders/format.js.map +1 -1
  86. package/dist/src/renders/index.d.ts +1 -1
  87. package/dist/src/renders/index.js +46 -50
  88. package/dist/src/renders/index.js.map +1 -1
  89. package/dist/src/renders/observe.js.map +1 -1
  90. package/dist/src/renders/utility.js +46 -38
  91. package/dist/src/renders/utility.js.map +1 -1
  92. package/dist/src/templating/eta.js.map +1 -1
  93. package/package.json +2 -2
  94. package/dist/src/contexts/context.event.d.ts +0 -5
  95. package/dist/src/contexts/context.event.js +0 -3
  96. package/dist/src/contexts/context.event.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"node.product.js","sourceRoot":"","sources":["../../../src/nodes/node.product.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.product.js","sourceRoot":"","sources":["../../../src/nodes/node.product.ts"],"names":[],"mappings":"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","sourcesContent":["import { productContext } from \"@/contexts/context.product\";\nimport { ActionEvent } from \"@/events/events\";\nimport { toDSLContext } from \"@/renders/context\";\nimport { provide } from \"@lit/context\";\nimport { Task } from \"@lit/task\";\nimport type { Product } from \"@repobit/dex-store\";\nimport { property } from \"lit/decorators.js\";\nimport { StateNode } from \"./node.state\";\n\nexport class ProductNode extends StateNode {\n // Use custom forward tasks; disable default passthrough.\n autoForward = false;\n @property({ attribute: 'product-id', reflect: true })\n productId?: string;\n\n @property({ reflect: true })\n campaign?: string;\n\n @provide({ context: productContext })\n @property({ attribute: false })\n product?: Product;\n\n private _forwardAndNotify(event?: ActionEvent) {\n this._forwardEvent(event);\n this._notifyParent();\n }\n\n // Reflect incoming product-change events and forward original event.\n private _productChangeEvent = new Task(this, {\n task: ([evt]) => {\n if (!evt) return null;\n if (this.isProductChange(evt)) {\n this.productId = evt.detail.id;\n this.campaign = evt.detail.campaign;\n }\n this._forwardAndNotify(evt);\n },\n args: () => [this._event]\n });\n\n // Synthesize product-change events when attributes change locally.\n private _forwardEventTask = new Task(this, {\n task: ([id, campaign]) => {\n const evt = this._event;\n if (evt && this.isProductChange(evt)) {\n const { id: evtId, campaign: evtCampaign } = evt.detail;\n if (evtId === id && evtCampaign === campaign) {\n return; // skip resynthesizing if mirroring incoming event\n }\n }\n if (id) {\n this._forwardAndNotify(new ActionEvent({ id, campaign }));\n }\n },\n args: () => [this.productId, this.campaign]\n });\n\n private _loadProductTask = new Task(this, {\n task: async ([store, id, campaign]) => {\n if (!store || !id) {\n this.product = undefined;\n return undefined;\n }\n const product = await store.getProduct({ id, campaign });\n this.product = product;\n return product;\n },\n args: () => [this._store, this.productId, this.campaign]\n });\n\n override getEtaArgs(): unknown[] {\n return [this.product, this.state, this._derived];\n }\n\n override async buildEtaContext(): Promise<object | undefined> {\n if (!this.product) return undefined;\n return await toDSLContext({ product: this.product, state: this.state, derived: this._derived });\n }\n\n protected async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this._productChangeEvent.taskComplete;\n await this._forwardEventTask.taskComplete;\n await this._loadProductTask.taskComplete;\n return result;\n }\n}\n"]}
@@ -1 +1 @@
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"}
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"]}
@@ -1,9 +1,8 @@
1
1
  import { derivedContextType } from "../contexts/context.derived.js";
2
- import { eventContexType } from "../contexts/context.event.js";
3
2
  import { stateContextType } from "../contexts/context.state.js";
4
3
  import { storeContextType } from "../contexts/context.store.js";
5
- import { Action, ActionEvent, CollectAction, CollectOption, CollectUpdateByDelta, EventType, UpdateByDeltaEvent } from "../events/events.js";
6
- import { ProductBundleOption, ProductOption } from "@repobit/dex-store";
4
+ import { ActionEvent, CollectAction, CollectOption, CollectUpdateByDelta, EventType, UpdateByDeltaEvent } from "../events/events.js";
5
+ import { ProductOption } from "@repobit/dex-store";
7
6
  import { LitElement } from "lit";
8
7
  type Options = Map<symbol | string, Promise<ProductOption[]>>;
9
8
  type Actions = Map<symbol | string, NonNullable<CollectAction["action"]>>;
@@ -43,18 +42,12 @@ export declare class StateNode extends LitElement {
43
42
  */
44
43
  _store?: storeContextType;
45
44
  /**
46
- * Consumes change event from parent
45
+ * Raw event pushed from parent (if any)
47
46
  */
48
- _eventParent?: eventContexType;
47
+ _eventParent?: EventType;
49
48
  _derived?: derivedContextType | null;
50
- _event?: eventContexType;
51
- _eventDom?: eventContexType;
52
- private _prevParentEventRef?;
53
- private _prevDomEventRef?;
54
- /**
55
- * Provides change event from parent or from it's context
56
- */
57
- _fEvent?: eventContexType;
49
+ _event?: EventType;
50
+ _eventDom?: EventType;
58
51
  /**
59
52
  * Local state
60
53
  */
@@ -64,68 +57,23 @@ export declare class StateNode extends LitElement {
64
57
  * options * actions
65
58
  */
66
59
  get computedOptions(): ProductOption[] | undefined;
67
- private _computeTask;
68
- private _defaultForwardEventTask;
69
- private _syncEventTask;
70
- private _prevCollect?;
71
- private _collectToggleTask;
72
- private _tplElementTemplates;
73
- private _tplAttrTemplates;
74
- private _etaRenderTask;
75
- protected shouldRunEtaStateRender(): boolean;
76
- protected _etaRenderInProgress: boolean;
77
- private _etaRenderScheduled;
78
- private _etaRenderNeedsRun;
79
- private _etaRenderDebounce?;
80
- private _etaRenderTriggeredByMutation;
81
- private _etaRenderCurrentFromMutation;
82
- private _slotMo?;
83
- private _shadowSlotMos?;
84
- private _etaIdleWaiters;
85
- private _noEtaAttrs?;
86
- private _etaDirtyRoots?;
87
- private _etaCoalesceDelay?;
88
- private _contextualChildren;
89
- private _isEtaIdle;
90
- private _waitEtaSettled;
91
- protected _notifyEtaIdle(): void;
92
- private _scheduleEtaRenderFromMutation;
93
- private _isStateNodeElement;
94
- private _findEligibleRoot;
95
- private _hasNestedStateNode;
96
- private _safeEtaRender;
97
- private _renderEtaAttributes;
98
- private _hasRenderNodes;
99
- private _morphElementFromHTML;
100
- protected _renderEtaTemplates(context: object): Promise<void>;
60
+ private _compute;
61
+ private _events;
62
+ private _collect;
63
+ private _eta;
64
+ shouldRunEtaStateRender(): boolean;
65
+ shouldObserveEtaMutations(): boolean;
66
+ getEtaArgs(): unknown[];
67
+ buildEtaContext(): Promise<object | undefined>;
68
+ isStateNodeElement(el: Element): boolean;
101
69
  connectedCallback(): void;
102
70
  remove(): void;
103
71
  disconnectedCallback(): void;
104
- private _onCollectChild;
105
- private _onCollectChildRemoved;
106
- private _announceAsContextualChild;
107
- private _announceContextualChildRemoved;
108
- private _cleanupShadowRoot;
109
- private _handleEtaMutations;
110
- private _observeShadowRoot;
111
72
  protected _eventChange(e: EventType): void;
112
- protected _forwardEvent(e?: eventContexType): void;
113
- private _collectOptionEvent;
73
+ protected _forwardEvent(e?: EventType | undefined): void;
74
+ protected _receiveParentEvent(e?: EventType): void;
75
+ protected _pushEventToChildren(e?: EventType): void;
114
76
  collectOption({ name, options }: CollectOption): void;
115
- private _collectActionEvent;
116
- private _collectUpdateByDeltaEvent;
117
- private _computeState;
118
- private _applyPartials;
119
- private _applyActions;
120
- private _applyDeltaUpdates;
121
- /**
122
- * Attempts to apply the given delta action to the current value.
123
- * Returns the updated value and whether we've exhausted variants.
124
- */
125
- private _computeDelta;
126
- private _computeContext;
127
- protected _getOption({ id, campaign, devices, subscription }: Partial<Action>, bundle?: ProductBundleOption[]): Promise<ProductOption | null | undefined>;
128
- private _applyBundles;
129
77
  protected _notifyParent(): void;
130
78
  protected getUpdateComplete(): Promise<boolean>;
131
79
  protected isDeviceAndSubscriptionChange(evt: EventType): evt is ActionEvent;