@splendidlabz/utils 1.9.1 → 1.10.1

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 (35) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/dom/actions/index.cjs +75 -73
  3. package/dist/cjs/dom/actions/masonry.cjs +4 -2
  4. package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +24 -24
  5. package/dist/cjs/dom/actions/sticky.cjs +4 -2
  6. package/dist/cjs/dom/font-size.cjs +9 -3
  7. package/dist/cjs/dom/index.cjs +81 -66
  8. package/dist/cjs/dom/observers/index.cjs +24 -17
  9. package/dist/cjs/dom/observers/resize-observer.cjs +4 -2
  10. package/dist/cjs/dom/observers/scroll-observer.cjs +24 -17
  11. package/dist/esm/dom/actions/index.js +75 -73
  12. package/dist/esm/dom/actions/masonry.js +4 -2
  13. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +24 -24
  14. package/dist/esm/dom/actions/sticky.js +4 -2
  15. package/dist/esm/dom/font-size.js +8 -3
  16. package/dist/esm/dom/index.js +80 -66
  17. package/dist/esm/dom/observers/index.js +24 -17
  18. package/dist/esm/dom/observers/resize-observer.js +4 -2
  19. package/dist/esm/dom/observers/scroll-observer.js +24 -17
  20. package/dist/types/dom/events.d.cts +2 -2
  21. package/dist/types/dom/font-size.d.cts +3 -2
  22. package/dist/types/dom/index.d.cts +2 -2
  23. package/dist/types/dom/observers/index.d.cts +1 -1
  24. package/dist/types/dom/observers/resize-observer.d.cts +3 -3
  25. package/dist/types/dom/observers/scroll-observer.d.cts +34 -21
  26. package/dist/types/dom/spam-prevention.d.cts +7 -7
  27. package/dist/types/lib/checks.d.cts +1 -1
  28. package/package.json +1 -1
  29. package/src/dom/actions/prefer-horizontal-scroll.js +3 -8
  30. package/src/dom/events.js +1 -1
  31. package/src/dom/font-size.js +9 -4
  32. package/src/dom/observers/resize-observer.js +6 -4
  33. package/src/dom/observers/scroll-observer.js +41 -27
  34. package/src/dom/spam-prevention.js +5 -4
  35. package/src/dom/events.test.js +0 -99
@@ -1,99 +0,0 @@
1
- // @vitest-environment jsdom
2
- import { describe, expect, it } from 'vitest'
3
-
4
- import { createListeners } from './events.js'
5
-
6
- describe('Listeners Factory', _ => {
7
- it('Empty', _ => {
8
- const listeners = createListeners()
9
- expect(listeners.list).toEqual([])
10
- })
11
-
12
- it('Begins with some listeners', _ => {
13
- const node1 = document.createElement('div')
14
- const node2 = document.createElement('p')
15
- const event1 = 'click'
16
- const event2 = 'keydown'
17
- const cb1 = _ => {}
18
- const cb2 = _ => {}
19
-
20
- const listeners = createListeners([
21
- { node: node1, event: event1, handler: cb1 },
22
- { node: node2, event: event2, handler: cb2 },
23
- ])
24
-
25
- expect(listeners.list).toEqual([
26
- { node: node1, event: event1, handler: cb1 },
27
- { node: node2, event: event2, handler: cb2 },
28
- ])
29
- })
30
-
31
- it('Add', _ => {
32
- const node = document.createElement('div')
33
- const event = 'click'
34
- const handler = _ => {
35
- node.setAttribute('clicked', true)
36
- }
37
-
38
- const listeners = createListeners()
39
- listeners.add({ node, event, handler })
40
-
41
- // Ensures the listener was added to the list
42
- expect(listeners.list.length).toBe(1)
43
-
44
- // Ensures the listener works
45
- node.click()
46
- expect(node.getAttribute('clicked')).toBe('true')
47
- })
48
-
49
- it('Remove', _ => {
50
- const node = document.createElement('div')
51
- const event = 'click'
52
- const handler = _ => {
53
- const count = node.getAttribute('count') || 0
54
- node.setAttribute('count', count + 1)
55
- }
56
-
57
- const listener = { node, event, handler }
58
- const listeners = createListeners([listener])
59
-
60
- node.click()
61
- expect(node.getAttribute('count')).toBe('1')
62
-
63
- listeners.remove(listener)
64
-
65
- // Ensures listener has been removed
66
- node.click()
67
-
68
- expect(listeners.list.length).toBe(0)
69
- expect(node.getAttribute('count')).toBe('1')
70
- })
71
-
72
- it('Clears all listeners from', _ => {
73
- const node1 = document.createElement('div')
74
- const node2 = document.createElement('p')
75
- const event1 = 'click'
76
- const event2 = 'click'
77
- const cb1 = _ => {
78
- node1.setAttribute('clicked', true)
79
- }
80
- const cb2 = _ => {
81
- node2.setAttribute('clicked', true)
82
- }
83
-
84
- const listeners = createListeners([
85
- { node: node1, event: event1, handler: cb1 },
86
- { node: node2, event: event2, handler: cb2 },
87
- ])
88
-
89
- listeners.clear()
90
- expect(listeners.list).toEqual([])
91
-
92
- // Ensures none of the listeners work anymore
93
- node1.click()
94
- node2.click()
95
-
96
- expect(node1.getAttribute('clicked')).toBe(null)
97
- expect(node2.getAttribute('clicked')).toBe(null)
98
- })
99
- })