@praxisjs/composables 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.
Files changed (52) hide show
  1. package/CHANGELOG.md +25 -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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @praxisjs/composables
2
2
 
3
+ ## 1.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 05518dc: Depend on other `@praxisjs/*` packages through caret ranges (`^2.3.0`) instead of exact versions (`2.3.0`), and accept any `@praxisjs/css` 0.3.x as the peer of `@praxisjs/vite-plugin`. Exact versions made npm install a second copy of a package as soon as two releases disagreed, and turned upgrades into peer conflicts that npm could not resolve (`ERESOLVE`, or a crash in its peer resolution).
8
+ - Updated dependencies [05518dc]
9
+ - @praxisjs/core@2.3.1
10
+
11
+ ## 1.2.2
12
+
13
+ ### Patch Changes
14
+
15
+ - 75115a9: Published packages no longer contain their tests: package builds compile `src` without `src/**/__tests__` (through a `tsconfig.build.json`), and each package's `files` leaves test sources and stale compiled tests out of the tarball. `pnpm typecheck` still type-checks the tests.
16
+ - 75115a9: Faster utils packages and fixes. `@praxisjs/css`: shared per-field state for `@Styled`, `@Param` and `@Style`, a prototype-based `css()` builder, cached token reads and a direct `cx()`. Static extraction now keeps `globalStyle()` layers and supports `preflight()`. Server renders collect theme vars, and instantiating a `@Themed` class keeps the active theme. `@praxisjs/composables`: listeners, observers and timers start on mount. `Idle` and `TimeAgo` no longer reschedule or poll timers, and `FileUpload.clear()` no longer starts discarded uploads. `add()` called from an effect no longer subscribes it to the list. `@praxisjs/concurrent`: cached signal detection, direct signal views, O(1) queues, and `@Pool` no longer subscribes the calling effect.
17
+ - 75115a9: Smaller production bundles. The framework and feature packages are marked `"sideEffects": false`, so bundlers leave out the modules an app does not use (`For`/`Index` and `selector()` were kept in every bundle by their shape keepers). `@praxisjs/core`'s graph gates its observer instrumentation on a boolean that minifiers fold away when no observer is ever installed. `@praxisjs/runtime` passes `Index`'s positional update to the list view, so `For`-only apps leave it out, and builds its event prop table from camel-case names. `@praxisjs/devtools` is built one file per module and its decorators check `process.env.NODE_ENV` inline, so `@Trace`/`@Debug` in production code no longer bundle the registry and the panel. `@praxisjs/vite-plugin` serves TypeScript's decorator helpers and the claimed fields' helper from one virtual module (`virtual:praxisjs/decorators`) instead of writing them into every decorated file, and replaces the identical copies `tsc` wrote into ES module libraries.
18
+ - Updated dependencies [75115a9]
19
+ - Updated dependencies [75115a9]
20
+ - Updated dependencies [75115a9]
21
+ - Updated dependencies [75115a9]
22
+ - Updated dependencies [75115a9]
23
+ - Updated dependencies [75115a9]
24
+ - Updated dependencies [75115a9]
25
+ - @praxisjs/core@2.3.0
26
+ - @praxisjs/shared@0.3.2
27
+
3
28
  ## 1.2.1
4
29
 
5
30
  ### Patch Changes
package/dist/browser.d.ts CHANGED
@@ -3,47 +3,70 @@ export declare class MediaQuery extends Composable {
3
3
  private readonly query;
4
4
  matches: boolean;
5
5
  private _mql?;
6
- private _handler?;
7
- private _view?;
6
+ private readonly _matches;
7
+ private readonly _onChange;
8
8
  constructor(query: string);
9
- setup(): Record<string, unknown>;
9
+ setup(): {
10
+ matches: import("@praxisjs/shared").Signal<boolean>;
11
+ };
12
+ onMount(): void;
10
13
  onUnmount(): void;
11
14
  }
12
15
  export declare class ColorScheme extends Composable {
13
16
  isDark: boolean;
14
17
  isLight: boolean;
15
- private _mql?;
16
- private _handler?;
17
- private _view?;
18
- setup(): Record<string, unknown>;
18
+ private readonly _query;
19
+ setup(): {
20
+ isDark: import("@praxisjs/shared").Signal<boolean>;
21
+ isLight: import("@praxisjs/shared").Computed<boolean>;
22
+ };
23
+ onMount(): void;
19
24
  onUnmount(): void;
20
25
  }
