@praxisjs/composables 0.1.5 → 1.0.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.
@@ -1,236 +1,198 @@
1
1
  // @vitest-environment jsdom
2
2
  import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
3
3
  import { signal } from "@praxisjs/core/internal";
4
- import { usePagination, useClipboard, useGeolocation, useTimeAgo } from "../utilities";
5
- describe("usePagination", () => {
6
- it("starts on page 1 by default", () => {
7
- const p = usePagination({ total: 100, pageSize: 10 });
8
- expect(p.page()).toBe(1);
9
- });
10
- it("respects initial page option", () => {
11
- const p = usePagination({ total: 100, pageSize: 10, initial: 3 });
12
- expect(p.page()).toBe(3);
13
- });
14
- it("computes total pages correctly", () => {
15
- expect(usePagination({ total: 100, pageSize: 10 }).totalPages()).toBe(10);
16
- expect(usePagination({ total: 101, pageSize: 10 }).totalPages()).toBe(11);
17
- expect(usePagination({ total: 5, pageSize: 10 }).totalPages()).toBe(1);
18
- });
19
- it("computes offset", () => {
20
- const p = usePagination({ total: 100, pageSize: 10 });
21
- expect(p.offset()).toBe(0);
22
- p.goTo(3);
23
- expect(p.offset()).toBe(20);
24
- });
25
- it("next() advances the page", () => {
26
- const p = usePagination({ total: 30, pageSize: 10 });
27
- p.next();
28
- expect(p.page()).toBe(2);
29
- });
30
- it("next() does nothing on last page", () => {
31
- const p = usePagination({ total: 10, pageSize: 10 });
32
- p.next();
33
- expect(p.page()).toBe(1);
34
- });
35
- it("prev() goes back", () => {
36
- const p = usePagination({ total: 30, pageSize: 10, initial: 3 });
37
- p.prev();
38
- expect(p.page()).toBe(2);
39
- });
40
- it("prev() does nothing on first page", () => {
41
- const p = usePagination({ total: 30, pageSize: 10 });
42
- p.prev();
43
- expect(p.page()).toBe(1);
44
- });
45
- it("goTo() clamps to valid range", () => {
46
- const p = usePagination({ total: 30, pageSize: 10 });
47
- p.goTo(0);
48
- expect(p.page()).toBe(1);
49
- p.goTo(99);
50
- expect(p.page()).toBe(3);
51
- });
52
- it("first() jumps to page 1", () => {
53
- const p = usePagination({ total: 50, pageSize: 10, initial: 5 });
54
- p.first();
55
- expect(p.page()).toBe(1);
56
- });
57
- it("last() jumps to last page", () => {
58
- const p = usePagination({ total: 50, pageSize: 10 });
59
- p.last();
60
- expect(p.page()).toBe(5);
61
- });
62
- it("hasNext is false on last page", () => {
63
- const p = usePagination({ total: 10, pageSize: 10 });
64
- expect(p.hasNext()).toBe(false);
65
- });
66
- it("hasPrev is false on first page", () => {
67
- const p = usePagination({ total: 30, pageSize: 10 });
68
- expect(p.hasPrev()).toBe(false);
69
- });
70
- it("pages() returns array of page numbers", () => {
71
- const p = usePagination({ total: 30, pageSize: 10 });
72
- expect(p.pages()).toEqual([1, 2, 3]);
73
- });
74
- it("pageSize() reflects the configured size", () => {
75
- const p = usePagination({ total: 100, pageSize: 25 });
76
- expect(p.pageSize()).toBe(25);
77
- });
78
- it("accepts a factory function for options", () => {
79
- const p = usePagination(() => ({ total: 50, pageSize: 5 }));
80
- expect(p.totalPages()).toBe(10);
81
- });
82
- });
83
- // ── useClipboard ──────────────────────────────────────────────────────────────
84
- describe("useClipboard", () => {
4
+ import { Clipboard, Geolocation, TimeAgo, Pagination } from "../utilities";
5
+ // ── Clipboard ─────────────────────────────────────────────────────────────────
6
+ describe("Clipboard", () => {
85
7
  beforeEach(() => {
86
- vi.useFakeTimers();
87
8
  Object.defineProperty(navigator, "clipboard", {
88
9
  value: { writeText: vi.fn().mockResolvedValue(undefined) },
89
10
  configurable: true,
90
- writable: true,
91
11
  });
92
12
  });
93
- afterEach(() => {
94
- vi.clearAllTimers();
95
- vi.useRealTimers();
96
- });
97
- it("copied starts as false", () => {
98
- const { copied } = useClipboard();
13
+ it("starts with copied=false and empty content", () => {
14
+ const cb = new Clipboard();
15
+ const { copied, content } = cb.setup();
99
16
  expect(copied()).toBe(false);
100
- });
101
- it("content starts as empty string", () => {
102
- const { content } = useClipboard();
103
17
  expect(content()).toBe("");
104
18
  });
105
- it("sets copied to true and content to the text after copy()", async () => {
106
- const { copy, copied, content } = useClipboard();
19
+ it("sets copied=true and content after copy", async () => {
20
+ const cb = new Clipboard();
21
+ const { copy, copied, content } = cb.setup();
107
22
  await copy("hello");
108
23
  expect(copied()).toBe(true);
109
24
  expect(content()).toBe("hello");
110
25
  });
111
- it("resets copied to false after resetDelay", async () => {
112
- const { copy, copied } = useClipboard(1000);
26
+ it("resets copied after resetDelay", async () => {
27
+ vi.useFakeTimers();
28
+ const cb = new Clipboard(1000);
29
+ const { copy, copied } = cb.setup();
113
30
  await copy("test");
114
31
  expect(copied()).toBe(true);
115
32
  vi.advanceTimersByTime(1000);
116
33
  expect(copied()).toBe(false);
34
+ vi.useRealTimers();
117
35
  });
118
- it("warns and does not update state on clipboard failure", async () => {
119
- navigator.clipboard.writeText =
120
- vi.fn().mockRejectedValue(new Error("denied"));
36
+ it("warns on clipboard failure", async () => {
37
+ navigator.clipboard.writeText.mockRejectedValue(new Error("denied"));
121
38
  const warn = vi.spyOn(console, "warn").mockImplementation(() => { });
122
- const { copy, copied } = useClipboard();
39
+ const cb = new Clipboard();
40
+ const { copy } = cb.setup();
123
41
  await copy("fail");
124
- expect(copied()).toBe(false);
125
42
  expect(warn).toHaveBeenCalled();
126
43
  warn.mockRestore();
127
44
  });
128
45
  });
129
- // ── useGeolocation ────────────────────────────────────────────────────────────
130
- describe("useGeolocation", () => {
131
- it("starts with loading=true and lat/lng null", () => {
132
- const successCb = [];
133
- Object.defineProperty(navigator, "geolocation", {
134
- value: {
135
- getCurrentPosition: (success) => {
136
- successCb.push(success);
137
- },
138
- },
139
- configurable: true,
140
- });
141
- const geo = useGeolocation();
142
- expect(geo.loading()).toBe(true);
143
- expect(geo.lat()).toBeNull();
144
- expect(geo.lng()).toBeNull();
145
- });
146
- it("updates lat/lng/loading on success", () => {
147
- let successCb = null;
148
- Object.defineProperty(navigator, "geolocation", {
149
- value: {
150
- getCurrentPosition: (success) => {
151
- successCb = success;
152
- },
153
- },
154
- configurable: true,
46
+ // ── Geolocation ───────────────────────────────────────────────────────────────
47
+ describe("Geolocation", () => {
48
+ function mockGeolocation(impl) {
49
+ vi.stubGlobal("navigator", {
50
+ ...navigator,
51
+ geolocation: { getCurrentPosition: impl },
155
52
  });
156
- const geo = useGeolocation();
157
- successCb({
158
- coords: { latitude: 10.5, longitude: 20.5 },
159
- });
160
- expect(geo.lat()).toBe(10.5);
161
- expect(geo.lng()).toBe(20.5);
162
- expect(geo.loading()).toBe(false);
163
- });
164
- it("sets error and loading=false on failure", () => {
165
- let errorCb = null;
166
- Object.defineProperty(navigator, "geolocation", {
167
- value: {
168
- getCurrentPosition: (_s, error) => {
169
- errorCb = error;
170
- },
171
- },
172
- configurable: true,
53
+ }
54
+ afterEach(() => { vi.unstubAllGlobals(); });
55
+ it("starts in loading state", () => {
56
+ mockGeolocation(() => { });
57
+ const geo = new Geolocation();
58
+ const { loading, lat, lng, error } = geo.setup();
59
+ expect(loading()).toBe(true);
60
+ expect(lat()).toBeNull();
61
+ expect(lng()).toBeNull();
62
+ expect(error()).toBeNull();
63
+ });
64
+ it("sets coordinates on success", () => {
65
+ mockGeolocation((success) => {
66
+ success({ coords: { latitude: 51.5, longitude: -0.1 } });
173
67
  });
174
- const geo = useGeolocation();
175
- const fakeError = { code: 1, message: "denied" };
176
- errorCb(fakeError);
177
- expect(geo.error()).toBe(fakeError);
178
- expect(geo.loading()).toBe(false);
68
+ const geo = new Geolocation();
69
+ const { loading, lat, lng } = geo.setup();
70
+ expect(loading()).toBe(false);
71
+ expect(lat()).toBe(51.5);
72
+ expect(lng()).toBe(-0.1);
73
+ });
74
+ it("sets error on failure", () => {
75
+ const mockError = { code: 1, message: "denied" };
76
+ mockGeolocation((_s, error) => { error(mockError); });
77
+ const geo = new Geolocation();
78
+ const { loading, error } = geo.setup();
79
+ expect(loading()).toBe(false);
80
+ expect(error()).toBe(mockError);
179
81
  });
180
82
  });
181
- // ── useTimeAgo ────────────────────────────────────────────────────────────────
182
- describe("useTimeAgo", () => {
183
- beforeEach(() => {
184
- vi.useFakeTimers();
185
- });
186
- afterEach(() => {
187
- vi.clearAllTimers();
188
- vi.useRealTimers();
189
- });
190
- it("returns a computed string", () => {
191
- const now = Date.now();
192
- const t = useTimeAgo(() => now);
193
- expect(typeof t()).toBe("string");
194
- });
83
+ // ── TimeAgo ───────────────────────────────────────────────────────────────────
84
+ describe("TimeAgo", () => {
85
+ beforeEach(() => { vi.useFakeTimers(); });
86
+ afterEach(() => { vi.useRealTimers(); });
87
+ const now = Date.now();
195
88
  it("formats seconds ago", () => {
196
- const now = Date.now();
197
- const t = useTimeAgo(() => now - 30_000);
198
- expect(t()).toMatch(/segundo|second/i);
89
+ const ta = new TimeAgo(() => now - 30_000, "en");
90
+ const { value } = ta.setup();
91
+ expect(value()).toContain("30 seconds ago");
199
92
  });
200
93
  it("formats minutes ago", () => {
201
- const now = Date.now();
202
- const t = useTimeAgo(() => now - 5 * 60_000);
203
- expect(t()).toMatch(/minuto|minute/i);
94
+ const ta = new TimeAgo(() => now - 5 * 60_000, "en");
95
+ const { value } = ta.setup();
96
+ expect(value()).toContain("5 minutes ago");
204
97
  });
205
98
  it("formats hours ago", () => {
206
- const now = Date.now();
207
- const t = useTimeAgo(() => now - 2 * 3_600_000);
208
- expect(t()).toMatch(/hora|hour/i);
99
+ const ta = new TimeAgo(() => now - 2 * 3_600_000, "en");
100
+ const { value } = ta.setup();
101
+ expect(value()).toContain("2 hours ago");
209
102
  });
210
103
  it("formats days ago", () => {
211
- const now = Date.now();
212
- const t = useTimeAgo(() => now - 3 * 86_400_000);
213
- expect(t()).toMatch(/dia|day/i);
104
+ const ta = new TimeAgo(() => now - 3 * 86_400_000, "en");
105
+ const { value } = ta.setup();
106
+ expect(value()).toContain("3 days ago");
214
107
  });
215
108
  it("formats months ago", () => {
216
- const now = Date.now();
217
- const t = useTimeAgo(() => now - 60 * 86_400_000);
218
- expect(t()).toMatch(/mes|month/i);
219
- });
220
- it("accepts a signal source", () => {
221
- const src = signal(Date.now() - 90_000);
222
- const t = useTimeAgo(src);
223
- expect(typeof t()).toBe("string");
224
- });
225
- it("ticks after 60 seconds via setInterval", () => {
226
- const now = Date.now();
227
- const t = useTimeAgo(() => now - 30_000);
228
- const before = t();
229
- vi.advanceTimersByTime(60_000);
230
- // After ticking, the computed re-evaluates (may or may not change the string)
231
- expect(typeof t()).toBe("string");
232
- // The interval ran — just verify no errors
233
- expect(before).toBeTruthy();
109
+ const ta = new TimeAgo(() => now - 60 * 86_400_000, "en");
110
+ const { value } = ta.setup();
111
+ expect(value()).toContain("2 months ago");
112
+ });
113
+ it("accepts a signal as source", () => {
114
+ const src = signal(now - 30_000);
115
+ const ta = new TimeAgo(src, "en");
116
+ const { value } = ta.setup();
117
+ expect(value()).toContain("30 seconds ago");
118
+ });
119
+ it("clears interval on unmount", () => {
120
+ const clearInterval = vi.spyOn(globalThis, "clearInterval");
121
+ const ta = new TimeAgo(() => now, "en");
122
+ ta.setup();
123
+ ta.onUnmount();
124
+ expect(clearInterval).toHaveBeenCalled();
125
+ });
126
+ });
127
+ // ── Pagination ────────────────────────────────────────────────────────────────
128
+ describe("Pagination", () => {
129
+ it("initialises with defaults", () => {
130
+ const p = new Pagination({ total: 100, pageSize: 10 });
131
+ const s = p.setup();
132
+ expect(s.page()).toBe(1);
133
+ expect(s.totalPages()).toBe(10);
134
+ expect(s.offset()).toBe(0);
135
+ expect(s.hasNext()).toBe(true);
136
+ expect(s.hasPrev()).toBe(false);
137
+ expect(s.pageSize()).toBe(10);
138
+ });
139
+ it("respects initial page", () => {
140
+ const p = new Pagination({ total: 100, pageSize: 10, initial: 3 });
141
+ const { page, offset } = p.setup();
142
+ expect(page()).toBe(3);
143
+ expect(offset()).toBe(20);
144
+ });
145
+ it("next() advances page", () => {
146
+ const p = new Pagination({ total: 30, pageSize: 10 });
147
+ const { page, next } = p.setup();
148
+ next();
149
+ expect(page()).toBe(2);
150
+ });
151
+ it("prev() goes back a page", () => {
152
+ const p = new Pagination({ total: 30, pageSize: 10, initial: 3 });
153
+ const { page, prev } = p.setup();
154
+ prev();
155
+ expect(page()).toBe(2);
156
+ });
157
+ it("next() does not go past last page", () => {
158
+ const p = new Pagination({ total: 10, pageSize: 10 });
159
+ const { page, next } = p.setup();
160
+ next();
161
+ expect(page()).toBe(1);
162
+ });
163
+ it("prev() does not go before first page", () => {
164
+ const p = new Pagination({ total: 30, pageSize: 10 });
165
+ const { page, prev } = p.setup();
166
+ prev();
167
+ expect(page()).toBe(1);
168
+ });
169
+ it("goTo() jumps to a page", () => {
170
+ const p = new Pagination({ total: 50, pageSize: 10 });
171
+ const { page, goTo } = p.setup();
172
+ goTo(4);
173
+ expect(page()).toBe(4);
174
+ });
175
+ it("first() jumps to page 1", () => {
176
+ const p = new Pagination({ total: 50, pageSize: 10, initial: 5 });
177
+ const { page, first } = p.setup();
178
+ first();
179
+ expect(page()).toBe(1);
180
+ });
181
+ it("last() jumps to last page", () => {
182
+ const p = new Pagination({ total: 50, pageSize: 10 });
183
+ const { page, last } = p.setup();
184
+ last();
185
+ expect(page()).toBe(5);
186
+ });
187
+ it("pages() returns array of page numbers", () => {
188
+ const p = new Pagination({ total: 30, pageSize: 10 });
189
+ const { pages } = p.setup();
190
+ expect(pages()).toEqual([1, 2, 3]);
191
+ });
192
+ it("clamps totalPages for fractional divisions", () => {
193
+ const p = new Pagination({ total: 25, pageSize: 10 });
194
+ const { totalPages } = p.setup();
195
+ expect(totalPages()).toBe(3);
234
196
  });
235
197
  });
236
198
  //# sourceMappingURL=utilities.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.test.js","sourceRoot":"","sources":["../../src/__tests__/utilities.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.test.js","sourceRoot":"","sources":["../../src/__tests__/utilities.test.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3E,iFAAiF;AAEjF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;YAC5C,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;YAC1D,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAsD,CAAC;QAC3F,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAIzC,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAGhC,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACzC,SAAS,CAAC,SAAS,CAAC,SAAsC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAA4C,CAAC;QACtE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,SAAS,eAAe,CAAC,IAA+E;QACtG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE;YACzB,GAAG,SAAS;YACZ,WAAW,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,eAAe,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,EAK7C,CAAC;QACF,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAyB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,EAItC,CAAC;QACF,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAA8B,CAAC;QAC7E,eAAe,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,EAGnC,CAAC;QACF,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAA6B,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAA6B,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAA6B,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAA6B,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAA6B,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAA6B,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAGhB,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAkD,CAAC;QACnF,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAA8C,CAAC;QAC5E,IAAmB,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAA8C,CAAC;QAC5E,IAAmB,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAA8C,CAAC;QAC5E,IAAmB,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAA8C,CAAC;QAC5E,IAAmB,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAAuD,CAAC;QACrF,IAA4B,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAA+C,CAAC;QAC9E,KAAoB,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAA8C,CAAC;QAC5E,IAAmB,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAA+B,CAAC;QACzD,MAAM,CAAE,KAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,EAAkC,CAAC;QACjE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/browser.d.ts CHANGED
@@ -1,13 +1,56 @@
1
- import type { Computed } from "@praxisjs/shared";
2
- export declare function useMediaQuery(query: string): Computed<boolean>;
3
- export declare function useColorScheme(): {
4
- isDark: Computed<boolean>;
5
- isLight: Computed<boolean>;
6
- };
7
- export declare function useMouse(): {
8
- x: Computed<number>;
9
- y: Computed<number>;
10
- };
11
- export declare function useKeyCombo(combo: string): Computed<boolean>;
12
- export declare function useIdle(timeout?: number): Computed<boolean>;
1
+ import { Composable } from "@praxisjs/core";
2
+ export declare class MediaQuery extends Composable {
3
+ private readonly query;
4
+ matches: boolean;
5
+ private _mql?;
6
+ private _handler?;
7
+ constructor(query: string);
8
+ setup(): {
9
+ matches: import("@praxisjs/shared").Signal<boolean>;
10
+ };
11
+ onUnmount(): void;
12
+ }
13
+ export declare class ColorScheme extends Composable {
14
+ isDark: boolean;
15
+ isLight: boolean;
16
+ private _mql?;
17
+ private _handler?;
18
+ setup(): {
19
+ isDark: import("@praxisjs/shared").Signal<boolean>;
20
+ isLight: import("@praxisjs/shared").Computed<boolean>;
21
+ };
22
+ onUnmount(): void;
23
+ }
24
+ export declare class Mouse extends Composable {
25
+ x: number;
26
+ y: number;
27
+ private _handler;
28
+ setup(): {
29
+ x: import("@praxisjs/shared").Signal<number>;
30
+ y: import("@praxisjs/shared").Signal<number>;
31
+ };
32
+ onUnmount(): void;
33
+ }
34
+ export declare class KeyCombo extends Composable {
35
+ private readonly combo;
36
+ pressed: boolean;
37
+ private _keydownHandler;
38
+ private _keyupHandler;
39
+ constructor(combo: string);
40
+ setup(): {
41
+ pressed: import("@praxisjs/shared").Signal<boolean>;
42
+ };
43
+ onUnmount(): void;
44
+ }
45
+ export declare class Idle extends Composable {
46
+ private readonly timeout;
47
+ idle: boolean;
48
+ private _listeners;
49
+ private _timer?;
50
+ constructor(timeout?: number);
51
+ setup(): {
52
+ idle: import("@praxisjs/shared").Signal<boolean>;
53
+ };
54
+ onUnmount(): void;
55
+ }
13
56
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAO9D;AAED,wBAAgB,cAAc;;;EAI7B;AAED,wBAAgB,QAAQ;;;EAQvB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAiB5D;AAED,wBAAgB,OAAO,CAAC,OAAO,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAe3D"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,qBAAa,UAAW,SAAQ,UAAU;IAM5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAL1B,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAmC;gBAEvB,KAAK,EAAE,MAAM;IAI1C,KAAK;;;IAQL,SAAS;CAKV;AAED,qBAAa,WAAY,SAAQ,UAAU;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAmC;IAEpD,KAAK;;;;IASL,SAAS;CAKV;AAED,qBAAa,KAAM,SAAQ,UAAU;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,QAAQ,CAA0B;IAE1C,KAAK;;;;IAQL,SAAS;CAGV;AAED,qBAAa,QAAS,SAAQ,UAAU;IAQ1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAP1B,OAAO,EAAE,OAAO,CAAC;IAGzB,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,aAAa,CAAY;gBAEJ,KAAK,EAAE,MAAM;IAI1C,KAAK;;;IAoBL,SAAS;CAIV;AAED,qBAAa,IAAK,SAAQ,UAAU;IAMtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL5B,IAAI,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,MAAM,CAAC,CAAgC;gBAElB,OAAO,SAAS;IAI7C,KAAK;;;IAiBL,SAAS;CAOV"}