noph-ui 0.30.1 → 0.30.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.
@@ -8,6 +8,7 @@
8
8
  ...attributes
9
9
  }: RippleProps = $props()
10
10
  let pressed = $state(false)
11
+ let hovered = $state(false)
11
12
 
12
13
  const PRESS_GROW_MS = 450
13
14
  const MINIMUM_PRESS_MS = 225
@@ -150,10 +151,9 @@
150
151
  return
151
152
  }
152
153
 
153
- // TODO This is buggy in async svelte
154
- // await new Promise((resolve) => {
155
- // setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState)
156
- // })
154
+ await new Promise((resolve) => {
155
+ setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState)
156
+ })
157
157
 
158
158
  if (growAnimation !== animation) {
159
159
  return
@@ -166,11 +166,20 @@
166
166
  return x >= left && x <= right && y >= top && y <= bottom
167
167
  }
168
168
 
169
+ const handlePointerenter = (event: PointerEvent) => {
170
+ if (!shouldReactToEvent(event)) {
171
+ return
172
+ }
173
+
174
+ hovered = true
175
+ }
176
+
169
177
  const handlePointerleave = (event: PointerEvent) => {
170
178
  if (!shouldReactToEvent(event)) {
171
179
  return
172
180
  }
173
181
 
182
+ hovered = false
174
183
  if (step !== 'INACTIVE') {
175
184
  endPressAnimation()
176
185
  }
@@ -254,6 +263,7 @@
254
263
  el.removeEventListener('contextmenu', handleContextmenu)
255
264
  el.removeEventListener('pointercancel', handlePointercancel)
256
265
  el.removeEventListener('pointerdown', handlePointerdown)
266
+ el.removeEventListener('pointerenter', handlePointerenter)
257
267
  el.removeEventListener('pointerleave', handlePointerleave)
258
268
  el.removeEventListener('pointerup', handlePointerup)
259
269
  }
@@ -265,6 +275,7 @@
265
275
  el.addEventListener('contextmenu', handleContextmenu)
266
276
  el.addEventListener('pointercancel', handlePointercancel)
267
277
  el.addEventListener('pointerdown', handlePointerdown)
278
+ el.addEventListener('pointerenter', handlePointerenter)
268
279
  el.addEventListener('pointerleave', handlePointerleave)
269
280
  el.addEventListener('pointerup', handlePointerup)
270
281
  }
@@ -294,7 +305,7 @@
294
305
  {...attributes}
295
306
  class={[
296
307
  pressed && 'np-ripple-pressed',
297
- forceHover && 'np-ripple-hovered',
308
+ (hovered || forceHover) && 'np-ripple-hovered',
298
309
  'np-ripple-surface',
299
310
  attributes.class,
300
311
  ]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "noph-ui",
3
- "version": "0.30.1",
3
+ "version": "0.30.2",
4
4
  "license": "MIT",
5
5
  "homepage": "https://noph.dev",
6
6
  "repository": {