solid-tiny-utils 0.4.2 → 0.5.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.
Files changed (56) hide show
  1. package/dist/{chunk-ZGYORUAX.js → chunk-6G7GFZV2.js} +1 -1
  2. package/dist/{chunk-ILGNNUQK.js → chunk-AKFEDWEF.js} +7 -7
  3. package/dist/{chunk-CSAKXWF3.js → chunk-BT47ISVC.js} +2 -2
  4. package/dist/{chunk-BGLY6NJK.js → chunk-D3JAYNG6.js} +4 -4
  5. package/dist/{chunk-KVG6TCSE.js → chunk-DKZ3RJJI.js} +20 -2
  6. package/dist/{chunk-NFDGLC4A.js → chunk-DV7LISIY.js} +2 -2
  7. package/dist/chunk-GHJDTAVH.js +47 -0
  8. package/dist/{chunk-OUAI75QC.js → chunk-IQGRRDJZ.js} +3 -3
  9. package/dist/{chunk-KFWZFQMB.js → chunk-KKFGUHFR.js} +1 -1
  10. package/dist/{chunk-PBALVUKK.js → chunk-QQVSG76Z.js} +2 -2
  11. package/dist/chunk-WWEM5VJO.js +66 -0
  12. package/dist/{chunk-PNR5G432.js → chunk-Y4GYGFIT.js} +1 -1
  13. package/dist/{chunk-M5A3VVYI.js → chunk-YK5QQQ43.js} +1 -1
  14. package/dist/dom/css.d.ts +5 -1
  15. package/dist/dom/css.js +13 -9
  16. package/dist/dom/index.d.ts +2 -1
  17. package/dist/dom/index.js +13 -9
  18. package/dist/event/create-click-outside.js +10 -10
  19. package/dist/event/create-event-listener.js +10 -10
  20. package/dist/event/create-intersection-observer.d.ts +6 -0
  21. package/dist/event/create-intersection-observer.js +15 -0
  22. package/dist/event/create-visibility-observer.d.ts +12 -0
  23. package/dist/event/create-visibility-observer.js +15 -0
  24. package/dist/event/index.d.ts +2 -0
  25. package/dist/event/index.js +20 -12
  26. package/dist/event/make-event-listener.js +9 -9
  27. package/dist/fn/create-debounce.js +8 -8
  28. package/dist/fn/create-loop-exec.js +8 -8
  29. package/dist/fn/create-throttle.js +8 -8
  30. package/dist/fn/index.js +8 -8
  31. package/dist/index.d.ts +10 -7
  32. package/dist/index.js +38 -26
  33. package/dist/reactive/access.js +7 -7
  34. package/dist/reactive/create-debounce-watch.js +8 -8
  35. package/dist/reactive/index.js +10 -10
  36. package/dist/types/index.d.ts +1 -1
  37. package/dist/types/index.js +1 -1
  38. package/dist/types/maybe.d.ts +2 -1
  39. package/dist/{lodash → utils}/array.js +2 -2
  40. package/dist/{lodash → utils}/async.js +1 -1
  41. package/dist/{lodash → utils}/index.js +16 -16
  42. package/dist/{lodash → utils}/is.js +1 -1
  43. package/dist/utils/object.d.ts +10 -0
  44. package/dist/utils/object.js +7 -0
  45. package/dist/utils/random.js +14 -0
  46. package/dist/{lodash → utils}/str.js +1 -1
  47. package/package.json +6 -4
  48. package/dist/lodash/random.js +0 -14
  49. /package/dist/{chunk-B6TZK2S5.js → chunk-LUFOWTRW.js} +0 -0
  50. /package/dist/{chunk-OECLQ3OT.js → chunk-MEZ7CXEG.js} +0 -0
  51. /package/dist/{lodash → utils}/array.d.ts +0 -0
  52. /package/dist/{lodash → utils}/async.d.ts +0 -0
  53. /package/dist/{lodash → utils}/index.d.ts +0 -0
  54. /package/dist/{lodash → utils}/is.d.ts +0 -0
  55. /package/dist/{lodash → utils}/random.d.ts +0 -0
  56. /package/dist/{lodash → utils}/str.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- // src/lodash/is.ts
1
+ // src/utils/is.ts
2
2
  import { isServer } from "solid-js/web";
3
3
  var isSymbol = (value) => {
4
4
  return !!value && value.constructor === Symbol;
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  makeEventListener
3
- } from "./chunk-OUAI75QC.js";
3
+ } from "./chunk-IQGRRDJZ.js";
4
4
  import {
5
5
  noop
6
- } from "./chunk-BGLY6NJK.js";
7
- import {
8
- access
9
- } from "./chunk-M5A3VVYI.js";
6
+ } from "./chunk-D3JAYNG6.js";
10
7
  import {
11
8
  createWatch
12
9
  } from "./chunk-4L6FK7MF.js";
10
+ import {
11
+ access
12
+ } from "./chunk-YK5QQQ43.js";
13
13
  import {
14
14
  clearArray
15
- } from "./chunk-CSAKXWF3.js";
15
+ } from "./chunk-BT47ISVC.js";
16
16
  import {
17
17
  isArray
18
- } from "./chunk-ZGYORUAX.js";
18
+ } from "./chunk-6G7GFZV2.js";
19
19
 
20
20
  // src/event/create-event-listener.ts
21
21
  function createEventListener(...args) {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  isFn
3
- } from "./chunk-ZGYORUAX.js";
3
+ } from "./chunk-6G7GFZV2.js";
4
4
 
