elements-kit 0.18.2 → 0.20.0
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/README.md +14 -0
- package/dist/await.d.mts +53 -0
- package/dist/await.mjs +70 -0
- package/dist/custom-elements.d.mts +1 -1
- package/dist/{element-xQwq4ulc.mjs → element-D3om9yA6.mjs} +71 -4
- package/dist/for.d.mts +20 -26
- package/dist/for.mjs +29 -4
- package/dist/fragment-ROPRBJQd.mjs +61 -0
- package/dist/hydrate/index.d.mts +41 -0
- package/dist/hydrate/index.mjs +2 -0
- package/dist/hydrate-6Qx4n4Su.mjs +380 -0
- package/dist/integrations/astro-client.d.mts +17 -0
- package/dist/integrations/astro-client.mjs +23 -0
- package/dist/integrations/astro-server.d.mts +15 -0
- package/dist/integrations/astro-server.mjs +39 -0
- package/dist/integrations/astro-slots.d.mts +12 -0
- package/dist/integrations/astro-slots.mjs +30 -0
- package/dist/integrations/astro.d.mts +46 -0
- package/dist/integrations/astro.mjs +64 -0
- package/dist/integrations/react.d.mts +1 -1
- package/dist/integrations/react.mjs +2 -2
- package/dist/jsx-runtime/index.d.mts +1 -1
- package/dist/jsx-runtime/index.mjs +2 -20
- package/dist/{lib-Dkc7cV5F.mjs → lib-DYypKhxk.mjs} +63 -5
- package/dist/render.mjs +1 -1
- package/dist/{scope-CnEvL9Nd.mjs → scope-zbEG299F.mjs} +1 -1
- package/dist/server/index.d.mts +43 -0
- package/dist/server/index.mjs +2 -0
- package/dist/server-iFSng50i.mjs +385 -0
- package/dist/signals/index.d.mts +2 -2
- package/dist/signals/index.mjs +5 -3
- package/dist/{slot-B8y0aEoz.d.mts → slot-BFWXeFRl.d.mts} +6 -0
- package/dist/{slot-Cne__au7.mjs → slot-Dvf30O0B.mjs} +12 -1
- package/dist/slot.d.mts +1 -1
- package/dist/slot.mjs +1 -1
- package/dist/{infer-B7T5hi_D.d.mts → types-ncUK9rki.d.mts} +140 -141
- package/dist/ui/overlay/index.css +70 -0
- package/dist/ui/overlay/index.d.mts +209 -0
- package/dist/ui/overlay/index.mjs +1001 -0
- package/dist/ui/overlay/overlay.css +332 -0
- package/dist/utilities/_observe.mjs +1 -1
- package/dist/utilities/active-element.d.mts +1 -1
- package/dist/utilities/active-element.mjs +1 -1
- package/dist/utilities/async.d.mts +19 -2
- package/dist/utilities/async.mjs +49 -2
- package/dist/utilities/context.mjs +1 -1
- package/dist/utilities/debounced.d.mts +1 -1
- package/dist/utilities/debounced.mjs +1 -1
- package/dist/utilities/dom-lifecycle.bench.mjs +3255 -1
- package/dist/utilities/dom-lifecycle.mjs +1 -1
- package/dist/utilities/element-rect.d.mts +1 -1
- package/dist/utilities/element-rect.mjs +1 -1
- package/dist/utilities/element-scroll.d.mts +1 -1
- package/dist/utilities/event-driven.d.mts +1 -1
- package/dist/utilities/event-driven.mjs +1 -1
- package/dist/utilities/event-listener.d.mts +1 -1
- package/dist/utilities/event-listener.mjs +1 -1
- package/dist/utilities/focus-within.d.mts +1 -1
- package/dist/utilities/focus-within.mjs +1 -1
- package/dist/utilities/form-object.d.mts +96 -0
- package/dist/utilities/form-object.mjs +285 -0
- package/dist/utilities/hover.d.mts +1 -1
- package/dist/utilities/hover.mjs +1 -1
- package/dist/utilities/interval.d.mts +1 -1
- package/dist/utilities/interval.mjs +1 -1
- package/dist/utilities/location.d.mts +1 -1
- package/dist/utilities/location.mjs +1 -1
- package/dist/utilities/media-devices.d.mts +1 -1
- package/dist/utilities/media-devices.mjs +1 -1
- package/dist/utilities/media-player.d.mts +1 -1
- package/dist/utilities/media-query.d.mts +1 -1
- package/dist/utilities/media-query.mjs +1 -1
- package/dist/utilities/network.d.mts +1 -1
- package/dist/utilities/network.mjs +1 -1
- package/dist/utilities/orientation.d.mts +1 -1
- package/dist/utilities/orientation.mjs +1 -1
- package/dist/utilities/previous.d.mts +1 -1
- package/dist/utilities/previous.mjs +1 -1
- package/dist/utilities/promise.d.mts +19 -2
- package/dist/utilities/promise.mjs +33 -3
- package/dist/utilities/retry.mjs +1 -1
- package/dist/utilities/routing.d.mts +1 -1
- package/dist/utilities/routing.mjs +1 -1
- package/dist/utilities/search-params.d.mts +1 -1
- package/dist/utilities/storage.d.mts +1 -1
- package/dist/utilities/throttled.d.mts +1 -1
- package/dist/utilities/throttled.mjs +1 -1
- package/dist/utilities/timeout.d.mts +1 -1
- package/dist/utilities/timeout.mjs +1 -1
- package/dist/utilities/window-focus.d.mts +1 -1
- package/dist/utilities/window-focus.mjs +1 -1
- package/dist/utilities/window-size.d.mts +1 -1
- package/dist/utilities/window-size.mjs +1 -1
- package/package.json +20 -5
- package/dist/benchmark.CX_oY03V-CSLAXL5f.mjs +0 -5145
- package/dist/magic-string.es-CXefOmkB.mjs +0 -1011
- package/dist/test.BmQO5GaM-Ddz9cDxc.mjs +0 -8266
- package/dist/utilities/active-element.test.d.mts +0 -1
- package/dist/utilities/active-element.test.mjs +0 -25
- package/dist/utilities/async.test.d.mts +0 -1
- package/dist/utilities/async.test.mjs +0 -275
- package/dist/utilities/context.test.d.mts +0 -1
- package/dist/utilities/context.test.mjs +0 -171
- package/dist/utilities/debounced.test.d.mts +0 -1
- package/dist/utilities/debounced.test.mjs +0 -68
- package/dist/utilities/dom-lifecycle.test.d.mts +0 -1
- package/dist/utilities/dom-lifecycle.test.mjs +0 -228
- package/dist/utilities/element-rect.test.d.mts +0 -1
- package/dist/utilities/element-rect.test.mjs +0 -101
- package/dist/utilities/element-scroll.test.d.mts +0 -1
- package/dist/utilities/element-scroll.test.mjs +0 -27
- package/dist/utilities/event-listener.test.d.mts +0 -1
- package/dist/utilities/event-listener.test.mjs +0 -60
- package/dist/utilities/focus-within.test.d.mts +0 -1
- package/dist/utilities/focus-within.test.mjs +0 -51
- package/dist/utilities/hover.test.d.mts +0 -1
- package/dist/utilities/hover.test.mjs +0 -54
- package/dist/utilities/intersection-observer.test.d.mts +0 -1
- package/dist/utilities/intersection-observer.test.mjs +0 -46
- package/dist/utilities/interval.test.d.mts +0 -1
- package/dist/utilities/interval.test.mjs +0 -115
- package/dist/utilities/location.test.d.mts +0 -1
- package/dist/utilities/location.test.mjs +0 -61
- package/dist/utilities/long-press.test.d.mts +0 -1
- package/dist/utilities/long-press.test.mjs +0 -54
- package/dist/utilities/media-devices.test.d.mts +0 -1
- package/dist/utilities/media-devices.test.mjs +0 -44
- package/dist/utilities/media-player.test.d.mts +0 -1
- package/dist/utilities/media-player.test.mjs +0 -102
- package/dist/utilities/mutation-observer.test.d.mts +0 -1
- package/dist/utilities/mutation-observer.test.mjs +0 -48
- package/dist/utilities/network.test.d.mts +0 -1
- package/dist/utilities/network.test.mjs +0 -30
- package/dist/utilities/on-click-outside.test.d.mts +0 -1
- package/dist/utilities/on-click-outside.test.mjs +0 -45
- package/dist/utilities/previous.test.d.mts +0 -1
- package/dist/utilities/previous.test.mjs +0 -90
- package/dist/utilities/promise.test.d.mts +0 -1
- package/dist/utilities/promise.test.mjs +0 -158
- package/dist/utilities/retry.test.d.mts +0 -1
- package/dist/utilities/retry.test.mjs +0 -85
- package/dist/utilities/routing.test.d.mts +0 -1
- package/dist/utilities/routing.test.mjs +0 -129
- package/dist/utilities/search-params.test.d.mts +0 -1
- package/dist/utilities/search-params.test.mjs +0 -37
- package/dist/utilities/ssr.test.d.mts +0 -1
- package/dist/utilities/ssr.test.mjs +0 -65
- package/dist/utilities/storage.test.d.mts +0 -1
- package/dist/utilities/storage.test.mjs +0 -139
- package/dist/utilities/throttled.test.d.mts +0 -1
- package/dist/utilities/throttled.test.mjs +0 -58
- package/dist/utilities/timeout.test.d.mts +0 -1
- package/dist/utilities/timeout.test.mjs +0 -121
- package/dist/utilities/window-size.test.d.mts +0 -1
- package/dist/utilities/window-size.test.mjs +0 -43
- /package/dist/{custom-elements-D5CgfNKc.d.mts → custom-elements-DK5VUcWA.d.mts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as untracked, c as batch, l as computed, n as CLAIM, o as SEED, x as signal } from "../lib-DYypKhxk.mjs";
|
|
2
2
|
import "../signals/index.mjs";
|
|
3
3
|
//#region src/utilities/promise.ts
|
|
4
4
|
/**
|
|
@@ -64,7 +64,34 @@ var ReactivePromise = class ReactivePromise extends Promise {
|
|
|
64
64
|
p.then(resolve).catch(reject);
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* @internal Hydration seeding: settle the reactive state from a serialized
|
|
69
|
+
* server snapshot. The underlying promise is untouched — when it actually
|
|
70
|
+
* resolves or rejects, its handlers overwrite the seeded state
|
|
71
|
+
* (stale-while-revalidate). `await` still waits for the real settlement.
|
|
72
|
+
*/
|
|
73
|
+
[SEED](value) {
|
|
74
|
+
batch(() => {
|
|
75
|
+
this.#state("fulfilled");
|
|
76
|
+
this.#value(value);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @internal Hydrate claim protocol: seed from the server record while the
|
|
81
|
+
* underlying promise is still pending. The promise fired at construction —
|
|
82
|
+
* there is no run to skip here (see `Async[CLAIM]` for that).
|
|
83
|
+
*/
|
|
84
|
+
[CLAIM](record) {
|
|
85
|
+
if (record && untracked(() => this.#state()) === "pending") this[SEED](record.value);
|
|
86
|
+
}
|
|
67
87
|
};
|
|
88
|
+
const REACTIVE_PROMISE_BRAND = Symbol.for("elements-kit.reactive-promise");
|
|
89
|
+
Object.defineProperty(ReactivePromise.prototype, REACTIVE_PROMISE_BRAND, { value: true });
|
|
90
|
+
/** @internal Cross-instance-safe `ReactivePromise` detection. */
|
|
91
|
+
function isReactivePromiseLike(value) {
|
|
92
|
+
if (value instanceof ReactivePromise) return true;
|
|
93
|
+
return value != null && (typeof value === "object" || typeof value === "function") && value[REACTIVE_PROMISE_BRAND] === true;
|
|
94
|
+
}
|
|
68
95
|
const PROMISE_KEYS = new Set([
|
|
69
96
|
"then",
|
|
70
97
|
"catch",
|
|
@@ -72,7 +99,10 @@ const PROMISE_KEYS = new Set([
|
|
|
72
99
|
"state",
|
|
73
100
|
"value",
|
|
74
101
|
"reason",
|
|
75
|
-
"result"
|
|
102
|
+
"result",
|
|
103
|
+
SEED,
|
|
104
|
+
CLAIM,
|
|
105
|
+
REACTIVE_PROMISE_BRAND
|
|
76
106
|
]);
|
|
77
107
|
function resolvePromise(from) {
|
|
78
108
|
if (from instanceof ReactivePromise) return from;
|
|
@@ -99,4 +129,4 @@ function promise(from) {
|
|
|
99
129
|
});
|
|
100
130
|
}
|
|
101
131
|
//#endregion
|
|
102
|
-
export { ReactivePromise, promise };
|
|
132
|
+
export { ReactivePromise, isReactivePromiseLike, promise };
|
package/dist/utilities/retry.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elements-kit",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.20.0",
|
|
5
5
|
"description": "A lightweight reactive UI library that transforms native HTMLElements into reactive components with signals. Ideal for framework-agnostic applications and web components.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"webcomponents",
|
|
@@ -69,6 +69,21 @@
|
|
|
69
69
|
"import": "./dist/render.mjs",
|
|
70
70
|
"types": "./dist/render.d.mts"
|
|
71
71
|
},
|
|
72
|
+
"./await": {
|
|
73
|
+
"source": "./src/await.ts",
|
|
74
|
+
"import": "./dist/await.mjs",
|
|
75
|
+
"types": "./dist/await.d.mts"
|
|
76
|
+
},
|
|
77
|
+
"./server": {
|
|
78
|
+
"source": "./src/server/index.ts",
|
|
79
|
+
"import": "./dist/server/index.mjs",
|
|
80
|
+
"types": "./dist/server/index.d.mts"
|
|
81
|
+
},
|
|
82
|
+
"./hydrate": {
|
|
83
|
+
"source": "./src/hydrate/index.ts",
|
|
84
|
+
"import": "./dist/hydrate/index.mjs",
|
|
85
|
+
"types": "./dist/hydrate/index.d.mts"
|
|
86
|
+
},
|
|
72
87
|
"./jsx-runtime": {
|
|
73
88
|
"source": "./src/jsx-runtime/index.ts",
|
|
74
89
|
"import": "./dist/jsx-runtime/index.mjs",
|
|
@@ -90,15 +105,15 @@
|
|
|
90
105
|
"types": "./dist/utilities/*.d.mts"
|
|
91
106
|
},
|
|
92
107
|
"./ui/overlay": {
|
|
93
|
-
"source": "./src/ui/overlay/
|
|
94
|
-
"import": "./dist/ui/overlay/
|
|
95
|
-
"types": "./dist/ui/overlay/
|
|
108
|
+
"source": "./src/ui/overlay/index.ts",
|
|
109
|
+
"import": "./dist/ui/overlay/index.mjs",
|
|
110
|
+
"types": "./dist/ui/overlay/index.d.mts"
|
|
96
111
|
},
|
|
97
112
|
"./ui/*": "./dist/ui/*"
|
|
98
113
|
},
|
|
99
114
|
"scripts": {
|
|
100
115
|
"build": "tsdown",
|
|
101
|
-
"build:docs": "pnpm build && pnpm --filter elements-kit-docs build
|
|
116
|
+
"build:docs": "pnpm build && pnpm --filter elements-kit-docs build",
|
|
102
117
|
"build:storybook": "pnpm --filter elements-kit-storybook build",
|
|
103
118
|
"storybook": "pnpm --filter elements-kit-storybook dev",
|
|
104
119
|
"watch": "tsdown -w",
|