solid-tiny-utils 0.4.0 → 0.4.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.
@@ -18,7 +18,6 @@ import {
18
18
  } from "./chunk-ZGYORUAX.js";
19
19
 
20
20
  // src/event/create-event-listener.ts
21
- import { onCleanup } from "solid-js";
22
21
  function createEventListener(...args) {
23
22
  const target = args[0];
24
23
  const events = args[1];
@@ -44,7 +43,6 @@ function createEventListener(...args) {
44
43
  cleanups.push(makeEventListener(tars, evs, listeners, opts));
45
44
  }
46
45
  );
47
- onCleanup(cleanup);
48
46
  return cleanup;
49
47
  }
50
48
 
@@ -0,0 +1,54 @@
1
+ import {
2
+ makeEventListener
3
+ } from "./chunk-OUAI75QC.js";
4
+ import {
5
+ access
6
+ } from "./chunk-M5A3VVYI.js";
7
+
8
+ // src/event/create-click-outside.ts
9
+ function createClickOutside(target, handler, options) {
10
+ let shouldListen = false;
11
+ const shouldIgnore = (event) => {
12
+ const ignore = (options?.ignore ? options.ignore : []).map(access);
13
+ return ignore.some((el) => {
14
+ return el && (event.target === el || event.composedPath().includes(el));
15
+ });
16
+ };
17
+ const listener = (e) => {
18
+ const el = access(target);
19
+ if (!el || el === e.target || e.composedPath().includes(el)) {
20
+ return;
21
+ }
22
+ if (e.detail === 0) {
23
+ shouldListen = !shouldIgnore(e);
24
+ }
25
+ if (!shouldListen) {
26
+ shouldListen = true;
27
+ return;
28
+ }
29
+ handler(e);
30
+ };
31
+ const cleanups = [
32
+ makeEventListener("click", listener, { passive: true }),
33
+ makeEventListener(
34
+ "pointerdown",
35
+ (e) => {
36
+ const el = access(target);
37
+ if (el) {
38
+ shouldListen = !(e.composedPath().includes(el) || shouldIgnore(e));
39
+ }
40
+ },
41
+ { passive: true }
42
+ )
43
+ ];
44
+ const stop = () => {
45
+ for (const cleanup of cleanups) {
46
+ cleanup();
47
+ }
48
+ };
49
+ return stop;
50
+ }
51
+
52
+ export {
53
+ createClickOutside
54
+ };
package/dist/dom/css.js CHANGED
@@ -2,11 +2,11 @@ import {
2
2
  mountStyle
3
3
  } from "../chunk-KVG6TCSE.js";
4
4
  import "../chunk-OECLQ3OT.js";
5
+ import "../chunk-KFWZFQMB.js";
5
6
  import "../chunk-PBALVUKK.js";
6
- import "../chunk-PNR5G432.js";
7
7
  import "../chunk-CSAKXWF3.js";
8
8
  import "../chunk-ZGYORUAX.js";
9
- import "../chunk-KFWZFQMB.js";
9
+ import "../chunk-PNR5G432.js";
10
10
  export {
11
11
  mountStyle
12
12
  };
package/dist/dom/index.js CHANGED
@@ -3,11 +3,11 @@ import {
3
3
  mountStyle
4
4
  } from "../chunk-KVG6TCSE.js";
5
5
  import "../chunk-OECLQ3OT.js";
6
+ import "../chunk-KFWZFQMB.js";
6
7
  import "../chunk-PBALVUKK.js";
7
- import "../chunk-PNR5G432.js";
8
8
  import "../chunk-CSAKXWF3.js";
9
9
  import "../chunk-ZGYORUAX.js";
10
- import "../chunk-KFWZFQMB.js";
10
+ import "../chunk-PNR5G432.js";
11
11
  export {
12
12
  mountStyle
13
13
  };
@@ -1,8 +1,8 @@
1
1
  import { MaybeAccessor } from '../types/maybe.js';
2
2
  import 'solid-js';
3
3
 
4
- declare function createClickOutside(target: MaybeAccessor<HTMLElement | null | undefined>, handler: (event: MouseEvent | TouchEvent) => void, options?: {
4
+ declare function createClickOutside(target: MaybeAccessor<HTMLElement | null | undefined>, handler: (event: PointerEvent) => void, options?: {
5
5
  ignore?: MaybeAccessor<HTMLElement | null | undefined>[];
6
- }): void;
6
+ }): () => void;
7
7
 