5
- // src/lodash/array.ts
5
+ // src/utils/array.ts
6
6
  var iterate = (count, func, initValue) => {
7
7
  let value = initValue;
8
8
  for (let i = 1; i <= count; i++) {
@@ -1,12 +1,12 @@
1
- import {
2
- access
3
- } from "./chunk-M5A3VVYI.js";
4
1
  import {
5
2
  createWatch
6
3
  } from "./chunk-4L6FK7MF.js";
4
+ import {
5
+ access
6
+ } from "./chunk-YK5QQQ43.js";
7
7
  import {
8
8
  isNumber
9
- } from "./chunk-ZGYORUAX.js";
9
+ } from "./chunk-6G7GFZV2.js";
10
10
 
11
11
  // src/fn/create-debounce.ts
12
12
  import { onCleanup as onCleanup3 } from "solid-js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isClient
3
- } from "./chunk-ZGYORUAX.js";
3
+ } from "./chunk-6G7GFZV2.js";
4
4
 
5
5
  // src/dom/css.ts
6
6
  var alreadyInjected = [];
@@ -22,7 +22,25 @@ function mountStyle(style, id, refresh = false) {
22
22
  document.head.appendChild(styleElement);
23
23
  alreadyInjected.push(id);
24
24
  }
25
+ var extractCSSregex = /((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g;
26
+ function stringStyleToObject(style) {
27
+ const object = {};
28
+ let match = extractCSSregex.exec(style);
29
+ while (match) {
30
+ if (match[1] && match[2]) {
31
+ object[match[1]] = match[2];
32
+ }
33
+ match = extractCSSregex.exec(style);
34
+ }
35
+ return object;
36
+ }
37
+ function combineStyle(a, b) {
38
+ const bb = typeof b === "string" ? stringStyleToObject(b) : b;
39
+ return { ...a, ...bb };
40
+ }
25
41
 
26
42
  export {
27
- mountStyle
43
+ mountStyle,
44
+ stringStyleToObject,
45
+ combineStyle
28
46
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  makeEventListener
3
- } from "./chunk-OUAI75QC.js";
3
+ } from "./chunk-IQGRRDJZ.js";
4
4
  import {
5
5
  access
6
- } from "./chunk-M5A3VVYI.js";
6
+ } from "./chunk-YK5QQQ43.js";
7
7
 
8
8
  // src/event/create-click-outside.ts
9
9
  function createClickOutside(target, handler, options) {
@@ -0,0 +1,47 @@
1
+ import {
2
+ noop
3
+ } from "./chunk-D3JAYNG6.js";
4
+ import {
5
+ createWatch
6
+ } from "./chunk-4L6FK7MF.js";
7
+ import {
8
+ access
9
+ } from "./chunk-YK5QQQ43.js";
10
+ import {
11
+ clearArray
12
+ } from "./chunk-BT47ISVC.js";
13
+
14
+ // src/event/create-intersection-observer.ts
15
+ import { onCleanup } from "solid-js";
16
+ import { isServer } from "solid-js/web";
17
+ function createIntersectionObserver(targets, callback, options = {}) {
18
+ if (isServer) {
19
+ return noop;
20
+ }
21
+ const io = new IntersectionObserver(callback, options);
22
+ onCleanup(() => io.disconnect());
23
+ const cleanups = [];
24
+ const cleanup = () => {
25
+ for (const c of cleanups) {
26
+ c();
27
+ }
28
+ clearArray(cleanups);
29
+ };
30
+ createWatch(
31
+ () => targets.map(access),
32
+ (elements) => {
33
+ cleanup();
34
+ for (const element of elements) {
35
+ if (element) {
36
+ io.observe(element);
37
+ cleanups.push(() => io.unobserve(element));
38
+ }
39
+ }
40
+ }
41
+ );
42
+ return () => io.disconnect();
43
+ }
44
+
45
+ export {
46
+ createIntersectionObserver
47
+ };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  noop
3
- } from "./chunk-BGLY6NJK.js";
3
+ } from "./chunk-D3JAYNG6.js";
4
4
  import {
5
5
  clearArray
6
- } from "./chunk-CSAKXWF3.js";
6
+ } from "./chunk-BT47ISVC.js";
7
7
  import {
8
8
  isArray
9
- } from "./chunk-ZGYORUAX.js";
9
+ } from "./chunk-6G7GFZV2.js";
10
10
 
11
11
  // src/event/make-event-listener.ts
12
12
  import { onCleanup } from "solid-js";
@@ -1,4 +1,4 @@
1
- // src/lodash/async.ts
1
+ // src/utils/async.ts
2
2
  var sleep = (milliseconds) => {
3
3
  return new Promise((res) => setTimeout(res, milliseconds));
4
4
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  iterate
3
- } from "./chunk-CSAKXWF3.js";
3
+ } from "./chunk-BT47ISVC.js";
4
4
 
5
- // src/lodash/random.ts
5
+ // src/utils/random.ts
6
6
  var random = (min, max) => {
7
7
  return Math.floor(Math.random() * (max - min + 1) + min);
8
8
  };
