@repobit/dex-store-elements 1.2.1 → 1.2.3
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 +23 -0
- package/README.md +33 -16
- package/dist/src/actions/action.button.d.ts +2 -1
- package/dist/src/actions/action.button.js +2 -1
- package/dist/src/actions/action.button.js.map +1 -1
- package/dist/src/actions/action.input.d.ts +2 -1
- package/dist/src/actions/action.input.js.map +1 -1
- package/dist/src/actions/action.select.d.ts +2 -1
- package/dist/src/actions/action.select.js.map +1 -1
- package/dist/src/actions/index.js +12 -1
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/actions/utilty.d.ts +7 -1
- package/dist/src/actions/utilty.js +36 -5
- package/dist/src/actions/utilty.js.map +1 -1
- package/dist/src/events/events.d.ts +15 -0
- package/dist/src/events/events.js +22 -0
- package/dist/src/events/events.js.map +1 -1
- package/dist/src/nodes/node.context.d.ts +1 -0
- package/dist/src/nodes/node.context.js +4 -0
- package/dist/src/nodes/node.context.js.map +1 -1
- package/dist/src/nodes/node.option.js +10 -2
- package/dist/src/nodes/node.option.js.map +1 -1
- package/dist/src/nodes/node.product.js +10 -2
- package/dist/src/nodes/node.product.js.map +1 -1
- package/dist/src/nodes/node.state.d.ts +17 -0
- package/dist/src/nodes/node.state.js +220 -33
- package/dist/src/nodes/node.state.js.map +1 -1
- package/dist/src/renders/index.js +11 -1
- package/dist/src/renders/index.js.map +1 -1
- package/dist/src/renders/utility.d.ts +4 -1
- package/dist/src/renders/utility.js +52 -2
- package/dist/src/renders/utility.js.map +1 -1
- package/dist/src/templating/eta.d.ts +1 -1
- package/dist/src/templating/eta.js +1 -1
- package/dist/src/templating/eta.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.2.3](https://github.com/bitdefender/dex-core/compare/@repobit/dex-store-elements@1.2.2...@repobit/dex-store-elements@1.2.3) (2025-10-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **DEX-21811:** actions now can wait for renderers ([5b6d7dc](https://github.com/bitdefender/dex-core/commit/5b6d7dc0e34d3f45fdf9960fcbc86a21ff59fe8c))
|
|
12
|
+
* **DEX-21811:** add catch for methods that change the dom ([593c874](https://github.com/bitdefender/dex-core/commit/593c874fc65d224bee28cacb56f56e640e304ea0))
|
|
13
|
+
* **DEX-21811:** await eta template ([656bbe6](https://github.com/bitdefender/dex-core/commit/656bbe6e9d477a02dea45a0f6e8fd853bca05189))
|
|
14
|
+
* **DEX-21811:** context node now is isolated island ([b5e66ce](https://github.com/bitdefender/dex-core/commit/b5e66cec465849c9c79dec5464d8dc2e20fc1961))
|
|
15
|
+
* **DEX-21811:** eta template now listen dom changes ([8fd62b2](https://github.com/bitdefender/dex-core/commit/8fd62b2948cb33ef776aff0f1b7483ed559b0437))
|
|
16
|
+
* **DEX-21811:** fix action combination ([f26a739](https://github.com/bitdefender/dex-core/commit/f26a7399d08dbc811214b9fd7ab6469e59cc878f))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## [1.2.2](https://github.com/bitdefender/dex-core/compare/@repobit/dex-store-elements@1.2.1...@repobit/dex-store-elements@1.2.2) (2025-10-16)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
* **DEX-21811:** use eta browser export ([485d6e9](https://github.com/bitdefender/dex-core/commit/485d6e91b9fed4b58f57c725b3eab280ce07d57e))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
## [1.2.1](https://github.com/bitdefender/dex-core/compare/@repobit/dex-store-elements@1.2.0...@repobit/dex-store-elements@1.2.1) (2025-10-14)
|
|
7
30
|
|
|
8
31
|
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Lightweight HTML custom elements + attribute renderers for building dynamic pricing UIs on top of `@repobit/dex-store`.
|
|
4
4
|
|
|
5
|
-
- Custom elements: `<bd-root>`, `<bd-product>`, `<bd-option>`, `<bd-state>`
|
|
5
|
+
- Custom elements: `<bd-root>`, `<bd-product>`, `<bd-option>`, `<bd-state>`, `<bd-context>`
|
|
6
6
|
- Unified attribute-based renderers (no framework required)
|
|
7
7
|
- Eta templates for text/HTML and attributes
|
|
8
8
|
- Single, merged data context across product, option and state
|
|
@@ -10,14 +10,15 @@ Lightweight HTML custom elements + attribute renderers for building dynamic pric
|
|
|
10
10
|
|
|
11
11
|
## Requirements
|
|
12
12
|
- Node 18+
|
|
13
|
-
- Peer dependency: `lit@^3`
|
|
14
13
|
|
|
15
14
|
## Install
|
|
16
15
|
|
|
17
16
|
```bash
|
|
18
|
-
npm i @repobit/dex-store-elements @repobit/dex-store
|
|
17
|
+
npm i @repobit/dex-store-elements @repobit/dex-store
|
|
19
18
|
```
|
|
20
19
|
|
|
20
|
+
Peer dependencies are resolved automatically by npm; no extra install command is required.
|
|
21
|
+
|
|
21
22
|
## Quick start
|
|
22
23
|
|
|
23
24
|
```html
|
|
@@ -185,6 +186,7 @@ Notes
|
|
|
185
186
|
- Add `data-store-action` to elements to emit store events.
|
|
186
187
|
- Set absolute values: `data-store-set-devices`, `data-store-set-subscription`, `data-store-set-id`, `data-store-set-campaign`
|
|
187
188
|
- Update by delta/sequence: `data-store-set-type="devices|subscription"`, `data-store-set-delta="next|prev|<number>"`
|
|
189
|
+
- Source identifier: add `data-store-id="someId"` to tag the event's `storeId`. Providers with `ignore-events` that include `someId` will drop these events.
|
|
188
190
|
- Initialize once per mount with:
|
|
189
191
|
- `import { registerActionNodes } from '@repobit/dex-store-elements'`
|
|
190
192
|
- `registerActionNodes(root)`
|
|
@@ -197,6 +199,34 @@ Notes
|
|
|
197
199
|
|
|
198
200
|
Note: The package is side-effect free; elements are registered only when `registerContextNodes()` is called.
|
|
199
201
|
|
|
202
|
+
## State & event controls
|
|
203
|
+
These attributes are available on `<bd-state>` and any element that extends it (`<bd-root>`, `<bd-product>`, `<bd-option>`).
|
|
204
|
+
- `ignore-events="store-a, store-b"`
|
|
205
|
+
- Comma-separated list of action ids. Events whose source element has a matching `data-store-id` are ignored by this node (and its subtree). Works for both action and delta events.
|
|
206
|
+
- Coupling with `data-store-id` (on action elements):
|
|
207
|
+
- Example:
|
|
208
|
+
- `<button data-store-action data-store-id="devicesBtn" data-store-set-devices="25">` dispatches an event with `storeId: "devicesBtn"`.
|
|
209
|
+
- `<bd-option ignore-events="devicesBtn">` ignores that event while still accepting events from other buttons.
|
|
210
|
+
- You can list multiple ids: `ignore-events="devicesBtn, subscriptionBtn"`.
|
|
211
|
+
- `ignore-events-parent`
|
|
212
|
+
- Ignores events received from ancestor providers and only reacts to DOM-bubbled events that originate within the current subtree.
|
|
213
|
+
- `<bd-context>` is a convenience element that defaults this behavior to enabled. It’s equivalent to `<bd-state ignore-events-parent>`.
|
|
214
|
+
- Example:
|
|
215
|
+
```html
|
|
216
|
+
<bd-state store-name="outer">
|
|
217
|
+
<!-- Global action updates state here -->
|
|
218
|
+
<button data-store-action data-store-set-devices="25"></button>
|
|
219
|
+
|
|
220
|
+
<!-- Isolated island: only inner actions are observed -->
|
|
221
|
+
<bd-context store-name="island">
|
|
222
|
+
<button data-store-action data-store-set-devices="5"></button>
|
|
223
|
+
</bd-context>
|
|
224
|
+
</bd-state>
|
|
225
|
+
```
|
|
226
|
+
In this setup, the inner `<bd-context>` ignores the outer button’s events.
|
|
227
|
+
- `no-collect`
|
|
228
|
+
- Turns off automatic option collection for aggregated state. Set this when you want the node to work locally without contributing to shared min/max computations (e.g., for preview widgets).
|
|
229
|
+
|
|
200
230
|
## Caveats
|
|
201
231
|
- Scoping: attribute Eta and hide can only see contexts provided by ancestors. For example, `it.option.*` is only available inside `<bd-option>`.
|
|
202
232
|
- Nested providers: inner providers render their own subtrees; outer nodes can still render attributes safely even when they contain nested providers.
|
|
@@ -212,16 +242,3 @@ Note: The package is side-effect free; elements are registered only when `regist
|
|
|
212
242
|
|
|
213
243
|
## License
|
|
214
244
|
ISC
|
|
215
|
-
|
|
216
|
-
## Migration guide (v1.1 → current)
|
|
217
|
-
- Imports and initialization:
|
|
218
|
-
- `initActionNodes` → `registerActionNodes`
|
|
219
|
-
- `initRenderNodes` → `registerRenderNodes`
|
|
220
|
-
- New explicit API: `registerContextNodes()` (call this before using the elements)
|
|
221
|
-
- Attribute names (kebab-case):
|
|
222
|
-
- `storeName` → `store-name`
|
|
223
|
-
- `productId` → `product-id`
|
|
224
|
-
- `ignoreEvents` → `ignore-events`
|
|
225
|
-
- `noCollect` → `no-collect`
|
|
226
|
-
- `autoForward` → `auto-forward`
|
|
227
|
-
- `ignore-events-parent` remains unchanged.
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { ActionNode } from "./utilty.js";
|
|
2
|
+
export declare const button: (el: ActionNode) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActionEvent, UpdateByDeltaEvent } from "../events/events.js";
|
|
2
|
-
import { addEventListener, readClickAttributes } from "./utilty.js";
|
|
2
|
+
import { addEventListener, connectedCallback, readClickAttributes } from "./utilty.js";
|
|
3
3
|
export const button = (el) => {
|
|
4
4
|
const action = () => {
|
|
5
5
|
const attr = readClickAttributes(el);
|
|
@@ -9,6 +9,7 @@ export const button = (el) => {
|
|
|
9
9
|
}
|
|
10
10
|
el.dispatchEvent(new ActionEvent(attr));
|
|
11
11
|
};
|
|
12
|
+
connectedCallback(el);
|
|
12
13
|
addEventListener(el, "click", action);
|
|
13
14
|
};
|
|
14
15
|
//# sourceMappingURL=action.button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.button.js","sourceRoot":"","sources":["../../../src/actions/action.button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"action.button.js","sourceRoot":"","sources":["../../../src/actions/action.button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAc,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE;IAEvC,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,EAAE,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9C,OAAO;QACT,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC;IAEF,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACtB,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC,CAAA"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { ActionNode } from "./utilty.js";
|
|
2
|
+
export declare const input: (el: ActionNode<HTMLInputElement>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.input.js","sourceRoot":"","sources":["../../../src/actions/action.input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"action.input.js","sourceRoot":"","sources":["../../../src/actions/action.input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAc,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAgC,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,EAAE,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,EAAE,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC;gBACtC,IAAI,EAAQ,IAAI,CAAC,IAAI;gBACrB,KAAK,EAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC5B,GAAG,EAAS,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;gBAC1B,GAAG,EAAS,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;gBAC1B,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAK,IAAI,CAAC,OAAO;aACzB,CAAC,CAAC,CAAA;YAEH,OAAO;QACT,CAAC;IACH,CAAC,CAAA;IAED,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM;IACV,CAAC;AAEH,CAAC,CAAA"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { ActionNode } from "./utilty.js";
|
|
2
|
+
export declare const select: (el: ActionNode<HTMLSelectElement>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.select.js","sourceRoot":"","sources":["../../../src/actions/action.select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"action.select.js","sourceRoot":"","sources":["../../../src/actions/action.select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAc,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAiC,EAAE,EAAE;IAE1D,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAC;IAEF,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DATA_ACTION_NODE, handleActionNode } from "./utilty.js";
|
|
1
|
+
import { DATA_ACTION_NODE, handleActionNode, cleanupActionNode } from "./utilty.js";
|
|
2
2
|
const registerActionNodes = (document) => {
|
|
3
3
|
// On page load, “announce” the ones already in the DOM:
|
|
4
4
|
document
|
|
@@ -18,6 +18,17 @@ const registerActionNodes = (document) => {
|
|
|
18
18
|
.querySelectorAll(DATA_ACTION_NODE)
|
|
19
19
|
.forEach(handleActionNode);
|
|
20
20
|
}
|
|
21
|
+
for (const node of Array.from(m.removedNodes)) {
|
|
22
|
+
if (!(node instanceof HTMLElement))
|
|
23
|
+
continue;
|
|
24
|
+
// check the node itself
|
|
25
|
+
if (node.matches(DATA_ACTION_NODE)) {
|
|
26
|
+
cleanupActionNode(node);
|
|
27
|
+
}
|
|
28
|
+
node
|
|
29
|
+
.querySelectorAll(DATA_ACTION_NODE)
|
|
30
|
+
.forEach(n => cleanupActionNode(n));
|
|
31
|
+
}
|
|
21
32
|
}
|
|
22
33
|
});
|
|
23
34
|
// make sure to observe subtree so deep inserts fire here:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7F,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACtD,wDAAwD;IACtD,QAAQ;SACL,gBAAgB,CAAa,gBAAgB,CAAC;SAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,kCAAkC;IAClC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;oBAAE,SAAS;gBAE7C,wBAAwB;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACnC,gBAAgB,CAAC,IAAkB,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI;qBACD,gBAAgB,CAAa,gBAAgB,CAAC;qBAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;oBAAE,SAAS;gBAE7C,wBAAwB;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACnC,iBAAiB,CAAC,IAAkB,CAAC,CAAC;gBACxC,CAAC;gBAED,IAAI;qBACD,gBAAgB,CAAa,gBAAgB,CAAC;qBAC9C,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAe,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAI,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { Action, UpdateByDelta } from "../events/events.js";
|
|
2
2
|
export type ActionAttributes = UpdateByDelta | Action;
|
|
3
|
-
|
|
3
|
+
type WithStore = {
|
|
4
4
|
storeName: symbol;
|
|
5
|
+
updateComplete: Promise<void>;
|
|
5
6
|
};
|
|
7
|
+
export type ActionNode<T extends HTMLElement = HTMLElement> = T & WithStore;
|
|
6
8
|
export declare const DATA_ACTION_NODE = "[data-store-action]";
|
|
7
9
|
export declare const readClickAttributes: (el: HTMLElement) => ActionAttributes;
|
|
10
|
+
export declare const connectedCallback: (el: ActionNode) => void;
|
|
11
|
+
export declare const disconnectedCallback: (el: ActionNode) => void;
|
|
8
12
|
export declare const handleActionNode: (node: ActionNode) => void;
|
|
13
|
+
export declare const cleanupActionNode: (node: ActionNode) => void;
|
|
9
14
|
export declare const addEventListener: (el: HTMLElement, type: "click" | "change", listener: (event: Event) => void) => void;
|
|
15
|
+
export {};
|
|
@@ -3,6 +3,8 @@ import { button } from "./action.button.js";
|
|
|
3
3
|
import { input } from "./action.input.js";
|
|
4
4
|
import { select } from "./action.select.js";
|
|
5
5
|
export const DATA_ACTION_NODE = "[data-store-action]";
|
|
6
|
+
// Track initialized action nodes to ensure we don't wire them up twice
|
|
7
|
+
const ACTION_BOUND = new WeakSet();
|
|
6
8
|
export const readClickAttributes = (el) => {
|
|
7
9
|
const ds = el.dataset;
|
|
8
10
|
const storeId = ds.storeId || undefined;
|
|
@@ -27,17 +29,26 @@ export const readClickAttributes = (el) => {
|
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
};
|
|
30
|
-
const addLogic = (el) => {
|
|
32
|
+
const addLogic = async (el) => {
|
|
33
|
+
if (el.updateComplete) {
|
|
34
|
+
await el.updateComplete;
|
|
35
|
+
}
|
|
31
36
|
if (el instanceof HTMLInputElement) {
|
|
37
|
+
connectedCallback(el);
|
|
32
38
|
input(el);
|
|
39
|
+
return;
|
|
33
40
|
}
|
|
34
41
|
if (el instanceof HTMLSelectElement) {
|
|
42
|
+
[...el.options]
|
|
43
|
+
.forEach(option => connectedCallback(option));
|
|
35
44
|
select(el);
|
|
45
|
+
return;
|
|
36
46
|
}
|
|
37
47
|
//treat everything else as a button
|
|
38
48
|
button(el);
|
|
49
|
+
connectedCallback(el);
|
|
39
50
|
};
|
|
40
|
-
const connectedCallback = (el) => {
|
|
51
|
+
export const connectedCallback = (el) => {
|
|
41
52
|
if (!el.storeName) {
|
|
42
53
|
el.storeName = Symbol("action");
|
|
43
54
|
}
|
|
@@ -53,7 +64,7 @@ const connectedCallback = (el) => {
|
|
|
53
64
|
}
|
|
54
65
|
}
|
|
55
66
|
};
|
|
56
|
-
const disconnectedCallback = (el) => {
|
|
67
|
+
export const disconnectedCallback = (el) => {
|
|
57
68
|
const attr = readClickAttributes(el);
|
|
58
69
|
const noCollect = (el.dataset.storeNoCollect === '' || el.dataset.storeNoCollect === 'true');
|
|
59
70
|
const shouldCollect = !noCollect;
|
|
@@ -73,15 +84,35 @@ const disconnectedCallback = (el) => {
|
|
|
73
84
|
}
|
|
74
85
|
};
|
|
75
86
|
export const handleActionNode = (node) => {
|
|
87
|
+
if (ACTION_BOUND.has(node))
|
|
88
|
+
return;
|
|
89
|
+
ACTION_BOUND.add(node);
|
|
76
90
|
addLogic(node);
|
|
77
|
-
|
|
91
|
+
};
|
|
92
|
+
export const cleanupActionNode = (node) => {
|
|
93
|
+
// Fire disconnect events to clear collected actions
|
|
94
|
+
if (node instanceof HTMLSelectElement) {
|
|
95
|
+
[...node.options].forEach(option => disconnectedCallback(option));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
disconnectedCallback(node);
|
|
99
|
+
}
|
|
100
|
+
ACTION_BOUND.delete(node);
|
|
78
101
|
};
|
|
79
102
|
export const addEventListener = (el, type, listener) => {
|
|
80
103
|
el.addEventListener(type, listener);
|
|
81
104
|
const originalRemove = el.remove;
|
|
82
105
|
el.remove = () => {
|
|
83
|
-
|
|
106
|
+
if (el instanceof HTMLSelectElement) {
|
|
107
|
+
[...el.options]
|
|
108
|
+
.forEach(option => disconnectedCallback(option));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
disconnectedCallback(el);
|
|
112
|
+
}
|
|
84
113
|
el.removeEventListener(type, listener);
|
|
114
|
+
// Allow re-initialization if element is re-attached later
|
|
115
|
+
ACTION_BOUND.delete(el);
|
|
85
116
|
originalRemove.call(el);
|
|
86
117
|
};
|
|
87
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilty.js","sourceRoot":"","sources":["../../../src/actions/utilty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,kBAAkB,EAAE,yBAAyB,EAAiB,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"utilty.js","sourceRoot":"","sources":["../../../src/actions/utilty.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,4 +57,19 @@ export declare class CollectOptionEvent extends CustomEvent<CollectOption> {
|
|
|
57
57
|
static readonly eventName = "store-collect-option";
|
|
58
58
|
constructor(detail: CollectOption);
|
|
59
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
|
+
}
|
|
60
75
|
export type EventType = UpdateByDeltaEvent | ActionEvent;
|
|
@@ -53,4 +53,26 @@ export class CollectOptionEvent extends CustomEvent {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
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
|
+
}
|
|
56
78
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.context.js","sourceRoot":"","sources":["../../../src/nodes/node.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,MAAM,OAAO,WAAY,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"node.context.js","sourceRoot":"","sources":["../../../src/nodes/node.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,MAAM,OAAO,WAAY,SAAQ,SAAS;IAA1C;;QACE,uBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;CAAA"}
|
|
@@ -100,8 +100,16 @@ export class OptionNode extends StateNode {
|
|
|
100
100
|
const option = opt ?? this._option;
|
|
101
101
|
if (!option)
|
|
102
102
|
return;
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
this._etaRenderInProgress = true;
|
|
104
|
+
try {
|
|
105
|
+
const it = await toDSLContext({ option, product, state, derived });
|
|
106
|
+
await this._renderEtaTemplates(it);
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
this._etaRenderInProgress = false;
|
|
110
|
+
// Resolve any waiters from super.getUpdateComplete()
|
|
111
|
+
this._notifyEtaIdle();
|
|
112
|
+
}
|
|
105
113
|
},
|
|
106
114
|
args: () => [this._option, this.state, this.product, this._derived]
|
|
107
115
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.option.js","sourceRoot":"","sources":["../../../src/nodes/node.option.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"node.option.js","sourceRoot":"","sources":["../../../src/nodes/node.option.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,8 +64,16 @@ export class ProductNode extends StateNode {
|
|
|
64
64
|
task: async ([product, state, derived]) => {
|
|
65
65
|
if (!product)
|
|
66
66
|
return;
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
this._etaRenderInProgress = true;
|
|
68
|
+
try {
|
|
69
|
+
const it = await toDSLContext({ product, state, derived });
|
|
70
|
+
await this._renderEtaTemplates(it);
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
this._etaRenderInProgress = false;
|
|
74
|
+
// Resolve any waiters from super.getUpdateComplete()
|
|
75
|
+
this._notifyEtaIdle();
|
|
76
|
+
}
|
|
69
77
|
},
|
|
70
78
|
args: () => [this.product, this.state, this._derived]
|
|
71
79
|
});
|
|
@@ -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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"}
|
|
@@ -71,6 +71,19 @@ export declare class StateNode extends LitElement {
|
|
|
71
71
|
private _tplAttrTemplates;
|
|
72
72
|
private _etaRenderTask;
|
|
73
73
|
protected shouldRunEtaStateRender(): boolean;
|
|
74
|
+
protected _etaRenderInProgress: boolean;
|
|
75
|
+
private _etaRenderScheduled;
|
|
76
|
+
private _etaRenderNeedsRun;
|
|
77
|
+
private _etaRenderDebounce?;
|
|
78
|
+
private _etaRenderTriggeredByMutation;
|
|
79
|
+
private _etaRenderCurrentFromMutation;
|
|
80
|
+
private _slotMo?;
|
|
81
|
+
private _etaIdleWaiters;
|
|
82
|
+
private _contextualChildren;
|
|
83
|
+
private _isEtaIdle;
|
|
84
|
+
private _waitEtaSettled;
|
|
85
|
+
protected _notifyEtaIdle(): void;
|
|
86
|
+
private _scheduleEtaRenderFromMutation;
|
|
74
87
|
private _isStateNodeElement;
|
|
75
88
|
private _hasNestedStateNode;
|
|
76
89
|
private _safeEtaRender;
|
|
@@ -81,6 +94,10 @@ export declare class StateNode extends LitElement {
|
|
|
81
94
|
connectedCallback(): void;
|
|
82
95
|
remove(): void;
|
|
83
96
|
disconnectedCallback(): void;
|
|
97
|
+
private _onCollectChild;
|
|
98
|
+
private _onCollectChildRemoved;
|
|
99
|
+
private _announceAsContextualChild;
|
|
100
|
+
private _announceContextualChildRemoved;
|
|
84
101
|
protected _eventChange(e: EventType): void;
|
|
85
102
|
protected _forwardEvent(e?: eventContexType): void;
|
|
86
103
|
private _collectOptionEvent;
|