8
8
  export { createClickOutside };
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createClickOutside
3
- } from "../chunk-HPKVQC7S.js";
3
+ } from "../chunk-NFDGLC4A.js";
4
4
  import "../chunk-OUAI75QC.js";
5
5
  import "../chunk-BGLY6NJK.js";
6
6
  import "../chunk-M5A3VVYI.js";
7
7
  import "../chunk-4L6FK7MF.js";
8
8
  import "../chunk-OECLQ3OT.js";
9
+ import "../chunk-KFWZFQMB.js";
9
10
  import "../chunk-PBALVUKK.js";
10
- import "../chunk-PNR5G432.js";
11
11
  import "../chunk-CSAKXWF3.js";
12
12
  import "../chunk-ZGYORUAX.js";
13
- import "../chunk-KFWZFQMB.js";
13
+ import "../chunk-PNR5G432.js";
14
14
  export {
15
15
  createClickOutside
16
16
  };
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createEventListener
3
- } from "../chunk-KLRTXD4R.js";
3
+ } from "../chunk-ILGNNUQK.js";
4
4
  import "../chunk-OUAI75QC.js";
5
5
  import "../chunk-BGLY6NJK.js";
6
6
  import "../chunk-M5A3VVYI.js";
7
7
  import "../chunk-4L6FK7MF.js";
8
8
  import "../chunk-OECLQ3OT.js";
9
+ import "../chunk-KFWZFQMB.js";
9
10
  import "../chunk-PBALVUKK.js";
10
- import "../chunk-PNR5G432.js";
11
11
  import "../chunk-CSAKXWF3.js";
12
12
  import "../chunk-ZGYORUAX.js";
13
- import "../chunk-KFWZFQMB.js";
13
+ import "../chunk-PNR5G432.js";
14
14
  export {
15
15
  createEventListener
16
16
  };
@@ -1,10 +1,10 @@
1
1
  import "../chunk-B6TZK2S5.js";
2
2
  import {
3
3
  createClickOutside
4
- } from "../chunk-HPKVQC7S.js";
4
+ } from "../chunk-NFDGLC4A.js";
5
5
  import {
6
6
  createEventListener
7
- } from "../chunk-KLRTXD4R.js";
7
+ } from "../chunk-ILGNNUQK.js";
8
8
  import {
9
9
  makeEventListener
10
10
  } from "../chunk-OUAI75QC.js";
@@ -12,11 +12,11 @@ import "../chunk-BGLY6NJK.js";
12
12
  import "../chunk-M5A3VVYI.js";
13
13
  import "../chunk-4L6FK7MF.js";
14
14
  import "../chunk-OECLQ3OT.js";
15
+ import "../chunk-KFWZFQMB.js";
15
16
  import "../chunk-PBALVUKK.js";
16
- import "../chunk-PNR5G432.js";
17
17
  import "../chunk-CSAKXWF3.js";
18
18
  import "../chunk-ZGYORUAX.js";