@@ -0,0 +1,66 @@
1
+ import {
2
+ createWatch
3
+ } from "./chunk-4L6FK7MF.js";
4
+ import {
5
+ access
6
+ } from "./chunk-YK5QQQ43.js";
7
+ import {
8
+ isObject
9
+ } from "./chunk-6G7GFZV2.js";
10
+
11
+ // src/event/create-visibility-observer.ts
12
+ import { createSignal, onCleanup } from "solid-js";
13
+ function createVisibilityObserver(arg1, arg2) {
14
+ let target;
15
+ let options;
16
+ if (arg1 && !isObject(arg1)) {
17
+ target = arg1;
18
+ options = arg2 ?? {};
19
+ } else {
20
+ options = arg1 ?? {};
21
+ }
22
+ const callbacks = /* @__PURE__ */ new WeakMap();
23
+ const io = new IntersectionObserver((entries, instance) => {
24
+ for (const entry of entries) {
25
+ callbacks.get(entry.target)?.(entry, instance);
26
+ }
27
+ }, options);
28
+ onCleanup(() => io.disconnect());
29
+ const addEntry = (el, callback) => {
30
+ io.observe(el);
31
+ callbacks.set(el, callback);
32
+ };
33
+ const removeEntry = (el) => {
34
+ io.unobserve(el);
35
+ callbacks.delete(el);
36
+ };
37
+ const useVisibilityObserverFn = (element) => {
38
+ const [isVisible, setVisible] = createSignal(
39
+ options?.initialValue ?? false
40
+ );
41
+ let prevEl;
42
+ createWatch(
43
+ () => access(element),
44
+ (el) => {
45
+ if (prevEl) {
46
+ removeEntry(prevEl);
47
+ }
48
+ if (el) {
49
+ addEntry(el, (entry) => {
50
+ setVisible(entry.isIntersecting);
51
+ });
52
+ prevEl = el;
53
+ }
54
+ }
55
+ );
56
+ return isVisible;
57
+ };
58
+ if (target) {
59
+ return useVisibilityObserverFn(target);
60
+ }
61
+ return useVisibilityObserverFn;
62
+ }
63
+
64
+ export {
65
+ createVisibilityObserver
66
+ };
@@ -1,4 +1,4 @@
1
- // src/lodash/str.ts
1
+ // src/utils/str.ts
2
2
  var capitalize = (str) => {
3
3
  if (!str || str.length === 0) {
4
4
  return "";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isFn
3
- } from "./chunk-ZGYORUAX.js";
3
+ } from "./chunk-6G7GFZV2.js";
4
4
 
5
5
  // src/reactive/access.ts
6
6
  function access(value) {
package/dist/dom/css.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { JSX } from 'solid-js/jsx-runtime';
2
+
1
3
  /**
2
4
  * Mounts a style element to the document head.
3
5
  * If the style element with the given id already exists, it updates its content.
@@ -9,5 +11,7 @@
9
11
  * @param refresh - Whether to refresh the style if it already exists. Defaults to **false**.
10
12
  */
11
13
  declare function mountStyle(style: string, id: string, refresh?: boolean): void;
14
+ declare function stringStyleToObject(style: string): JSX.CSSProperties;
15
+ declare function combineStyle(a: JSX.CSSProperties, b: JSX.CSSProperties | string | undefined): JSX.CSSProperties | string;
12
16
 
13
- export { mountStyle };
17
+ export { combineStyle, mountStyle, stringStyleToObject };
package/dist/dom/css.js CHANGED
@@ -1,12 +1,16 @@
1
1
  import {
2
- mountStyle
3
- } from "../chunk-KVG6TCSE.js";
4
- import "../chunk-OECLQ3OT.js";
5
- import "../chunk-KFWZFQMB.js";
6
- import "../chunk-PBALVUKK.js";
7
- import "../chunk-CSAKXWF3.js";
8
- import "../chunk-ZGYORUAX.js";
9
- import "../chunk-PNR5G432.js";
2
+ combineStyle,
3
+ mountStyle,
4
+ stringStyleToObject
5
+ } from "../chunk-DKZ3RJJI.js";
6
+ import "../chunk-MEZ7CXEG.js";
7
+ import "../chunk-QQVSG76Z.js";
8
+ import "../chunk-Y4GYGFIT.js";
9
+ import "../chunk-BT47ISVC.js";
10
+ import "../chunk-6G7GFZV2.js";
11
+ import "../chunk-KKFGUHFR.js";
10
12
  export {
11
- mountStyle
13
+ combineStyle,
14
+ mountStyle,
15
+ stringStyleToObject
12
16
  };
@@ -1 +1,2 @@
1
- export { mountStyle } from './css.js';
1
+ export { combineStyle, mountStyle, stringStyleToObject } from './css.js';
2
+ import 'solid-js/jsx-runtime';
package/dist/dom/index.js CHANGED
@@ -1,13 +1,17 @@
1
1
  import "../chunk-FFBJP5FE.js";
2
2
  import {
3
- mountStyle
4
- } from "../chunk-KVG6TCSE.js";
5
- import "../chunk-OECLQ3OT.js";
6
- import "../chunk-KFWZFQMB.js";
7
- import "../chunk-PBALVUKK.js";
8
- import "../chunk-CSAKXWF3.js";
9
- import "../chunk-ZGYORUAX.js";
10
- import "../chunk-PNR5G432.js";
3
+ combineStyle,
4
+ mountStyle,
5
+ stringStyleToObject
6
+ } from "../chunk-DKZ3RJJI.js";
7
+ import "../chunk-MEZ7CXEG.js";
8
+ import "../chunk-QQVSG76Z.js";
9
+ import "../chunk-Y4GYGFIT.js";
10
+ import "../chunk-BT47ISVC.js";
11
+ import "../chunk-6G7GFZV2.js";
12
+ import "../chunk-KKFGUHFR.js";
11
13
  export {
12
- mountStyle
14
+ combineStyle,
15
+ mountStyle,
16
+ stringStyleToObject
13
17
  };
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createClickOutside
3
- } from "../chunk-NFDGLC4A.js";
4
- import "../chunk-OUAI75QC.js";
5
- import "../chunk-BGLY6NJK.js";
6
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-DV7LISIY.js";
4
+ import "../chunk-IQGRRDJZ.js";
5
+ import "../chunk-D3JAYNG6.js";
7
6
  import "../chunk-4L6FK7MF.js";