21
26
  export declare class Mouse extends Composable {
22
27
  x: number;
23
28
  y: number;
24
- private _handler;
25
- private _view?;
26
- setup(): Record<string, unknown>;
29
+ private readonly _x;
30
+ private readonly _y;
31
+ private readonly _onMove;
32
+ setup(): {
33
+ x: import("@praxisjs/shared").Signal<number>;
34
+ y: import("@praxisjs/shared").Signal<number>;
35
+ };
36
+ onMount(): void;
27
37
  onUnmount(): void;
28
38
  }
29
39
  export declare class KeyCombo extends Composable {
30
- private readonly combo;
31
40
  pressed: boolean;
32
- private _keydownHandler;
33
- private _keyupHandler;
34
- private _view?;
41
+ private readonly _pressed;
42
+ private readonly _key;
43
+ private readonly _ctrl;
44
+ private readonly _shift;
45
+ private readonly _alt;
46
+ private readonly _meta;
47
+ private readonly _onKeyDown;
48
+ private readonly _onKeyUp;
35
49
  constructor(combo: string);
36
- setup(): Record<string, unknown>;
50
+ setup(): {
51
+ pressed: import("@praxisjs/shared").Signal<boolean>;
52
+ };
53
+ onMount(): void;
37
54
  onUnmount(): void;
38
55
  }
39
56
  export declare class Idle extends Composable {
40
57
  private readonly timeout;
41
58
  idle: boolean;
42
- private _listeners;
59
+ private readonly _idle;
43
60
  private _timer?;
44
- private _view?;
61
+ private _lastActivity;
62
+ private readonly _onActivity;
63
+ private readonly _check;
45
64
  constructor(timeout?: number);
46
- setup(): Record<string, unknown>;
65
+ private _schedule;
66
+ setup(): {
67
+ idle: import("@praxisjs/shared").Signal<boolean>;
68
+ };
69
+ onMount(): void;
47
70
  onUnmount(): void;
48
71
  }
49
72
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
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;IAO5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAN1B,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAmC;IACpD,OAAO,CAAC,KAAK,CAAC,CAA0B;gBAEX,KAAK,EAAE,MAAM;IAI1C,KAAK;IAYL,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;IACpD,OAAO,CAAC,KAAK,CAAC,CAA0B;IAExC,KAAK;IAaL,SAAS;CAKV;AAED,qBAAa,KAAM,SAAQ,UAAU;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAAC,CAA0B;IAExC,KAAK;IAeL,SAAS;CAGV;AAED,qBAAa,QAAS,SAAQ,UAAU;IAQ1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAP1B,OAAO,EAAE,OAAO,CAAC;IAGzB,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,KAAK,CAAC,CAA0B;gBAEX,KAAK,EAAE,MAAM;IAI1C,KAAK;IAyCL,SAAS;CAIV;AAED,qBAAa,IAAK,SAAQ,UAAU;IAOtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN5B,IAAI,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,MAAM,CAAC,CAAgC;IAC/C,OAAO,CAAC,KAAK,CAAC,CAA0B;gBAEX,OAAO,SAAS;IAI7C,KAAK;IAuBL,SAAS;CAOV"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQ5C,qBAAa,UAAW,SAAQ,UAAU;IAU5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAT1B,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAE1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;gBAE2B,KAAK,EAAE,MAAM;IAI1C,KAAK;;;IAQL,OAAO;IAOP,SAAS;CAGV;AAED,qBAAa,WAAY,SAAQ,UAAU;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IAEzE,KAAK;;;;IAML,OAAO;IAIP,SAAS;CAGV;AAED,qBAAa,KAAM,SAAQ,UAAU;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAa;IAEhC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKtB;IAEF,KAAK;;;;IAIL,OAAO;IAIP,SAAS;CAGV;AAID,qBAAa,QAAS,SAAQ,UAAU;IAC9B,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAUzB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;gBAEU,KAAK,EAAE,MAAM;IAUzB,KAAK;;;IAIL,OAAO;IAMP,SAAS;CAIV;AAID,qBAAa,IAAK,SAAQ,UAAU;IA2BtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA1B5B,IAAI,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAC,CAAgC;IAC/C,OAAO,CAAC,aAAa,CAAK;IAI1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAM1B;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAQrB;gBAE2B,OAAO,SAAS;IAI7C,OAAO,CAAC,SAAS;IAIjB,KAAK;;;IAIL,OAAO;IASP,SAAS;CAOV"}
package/dist/browser.js CHANGED
@@ -1,163 +1,163 @@
1
1
  import { Composable } from "@praxisjs/core";