19
- import "../chunk-KFWZFQMB.js";
19
+ import "../chunk-PNR5G432.js";
20
20
  export {
21
21
  createClickOutside,
22
22
  createEventListener,
@@ -5,11 +5,11 @@ import "../chunk-BGLY6NJK.js";
5
5
  import "../chunk-M5A3VVYI.js";
6
6
  import "../chunk-4L6FK7MF.js";
7
7
  import "../chunk-OECLQ3OT.js";
8
+ import "../chunk-KFWZFQMB.js";
8
9
  import "../chunk-PBALVUKK.js";
9
- import "../chunk-PNR5G432.js";
10
10
  import "../chunk-CSAKXWF3.js";
11
11
  import "../chunk-ZGYORUAX.js";
12
- import "../chunk-KFWZFQMB.js";
12
+ import "../chunk-PNR5G432.js";
13
13
  export {
14
14
  makeEventListener
15
15
  };
@@ -4,11 +4,11 @@ import {
4
4
  import "../chunk-M5A3VVYI.js";
5
5
  import "../chunk-4L6FK7MF.js";
6
6
  import "../chunk-OECLQ3OT.js";
7
+ import "../chunk-KFWZFQMB.js";
7
8
  import "../chunk-PBALVUKK.js";
8
- import "../chunk-PNR5G432.js";
9
9
  import "../chunk-CSAKXWF3.js";
10
10
  import "../chunk-ZGYORUAX.js";
11
- import "../chunk-KFWZFQMB.js";
11
+ import "../chunk-PNR5G432.js";
12
12
  export {
13
13
  createDebounce
14
14
  };
@@ -4,11 +4,11 @@ import {
4
4
  import "../chunk-M5A3VVYI.js";
5
5
  import "../chunk-4L6FK7MF.js";
6
6
  import "../chunk-OECLQ3OT.js";
7
+ import "../chunk-KFWZFQMB.js";
7
8
  import "../chunk-PBALVUKK.js";
8
- import "../chunk-PNR5G432.js";
9
9
  import "../chunk-CSAKXWF3.js";
10
10
  import "../chunk-ZGYORUAX.js";
11
- import "../chunk-KFWZFQMB.js";
11
+ import "../chunk-PNR5G432.js";
12
12
  export {
13
13
  createLoopExec
14
14
  };
@@ -4,11 +4,11 @@ import {
4
4
  import "../chunk-M5A3VVYI.js";
5
5
  import "../chunk-4L6FK7MF.js";
6
6
  import "../chunk-OECLQ3OT.js";
7
+ import "../chunk-KFWZFQMB.js";
7
8
  import "../chunk-PBALVUKK.js";
8
- import "../chunk-PNR5G432.js";
9
9
  import "../chunk-CSAKXWF3.js";
10
10
  import "../chunk-ZGYORUAX.js";
11
- import "../chunk-KFWZFQMB.js";
11
+ import "../chunk-PNR5G432.js";
12
12
  export {
13
13
  createThrottle
14
14
  };
package/dist/fn/index.js CHANGED
@@ -7,11 +7,11 @@ import {
7
7
  import "../chunk-M5A3VVYI.js";
8
8
  import "../chunk-4L6FK7MF.js";
9
9
  import "../chunk-OECLQ3OT.js";
10
+ import "../chunk-KFWZFQMB.js";
10
11
  import "../chunk-PBALVUKK.js";
11
- import "../chunk-PNR5G432.js";
12
12
  import "../chunk-CSAKXWF3.js";
13
13
  import "../chunk-ZGYORUAX.js";
14
- import "../chunk-KFWZFQMB.js";
14
+ import "../chunk-PNR5G432.js";
15
15
  export {
16
16
  createDebounce,
17
17
  createLoopExec,
package/dist/index.js CHANGED
@@ -12,10 +12,10 @@ import {
12
12
  import "./chunk-B6TZK2S5.js";
13
13
  import {
14
14
  createClickOutside
15
- } from "./chunk-HPKVQC7S.js";
15
+ } from "./chunk-NFDGLC4A.js";
16
16
  import {
17
17
  createEventListener
18
- } from "./chunk-KLRTXD4R.js";
18
+ } from "./chunk-ILGNNUQK.js";
19
19
  import {
20
20
  makeEventListener
21
21
  } from "./chunk-OUAI75QC.js";
@@ -33,22 +33,15 @@ import {
33
33
  createWatch
34
34
  } from "./chunk-4L6FK7MF.js";
35
35
  import "./chunk-OECLQ3OT.js";
36
+ import {
37
+ sleep
38
+ } from "./chunk-KFWZFQMB.js";
36
39
  import {
37
40
  draw,
38
41
  random,
39
42
  shuffle,
40
43
  uid
41
44
  } from "./chunk-PBALVUKK.js";
42
- import {
43
- camel,
44
- capitalize,
45
- dash,
46
- pascal,
47
- snake,
48
- template,
49
- title,
50
- trim
51
- } from "./chunk-PNR5G432.js";
52
45
  import {
53
46
  clearArray,
54
47
  iterate,
@@ -71,8 +64,15 @@ import {
71
64
  isSymbol
72
65
  } from "./chunk-ZGYORUAX.js";
73
66
  import {
74
- sleep
75
- } from "./chunk-KFWZFQMB.js";
67
+ camel,
68
+ capitalize,
69
+ dash,
70
+ pascal,
71
+ snake,
72
+ template,
73
+ title,
74
+ trim
75
+ } from "./chunk-PNR5G432.js";
76
76
  export {
77
77
  access,
78
78
  camel,
@@ -1,20 +1,13 @@
1
1
  import "../chunk-OECLQ3OT.js";
2
+ import {
3
+ sleep
4
+ } from "../chunk-KFWZFQMB.js";
2
5
  import {
3
6
  draw,
4
7
  random,
5
8
  shuffle,
6
9
  uid
7
10
  } from "../chunk-PBALVUKK.js";
8
- import {
9
- camel,
10
- capitalize,
11
- dash,
12
- pascal,
13
- snake,
14
- template,
15
- title,
16
- trim
17
- } from "../chunk-PNR5G432.js";
18
11
  import {
19
12
  clearArray,
20
13
  iterate,
@@ -37,8 +30,15 @@ import {
37
30
  isSymbol
38
31
  } from "../chunk-ZGYORUAX.js";
39
32
  import {
40
- sleep
41
- } from "../chunk-KFWZFQMB.js";
33
+ camel,
34
+ capitalize,
35
+ dash,
36
+ pascal,
37
+ snake,
38
+ template,
39
+ title,
40
+ trim
41
+ } from "../chunk-PNR5G432.js";
42
42
  export {
43
43
  camel,
44
44
  capitalize,
@@ -2,11 +2,11 @@ import {
2
2
  access
3
3
  } from "../chunk-M5A3VVYI.js";
4
4
  import "../chunk-OECLQ3OT.js";
5
+ import "../chunk-KFWZFQMB.js";
5
6
  import "../chunk-PBALVUKK.js";
6
- import "../chunk-PNR5G432.js";
7
7
  import "../chunk-CSAKXWF3.js";
8
8
  import "../chunk-ZGYORUAX.js";
9
- import "../chunk-KFWZFQMB.js";
9
+ import "../chunk-PNR5G432.js";
10
10
  export {
11
11
  access
12
12
  };
@@ -4,11 +4,11 @@ import {
4
4
  import "../chunk-M5A3VVYI.js";
5
5
  import "../chunk-4L6FK7MF.js";
6
6
  import "../chunk-OECLQ3OT.js";
7
+ import "../chunk-KFWZFQMB.js";
7
8
  import "../chunk-PBALVUKK.js";
8
- import "../chunk-PNR5G432.js";
9
9
  import "../chunk-CSAKXWF3.js";
10
10
  import "../chunk-ZGYORUAX.js";
11
- import "../chunk-KFWZFQMB.js";
11
+ import "../chunk-PNR5G432.js";
12
12
  export {
13
13
  createDebouncedWatch
14
14
  };
@@ -8,11 +8,11 @@ import {
8
8
  createWatch
9
9
  } from "../chunk-4L6FK7MF.js";
10
10
  import "../chunk-OECLQ3OT.js";
11
+ import "../chunk-KFWZFQMB.js";
11
12
  import "../chunk-PBALVUKK.js";
12
- import "../chunk-PNR5G432.js";
13
13
  import "../chunk-CSAKXWF3.js";
14
14
  import "../chunk-ZGYORUAX.js";
15
- import "../chunk-KFWZFQMB.js";
15
+ import "../chunk-PNR5G432.js";
16
16
  export {
17
17
  access,
18
18
  createDebouncedWatch,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-tiny-utils",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "A collection of tiny utilities for SolidJS applications",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -1,30 +0,0 @@
1
- import {
2
- makeEventListener
3
- } from "./chunk-OUAI75QC.js";
4
- import {
5
- access
6
- } from "./chunk-M5A3VVYI.js";
7
-
8
- // src/event/create-click-outside.ts
9
- function createClickOutside(target, handler, options) {
10
- const listener = (e) => {
11
- const el = access(target);
12
- if (!el || el.contains(e.target)) {
13
- return;
14
- }
15
- if (options?.ignore) {
16
- for (const item of options.ignore) {
17
- const ignoreEl = access(item);
18
- if (ignoreEl && (ignoreEl === e.target || ignoreEl.contains(e.target))) {
19
- return;
20
- }
21
- }
22
- }
23
- handler(e);
24
- };
25
- makeEventListener(document, ["click", "touchstart"], listener);
26
- }
27
-
28
- export {
29
- createClickOutside
30
- };