8
- import "../chunk-OECLQ3OT.js";
9
- import "../chunk-KFWZFQMB.js";
10
- import "../chunk-PBALVUKK.js";
11
- import "../chunk-CSAKXWF3.js";
12
- import "../chunk-ZGYORUAX.js";
13
- import "../chunk-PNR5G432.js";
7
+ import "../chunk-YK5QQQ43.js";
8
+ import "../chunk-MEZ7CXEG.js";
9
+ import "../chunk-QQVSG76Z.js";
10
+ import "../chunk-Y4GYGFIT.js";
11
+ import "../chunk-BT47ISVC.js";
12
+ import "../chunk-6G7GFZV2.js";
13
+ import "../chunk-KKFGUHFR.js";
14
14
  export {
15
15
  createClickOutside
16
16
  };
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createEventListener
3
- } from "../chunk-ILGNNUQK.js";
4
- import "../chunk-OUAI75QC.js";
5
- import "../chunk-BGLY6NJK.js";
6
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-AKFEDWEF.js";
4
+ import "../chunk-IQGRRDJZ.js";
5
+ import "../chunk-D3JAYNG6.js";
7
6
  import "../chunk-4L6FK7MF.js";
8
- import "../chunk-OECLQ3OT.js";
9
- import "../chunk-KFWZFQMB.js";
10
- import "../chunk-PBALVUKK.js";
11
- import "../chunk-CSAKXWF3.js";
12
- import "../chunk-ZGYORUAX.js";
13
- import "../chunk-PNR5G432.js";
7
+ import "../chunk-YK5QQQ43.js";
8
+ import "../chunk-MEZ7CXEG.js";
9
+ import "../chunk-QQVSG76Z.js";
10
+ import "../chunk-Y4GYGFIT.js";
11
+ import "../chunk-BT47ISVC.js";
12
+ import "../chunk-6G7GFZV2.js";
13
+ import "../chunk-KKFGUHFR.js";
14
14
  export {
15
15
  createEventListener
16
16
  };
@@ -0,0 +1,6 @@
1
+ import { MaybeAccessor } from '../types/maybe.js';
2
+ import 'solid-js';
3
+
4
+ declare function createIntersectionObserver(targets: MaybeAccessor<HTMLElement | null | undefined>[], callback: IntersectionObserverCallback, options?: IntersectionObserverInit): () => void;
5
+
6
+ export { createIntersectionObserver };
@@ -0,0 +1,15 @@
1
+ import {
2
+ createIntersectionObserver
3
+ } from "../chunk-GHJDTAVH.js";
4
+ import "../chunk-D3JAYNG6.js";
5
+ import "../chunk-4L6FK7MF.js";
6
+ import "../chunk-YK5QQQ43.js";
7
+ import "../chunk-MEZ7CXEG.js";
8
+ import "../chunk-QQVSG76Z.js";
9
+ import "../chunk-Y4GYGFIT.js";
10
+ import "../chunk-BT47ISVC.js";
11
+ import "../chunk-6G7GFZV2.js";
12
+ import "../chunk-KKFGUHFR.js";
13
+ export {
14
+ createIntersectionObserver
15
+ };
@@ -0,0 +1,12 @@
1
+ import { Accessor } from 'solid-js';
2
+ import { MaybeNullableAccessor } from '../types/maybe.js';
3
+
4
+ type UseVisibilityObserverFn = (target: MaybeNullableAccessor<HTMLElement>) => Accessor<boolean>;
5
+ type CreateVisibilityObserverOption = IntersectionObserverInit & {
6
+ initialValue?: boolean;
7
+ };
8
+ type EntryCallback = (entry: IntersectionObserverEntry, instance: IntersectionObserver) => void;
9
+ declare function createVisibilityObserver(options?: CreateVisibilityObserverOption): UseVisibilityObserverFn;
10
+ declare function createVisibilityObserver(target: MaybeNullableAccessor<HTMLElement>, options?: CreateVisibilityObserverOption): Accessor<boolean>;
11
+
12
+ export { type CreateVisibilityObserverOption, type EntryCallback, type UseVisibilityObserverFn, createVisibilityObserver };
@@ -0,0 +1,15 @@
1
+ import {
2
+ createVisibilityObserver
3
+ } from "../chunk-WWEM5VJO.js";
4
+ import "../chunk-D3JAYNG6.js";
5
+ import "../chunk-4L6FK7MF.js";
6
+ import "../chunk-YK5QQQ43.js";
7
+ import "../chunk-MEZ7CXEG.js";
8
+ import "../chunk-QQVSG76Z.js";
9
+ import "../chunk-Y4GYGFIT.js";
10
+ import "../chunk-BT47ISVC.js";
11
+ import "../chunk-6G7GFZV2.js";
12
+ import "../chunk-KKFGUHFR.js";
13
+ export {
14
+ createVisibilityObserver
15
+ };
@@ -1,5 +1,7 @@
1
1
  export { createClickOutside } from './create-click-outside.js';
2
2
  export { createEventListener } from './create-event-listener.js';
3
+ export { createIntersectionObserver } from './create-intersection-observer.js';
4
+ export { CreateVisibilityObserverOption, EntryCallback, UseVisibilityObserverFn, createVisibilityObserver } from './create-visibility-observer.js';
3
5
  export { DocumentEventName, GeneralEventListener, WindowEventName, makeEventListener } from './make-event-listener.js';
4
6
  import '../types/maybe.js';
5
7
  import 'solid-js';
@@ -1,24 +1,32 @@
1
- import "../chunk-B6TZK2S5.js";
1
+ import "../chunk-LUFOWTRW.js";
2
2
  import {
3
3
  createClickOutside
4
- } from "../chunk-NFDGLC4A.js";
4
+ } from "../chunk-DV7LISIY.js";
5
5
  import {
6
6
  createEventListener
7
- } from "../chunk-ILGNNUQK.js";
7
+ } from "../chunk-AKFEDWEF.js";
8
8
  import {
9
9
  makeEventListener
10
- } from "../chunk-OUAI75QC.js";
11
- import "../chunk-BGLY6NJK.js";
12
- import "../chunk-M5A3VVYI.js";
10
+ } from "../chunk-IQGRRDJZ.js";
11
+ import {
12
+ createIntersectionObserver
13
+ } from "../chunk-GHJDTAVH.js";
14
+ import {
15
+ createVisibilityObserver
16
+ } from "../chunk-WWEM5VJO.js";
17
+ import "../chunk-D3JAYNG6.js";
13
18
  import "../chunk-4L6FK7MF.js";
