@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.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/dom/actions/index.cjs +75 -73
- package/dist/cjs/dom/actions/masonry.cjs +4 -2
- package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +24 -24
- package/dist/cjs/dom/actions/sticky.cjs +4 -2
- package/dist/cjs/dom/font-size.cjs +9 -3
- package/dist/cjs/dom/index.cjs +81 -66
- package/dist/cjs/dom/observers/index.cjs +24 -17
- package/dist/cjs/dom/observers/resize-observer.cjs +4 -2
- package/dist/cjs/dom/observers/scroll-observer.cjs +24 -17
- package/dist/esm/dom/actions/index.js +75 -73
- package/dist/esm/dom/actions/masonry.js +4 -2
- package/dist/esm/dom/actions/prefer-horizontal-scroll.js +24 -24
- package/dist/esm/dom/actions/sticky.js +4 -2
- package/dist/esm/dom/font-size.js +8 -3
- package/dist/esm/dom/index.js +80 -66
- package/dist/esm/dom/observers/index.js +24 -17
- package/dist/esm/dom/observers/resize-observer.js +4 -2
- package/dist/esm/dom/observers/scroll-observer.js +24 -17
- package/dist/types/dom/events.d.cts +2 -2
- package/dist/types/dom/font-size.d.cts +3 -2
- package/dist/types/dom/index.d.cts +2 -2
- package/dist/types/dom/observers/index.d.cts +1 -1
- package/dist/types/dom/observers/resize-observer.d.cts +3 -3
- package/dist/types/dom/observers/scroll-observer.d.cts +34 -21
- package/dist/types/dom/spam-prevention.d.cts +7 -7
- package/dist/types/lib/checks.d.cts +1 -1
- package/package.json +1 -1
- package/src/dom/actions/prefer-horizontal-scroll.js +3 -8
- package/src/dom/events.js +1 -1
- package/src/dom/font-size.js +9 -4
- package/src/dom/observers/resize-observer.js +6 -4
- package/src/dom/observers/scroll-observer.js +41 -27
- package/src/dom/spam-prevention.js +5 -4
- package/src/dom/events.test.js +0 -99
package/src/dom/events.test.js
DELETED
|
@@ -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
|
-
})
|