elements-kit 0.19.0 → 0.21.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-D5CgfNKc.d.mts → custom-elements-BGcU6ldL.d.mts} +2 -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-CUvFIgPa.d.mts} +140 -141
- package/dist/ui/badge/badge.css +5 -5
- package/dist/ui/button/button.css +15 -15
- package/dist/ui/card/card.css +2 -2
- package/dist/ui/group/group.css +61 -0
- package/dist/ui/otp-input/index.d.mts +132 -0
- package/dist/ui/otp-input/index.mjs +328 -0
- package/dist/ui/otp-input/otp-input.css +157 -0
- package/dist/ui/overlay/index.css +52 -4
- package/dist/ui/overlay/index.d.mts +237 -63
- package/dist/ui/overlay/index.mjs +659 -67
- package/dist/ui/overlay/overlay.css +58 -2
- package/dist/ui/styles/index.css +662 -0
- package/dist/ui/styles/radius.css +7 -7
- 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/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 +23 -1
- 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/form-object.test.d.mts +0 -1
- package/dist/utilities/form-object.test.mjs +0 -408
- 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
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { b as MaybeReactive } from "../
|
|
1
|
+
import { D as CLAIM, b as MaybeReactive, j as SEED } from "../types-CUvFIgPa.mjs";
|
|
2
2
|
import { ComputedPromise } from "./promise.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/utilities/async.d.ts
|
|
5
|
+
/** @internal Hydrate cleanup: execute deferred runs no claim resolved. */
|
|
6
|
+
declare function flushDeferredAsyncRuns(): void;
|
|
5
7
|
/** Shape of the async function driven by {@link Async} / {@link async}. */
|
|
6
8
|
type Fn<TInput, TOutput> = (input: TInput) => Promise<TOutput>;
|
|
7
9
|
/**
|
|
@@ -43,6 +45,19 @@ declare class Async<TInput = undefined, TOutput = unknown> {
|
|
|
43
45
|
then<TResult1 = TOutput, TResult2 = never>(onfulfilled?: ((value: TOutput | undefined) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
44
46
|
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<TOutput | undefined | TResult>;
|
|
45
47
|
finally(onfinally?: (() => void) | null): Promise<TOutput | undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* @internal Hydration seeding — delegates to the current operation's
|
|
50
|
+
* `ReactivePromise`. See `ReactivePromise[SEED]`.
|
|
51
|
+
*/
|
|
52
|
+
[SEED](value: unknown): void;
|
|
53
|
+
/**
|
|
54
|
+
* @internal Hydrate claim protocol. A server record seeds the state and
|
|
55
|
+
* discards any deferred run — the fetcher never executes. No record means
|
|
56
|
+
* the deferred run executes now.
|
|
57
|
+
*/
|
|
58
|
+
[CLAIM](record: {
|
|
59
|
+
value: unknown;
|
|
60
|
+
} | undefined): void;
|
|
46
61
|
constructor(fn: MaybeReactive<Fn<TInput, TOutput>>);
|
|
47
62
|
/**
|
|
48
63
|
* Runs the async function once with the given input, stopping any currently active
|
|
@@ -59,6 +74,8 @@ declare class Async<TInput = undefined, TOutput = unknown> {
|
|
|
59
74
|
*/
|
|
60
75
|
start(...args: TInput extends undefined ? [] : [input: TInput]): this;
|
|
61
76
|
}
|
|
77
|
+
/** @internal Cross-instance-safe `Async` detection. */
|
|
78
|
+
declare function isAsyncLike(value: unknown): value is Async<never, unknown>;
|
|
62
79
|
/**
|
|
63
80
|
* Create an {@link Async} that is also callable as a signal: invoking it
|
|
64
81
|
* (with no args) reads the current `result`, so it drops into any reactive
|
|
@@ -78,4 +95,4 @@ declare class Async<TInput = undefined, TOutput = unknown> {
|
|
|
78
95
|
*/
|
|
79
96
|
declare function async<TInput = any, TOutput = undefined>(fn: MaybeReactive<(input: TInput) => Promise<TOutput>>): Async<TInput, TOutput> & ((...args: any[]) => TOutput | undefined);
|
|
80
97
|
//#endregion
|
|
81
|
-
export { Async, Fn, async };
|
|
98
|
+
export { Async, Fn, async, flushDeferredAsyncRuns, isAsyncLike };
|
package/dist/utilities/async.mjs
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as untracked, b as shouldDeferAsyncRuns, f as effectsInert, n as CLAIM, o as SEED, u as effect, x as signal } from "../lib-DYypKhxk.mjs";
|
|
2
2
|
import { resolve } from "../signals/index.mjs";
|
|
3
3
|
import { promise } from "./promise.mjs";
|
|
4
4
|
//#region src/utilities/async.ts
|
|
5
|
+
const deferredRuns = /* @__PURE__ */ new Map();
|
|
6
|
+
/** @internal Hydrate cleanup: execute deferred runs no claim resolved. */
|
|
7
|
+
function flushDeferredAsyncRuns() {
|
|
8
|
+
const runs = [...deferredRuns.values()];
|
|
9
|
+
deferredRuns.clear();
|
|
10
|
+
for (const run of runs) run();
|
|
11
|
+
}
|
|
5
12
|
/**
|
|
6
13
|
* Reactive wrapper around an async function. Exposes the current run as
|
|
7
14
|
* reactive signals (`state`, `value`, `reason`, `result`, `pending`) and
|
|
@@ -65,6 +72,28 @@ var Async = class {
|
|
|
65
72
|
finally(onfinally) {
|
|
66
73
|
return this.raw.finally(onfinally);
|
|
67
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* @internal Hydration seeding — delegates to the current operation's
|
|
77
|
+
* `ReactivePromise`. See `ReactivePromise[SEED]`.
|
|
78
|
+
*/
|
|
79
|
+
[SEED](value) {
|
|
80
|
+
const seed = this.raw[SEED];
|
|
81
|
+
seed?.(value);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @internal Hydrate claim protocol. A server record seeds the state and
|
|
85
|
+
* discards any deferred run — the fetcher never executes. No record means
|
|
86
|
+
* the deferred run executes now.
|
|
87
|
+
*/
|
|
88
|
+
[CLAIM](record) {
|
|
89
|
+
const pendingRun = deferredRuns.get(this);
|
|
90
|
+
deferredRuns.delete(this);
|
|
91
|
+
if (record) {
|
|
92
|
+
if (untracked(() => this.state) === "pending") this[SEED](record.value);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
pendingRun?.();
|
|
96
|
+
}
|
|
68
97
|
constructor(fn) {
|
|
69
98
|
this.#fn(resolve(fn));
|
|
70
99
|
}
|
|
@@ -79,6 +108,14 @@ var Async = class {
|
|
|
79
108
|
* and register cleanup effects.
|
|
80
109
|
*/
|
|
81
110
|
run(...args) {
|
|
111
|
+
if (shouldDeferAsyncRuns()) {
|
|
112
|
+
deferredRuns.set(this, () => this.run(...args));
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
if (effectsInert()) {
|
|
116
|
+
untracked(() => this.#execute(...args));
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
82
119
|
this.stop();
|
|
83
120
|
this.#cleanup = effect(() => {
|
|
84
121
|
untracked(() => this.#execute(...args));
|
|
@@ -107,6 +144,13 @@ var Async = class {
|
|
|
107
144
|
return this;
|
|
108
145
|
}
|
|
109
146
|
};
|
|
147
|
+
const ASYNC_BRAND = Symbol.for("elements-kit.async");
|
|
148
|
+
Object.defineProperty(Async.prototype, ASYNC_BRAND, { value: true });
|
|
149
|
+
/** @internal Cross-instance-safe `Async` detection. */
|
|
150
|
+
function isAsyncLike(value) {
|
|
151
|
+
if (value instanceof Async) return true;
|
|
152
|
+
return value != null && (typeof value === "object" || typeof value === "function") && value[ASYNC_BRAND] === true;
|
|
153
|
+
}
|
|
110
154
|
const ASYNC_KEYS = new Set([
|
|
111
155
|
"then",
|
|
112
156
|
"catch",
|
|
@@ -121,6 +165,9 @@ const ASYNC_KEYS = new Set([
|
|
|
121
165
|
"run",
|
|
122
166
|
"fn",
|
|
123
167
|
"raw",
|
|
168
|
+
SEED,
|
|
169
|
+
CLAIM,
|
|
170
|
+
ASYNC_BRAND,
|
|
124
171
|
Symbol.dispose
|
|
125
172
|
]);
|
|
126
173
|
/**
|
|
@@ -160,4 +207,4 @@ function async(fn) {
|
|
|
160
207
|
});
|
|
161
208
|
}
|
|
162
209
|
//#endregion
|
|
163
|
-
export { Async, async };
|
|
210
|
+
export { Async, async, flushDeferredAsyncRuns, isAsyncLike };
|