14
- import "../chunk-OECLQ3OT.js";
15
- import "../chunk-KFWZFQMB.js";
16
- import "../chunk-PBALVUKK.js";
17
- import "../chunk-CSAKXWF3.js";
18
- import "../chunk-ZGYORUAX.js";
19
- import "../chunk-PNR5G432.js";
19
+ import "../chunk-YK5QQQ43.js";
20
+ import "../chunk-MEZ7CXEG.js";
21
+ import "../chunk-QQVSG76Z.js";
22
+ import "../chunk-Y4GYGFIT.js";
23
+ import "../chunk-BT47ISVC.js";
24
+ import "../chunk-6G7GFZV2.js";
25
+ import "../chunk-KKFGUHFR.js";
20
26
  export {
21
27
  createClickOutside,
22
28
  createEventListener,
29
+ createIntersectionObserver,
30
+ createVisibilityObserver,
23
31
  makeEventListener
24
32
  };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  makeEventListener
3
- } from "../chunk-OUAI75QC.js";
4
- import "../chunk-BGLY6NJK.js";
5
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-IQGRRDJZ.js";
4
+ import "../chunk-D3JAYNG6.js";
6
5
  import "../chunk-4L6FK7MF.js";
7
- import "../chunk-OECLQ3OT.js";
8
- import "../chunk-KFWZFQMB.js";
9
- import "../chunk-PBALVUKK.js";
10
- import "../chunk-CSAKXWF3.js";
11
- import "../chunk-ZGYORUAX.js";
12
- import "../chunk-PNR5G432.js";
6
+ import "../chunk-YK5QQQ43.js";
7
+ import "../chunk-MEZ7CXEG.js";
8
+ import "../chunk-QQVSG76Z.js";
9
+ import "../chunk-Y4GYGFIT.js";
10
+ import "../chunk-BT47ISVC.js";
11
+ import "../chunk-6G7GFZV2.js";
12
+ import "../chunk-KKFGUHFR.js";
13
13
  export {
14
14
  makeEventListener
15
15
  };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createDebounce
3
- } from "../chunk-BGLY6NJK.js";
4
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-D3JAYNG6.js";
5
4
  import "../chunk-4L6FK7MF.js";
6
- import "../chunk-OECLQ3OT.js";
7
- import "../chunk-KFWZFQMB.js";
8
- import "../chunk-PBALVUKK.js";
9
- import "../chunk-CSAKXWF3.js";
10
- import "../chunk-ZGYORUAX.js";
11
- import "../chunk-PNR5G432.js";
5
+ import "../chunk-YK5QQQ43.js";
6
+ import "../chunk-MEZ7CXEG.js";
7
+ import "../chunk-QQVSG76Z.js";
8
+ import "../chunk-Y4GYGFIT.js";
9
+ import "../chunk-BT47ISVC.js";
10
+ import "../chunk-6G7GFZV2.js";
11
+ import "../chunk-KKFGUHFR.js";
12
12
  export {
13
13
  createDebounce
14
14
  };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createLoopExec
3
- } from "../chunk-BGLY6NJK.js";
4
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-D3JAYNG6.js";
5
4
  import "../chunk-4L6FK7MF.js";
6
- import "../chunk-OECLQ3OT.js";
7
- import "../chunk-KFWZFQMB.js";
8
- import "../chunk-PBALVUKK.js";
9
- import "../chunk-CSAKXWF3.js";
10
- import "../chunk-ZGYORUAX.js";
11
- import "../chunk-PNR5G432.js";
5
+ import "../chunk-YK5QQQ43.js";
6
+ import "../chunk-MEZ7CXEG.js";
7
+ import "../chunk-QQVSG76Z.js";
8
+ import "../chunk-Y4GYGFIT.js";
9
+ import "../chunk-BT47ISVC.js";
10
+ import "../chunk-6G7GFZV2.js";
11
+ import "../chunk-KKFGUHFR.js";
12
12
  export {
13
13
  createLoopExec
14
14
  };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createThrottle
3
- } from "../chunk-BGLY6NJK.js";
4
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-D3JAYNG6.js";
5
4
  import "../chunk-4L6FK7MF.js";
6
- import "../chunk-OECLQ3OT.js";
7
- import "../chunk-KFWZFQMB.js";
8
- import "../chunk-PBALVUKK.js";
9
- import "../chunk-CSAKXWF3.js";
10
- import "../chunk-ZGYORUAX.js";
11
- import "../chunk-PNR5G432.js";
5
+ import "../chunk-YK5QQQ43.js";
6
+ import "../chunk-MEZ7CXEG.js";
7
+ import "../chunk-QQVSG76Z.js";
8
+ import "../chunk-Y4GYGFIT.js";
9
+ import "../chunk-BT47ISVC.js";
10
+ import "../chunk-6G7GFZV2.js";
11
+ import "../chunk-KKFGUHFR.js";
12
12
  export {
13
13
  createThrottle
14
14
  };
package/dist/fn/index.js CHANGED
@@ -3,15 +3,15 @@ import {
3
3
  createLoopExec,
4
4
  createThrottle,
5
5
  noop
6
- } from "../chunk-BGLY6NJK.js";
7
- import "../chunk-M5A3VVYI.js";
6
+ } from "../chunk-D3JAYNG6.js";
8
7
  import "../chunk-4L6FK7MF.js";