2
- import { batch, signal, computed } from "@praxisjs/core/internal";
2
+ import { computed, endBatch, signal, startBatch } from "@praxisjs/core/internal";
3
+ const hasWindow = typeof window !== "undefined";
4
+ // Listeners and timers start in onMount and stop in onUnmount: setup() runs when the component is
5
+ // constructed, which also happens for components that never mount (and on the server).
3
6
  export class MediaQuery extends Composable {
4
7
  query;
5
8
  _mql;
6
- _handler;
7
- _view;
9
+ _matches = signal(false);
10
+ _onChange = (e) => {
11
+ this._matches.set(e.matches);
12
+ };
8
13
  constructor(query) {
9
14
  super();
10
15
  this.query = query;
11
16
  }
12
17
  setup() {
13
- if (this._view)
14
- return this._view;
15
- this._mql = window.matchMedia(this.query);
16
- const matches = signal(this._mql.matches);
17
- this._handler = (e) => {
18
- matches.set(e.matches);
19
- };
20
- this._mql.addEventListener("change", this._handler);
21
- this._view = { matches };
22
- return this._view;
18
+ if (hasWindow) {
19
+ this._mql ??= window.matchMedia(this.query);
20
+ this._matches.set(this._mql.matches);
21
+ }
22
+ return { matches: this._matches };
23
+ }
24
+ onMount() {
25
+ const mql = this._mql;
26
+ if (!mql)
27
+ return;
28
+ this._matches.set(mql.matches);
29
+ mql.addEventListener("change", this._onChange);
23
30
  }
24
31
  onUnmount() {
25
- if (this._mql && this._handler) {
26
- this._mql.removeEventListener("change", this._handler);
27
- }
32
+ this._mql?.removeEventListener("change", this._onChange);
28
33
  }
29
34
  }
30
35
  export class ColorScheme extends Composable {
31
- _mql;
32
- _handler;
33
- _view;
36
+ _query = new MediaQuery("(prefers-color-scheme: dark)");
34
37
  setup() {
35
- if (this._view)
36
- return this._view;
37
- this._mql = window.matchMedia("(prefers-color-scheme: dark)");
38
- const isDark = signal(this._mql.matches);
38
+ const isDark = this._query.setup().matches;
39
39
  const isLight = computed(() => !isDark());
40
- this._handler = (e) => {
41
- isDark.set(e.matches);
42
- };
43
- this._mql.addEventListener("change", this._handler);
44
- this._view = { isDark, isLight };
45
- return this._view;
40
+ return { isDark, isLight };
41
+ }
42
+ onMount() {
43
+ this._query.onMount();
46
44
  }
47
45
  onUnmount() {
48
- if (this._mql && this._handler) {
49
- this._mql.removeEventListener("change", this._handler);
50
- }
46
+ this._query.onUnmount();
51
47
  }
52
48
  }
53
49
  export class Mouse extends Composable {
54
- _handler;
55
- _view;
50
+ _x = signal(0);
51
+ _y = signal(0);
52
+ _onMove = (e) => {
53
+ startBatch();
54
+ this._x.set(e.clientX);
55
+ this._y.set(e.clientY);
56
+ endBatch();
57
+ };
56
58
  setup() {
57
- if (this._view)
58
- return this._view;
59
- const x = signal(0);
60
- const y = signal(0);
61
- this._handler = (e) => {
62
- batch(() => {
63
- x.set(e.clientX);
64
- y.set(e.clientY);
65
- });
66
- };
67
- window.addEventListener("mousemove", this._handler);
68
- this._view = { x, y };
69
- return this._view;
59
+ return { x: this._x, y: this._y };
60
+ }
61
+ onMount() {
62
+ window.addEventListener("mousemove", this._onMove);
70
63
  }
71
64
  onUnmount() {
72
- window.removeEventListener("mousemove", this._handler);
65
+ window.removeEventListener("mousemove", this._onMove);
73
66
  }
74
67
  }
