@praxisjs/composables 1.2.1 → 1.2.2

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 (52) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/browser.d.ts +41 -18
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +114 -114
  5. package/dist/browser.js.map +1 -1
  6. package/dist/dom.d.ts +24 -16
  7. package/dist/dom.d.ts.map +1 -1
  8. package/dist/dom.js +75 -84
  9. package/dist/dom.js.map +1 -1
  10. package/dist/list.d.ts +4 -1
  11. package/dist/list.d.ts.map +1 -1
  12. package/dist/list.js +29 -11
  13. package/dist/list.js.map +1 -1
  14. package/dist/upload.d.ts.map +1 -1
  15. package/dist/upload.js +32 -12
  16. package/dist/upload.js.map +1 -1
  17. package/dist/utilities.d.ts +13 -1
  18. package/dist/utilities.d.ts.map +1 -1
  19. package/dist/utilities.js +88 -26
  20. package/dist/utilities.js.map +1 -1
  21. package/package.json +14 -5
  22. package/src/browser.ts +129 -115
  23. package/src/dom.ts +77 -85
  24. package/src/list.ts +29 -10
  25. package/src/upload.ts +30 -11
  26. package/src/utilities.ts +101 -24
  27. package/dist/__tests__/browser.test.d.ts +0 -2
  28. package/dist/__tests__/browser.test.d.ts.map +0 -1
  29. package/dist/__tests__/browser.test.js +0 -350
  30. package/dist/__tests__/browser.test.js.map +0 -1
  31. package/dist/__tests__/dom.test.d.ts +0 -2
  32. package/dist/__tests__/dom.test.d.ts.map +0 -1
  33. package/dist/__tests__/dom.test.js +0 -463
  34. package/dist/__tests__/dom.test.js.map +0 -1
  35. package/dist/__tests__/list.test.d.ts +0 -2
  36. package/dist/__tests__/list.test.d.ts.map +0 -1
  37. package/dist/__tests__/list.test.js +0 -156
  38. package/dist/__tests__/list.test.js.map +0 -1
  39. package/dist/__tests__/upload.test.d.ts +0 -2
  40. package/dist/__tests__/upload.test.d.ts.map +0 -1
  41. package/dist/__tests__/upload.test.js +0 -531
  42. package/dist/__tests__/upload.test.js.map +0 -1
  43. package/dist/__tests__/utilities.test.d.ts +0 -2
  44. package/dist/__tests__/utilities.test.d.ts.map +0 -1
  45. package/dist/__tests__/utilities.test.js +0 -251
  46. package/dist/__tests__/utilities.test.js.map +0 -1
  47. package/src/__tests__/browser.test.ts +0 -414
  48. package/src/__tests__/dom.test.ts +0 -567
  49. package/src/__tests__/list.test.ts +0 -210
  50. package/src/__tests__/upload.test.ts +0 -639
  51. package/src/__tests__/utilities.test.ts +0 -327
  52. package/tsconfig.json +0 -8