9
- import "../chunk-OECLQ3OT.js";
10
- import "../chunk-KFWZFQMB.js";
11
- import "../chunk-PBALVUKK.js";
12
- import "../chunk-CSAKXWF3.js";
13
- import "../chunk-ZGYORUAX.js";
14
- import "../chunk-PNR5G432.js";
8
+ import "../chunk-YK5QQQ43.js";
9
+ import "../chunk-MEZ7CXEG.js";
10
+ import "../chunk-QQVSG76Z.js";
11
+ import "../chunk-Y4GYGFIT.js";
12
+ import "../chunk-BT47ISVC.js";
13
+ import "../chunk-6G7GFZV2.js";
14
+ import "../chunk-KKFGUHFR.js";
15
15
  export {
16
16
  createDebounce,
17
17
  createLoopExec,
package/dist/index.d.ts CHANGED
@@ -1,20 +1,23 @@
1
- export { mountStyle } from './dom/css.js';
1
+ export { combineStyle, mountStyle, stringStyleToObject } from './dom/css.js';
2
2
  export { createClickOutside } from './event/create-click-outside.js';
3
3
  export { createEventListener } from './event/create-event-listener.js';
4
+ export { createIntersectionObserver } from './event/create-intersection-observer.js';
5
+ export { CreateVisibilityObserverOption, EntryCallback, UseVisibilityObserverFn, createVisibilityObserver } from './event/create-visibility-observer.js';
4
6
  export { DocumentEventName, GeneralEventListener, WindowEventName, makeEventListener } from './event/make-event-listener.js';
5
7
  export { noop } from './fn/index.js';
6
8
  export { dataIf } from './jsx/attrs.js';
7
- export { clearArray, iterate, list, range } from './lodash/array.js';
8
- export { sleep } from './lodash/async.js';
9
- export { isArray, isClient, isDate, isEmpty, isFloat, isFn, isInt, isNumber, isObject, isPrimitive, isPromise, isString, isSymbol } from './lodash/is.js';
10
- export { draw, random, shuffle, uid } from './lodash/random.js';
11
- export { camel, capitalize, dash, pascal, snake, template, title, trim } from './lodash/str.js';
12
9
  export { access } from './reactive/access.js';
13
10
  export { createDebouncedWatch } from './reactive/create-debounce-watch.js';
14
11
  export { createWatch } from './reactive/create-watch.js';
15
12
  export { AnyFn, Fn } from './types/fn.js';
16
- export { MaybeAccessor, MaybeArray, MaybePromise } from './types/maybe.js';
13
+ export { MaybeAccessor, MaybeArray, MaybeNullableAccessor, MaybePromise } from './types/maybe.js';
14
+ export { clearArray, iterate, list, range } from './utils/array.js';
15
+ export { sleep } from './utils/async.js';
16
+ export { isArray, isClient, isDate, isEmpty, isFloat, isFn, isInt, isNumber, isObject, isPrimitive, isPromise, isString, isSymbol } from './utils/is.js';
17
+ export { draw, random, shuffle, uid } from './utils/random.js';
18
+ export { camel, capitalize, dash, pascal, snake, template, title, trim } from './utils/str.js';
17
19
  export { createDebounce } from './fn/create-debounce.js';
18
20
  export { createLoopExec } from './fn/create-loop-exec.js';
19
21
  export { createThrottle } from './fn/create-throttle.js';
22
+ import 'solid-js/jsx-runtime';
20
23
  import 'solid-js';
package/dist/index.js CHANGED
@@ -1,53 +1,68 @@
1
1
  import "./chunk-SK6Y2YH6.js";
2
- import "./chunk-EZML2DEC.js";
3
2
  import "./chunk-AZAXMGEB.js";
3
+ import "./chunk-EZML2DEC.js";
4
4
  import "./chunk-YXRZ2KMJ.js";
5
5
  import {
6
6
  dataIf
7
7
  } from "./chunk-II6INKPZ.js";
8
8
  import "./chunk-FFBJP5FE.js";
9
9
  import {
10
- mountStyle
11
- } from "./chunk-KVG6TCSE.js";
12
- import "./chunk-B6TZK2S5.js";
10
+ combineStyle,
11
+ mountStyle,
12
+ stringStyleToObject
13
+ } from "./chunk-DKZ3RJJI.js";
14
+ import "./chunk-LUFOWTRW.js";
13
15
  import {
14
16
  createClickOutside
15
- } from "./chunk-NFDGLC4A.js";
17
+ } from "./chunk-DV7LISIY.js";
16
18
  import {
17
19
  createEventListener
18
- } from "./chunk-ILGNNUQK.js";
20
+ } from "./chunk-AKFEDWEF.js";
19
21
  import {
20
22
  makeEventListener
21
- } from "./chunk-OUAI75QC.js";
23
+ } from "./chunk-IQGRRDJZ.js";
24
+ import {
25
+ createIntersectionObserver
26
+ } from "./chunk-GHJDTAVH.js";
27
+ import {
28
+ createVisibilityObserver
29
+ } from "./chunk-WWEM5VJO.js";
22
30
  import {
23
31
  createDebounce,
24
32
  createDebouncedWatch,
25
33
  createLoopExec,
26
34
  createThrottle,
27
35
  noop
28
- } from "./chunk-BGLY6NJK.js";
29
- import {
30
- access
31
- } from "./chunk-M5A3VVYI.js";
36
+ } from "./chunk-D3JAYNG6.js";
32
37
  import {
33
38
  createWatch
34
39
  } from "./chunk-4L6FK7MF.js";