68
+ const MODIFIERS = ["ctrl", "shift", "alt", "meta"];
75
69
  export class KeyCombo extends Composable {
76
- combo;
77
- // eslint-disable-next-line @typescript-eslint/no-empty-function
78
- _keydownHandler = (_e) => { };
79
- _keyupHandler;
80
- _view;
70
+ _pressed = signal(false);
71
+ // Parsed once: the keydown handler runs for every key press on the page.
72
+ _key;
73
+ _ctrl;
74
+ _shift;
75
+ _alt;
76
+ _meta;
77
+ _onKeyDown = (e) => {
78
+ if ((!this._ctrl || e.ctrlKey) &&
79
+ (!this._shift || e.shiftKey) &&
80
+ (!this._alt || e.altKey) &&
81
+ (!this._meta || e.metaKey) &&
82
+ e.key.toLowerCase() === this._key) {
83
+ this._pressed.set(true);
84
+ }
85
+ };
86
+ _onKeyUp = () => {
87
+ this._pressed.set(false);
88
+ };
81
89
  constructor(combo) {
82
90
  super();
83
- this.combo = combo;
91
+ const parts = combo.toLowerCase().split("+").map((p) => p.trim());
92
+ this._key = parts.find((p) => !MODIFIERS.includes(p));
93
+ this._ctrl = parts.includes("ctrl");
94
+ this._shift = parts.includes("shift");
95
+ this._alt = parts.includes("alt");
96
+ this._meta = parts.includes("meta");
84
97
  }
85
98
  setup() {
86
- if (this._view)
87
- return this._view;
88
- const parts = this.combo
89
- .toLowerCase()
90
- .split("+")
91
- .map((p) => p.trim());
92
- const pressed = signal(false);
93
- const modifiers = ["ctrl", "shift", "alt", "meta"];
94
- const key = parts.find((p) => !modifiers.includes(p));
95
- // A combo with no non-modifier key is invalid and should never fire
96
- if (!key) {
97
- this._keyupHandler = () => {
98
- pressed.set(false);
99
- };
100
- window.addEventListener("keydown", this._keydownHandler);
101
- window.addEventListener("keyup", this._keyupHandler);
102
- this._view = { pressed };
103
- return this._view;
104
- }
105
- this._keydownHandler = (e) => {
106
- const ctrl = parts.includes("ctrl") ? e.ctrlKey : true;
107
- const shift = parts.includes("shift") ? e.shiftKey : true;
108
- const alt = parts.includes("alt") ? e.altKey : true;
109
- const meta = parts.includes("meta") ? e.metaKey : true;
110
- if (ctrl && shift && alt && meta && e.key.toLowerCase() === key) {
111
- pressed.set(true);
112
- }
113
- };
114
- this._keyupHandler = () => {
115
- pressed.set(false);
116
- };
117
- window.addEventListener("keydown", this._keydownHandler);
118
- window.addEventListener("keyup", this._keyupHandler);
119
- this._view = { pressed };
120
- return this._view;
99
+ return { pressed: this._pressed };
100
+ }
101
+ onMount() {
102
+ // A combo with no non-modifier key is invalid and never fires.
103
+ if (this._key !== undefined)
104
+ window.addEventListener("keydown", this._onKeyDown);
105
+ window.addEventListener("keyup", this._onKeyUp);
121
106
  }
122
107
  onUnmount() {
123
- window.removeEventListener("keydown", this._keydownHandler);
124
- window.removeEventListener("keyup", this._keyupHandler);
108
+ window.removeEventListener("keydown", this._onKeyDown);
109
+ window.removeEventListener("keyup", this._onKeyUp);
125
110
  }
126
111
  }