@@ -1,350 +0,0 @@
1
- // @vitest-environment jsdom
2
- import { describe, it, expect, vi, beforeEach } from "vitest";
3
- import { effect } from "@praxisjs/core/internal";
4
- import { MediaQuery, ColorScheme, Mouse, KeyCombo, Idle } from "../browser";
5
- function mockMatchMedia(matches, onAdd) {
6
- const mql = {
7
- matches,
8
- addEventListener: onAdd ?? vi.fn(),
9
- removeEventListener: vi.fn(),
10
- };
11
- vi.stubGlobal("matchMedia", () => mql);
12
- return mql;
13
- }
14
- // ── MediaQuery ────────────────────────────────────────────────────────────────
15
- describe("MediaQuery", () => {
16
- beforeEach(() => { vi.restoreAllMocks(); });
17
- it("reads initial match state", () => {
18
- mockMatchMedia(true);
19
- const mq = new MediaQuery("(min-width: 768px)");
20
- const { matches } = mq.setup();
21
- expect(matches()).toBe(true);
22
- });
23
- it("updates matches when change event fires", () => {
24
- let changeHandler;
25
- mockMatchMedia(false, (_, fn) => { changeHandler = fn; });
26
- const mq = new MediaQuery("(min-width: 768px)");
27
- const { matches } = mq.setup();
28
- expect(matches()).toBe(false);
29
- changeHandler({ matches: true });
30
- expect(matches()).toBe(true);
31
- });
32
- it("removes event listener on unmount", () => {
33
- const mql = mockMatchMedia(false);
34
- const mq = new MediaQuery("(min-width: 768px)");
35
- mq.setup();
36
- mq.onUnmount();
37
- expect(mql.removeEventListener).toHaveBeenCalledWith("change", expect.any(Function));
38
- });
39
- it("onUnmount is safe to call without setup (covers false branch)", () => {
40
- const mq = new MediaQuery("(min-width: 768px)");
41
- expect(() => mq.onUnmount()).not.toThrow();
42
- });
43
- });
44
- // ── ColorScheme ───────────────────────────────────────────────────────────────
45
- describe("ColorScheme", () => {
46
- beforeEach(() => { vi.restoreAllMocks(); });
47
- it("exposes isDark and isLight as computed inverses", () => {
48
- let changeHandler;
49
- mockMatchMedia(false, (_, fn) => { changeHandler = fn; });
50
- const cs = new ColorScheme();
51
- const { isDark, isLight } = cs.setup();
52
- expect(isDark()).toBe(false);
53
- expect(isLight()).toBe(true);
54
- changeHandler({ matches: true });
55
- expect(isDark()).toBe(true);
56
- expect(isLight()).toBe(false);
57
- });
58
- it("removes event listener on unmount", () => {
59
- const mql = mockMatchMedia(false);
60
- const cs = new ColorScheme();
61
- cs.setup();
62
- cs.onUnmount();
63
- expect(mql.removeEventListener).toHaveBeenCalledWith("change", expect.any(Function));
64
- });
65
- it("onUnmount is safe to call without setup (covers false branch)", () => {
66
- const cs = new ColorScheme();
67
- expect(() => cs.onUnmount()).not.toThrow();
68
- });
69
- });
70
- // ── Mouse ─────────────────────────────────────────────────────────────────────
71
- describe("Mouse", () => {
72
- it("starts at (0, 0)", () => {
73
- const mouse = new Mouse();
74
- const { x, y } = mouse.setup();
75
- expect(x()).toBe(0);
76
- expect(y()).toBe(0);
77
- });
78
- it("updates x and y on mousemove", () => {
79
- const mouse = new Mouse();
80
- const { x, y } = mouse.setup();
81
- window.dispatchEvent(new MouseEvent("mousemove", { clientX: 120, clientY: 80 }));
82
- expect(x()).toBe(120);
83
- expect(y()).toBe(80);
84
- });
85
- it("removes listener on unmount", () => {
86
- const remove = vi.spyOn(window, "removeEventListener");
87
- const mouse = new Mouse();
88
- mouse.setup();
89
- mouse.onUnmount();
90
- expect(remove).toHaveBeenCalledWith("mousemove", expect.any(Function));
91
- });
92
- });
93
- // ── KeyCombo ──────────────────────────────────────────────────────────────────
94
- describe("KeyCombo", () => {
95
- it("starts as not pressed", () => {
96
- const kc = new KeyCombo("ctrl+s");
97
- const { pressed } = kc.setup();
98
- expect(pressed()).toBe(false);
99
- });
100
- it("sets pressed=true when matching combo is pressed", () => {
101
- const kc = new KeyCombo("ctrl+s");
102
- const { pressed } = kc.setup();
103
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, key: "s" }));
104
- expect(pressed()).toBe(true);
105
- });
106
- it("resets pressed on keyup", () => {
107
- const kc = new KeyCombo("ctrl+s");
108
- const { pressed } = kc.setup();
109
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, key: "s" }));
110
- window.dispatchEvent(new KeyboardEvent("keyup"));
111
- expect(pressed()).toBe(false);
112
- });
113
- it("does not set pressed for wrong key", () => {
114
- const kc = new KeyCombo("ctrl+s");
115
- const { pressed } = kc.setup();
116
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, key: "z" }));
117
- expect(pressed()).toBe(false);
118
- });
119
- it("removes listeners on unmount", () => {
120
- const remove = vi.spyOn(window, "removeEventListener");
121
- const kc = new KeyCombo("ctrl+s");
122
- kc.setup();
123
- kc.onUnmount();
124
- expect(remove).toHaveBeenCalledWith("keydown", expect.any(Function));
125
- expect(remove).toHaveBeenCalledWith("keyup", expect.any(Function));
126
- });
127
- it("matches combo without ctrl modifier (ctrl branch: `: true`)", () => {
128
- const kc = new KeyCombo("s");
129
- const { pressed } = kc.setup();
130
- // No ctrlKey needed — parts doesn't include "ctrl" so ctrl = true always
131
- window.dispatchEvent(new KeyboardEvent("keydown", { key: "s" }));
132
- expect(pressed()).toBe(true);
133
- });
134
- it("matches combo with shift modifier (shift branch: `e.shiftKey`)", () => {
135
- const kc = new KeyCombo("ctrl+shift+s");
136
- const { pressed } = kc.setup();
137
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, shiftKey: true, key: "s" }));
138
- expect(pressed()).toBe(true);
139
- });
140
- it("does not match when shift is required but not pressed", () => {
141
- const kc = new KeyCombo("ctrl+shift+s");
142
- const { pressed } = kc.setup();
143
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, shiftKey: false, key: "s" }));
144
- expect(pressed()).toBe(false);
145
- });
146
- it("matches combo with alt modifier (alt branch: `e.altKey`)", () => {
147
- const kc = new KeyCombo("ctrl+alt+s");
148
- const { pressed } = kc.setup();
149
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, altKey: true, key: "s" }));
150
- expect(pressed()).toBe(true);
151
- });
152
- });
153
- // ── Idle ──────────────────────────────────────────────────────────────────────
154
- describe("Idle", () => {
155
- it("starts as not idle", () => {
156
- vi.useFakeTimers();
157
- const idle = new Idle(500);
158
- const { idle: isIdle } = idle.setup();
159
- expect(isIdle()).toBe(false);
160
- vi.useRealTimers();
161
- });
162
- it("becomes idle after timeout", () => {
163
- vi.useFakeTimers();
164
- const composable = new Idle(500);
165
- const { idle: isIdle } = composable.setup();
166
- vi.advanceTimersByTime(500);
167
- expect(isIdle()).toBe(true);
168
- vi.useRealTimers();
169
- });
170
- it("resets idle timer on activity", () => {
171
- vi.useFakeTimers();
172
- const composable = new Idle(500);
173
- const { idle: isIdle } = composable.setup();
174
- vi.advanceTimersByTime(400);
175
- window.dispatchEvent(new MouseEvent("mousemove"));
176
- vi.advanceTimersByTime(400);
177
- expect(isIdle()).toBe(false);
178
- vi.useRealTimers();
179
- });
180
- it("removes listeners on unmount", () => {
181
- const remove = vi.spyOn(window, "removeEventListener");
182
- const composable = new Idle(500);
183
- composable.setup();
184
- composable.onUnmount();
185
- expect(remove).toHaveBeenCalled();
186
- });
187
- it("fires on scroll event", () => {
188
- vi.useFakeTimers();
189
- const composable = new Idle(500);
190
- const { idle: isIdle } = composable.setup();
191
- vi.advanceTimersByTime(500);
192
- expect(isIdle()).toBe(true);
193
- window.dispatchEvent(new Event("scroll"));
194
- expect(isIdle()).toBe(false);
195
- vi.useRealTimers();
196
- });
197
- it("fires on click event", () => {
198
- vi.useFakeTimers();
199
- const composable = new Idle(500);
200
- const { idle: isIdle } = composable.setup();
201
- vi.advanceTimersByTime(500);
202
- expect(isIdle()).toBe(true);
203
- window.dispatchEvent(new MouseEvent("click"));
204
- expect(isIdle()).toBe(false);
205
- vi.useRealTimers();
206
- });
207
- it("fires on keydown event", () => {
208
- vi.useFakeTimers();
209
- const composable = new Idle(500);
210
- const { idle: isIdle } = composable.setup();
211
- vi.advanceTimersByTime(500);
212
- expect(isIdle()).toBe(true);
213
- window.dispatchEvent(new KeyboardEvent("keydown"));
214
- expect(isIdle()).toBe(false);
215
- vi.useRealTimers();
216
- });
217
- it("activity after becoming idle resets the timer", () => {
218
- vi.useFakeTimers();
219
- const composable = new Idle(500);
220
- const { idle: isIdle } = composable.setup();
221
- vi.advanceTimersByTime(500);
222
- expect(isIdle()).toBe(true);
223
- window.dispatchEvent(new MouseEvent("mousemove"));
224
- expect(isIdle()).toBe(false);
225
- // Should become idle again after full timeout elapses
226
- vi.advanceTimersByTime(500);
227
- expect(isIdle()).toBe(true);
228
- vi.useRealTimers();
229
- });
230
- });
231
- // ── KeyCombo (additional) ─────────────────────────────────────────────────────
232
- describe("KeyCombo (additional)", () => {
233
- it("fires on meta+s keydown", () => {
234
- const kc = new KeyCombo("meta+s");
235
- const { pressed } = kc.setup();
236
- window.dispatchEvent(new KeyboardEvent("keydown", { metaKey: true, key: "s" }));
237
- expect(pressed()).toBe(true);
238
- });
239
- it("modifier-only combo (ctrl+shift) — keyup resets pressed to false", () => {
240
- const kc = new KeyCombo("ctrl+shift");
241
- const { pressed } = kc.setup();
242
- // Fire keyup to cover the _keyupHandler arrow function inside the !key branch
243
- window.dispatchEvent(new KeyboardEvent("keyup"));
244
- expect(pressed()).toBe(false);
245
- });
246
- it("modifier-only combo (ctrl+shift) never fires", () => {
247
- const kc = new KeyCombo("ctrl+shift");
248
- const { pressed } = kc.setup();
249
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, shiftKey: true, key: "Control" }));
250
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, shiftKey: true, key: "Shift" }));
251
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, shiftKey: true, key: "a" }));
252
- expect(pressed()).toBe(false);
253
- });
254
- it("whitespace in combo string (ctrl + s) is handled gracefully — fires on ctrl+s", () => {
255
- // Parts are trimmed, so "ctrl + s" becomes ["ctrl", "s"] after trim
256
- const kc = new KeyCombo("ctrl + s");
257
- const { pressed } = kc.setup();
258
- window.dispatchEvent(new KeyboardEvent("keydown", { ctrlKey: true, key: "s" }));
259
- expect(pressed()).toBe(true);
260
- });
261
- it("setup() called twice registers only one set of listeners", () => {
262
- const add = vi.spyOn(window, "addEventListener");
263
- const kc = new KeyCombo("ctrl+s");
264
- kc.setup();
265
- kc.setup();
266
- const keydownCalls = add.mock.calls.filter((c) => c[0] === "keydown").length;
267
- expect(keydownCalls).toBe(1);
268
- });
269
- });
270
- // ── MediaQuery (additional) ───────────────────────────────────────────────────
271
- describe("MediaQuery (additional)", () => {
272
- beforeEach(() => { vi.restoreAllMocks(); });
273
- it("setup() called twice registers only one listener", () => {
274
- const mql = mockMatchMedia(false);
275
- const mq = new MediaQuery("(min-width: 768px)");
276
- mq.setup();
277
- mq.setup();
278
- expect(mql.addEventListener).toHaveBeenCalledTimes(1);
279
- });
280
- });
281
- // ── ColorScheme (additional) ──────────────────────────────────────────────────
282
- describe("ColorScheme (additional)", () => {
283
- beforeEach(() => { vi.restoreAllMocks(); });
284
- it("setup() called twice registers only one listener", () => {
285
- const mql = mockMatchMedia(false);
286
- const cs = new ColorScheme();
287
- cs.setup();
288
- cs.setup();
289
- expect(mql.addEventListener).toHaveBeenCalledTimes(1);
290
- });
291
- });
292
- // ── Mouse (additional) ────────────────────────────────────────────────────────
293
- describe("Mouse (additional)", () => {
294
- it("setup() called twice returns the same view object", () => {
295
- const mouse = new Mouse();
296
- const view1 = mouse.setup();
297
- const view2 = mouse.setup();
298
- expect(view1).toBe(view2);
299
- });
300
- it("setup() called twice registers only one mousemove listener", () => {
301
- const add = vi.spyOn(window, "addEventListener");
302
- const mouse = new Mouse();
303
- mouse.setup();
304
- mouse.setup();
305
- const moveCalls = add.mock.calls.filter((c) => c[0] === "mousemove").length;
306
- expect(moveCalls).toBe(1);
307
- vi.restoreAllMocks();
308
- });
309
- });
310
- // ── Idle (additional) ─────────────────────────────────────────────────────────
311
- describe("Idle (additional)", () => {
312
- it("setup() called twice returns the same view object", () => {
313
- vi.useFakeTimers();
314
- const idle = new Idle(500);
315
- const view1 = idle.setup();
316
- const view2 = idle.setup();
317
- expect(view1).toBe(view2);
318
- idle.onUnmount();
319
- vi.useRealTimers();
320
- });
321
- it("setup() called twice registers activity listeners only once", () => {
322
- vi.useFakeTimers();
323
- const add = vi.spyOn(window, "addEventListener");
324
- const idle = new Idle(500);
325
- idle.setup();
326
- idle.setup();
327
- const moveCalls = add.mock.calls.filter((c) => c[0] === "mousemove").length;
328
- expect(moveCalls).toBe(1);
329
- idle.onUnmount();
330
- vi.restoreAllMocks();
331
- vi.useRealTimers();
332
- });
333
- });
334
- describe("Mouse paired updates", () => {
335
- it("re-runs dependents once per mousemove", () => {
336
- const mouse = new Mouse();
337
- const { x, y } = mouse.setup();
338
- let runs = 0;
339
- effect(() => {
340
- void x();
341
- void y();
342
- runs++;
343
- });
344
- runs = 0;
345
- window.dispatchEvent(new MouseEvent("mousemove", { clientX: 5, clientY: 6 }));
346
- expect(runs).toBe(1);
347
- mouse.onUnmount();
348
- });
349
- });
350
- //# sourceMappingURL=browser.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.test.js","sourceRoot":"","sources":["../../src/__tests__/browser.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dom.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/dom.test.ts"],"names":[],"mappings":""}