35
- import "./chunk-OECLQ3OT.js";
36
40
  import {
37
- sleep
38
- } from "./chunk-KFWZFQMB.js";
41
+ access
42
+ } from "./chunk-YK5QQQ43.js";
43
+ import "./chunk-MEZ7CXEG.js";
39
44
  import {
40
45
  draw,
41
46
  random,
42
47
  shuffle,
43
48
  uid
44
- } from "./chunk-PBALVUKK.js";
49
+ } from "./chunk-QQVSG76Z.js";
50
+ import {
51
+ camel,
52
+ capitalize,
53
+ dash,
54
+ pascal,
55
+ snake,
56
+ template,
57
+ title,
58
+ trim
59
+ } from "./chunk-Y4GYGFIT.js";
45
60
  import {
46
61
  clearArray,
47
62
  iterate,
48
63
  list,
49
64
  range
50
- } from "./chunk-CSAKXWF3.js";
65
+ } from "./chunk-BT47ISVC.js";
51
66
  import {
52
67
  isArray,
53
68
  isClient,
@@ -62,28 +77,24 @@ import {
62
77
  isPromise,
63
78
  isString,
64
79
  isSymbol
65
- } from "./chunk-ZGYORUAX.js";
80
+ } from "./chunk-6G7GFZV2.js";
66
81
  import {
67
- camel,
68
- capitalize,
69
- dash,
70
- pascal,
71
- snake,
72
- template,
73
- title,
74
- trim
75
- } from "./chunk-PNR5G432.js";
82
+ sleep
83
+ } from "./chunk-KKFGUHFR.js";
76
84
  export {
77
85
  access,
78
86
  camel,
79
87
  capitalize,
80
88
  clearArray,
89
+ combineStyle,
81
90
  createClickOutside,
82
91
  createDebounce,
83
92
  createDebouncedWatch,
84
93
  createEventListener,
94
+ createIntersectionObserver,
85
95
  createLoopExec,
86
96
  createThrottle,
97
+ createVisibilityObserver,
87
98
  createWatch,
88
99
  dash,
89
100
  dataIf,
@@ -112,6 +123,7 @@ export {
112
123
  shuffle,
113
124
  sleep,
114
125
  snake,
126
+ stringStyleToObject,
115
127
  template,
116
128
  title,
117
129
  trim,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  access
3
- } from "../chunk-M5A3VVYI.js";
4
- import "../chunk-OECLQ3OT.js";
5
- import "../chunk-KFWZFQMB.js";
6
- import "../chunk-PBALVUKK.js";
7
- import "../chunk-CSAKXWF3.js";
8
- import "../chunk-ZGYORUAX.js";
9
- import "../chunk-PNR5G432.js";
3
+ } from "../chunk-YK5QQQ43.js";
4
+ import "../chunk-MEZ7CXEG.js";
5
+ import "../chunk-QQVSG76Z.js";
6
+ import "../chunk-Y4GYGFIT.js";
7
+ import "../chunk-BT47ISVC.js";
8
+ import "../chunk-6G7GFZV2.js";
9
+ import "../chunk-KKFGUHFR.js";
10
10
  export {
11
11
  access
12
12
  };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createDebouncedWatch
3
- } from "../chunk-BGLY6NJK.js";
4
- import "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-D3JAYNG6.js";
5
4
  import "../chunk-4L6FK7MF.js";
6
- import "../chunk-OECLQ3OT.js";
7
- import "../chunk-KFWZFQMB.js";
8
- import "../chunk-PBALVUKK.js";
9
- import "../chunk-CSAKXWF3.js";
10
- import "../chunk-ZGYORUAX.js";
11
- import "../chunk-PNR5G432.js";
5
+ import "../chunk-YK5QQQ43.js";
6
+ import "../chunk-MEZ7CXEG.js";
7
+ import "../chunk-QQVSG76Z.js";
8
+ import "../chunk-Y4GYGFIT.js";
9
+ import "../chunk-BT47ISVC.js";
10
+ import "../chunk-6G7GFZV2.js";
11
+ import "../chunk-KKFGUHFR.js";
12
12
  export {
13
13
  createDebouncedWatch
14
14
  };
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  createDebouncedWatch
3
- } from "../chunk-BGLY6NJK.js";
4
- import {
5
- access
6
- } from "../chunk-M5A3VVYI.js";
3
+ } from "../chunk-D3JAYNG6.js";
7
4
  import {
8
5
  createWatch
9
6
  } from "../chunk-4L6FK7MF.js";
10
- import "../chunk-OECLQ3OT.js";
11
- import "../chunk-KFWZFQMB.js";
12
- import "../chunk-PBALVUKK.js";
13
- import "../chunk-CSAKXWF3.js";
14
- import "../chunk-ZGYORUAX.js";
15
- import "../chunk-PNR5G432.js";
7
+ import {
8
+ access
9
+ } from "../chunk-YK5QQQ43.js";
10
+ import "../chunk-MEZ7CXEG.js";
11
+ import "../chunk-QQVSG76Z.js";
12
+ import "../chunk-Y4GYGFIT.js";
13
+ import "../chunk-BT47ISVC.js";
14
+ import "../chunk-6G7GFZV2.js";
15
+ import "../chunk-KKFGUHFR.js";
16
16
  export {
17
17
  access,
18
18
  createDebouncedWatch,
@@ -1,3 +1,3 @@
1
1
  export { AnyFn, Fn } from './fn.js';
2
- export { MaybeAccessor, MaybeArray, MaybePromise } from './maybe.js';
2
+ export { MaybeAccessor, MaybeArray, MaybeNullableAccessor, MaybePromise } from './maybe.js';
3
3
  import 'solid-js';
@@ -1,3 +1,3 @@
1
1
  import "../chunk-SK6Y2YH6.js";
2
- import "../chunk-EZML2DEC.js";
3
2
  import "../chunk-AZAXMGEB.js";
3
+ import "../chunk-EZML2DEC.js";
@@ -3,5 +3,6 @@ import { Accessor } from 'solid-js';
3
3
  type MaybeArray<T> = T | T[];
4
4
  type MaybePromise<T> = T | Promise<T>;
5
5
  type MaybeAccessor<T> = T | Accessor<T>;
6
+ type MaybeNullableAccessor<T> = T | Accessor<T | null | undefined>;
6
7
 
7
- export type { MaybeAccessor, MaybeArray, MaybePromise };
8
+ export type { MaybeAccessor, MaybeArray, MaybeNullableAccessor, MaybePromise };
@@ -3,8 +3,8 @@ import {
3
3
  iterate,
4
4
  list,
5
5
  range
6
- } from "../chunk-CSAKXWF3.js";
7
- import "../chunk-ZGYORUAX.js";
6
+ } from "../chunk-BT47ISVC.js";
7
+ import "../chunk-6G7GFZV2.js";
8
8
  export {
9
9
  clearArray,
10
10
  iterate,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sleep
3
- } from "../chunk-KFWZFQMB.js";
3
+ } from "../chunk-KKFGUHFR.js";
4
4
  export {
5
5
  sleep
6
6
  };