112
+ const ACTIVITY_EVENTS = ["mousemove", "keydown", "click", "scroll", "touchstart"];
127
113
  export class Idle extends Composable {
128
114
  timeout;
129
- _listeners = [];
115
+ _idle = signal(false);
130
116
  _timer;
131
- _view;
117
+ _lastActivity = 0;
118
+ // Activity only records a timestamp: rescheduling a timer on every mousemove or scroll event was
119
+ // the expensive part. The single pending timer checks the timestamp when it fires.
120
+ _onActivity = () => {
121
+ this._lastActivity = Date.now();
122
+ if (this._timer === undefined) {
123
+ this._idle.set(false);
124
+ this._schedule(this.timeout);
125
+ }
126
+ };
127
+ _check = () => {
128
+ const remaining = this.timeout - (Date.now() - this._lastActivity);
129
+ if (remaining > 0) {
130
+ this._schedule(remaining);
131
+ }
132
+ else {
133
+ this._timer = undefined;
134
+ this._idle.set(true);
135
+ }
136
+ };
132
137
  constructor(timeout = 60_000) {
133
138
  super();
134
139
  this.timeout = timeout;
135
140
  }
141
+ _schedule(delay) {
142
+ this._timer = setTimeout(this._check, delay);
143
+ }
136
144
  setup() {
137
- if (this._view)
138
- return this._view;
139
- const idle = signal(false);
140
- const reset = () => {
141
- idle.set(false);
142
- clearTimeout(this._timer);
143
- this._timer = setTimeout(() => {
144
- idle.set(true);
145
- }, this.timeout);
146
- };
147
- ["mousemove", "keydown", "click", "scroll", "touchstart"].forEach((event) => {
148
- window.addEventListener(event, reset, { passive: true });
149
- this._listeners.push([event, reset]);
150
- });
151
- reset();
152
- this._view = { idle };
153
- return this._view;
145
+ return { idle: this._idle };
146
+ }
147
+ onMount() {
148
+ for (const event of ACTIVITY_EVENTS) {
149
+ window.addEventListener(event, this._onActivity, { passive: true });
150
+ }
151
+ clearTimeout(this._timer);
152
+ this._timer = undefined;
153
+ this._onActivity();
154
154
  }
155
155
  onUnmount() {
156
156
  clearTimeout(this._timer);
157
- this._listeners.forEach(([event, handler]) => {
158
- window.removeEventListener(event, handler);
159
- });
160
- this._listeners = [];
157
+ this._timer = undefined;
158
+ for (const event of ACTIVITY_EVENTS) {
159
+ window.removeEventListener(event, this._onActivity);
160
+ }
161
161
  }
162
162
  }
163
163
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/dom.d.ts CHANGED
@@ -2,9 +2,14 @@ import { Composable } from "@praxisjs/core";
2
2
  export declare class WindowSize extends Composable {
3
3
  width: number;
4
4
  height: number;
5
- private _handler;
6
- private _view?;
7
- setup(): Record<string, unknown>;
5
+ private readonly _width;
6
+ private readonly _height;
7
+ private readonly _onResize;
8
+ setup(): {
9
+ width: import("@praxisjs/shared").Signal<number>;
10
+ height: import("@praxisjs/shared").Signal<number>;
11
+ };
12
+ onMount(): void;
8
13
  onUnmount(): void;
9
14
  }
10
15
  export declare class ScrollPosition extends Composable {
@@ -12,10 +17,10 @@ export declare class ScrollPosition extends Composable {
12
17
  y: number;
13
18
  private readonly _ref?;
14
19
  private readonly _staticTarget?;
15
- private _handler;
16
- private _x;
17
- private _y;
18
- private _mounted;
20
+ private readonly _x;
21
+ private readonly _y;
22
+ private _target;
23
+ private readonly _onScroll;
19
24
  constructor(target?: HTMLElement | Window | {
20
25
  current: HTMLElement | null;
21
26
  });
@@ -32,13 +37,15 @@ export declare class ElementSize extends Composable {
32
37
  width: number;
33
38
  height: number;
34
39
  private _observer?;
35
- private _width;
36
- private _height;
37
- private _view?;
40
+ private readonly _width;
41
+ private readonly _height;
38
42
  constructor(ref: {
39
43
  current: HTMLElement | null;
40
44
  });
41
- setup(): Record<string, unknown>;
45
+ setup(): {
46
+ width: import("@praxisjs/shared").Signal<number>;
47
+ height: import("@praxisjs/shared").Signal<number>;
48
+ };
42
49
  onMount(): void;
43
50
  onUnmount(): void;
44
51
  }
@@ -47,22 +54,23 @@ export declare class Intersection extends Composable {
47
54
  private readonly options?;
48
55
  visible: boolean;
49
56
  private _observer?;
50
- private _visible;
51
- private _view?;
57
+ private readonly _visible;
52
58
  constructor(ref: {
53
59
  current: HTMLElement | null;
54
60
  }, options?: IntersectionObserverInit | undefined);
55
- setup(): Record<string, unknown>;
61
+ setup(): {
62
+ visible: import("@praxisjs/shared").Signal<boolean>;
63
+ };
56
64
  onMount(): void;
57
65
  onUnmount(): void;
58
66
  }
59
67
  export declare class Focus extends Composable {
60
68
  private readonly ref;
61
69
  focused: boolean;
62
- private _focused;
70
+ private readonly _focused;
71
+ private _el;
63
72
  private readonly _onFocus;
64
73
  private readonly _onBlur;
65
- private _mounted;
66
74
  constructor(ref: {
67
75
  current: HTMLElement | null;
68
76
  });
package/dist/dom.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,qBAAa,UAAW,SAAQ,UAAU;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAC,CAA0B;IAExC,KAAK;IAeL,SAAS;CAGV;AAED,qBAAa,cAAe,SAAQ,UAAU;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,EAAE,CAAqC;IAC/C,OAAO,CAAC,EAAE,CAAqC;IAC/C,OAAO,CAAC,QAAQ,CAAS;gBAGvB,MAAM,GAAE,WAAW,GAAG,MAAM,GAAG;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAW;IAUzE,OAAO,CAAC,cAAc;IAiBtB,KAAK;;;;IAML,OAAO;IAkBP,SAAS;CAIV;AAED,qBAAa,WAAY,SAAQ,UAAU;IAS7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IARxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,KAAK,CAAC,CAA0B;gBAEX,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE;IAIjE,KAAK;IAcL,OAAO;IAQP,SAAS;CAGV;AAED,qBAAa,YAAa,SAAQ,UAAU;IAQxC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IARnB,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,KAAK,CAAC,CAA0B;gBAGrB,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,EACpC,OAAO,CAAC,EAAE,wBAAwB,YAAA;IAKrD,KAAK;IAUL,OAAO;IAKP,SAAS;CAGV;AAED,qBAAa,KAAM,SAAQ,UAAU;IAYvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXxB,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IACF,OAAO,CAAC,QAAQ,CAAS;gBAEI,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE;IAIjE,KAAK;;;IAKL,OAAO;IASP,SAAS;CAOV"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQ5C,qBAAa,UAAW,SAAQ,UAAU;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IAEtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAKxB;IAEF,KAAK;;;;IAIL,OAAO;IAKP,SAAS;CAGV;AAED,qBAAa,cAAe,SAAQ,UAAU;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAa;IAChC,OAAO,CAAC,OAAO,CAAqC;IAEpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAYxB;gBAGA,MAAM,GAAE,WAAW,GAAG,MAAM,GAAG;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAW;IAUzE,OAAO,CAAC,cAAc;IAKtB,KAAK;;;;IAIL,OAAO;IASP,SAAS;CAIV;AAED,qBAAa,WAAY,SAAQ,UAAU;IAQ7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAER,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE;IAIjE,KAAK;;;;IAIL,OAAO;IAgBP,SAAS;CAGV;AAED,qBAAa,YAAa,SAAQ,UAAU;IAOxC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAPnB,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,EACpC,OAAO,CAAC,EAAE,wBAAwB,YAAA;IAKrD,KAAK;;;IAIL,OAAO;IASP,SAAS;CAGV;AAED,qBAAa,KAAM,SAAQ,UAAU;IAavB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAZxB,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,GAAG,CAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;gBAE2B,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE;IAIjE,KAAK;;;IAIL,OAAO;IAWP,SAAS;CAOV"}