@@ -1,19 +1,26 @@
1
- import "../chunk-OECLQ3OT.js";
2
- import {
3
- sleep
4
- } from "../chunk-KFWZFQMB.js";
1
+ import "../chunk-MEZ7CXEG.js";
5
2
  import {
6
3
  draw,
7
4
  random,
8
5
  shuffle,
9
6
  uid
10
- } from "../chunk-PBALVUKK.js";
7
+ } from "../chunk-QQVSG76Z.js";
8
+ import {
9
+ camel,
10
+ capitalize,
11
+ dash,
12
+ pascal,
13
+ snake,
14
+ template,
15
+ title,
16
+ trim
17
+ } from "../chunk-Y4GYGFIT.js";
11
18
  import {
12
19
  clearArray,
13
20
  iterate,
14
21
  list,
15
22
  range
16
- } from "../chunk-CSAKXWF3.js";
23
+ } from "../chunk-BT47ISVC.js";
17
24
  import {
18
25
  isArray,
19
26
  isClient,
@@ -28,17 +35,10 @@ import {
28
35
  isPromise,
29
36
  isString,
30
37
  isSymbol
31
- } from "../chunk-ZGYORUAX.js";
38
+ } from "../chunk-6G7GFZV2.js";
32
39
  import {
33
- camel,
34
- capitalize,
35
- dash,
36
- pascal,
37
- snake,
38
- template,
39
- title,
40
- trim
41
- } from "../chunk-PNR5G432.js";
40
+ sleep
41
+ } from "../chunk-KKFGUHFR.js";
42
42
  export {
43
43
  camel,
44
44
  capitalize,
@@ -12,7 +12,7 @@ import {
12
12
  isPromise,
13
13
  isString,
14
14
  isSymbol
15
- } from "../chunk-ZGYORUAX.js";
15
+ } from "../chunk-6G7GFZV2.js";
16
16
  export {
17
17
  isArray,
18
18
  isClient,
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Get entries of an object
3
+ */
4
+ declare const entries: <T extends object>(obj: T) => [keyof T, T[keyof T]][];
5
+ /**
6
+ * Get keys of an object
7
+ */
8
+ declare const keys: <T extends object>(object: T) => (keyof T)[];
9
+
10
+ export { entries, keys };
@@ -0,0 +1,7 @@
1
+ // src/utils/object.ts
2
+ var entries = Object.entries;
3
+ var keys = Object.keys;
4
+ export {
5
+ entries,
6
+ keys
7
+ };
@@ -0,0 +1,14 @@
1
+ import {
2
+ draw,
3
+ random,
4
+ shuffle,
5
+ uid
6
+ } from "../chunk-QQVSG76Z.js";
7
+ import "../chunk-BT47ISVC.js";
8
+ import "../chunk-6G7GFZV2.js";
9
+ export {
10
+ draw,
11
+ random,
12
+ shuffle,
13
+ uid
14
+ };
@@ -7,7 +7,7 @@ import {
7
7
  template,
8
8
  title,
9
9
  trim
10
- } from "../chunk-PNR5G432.js";
10
+ } from "../chunk-Y4GYGFIT.js";
11
11
  export {
12
12
  camel,
13
13
  capitalize,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-tiny-utils",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "A collection of tiny utilities for SolidJS applications",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -12,7 +12,8 @@
12
12
  "solid-js": "^1.9.7"
13
13
  },
14
14
  "devDependencies": {
15
- "@biomejs/biome": "2.1.2",
15
+ "@biomejs/biome": "2.2.0",
16
+ "@solidjs/router": "^0.15.3",
16
17
  "@solidjs/testing-library": "^0.8.10",
17
18
  "@testing-library/jest-dom": "^6.6.4",
18
19
  "@testing-library/user-event": "^14.6.1",
@@ -23,10 +24,11 @@
23
24
  "jsdom": "^26.1.0",
24
25
  "tsup": "^8.5.0",
25
26
  "typescript": "^5.8.3",
26
- "ultracite": "5.1.2",
27
+ "ultracite": "5.2.2",
27
28
  "unocss": "^66.3.3",
28
29
  "vite": "^6.2.1",
29
30
  "vite-plugin-solid": "^2.11.0",
31
+ "vite-plugin-solid-pages": "^0.3.4",
30
32
  "vitest": "^3.2.4"
31
33
  },
32
34
  "keywords": [
@@ -44,7 +46,7 @@
44
46
  },
45
47
  "scripts": {
46
48
  "build": "tsup",
47
- "dev": "vite",
49
+ "dev": "vite -c ./playground/vite.config.ts",
48
50
  "test": "vitest",
49
51
  "clean": "rimraf dist node_modules pnpm-lock.yaml",
50
52
  "test:run": "vitest --run",
@@ -1,14 +0,0 @@
1
- import {
2
- draw,
3
- random,
4
- shuffle,
5
- uid
6
- } from "../chunk-PBALVUKK.js";
7
- import "../chunk-CSAKXWF3.js";
8
- import "../chunk-ZGYORUAX.js";
9
- export {
10
- draw,
11
- random,
12
- shuffle,
13
- uid
14
- };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes