elements-kit 0.0.9 → 0.0.11

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 (313) hide show
  1. package/README.md +3 -4
  2. package/dist/builder/dom.d.mts +1 -1
  3. package/dist/builder/index.d.mts +87 -1
  4. package/dist/builder/index.mjs +1 -1
  5. package/dist/{element-Ddk9YaoE.mjs → element-MXzFk4G2.mjs} +1 -1
  6. package/dist/{index-BtqiEEfc.d.mts → index-Cvdhuy6Y.d.mts} +8 -4
  7. package/dist/index.d.mts +1 -1
  8. package/dist/index.mjs +3 -3
  9. package/dist/{signals/lib → integrations}/react.d.mts +2 -2
  10. package/dist/{signals/lib → integrations}/react.mjs +2 -2
  11. package/dist/jsx-runtime/index.d.mts +2 -2
  12. package/dist/jsx-runtime/index.mjs +3 -3
  13. package/dist/lib-BYJ5jPTG.d.mts +4 -0
  14. package/dist/polyfill-DR5XVnh_.d.mts +9 -0
  15. package/dist/signals/index.d.mts +2 -2
  16. package/dist/signals/index.mjs +2 -2
  17. package/dist/{signals-CLAPw8kk.mjs → signals-DcgXhkU2.mjs} +41 -9
  18. package/dist/slot.d.mts +1 -2
  19. package/dist/{test.BmQO5GaM-CR2qjV1t.mjs → test.BmQO5GaM-ANkhHvbr.mjs} +1 -1
  20. package/dist/utilities/active-element.d.mts +6 -0
  21. package/dist/utilities/active-element.mjs +13 -0
  22. package/dist/utilities/active-element.test.mjs +24 -0
  23. package/dist/{signals/lib → utilities}/debounced.d.mts +3 -3
  24. package/dist/{signals/lib → utilities}/debounced.mjs +7 -6
  25. package/dist/{signals/lib → utilities}/debounced.test.mjs +3 -3
  26. package/dist/{signals/lib → utilities}/element-rect.d.mts +3 -3
  27. package/dist/{signals/lib → utilities}/element-rect.mjs +7 -7
  28. package/dist/{signals/lib → utilities}/element-rect.test.mjs +3 -3
  29. package/dist/utilities/element-scroll.d.mts +16 -0
  30. package/dist/utilities/element-scroll.mjs +52 -0
  31. package/dist/utilities/element-scroll.test.mjs +25 -0
  32. package/dist/utilities/event-driven.d.mts +47 -0
  33. package/dist/utilities/event-driven.mjs +38 -0
  34. package/dist/utilities/event-listener.d.mts +16 -0
  35. package/dist/{signals/lib → utilities}/event-listener.mjs +4 -4
  36. package/dist/{signals/lib → utilities}/event-listener.test.mjs +8 -8
  37. package/dist/utilities/focus-within.d.mts +10 -0
  38. package/dist/utilities/focus-within.mjs +20 -0
  39. package/dist/{signals/lib/is-focus-within.test.mjs → utilities/focus-within.test.mjs} +10 -11
  40. package/dist/utilities/hover.d.mts +11 -0
  41. package/dist/utilities/hover.mjs +20 -0
  42. package/dist/{signals/lib → utilities}/hover.test.mjs +5 -16
  43. package/dist/utilities/intersection-observer.d.mts +8 -0
  44. package/dist/{signals/lib → utilities}/intersection-observer.mjs +3 -4
  45. package/dist/{signals/lib → utilities}/intersection-observer.test.mjs +3 -3
  46. package/dist/{signals/lib → utilities}/interval.d.mts +2 -2
  47. package/dist/{signals/lib → utilities}/interval.mjs +6 -5
  48. package/dist/{signals/lib → utilities}/interval.test.mjs +3 -3
  49. package/dist/utilities/location.d.mts +24 -0
  50. package/dist/utilities/location.mjs +54 -0
  51. package/dist/utilities/location.test.mjs +60 -0
  52. package/dist/utilities/long-press.d.mts +10 -0
  53. package/dist/utilities/long-press.mjs +27 -0
  54. package/dist/{signals/lib → utilities}/long-press.test.mjs +3 -3
  55. package/dist/{signals/lib → utilities}/media-devices.d.mts +3 -3
  56. package/dist/{signals/lib → utilities}/media-devices.mjs +5 -5
  57. package/dist/{signals/lib → utilities}/media-devices.test.mjs +6 -8
  58. package/dist/utilities/media-player.d.mts +22 -0
  59. package/dist/utilities/media-player.mjs +36 -0
  60. package/dist/utilities/media-player.test.mjs +100 -0
  61. package/dist/{signals/lib/media.d.mts → utilities/media-query.d.mts} +4 -4
  62. package/dist/utilities/media-query.mjs +19 -0
  63. package/dist/utilities/mutation-observer.d.mts +8 -0
  64. package/dist/{signals/lib → utilities}/mutation-observer.mjs +3 -3
  65. package/dist/{signals/lib → utilities}/mutation-observer.test.mjs +3 -3
  66. package/dist/{signals/lib → utilities}/on-click-outside.d.mts +3 -3
  67. package/dist/utilities/on-click-outside.mjs +17 -0
  68. package/dist/{signals/lib → utilities}/on-click-outside.test.mjs +7 -18
  69. package/dist/utilities/orientation.d.mts +10 -0
  70. package/dist/utilities/orientation.mjs +21 -0
  71. package/dist/utilities/previous.d.mts +12 -0
  72. package/dist/utilities/previous.mjs +24 -0
  73. package/dist/utilities/previous.test.mjs +88 -0
  74. package/dist/utilities/resize-observer.d.mts +8 -0
  75. package/dist/{signals/lib → utilities}/resize-observer.mjs +4 -5
  76. package/dist/utilities/routing.d.mts +59 -0
  77. package/dist/utilities/routing.mjs +89 -0
  78. package/dist/utilities/routing.test.mjs +128 -0
  79. package/dist/utilities/search-params.d.mts +13 -0
  80. package/dist/utilities/search-params.mjs +23 -0
  81. package/dist/utilities/search-params.test.mjs +35 -0
  82. package/dist/utilities/storage.d.mts +22 -0
  83. package/dist/utilities/storage.mjs +65 -0
  84. package/dist/utilities/storage.test.mjs +137 -0
  85. package/dist/{signals/lib → utilities}/throttled.d.mts +2 -2
  86. package/dist/utilities/throttled.mjs +36 -0
  87. package/dist/{signals/lib → utilities}/throttled.test.mjs +3 -3
  88. package/dist/{signals/lib → utilities}/timeout.d.mts +6 -5
  89. package/dist/utilities/timeout.mjs +42 -0
  90. package/dist/{signals/lib → utilities}/timeout.test.mjs +7 -7
  91. package/dist/utilities/window-size.d.mts +10 -0
  92. package/dist/utilities/window-size.mjs +22 -0
  93. package/dist/utilities/window-size.test.mjs +42 -0
  94. package/package.json +11 -6
  95. package/dist/index-CKjDUp1B.d.mts +0 -89
  96. package/dist/polyfill-AFIi9kAN.d.mts +0 -14
  97. package/dist/signals/lib/active-element.d.mts +0 -10
  98. package/dist/signals/lib/active-element.mjs +0 -20
  99. package/dist/signals/lib/active-element.test.mjs +0 -39
  100. package/dist/signals/lib/animation-frames.d.mts +0 -18
  101. package/dist/signals/lib/animation-frames.mjs +0 -48
  102. package/dist/signals/lib/animation-frames.test.mjs +0 -52
  103. package/dist/signals/lib/async-retry.d.mts +0 -21
  104. package/dist/signals/lib/async-retry.mjs +0 -57
  105. package/dist/signals/lib/async-retry.test.mjs +0 -57
  106. package/dist/signals/lib/audio.d.mts +0 -26
  107. package/dist/signals/lib/audio.mjs +0 -60
  108. package/dist/signals/lib/audio.test.mjs +0 -54
  109. package/dist/signals/lib/battery.d.mts +0 -17
  110. package/dist/signals/lib/battery.mjs +0 -45
  111. package/dist/signals/lib/battery.test.mjs +0 -38
  112. package/dist/signals/lib/before-unload.d.mts +0 -11
  113. package/dist/signals/lib/before-unload.mjs +0 -20
  114. package/dist/signals/lib/before-unload.test.mjs +0 -29
  115. package/dist/signals/lib/clipboard.d.mts +0 -15
  116. package/dist/signals/lib/clipboard.mjs +0 -25
  117. package/dist/signals/lib/clipboard.test.mjs +0 -53
  118. package/dist/signals/lib/counter.d.mts +0 -18
  119. package/dist/signals/lib/counter.mjs +0 -21
  120. package/dist/signals/lib/counter.test.d.mts +0 -1
  121. package/dist/signals/lib/counter.test.mjs +0 -74
  122. package/dist/signals/lib/document-title.d.mts +0 -10
  123. package/dist/signals/lib/document-title.mjs +0 -15
  124. package/dist/signals/lib/document-title.test.d.mts +0 -1
  125. package/dist/signals/lib/document-title.test.mjs +0 -33
  126. package/dist/signals/lib/element-size.d.mts +0 -16
  127. package/dist/signals/lib/element-size.mjs +0 -32
  128. package/dist/signals/lib/element-size.test.d.mts +0 -1
  129. package/dist/signals/lib/element-size.test.mjs +0 -86
  130. package/dist/signals/lib/event-listener.d.mts +0 -14
  131. package/dist/signals/lib/favicon.d.mts +0 -10
  132. package/dist/signals/lib/favicon.mjs +0 -24
  133. package/dist/signals/lib/favicon.test.d.mts +0 -1
  134. package/dist/signals/lib/favicon.test.mjs +0 -28
  135. package/dist/signals/lib/finite-state-machine.d.mts +0 -22
  136. package/dist/signals/lib/finite-state-machine.mjs +0 -26
  137. package/dist/signals/lib/finite-state-machine.test.d.mts +0 -1
  138. package/dist/signals/lib/finite-state-machine.test.mjs +0 -66
  139. package/dist/signals/lib/fullscreen.d.mts +0 -15
  140. package/dist/signals/lib/fullscreen.mjs +0 -26
  141. package/dist/signals/lib/fullscreen.test.d.mts +0 -1
  142. package/dist/signals/lib/fullscreen.test.mjs +0 -56
  143. package/dist/signals/lib/geolocation.d.mts +0 -15
  144. package/dist/signals/lib/geolocation.mjs +0 -30
  145. package/dist/signals/lib/geolocation.test.d.mts +0 -1
  146. package/dist/signals/lib/geolocation.test.mjs +0 -37
  147. package/dist/signals/lib/hash.d.mts +0 -10
  148. package/dist/signals/lib/hash.mjs +0 -20
  149. package/dist/signals/lib/hash.test.d.mts +0 -1
  150. package/dist/signals/lib/hash.test.mjs +0 -47
  151. package/dist/signals/lib/hover.d.mts +0 -11
  152. package/dist/signals/lib/hover.mjs +0 -23
  153. package/dist/signals/lib/intersection-observer.d.mts +0 -8
  154. package/dist/signals/lib/is-document-visible.d.mts +0 -11
  155. package/dist/signals/lib/is-document-visible.mjs +0 -19
  156. package/dist/signals/lib/is-document-visible.test.d.mts +0 -1
  157. package/dist/signals/lib/is-document-visible.test.mjs +0 -58
  158. package/dist/signals/lib/is-focus-within.d.mts +0 -10
  159. package/dist/signals/lib/is-focus-within.mjs +0 -28
  160. package/dist/signals/lib/is-focus-within.test.d.mts +0 -1
  161. package/dist/signals/lib/is-idle.d.mts +0 -10
  162. package/dist/signals/lib/is-idle.mjs +0 -37
  163. package/dist/signals/lib/is-idle.test.d.mts +0 -1
  164. package/dist/signals/lib/is-idle.test.mjs +0 -50
  165. package/dist/signals/lib/is-in-viewport.d.mts +0 -10
  166. package/dist/signals/lib/is-in-viewport.mjs +0 -16
  167. package/dist/signals/lib/is-in-viewport.test.d.mts +0 -1
  168. package/dist/signals/lib/is-in-viewport.test.mjs +0 -74
  169. package/dist/signals/lib/key-press.d.mts +0 -13
  170. package/dist/signals/lib/key-press.mjs +0 -25
  171. package/dist/signals/lib/key-press.test.d.mts +0 -1
  172. package/dist/signals/lib/key-press.test.mjs +0 -52
  173. package/dist/signals/lib/list.d.mts +0 -19
  174. package/dist/signals/lib/list.mjs +0 -36
  175. package/dist/signals/lib/list.test.d.mts +0 -1
  176. package/dist/signals/lib/list.test.mjs +0 -104
  177. package/dist/signals/lib/lock-body-scroll.d.mts +0 -8
  178. package/dist/signals/lib/lock-body-scroll.mjs +0 -17
  179. package/dist/signals/lib/lock-body-scroll.test.d.mts +0 -1
  180. package/dist/signals/lib/lock-body-scroll.test.mjs +0 -37
  181. package/dist/signals/lib/long-press.d.mts +0 -10
  182. package/dist/signals/lib/long-press.mjs +0 -29
  183. package/dist/signals/lib/map.d.mts +0 -18
  184. package/dist/signals/lib/map.mjs +0 -33
  185. package/dist/signals/lib/map.test.d.mts +0 -1
  186. package/dist/signals/lib/map.test.mjs +0 -60
  187. package/dist/signals/lib/media.mjs +0 -26
  188. package/dist/signals/lib/motion.d.mts +0 -15
  189. package/dist/signals/lib/motion.mjs +0 -27
  190. package/dist/signals/lib/motion.test.d.mts +0 -1
  191. package/dist/signals/lib/motion.test.mjs +0 -51
  192. package/dist/signals/lib/mouse-position.d.mts +0 -14
  193. package/dist/signals/lib/mouse-position.mjs +0 -22
  194. package/dist/signals/lib/mouse-position.test.d.mts +0 -1
  195. package/dist/signals/lib/mouse-position.test.mjs +0 -44
  196. package/dist/signals/lib/mouse-wheel.d.mts +0 -10
  197. package/dist/signals/lib/mouse-wheel.mjs +0 -17
  198. package/dist/signals/lib/mouse-wheel.test.d.mts +0 -1
  199. package/dist/signals/lib/mouse-wheel.test.mjs +0 -38
  200. package/dist/signals/lib/mutation-observer.d.mts +0 -8
  201. package/dist/signals/lib/network-state.d.mts +0 -17
  202. package/dist/signals/lib/network-state.mjs +0 -34
  203. package/dist/signals/lib/network-state.test.d.mts +0 -1
  204. package/dist/signals/lib/network-state.test.mjs +0 -61
  205. package/dist/signals/lib/on-click-outside.mjs +0 -20
  206. package/dist/signals/lib/orientation.d.mts +0 -13
  207. package/dist/signals/lib/orientation.mjs +0 -21
  208. package/dist/signals/lib/orientation.test.d.mts +0 -1
  209. package/dist/signals/lib/orientation.test.mjs +0 -43
  210. package/dist/signals/lib/page-leave.d.mts +0 -8
  211. package/dist/signals/lib/page-leave.mjs +0 -12
  212. package/dist/signals/lib/page-leave.test.d.mts +0 -1
  213. package/dist/signals/lib/page-leave.test.mjs +0 -29
  214. package/dist/signals/lib/permission.d.mts +0 -14
  215. package/dist/signals/lib/permission.mjs +0 -26
  216. package/dist/signals/lib/permission.test.d.mts +0 -1
  217. package/dist/signals/lib/permission.test.mjs +0 -50
  218. package/dist/signals/lib/persisted-state.d.mts +0 -11
  219. package/dist/signals/lib/persisted-state.mjs +0 -25
  220. package/dist/signals/lib/persisted-state.test.d.mts +0 -1
  221. package/dist/signals/lib/persisted-state.test.mjs +0 -70
  222. package/dist/signals/lib/pressed-keys.d.mts +0 -10
  223. package/dist/signals/lib/pressed-keys.mjs +0 -32
  224. package/dist/signals/lib/pressed-keys.test.d.mts +0 -1
  225. package/dist/signals/lib/pressed-keys.test.mjs +0 -54
  226. package/dist/signals/lib/previous-distinct.d.mts +0 -10
  227. package/dist/signals/lib/previous-distinct.mjs +0 -22
  228. package/dist/signals/lib/previous-distinct.test.d.mts +0 -1
  229. package/dist/signals/lib/previous-distinct.test.mjs +0 -50
  230. package/dist/signals/lib/previous.d.mts +0 -10
  231. package/dist/signals/lib/previous.mjs +0 -18
  232. package/dist/signals/lib/previous.test.mjs +0 -47
  233. package/dist/signals/lib/queue.d.mts +0 -17
  234. package/dist/signals/lib/queue.mjs +0 -28
  235. package/dist/signals/lib/queue.test.d.mts +0 -1
  236. package/dist/signals/lib/queue.test.mjs +0 -61
  237. package/dist/signals/lib/raf.d.mts +0 -17
  238. package/dist/signals/lib/raf.mjs +0 -38
  239. package/dist/signals/lib/raf.test.d.mts +0 -1
  240. package/dist/signals/lib/raf.test.mjs +0 -58
  241. package/dist/signals/lib/resize-observer.d.mts +0 -8
  242. package/dist/signals/lib/resize-observer.test.d.mts +0 -1
  243. package/dist/signals/lib/resize-observer.test.mjs +0 -44
  244. package/dist/signals/lib/resource.d.mts +0 -23
  245. package/dist/signals/lib/resource.mjs +0 -43
  246. package/dist/signals/lib/resource.test.d.mts +0 -1
  247. package/dist/signals/lib/resource.test.mjs +0 -56
  248. package/dist/signals/lib/scroll-state.d.mts +0 -19
  249. package/dist/signals/lib/scroll-state.mjs +0 -46
  250. package/dist/signals/lib/scroll-state.test.d.mts +0 -1
  251. package/dist/signals/lib/scroll-state.test.mjs +0 -94
  252. package/dist/signals/lib/scrolling.d.mts +0 -12
  253. package/dist/signals/lib/scrolling.mjs +0 -26
  254. package/dist/signals/lib/scrolling.test.d.mts +0 -1
  255. package/dist/signals/lib/scrolling.test.mjs +0 -57
  256. package/dist/signals/lib/search-params.d.mts +0 -16
  257. package/dist/signals/lib/search-params.mjs +0 -37
  258. package/dist/signals/lib/search-params.test.mjs +0 -56
  259. package/dist/signals/lib/set.d.mts +0 -18
  260. package/dist/signals/lib/set.mjs +0 -38
  261. package/dist/signals/lib/set.test.d.mts +0 -1
  262. package/dist/signals/lib/set.test.mjs +0 -70
  263. package/dist/signals/lib/start-typing.d.mts +0 -9
  264. package/dist/signals/lib/start-typing.mjs +0 -39
  265. package/dist/signals/lib/start-typing.test.d.mts +0 -1
  266. package/dist/signals/lib/start-typing.test.mjs +0 -64
  267. package/dist/signals/lib/state-history.d.mts +0 -21
  268. package/dist/signals/lib/state-history.mjs +0 -61
  269. package/dist/signals/lib/state-history.test.d.mts +0 -1
  270. package/dist/signals/lib/state-history.test.mjs +0 -106
  271. package/dist/signals/lib/state-validator.d.mts +0 -16
  272. package/dist/signals/lib/state-validator.mjs +0 -21
  273. package/dist/signals/lib/state-validator.test.d.mts +0 -1
  274. package/dist/signals/lib/state-validator.test.mjs +0 -41
  275. package/dist/signals/lib/throttled.mjs +0 -45
  276. package/dist/signals/lib/timeout.mjs +0 -39
  277. package/dist/signals/lib/toggle.d.mts +0 -12
  278. package/dist/signals/lib/toggle.mjs +0 -12
  279. package/dist/signals/lib/toggle.test.d.mts +0 -1
  280. package/dist/signals/lib/toggle.test.mjs +0 -43
  281. package/dist/signals/lib/video.d.mts +0 -25
  282. package/dist/signals/lib/video.mjs +0 -59
  283. package/dist/signals/lib/video.test.d.mts +0 -1
  284. package/dist/signals/lib/video.test.mjs +0 -51
  285. package/dist/signals/lib/watch.d.mts +0 -16
  286. package/dist/signals/lib/watch.mjs +0 -31
  287. package/dist/signals/lib/watch.test.d.mts +0 -1
  288. package/dist/signals/lib/watch.test.mjs +0 -51
  289. package/dist/signals/lib/window-size.d.mts +0 -14
  290. package/dist/signals/lib/window-size.mjs +0 -22
  291. package/dist/signals/lib/window-size.test.mjs +0 -50
  292. /package/dist/{signals/lib → utilities}/active-element.test.d.mts +0 -0
  293. /package/dist/{signals/lib → utilities}/debounced.test.d.mts +0 -0
  294. /package/dist/{signals/lib → utilities}/element-rect.test.d.mts +0 -0
  295. /package/dist/{signals/lib/animation-frames.test.d.mts → utilities/element-scroll.test.d.mts} +0 -0
  296. /package/dist/{signals/lib → utilities}/event-listener.test.d.mts +0 -0
  297. /package/dist/{signals/lib/async-retry.test.d.mts → utilities/focus-within.test.d.mts} +0 -0
  298. /package/dist/{signals/lib → utilities}/hover.test.d.mts +0 -0
  299. /package/dist/{signals/lib → utilities}/intersection-observer.test.d.mts +0 -0
  300. /package/dist/{signals/lib → utilities}/interval.test.d.mts +0 -0
  301. /package/dist/{signals/lib/audio.test.d.mts → utilities/location.test.d.mts} +0 -0
  302. /package/dist/{signals/lib → utilities}/long-press.test.d.mts +0 -0
  303. /package/dist/{signals/lib → utilities}/media-devices.test.d.mts +0 -0
  304. /package/dist/{signals/lib/battery.test.d.mts → utilities/media-player.test.d.mts} +0 -0
  305. /package/dist/{signals/lib → utilities}/mutation-observer.test.d.mts +0 -0
  306. /package/dist/{signals/lib → utilities}/on-click-outside.test.d.mts +0 -0
  307. /package/dist/{signals/lib → utilities}/previous.test.d.mts +0 -0
  308. /package/dist/{signals/lib/before-unload.test.d.mts → utilities/routing.test.d.mts} +0 -0
  309. /package/dist/{signals/lib → utilities}/search-params.test.d.mts +0 -0
  310. /package/dist/{signals/lib/clipboard.test.d.mts → utilities/storage.test.d.mts} +0 -0
  311. /package/dist/{signals/lib → utilities}/throttled.test.d.mts +0 -0
  312. /package/dist/{signals/lib → utilities}/timeout.test.d.mts +0 -0
  313. /package/dist/{signals/lib → utilities}/window-size.test.d.mts +0 -0
@@ -1,58 +0,0 @@
1
- import { o as effectScope } from "../../signals-CLAPw8kk.mjs";
2
- import { a as describe, o as it, r as afterEach, t as globalExpect } from "../../test.BmQO5GaM-CR2qjV1t.mjs";
3
- import { createIsDocumentVisible } from "./is-document-visible.mjs";
4
- //#region src/signals/lib/is-document-visible.test.ts
5
- afterEach(() => {
6
- Object.defineProperty(document, "visibilityState", {
7
- value: "visible",
8
- configurable: true
9
- });
10
- });
11
- function setVisibility(state) {
12
- Object.defineProperty(document, "visibilityState", {
13
- value: state,
14
- configurable: true
15
- });
16
- document.dispatchEvent(new Event("visibilitychange"));
17
- }
18
- describe("createIsDocumentVisible", () => {
19
- it("starts as true when document is visible", () => {
20
- Object.defineProperty(document, "visibilityState", {
21
- value: "visible",
22
- configurable: true
23
- });
24
- let visible;
25
- effectScope(() => {
26
- visible = createIsDocumentVisible();
27
- });
28
- globalExpect(visible()).toBe(true);
29
- });
30
- it("becomes false when document becomes hidden", () => {
31
- let visible;
32
- effectScope(() => {
33
- visible = createIsDocumentVisible();
34
- });
35
- setVisibility("hidden");
36
- globalExpect(visible()).toBe(false);
37
- });
38
- it("becomes true again when document becomes visible", () => {
39
- let visible;
40
- effectScope(() => {
41
- visible = createIsDocumentVisible();
42
- });
43
- setVisibility("hidden");
44
- setVisibility("visible");
45
- globalExpect(visible()).toBe(true);
46
- });
47
- it("stops reacting after Symbol.dispose", () => {
48
- let visible;
49
- effectScope(() => {
50
- visible = createIsDocumentVisible();
51
- });
52
- visible[Symbol.dispose]();
53
- setVisibility("hidden");
54
- globalExpect(visible()).toBe(true);
55
- });
56
- });
57
- //#endregion
58
- export {};
@@ -1,10 +0,0 @@
1
- import { t as Computed } from "../../index-BtqiEEfc.mjs";
2
-
3
- //#region src/signals/lib/is-focus-within.d.ts
4
- /**
5
- * Returns a `Computed<boolean>` that is `true` while focus is anywhere inside
6
- * `target` (including `target` itself).
7
- */
8
- declare function createIsFocusWithin(target: Element | (() => Element | null)): Computed<boolean> & Disposable;
9
- //#endregion
10
- export { createIsFocusWithin };
@@ -1,28 +0,0 @@
1
- import { f as signal } from "../../signals-CLAPw8kk.mjs";
2
- import { createEventListener } from "./event-listener.mjs";
3
- //#region src/signals/lib/is-focus-within.ts
4
- /**
5
- * Returns a `Computed<boolean>` that is `true` while focus is anywhere inside
6
- * `target` (including `target` itself).
7
- */
8
- function createIsFocusWithin(target) {
9
- const focused = signal(false);
10
- const el = typeof target === "function" ? target() : target;
11
- const onFocusIn = (e) => {
12
- const t = typeof target === "function" ? target() : target;
13
- if (t && t.contains(e.target)) focused(true);
14
- };
15
- const onFocusOut = (e) => {
16
- const t = typeof target === "function" ? target() : target;
17
- if (t && !t.contains(e.relatedTarget)) focused(false);
18
- };
19
- const cleanups = [];
20
- if (el) {
21
- cleanups.push(createEventListener(document, "focusin", onFocusIn));
22
- cleanups.push(createEventListener(document, "focusout", onFocusOut));
23
- }
24
- const cleanup = () => cleanups.forEach((fn) => fn());
25
- return Object.assign(focused, { [Symbol.dispose]: cleanup });
26
- }
27
- //#endregion
28
- export { createIsFocusWithin };
@@ -1 +0,0 @@
1
- export { };
@@ -1,10 +0,0 @@
1
- import { t as Computed } from "../../index-BtqiEEfc.mjs";
2
-
3
- //#region src/signals/lib/is-idle.d.ts
4
- /**
5
- * Returns a `Computed<boolean>` that is `true` when the user has been inactive
6
- * for longer than `timeout` milliseconds (default 60 s).
7
- */
8
- declare function createIsIdle(timeout?: number): Computed<boolean> & Disposable;
9
- //#endregion
10
- export { createIsIdle };
@@ -1,37 +0,0 @@
1
- import { d as onCleanup, f as signal } from "../../signals-CLAPw8kk.mjs";
2
- import { createEventListener } from "./event-listener.mjs";
3
- //#region src/signals/lib/is-idle.ts
4
- /** Default idle timeout in milliseconds (60 seconds). */
5
- const DEFAULT_TIMEOUT = 6e4;
6
- /** Events that reset the idle timer. */
7
- const ACTIVITY_EVENTS = [
8
- "mousemove",
9
- "mousedown",
10
- "keydown",
11
- "touchstart",
12
- "scroll",
13
- "pointermove"
14
- ];
15
- /**
16
- * Returns a `Computed<boolean>` that is `true` when the user has been inactive
17
- * for longer than `timeout` milliseconds (default 60 s).
18
- */
19
- function createIsIdle(timeout = DEFAULT_TIMEOUT) {
20
- const idle = signal(false);
21
- let timer;
22
- const reset = () => {
23
- clearTimeout(timer);
24
- idle(false);
25
- timer = setTimeout(() => idle(true), timeout);
26
- };
27
- reset();
28
- const removes = ACTIVITY_EVENTS.map((event) => createEventListener(window, event, reset, { passive: true }));
29
- onCleanup(() => clearTimeout(timer));
30
- const cleanup = () => {
31
- clearTimeout(timer);
32
- removes.forEach((fn) => fn());
33
- };
34
- return Object.assign(idle, { [Symbol.dispose]: cleanup });
35
- }
36
- //#endregion
37
- export { createIsIdle };
@@ -1 +0,0 @@
1
- export { };
@@ -1,50 +0,0 @@
1
- import { o as effectScope } from "../../signals-CLAPw8kk.mjs";
2
- import { a as describe, n as vi, o as it, r as afterEach, t as globalExpect } from "../../test.BmQO5GaM-CR2qjV1t.mjs";
3
- import { createIsIdle } from "./is-idle.mjs";
4
- //#region src/signals/lib/is-idle.test.ts
5
- afterEach(() => {
6
- document.body.innerHTML = "";
7
- vi.useRealTimers();
8
- });
9
- describe("createIsIdle", () => {
10
- it("starts as false (user is active)", () => {
11
- vi.useFakeTimers();
12
- let idle;
13
- effectScope(() => {
14
- idle = createIsIdle(1e3);
15
- });
16
- globalExpect(idle()).toBe(false);
17
- });
18
- it("becomes true after the timeout", () => {
19
- vi.useFakeTimers();
20
- let idle;
21
- effectScope(() => {
22
- idle = createIsIdle(1e3);
23
- });
24
- vi.advanceTimersByTime(1001);
25
- globalExpect(idle()).toBe(true);
26
- });
27
- it("resets the timer on activity", () => {
28
- vi.useFakeTimers();
29
- let idle;
30
- effectScope(() => {
31
- idle = createIsIdle(1e3);
32
- });
33
- vi.advanceTimersByTime(800);
34
- window.dispatchEvent(new MouseEvent("mousemove"));
35
- vi.advanceTimersByTime(800);
36
- globalExpect(idle()).toBe(false);
37
- });
38
- it("stops reacting after Symbol.dispose", () => {
39
- vi.useFakeTimers();
40
- let idle;
41
- effectScope(() => {
42
- idle = createIsIdle(500);
43
- });
44
- idle[Symbol.dispose]();
45
- vi.advanceTimersByTime(1e3);
46
- globalExpect(idle()).toBe(false);
47
- });
48
- });
49
- //#endregion
50
- export {};
@@ -1,10 +0,0 @@
1
- import { t as Computed } from "../../index-BtqiEEfc.mjs";
2
-
3
- //#region src/signals/lib/is-in-viewport.d.ts
4
- /**
5
- * Returns a `Computed<boolean>` that is `true` while `target` is intersecting
6
- * the viewport (or a custom root defined via `options`).
7
- */
8
- declare function createIsInViewport(target: Element | (() => Element | null), options?: IntersectionObserverInit): Computed<boolean> & Disposable;
9
- //#endregion
10
- export { createIsInViewport };
@@ -1,16 +0,0 @@
1
- import { f as signal } from "../../signals-CLAPw8kk.mjs";
2
- import { createIntersectionObserver } from "./intersection-observer.mjs";
3
- //#region src/signals/lib/is-in-viewport.ts
4
- /**
5
- * Returns a `Computed<boolean>` that is `true` while `target` is intersecting
6
- * the viewport (or a custom root defined via `options`).
7
- */
8
- function createIsInViewport(target, options) {
9
- const visible = signal(false);
10
- const observer = createIntersectionObserver(target, (entries) => {
11
- for (const entry of entries) visible(entry.isIntersecting);
12
- }, options);
13
- return Object.assign(visible, { [Symbol.dispose]: observer[Symbol.dispose] });
14
- }
15
- //#endregion
16
- export { createIsInViewport };
@@ -1 +0,0 @@
1
- export { };
@@ -1,74 +0,0 @@
1
- import { o as effectScope } from "../../signals-CLAPw8kk.mjs";
2
- import { a as describe, n as vi, o as it, r as afterEach, t as globalExpect } from "../../test.BmQO5GaM-CR2qjV1t.mjs";
3
- import { createIsInViewport } from "./is-in-viewport.mjs";
4
- //#region src/signals/lib/is-in-viewport.test.ts
5
- afterEach(() => {
6
- vi.unstubAllGlobals();
7
- });
8
- function mockIntersectionObserver() {
9
- let observerCallback;
10
- const observe = vi.fn();
11
- const disconnect = vi.fn();
12
- const unobserve = vi.fn();
13
- vi.stubGlobal("IntersectionObserver", function MockIO(cb) {
14
- observerCallback = cb;
15
- return {
16
- observe,
17
- disconnect,
18
- unobserve,
19
- root: null,
20
- rootMargin: "",
21
- thresholds: []
22
- };
23
- });
24
- return {
25
- fire: (isIntersecting) => {
26
- observerCallback([{ isIntersecting }], {});
27
- },
28
- disconnect
29
- };
30
- }
31
- describe("createIsInViewport", () => {
32
- it("starts as false", () => {
33
- const { fire: _fire } = mockIntersectionObserver();
34
- const el = document.createElement("div");
35
- let visible;
36
- effectScope(() => {
37
- visible = createIsInViewport(el);
38
- });
39
- globalExpect(visible()).toBe(false);
40
- });
41
- it("becomes true when intersection fires with isIntersecting=true", () => {
42
- const { fire } = mockIntersectionObserver();
43
- const el = document.createElement("div");
44
- let visible;
45
- effectScope(() => {
46
- visible = createIsInViewport(el);
47
- });
48
- fire(true);
49
- globalExpect(visible()).toBe(true);
50
- });
51
- it("becomes false when intersection fires with isIntersecting=false", () => {
52
- const { fire } = mockIntersectionObserver();
53
- const el = document.createElement("div");
54
- let visible;
55
- effectScope(() => {
56
- visible = createIsInViewport(el);
57
- });
58
- fire(true);
59
- fire(false);
60
- globalExpect(visible()).toBe(false);
61
- });
62
- it("disconnects on Symbol.dispose", () => {
63
- const { disconnect } = mockIntersectionObserver();
64
- const el = document.createElement("div");
65
- let visible;
66
- effectScope(() => {
67
- visible = createIsInViewport(el);
68
- });
69
- visible[Symbol.dispose]();
70
- globalExpect(disconnect).toHaveBeenCalledOnce();
71
- });
72
- });
73
- //#endregion
74
- export {};
@@ -1,13 +0,0 @@
1
- import { t as Computed } from "../../index-BtqiEEfc.mjs";
2
-
3
- //#region src/signals/lib/key-press.d.ts
4
- type KeyPressResult = {
5
- pressed: Computed<boolean>;
6
- } & Disposable;
7
- /**
8
- * Returns a reactive boolean that is `true` while the given keyboard `key`
9
- * is held down.
10
- */
11
- declare function createKeyPress(key: string): KeyPressResult;
12
- //#endregion
13
- export { createKeyPress };
@@ -1,25 +0,0 @@
1
- import { f as signal } from "../../signals-CLAPw8kk.mjs";
2
- import { createEventListener } from "./event-listener.mjs";
3
- //#region src/signals/lib/key-press.ts
4
- /**
5
- * Returns a reactive boolean that is `true` while the given keyboard `key`
6
- * is held down.
7
- */
8
- function createKeyPress(key) {
9
- const pressed = signal(false);
10
- const onDown = (e) => {
11
- if (e.key === key) pressed(true);
12
- };
13
- const onUp = (e) => {
14
- if (e.key === key) pressed(false);
15
- };
16
- const r1 = createEventListener(window, "keydown", onDown);
17
- const r2 = createEventListener(window, "keyup", onUp);
18
- const cleanup = () => {
19
- r1();
20
- r2();
21
- };
22
- return Object.assign({ pressed }, { [Symbol.dispose]: cleanup });
23
- }
24
- //#endregion
25
- export { createKeyPress };
@@ -1 +0,0 @@
1
- export { };
@@ -1,52 +0,0 @@
1
- import { o as effectScope } from "../../signals-CLAPw8kk.mjs";
2
- import { a as describe, o as it, r as afterEach, t as globalExpect } from "../../test.BmQO5GaM-CR2qjV1t.mjs";
3
- import { createKeyPress } from "./key-press.mjs";
4
- //#region src/signals/lib/key-press.test.ts
5
- afterEach(() => {
6
- document.body.innerHTML = "";
7
- });
8
- describe("createKeyPress", () => {
9
- it("starts as false", () => {
10
- let k;
11
- effectScope(() => {
12
- k = createKeyPress("a");
13
- });
14
- globalExpect(k.pressed()).toBe(false);
15
- });
16
- it("becomes true on keydown", () => {
17
- let k;
18
- effectScope(() => {
19
- k = createKeyPress("a");
20
- });
21
- window.dispatchEvent(new KeyboardEvent("keydown", { key: "a" }));
22
- globalExpect(k.pressed()).toBe(true);
23
- });
24
- it("becomes false on keyup", () => {
25
- let k;
26
- effectScope(() => {
27
- k = createKeyPress("a");
28
- });
29
- window.dispatchEvent(new KeyboardEvent("keydown", { key: "a" }));
30
- window.dispatchEvent(new KeyboardEvent("keyup", { key: "a" }));
31
- globalExpect(k.pressed()).toBe(false);
32
- });
33
- it("does not react to different keys", () => {
34
- let k;
35
- effectScope(() => {
36
- k = createKeyPress("a");
37
- });
38
- window.dispatchEvent(new KeyboardEvent("keydown", { key: "b" }));
39
- globalExpect(k.pressed()).toBe(false);
40
- });
41
- it("stops reacting after Symbol.dispose", () => {
42
- let k;
43
- effectScope(() => {
44
- k = createKeyPress("a");
45
- });
46
- k[Symbol.dispose]();
47
- window.dispatchEvent(new KeyboardEvent("keydown", { key: "a" }));
48
- globalExpect(k.pressed()).toBe(false);
49
- });
50
- });
51
- //#endregion
52
- export {};
@@ -1,19 +0,0 @@
1
- import { t as Computed } from "../../index-BtqiEEfc.mjs";
2
-
3
- //#region src/signals/lib/list.d.ts
4
- type ListResult<T> = {
5
- items: Computed<readonly T[]>;
6
- push(...items: T[]): void;
7
- pop(): T | undefined;
8
- remove(index: number): void;
9
- filter(fn: (item: T, index: number) => boolean): void;
10
- set(items: T[]): void;
11
- clear(): void;
12
- size: Computed<number>;
13
- };
14
- /**
15
- * Reactive array with mutation helpers.
16
- */
17
- declare function createList<T>(initial?: T[]): ListResult<T>;
18
- //#endregion
19
- export { createList };
@@ -1,36 +0,0 @@
1
- import { f as signal } from "../../signals-CLAPw8kk.mjs";
2
- //#region src/signals/lib/list.ts
3
- /**
4
- * Reactive array with mutation helpers.
5
- */
6
- function createList(initial = []) {
7
- const items = signal([...initial]);
8
- const push = (...newItems) => items([...items(), ...newItems]);
9
- const pop = () => {
10
- const arr = [...items()];
11
- const last = arr.pop();
12
- items(arr);
13
- return last;
14
- };
15
- const remove = (index) => {
16
- const arr = [...items()];
17
- arr.splice(index, 1);
18
- items(arr);
19
- };
20
- const filter = (fn) => items(items().filter(fn));
21
- const set = (next) => items([...next]);
22
- const clear = () => items([]);
23
- const size = () => items().length;
24
- return {
25
- items,
26
- push,
27
- pop,
28
- remove,
29
- filter,
30
- set,
31
- clear,
32
- size
33
- };
34
- }
35
- //#endregion
36
- export { createList };
@@ -1 +0,0 @@
1
- export { };
@@ -1,104 +0,0 @@
1
- import { o as effectScope } from "../../signals-CLAPw8kk.mjs";
2
- import { a as describe, o as it, r as afterEach, t as globalExpect } from "../../test.BmQO5GaM-CR2qjV1t.mjs";
3
- import { createList } from "./list.mjs";
4
- //#region src/signals/lib/list.test.ts
5
- afterEach(() => {
6
- document.body.innerHTML = "";
7
- });
8
- describe("createList", () => {
9
- it("starts empty by default", () => {
10
- let l;
11
- effectScope(() => {
12
- l = createList();
13
- });
14
- globalExpect(l.items()).toEqual([]);
15
- globalExpect(l.size()).toBe(0);
16
- });
17
- it("starts with initial items", () => {
18
- let l;
19
- effectScope(() => {
20
- l = createList([
21
- 1,
22
- 2,
23
- 3
24
- ]);
25
- });
26
- globalExpect(l.items()).toEqual([
27
- 1,
28
- 2,
29
- 3
30
- ]);
31
- });
32
- it("push adds items", () => {
33
- let l;
34
- effectScope(() => {
35
- l = createList();
36
- });
37
- l.push(1, 2);
38
- globalExpect(l.items()).toEqual([1, 2]);
39
- });
40
- it("pop removes and returns the last item", () => {
41
- let l;
42
- effectScope(() => {
43
- l = createList([
44
- 1,
45
- 2,
46
- 3
47
- ]);
48
- });
49
- globalExpect(l.pop()).toBe(3);
50
- globalExpect(l.items()).toEqual([1, 2]);
51
- });
52
- it("remove removes by index", () => {
53
- let l;
54
- effectScope(() => {
55
- l = createList([
56
- 1,
57
- 2,
58
- 3
59
- ]);
60
- });
61
- l.remove(1);
62
- globalExpect(l.items()).toEqual([1, 3]);
63
- });
64
- it("filter keeps matching items", () => {
65
- let l;
66
- effectScope(() => {
67
- l = createList([
68
- 1,
69
- 2,
70
- 3,
71
- 4
72
- ]);
73
- });
74
- l.filter((n) => n % 2 === 0);
75
- globalExpect(l.items()).toEqual([2, 4]);
76
- });
77
- it("set replaces all items", () => {
78
- let l;
79
- effectScope(() => {
80
- l = createList([
81
- 1,
82
- 2,
83
- 3
84
- ]);
85
- });
86
- l.set([10, 20]);
87
- globalExpect(l.items()).toEqual([10, 20]);
88
- });
89
- it("clear empties the list", () => {
90
- let l;
91
- effectScope(() => {
92
- l = createList([
93
- 1,
94
- 2,
95
- 3
96
- ]);
97
- });
98
- l.clear();
99
- globalExpect(l.items()).toEqual([]);
100
- globalExpect(l.size()).toBe(0);
101
- });
102
- });
103
- //#endregion
104
- export {};
@@ -1,8 +0,0 @@
1
- //#region src/signals/lib/lock-body-scroll.d.ts
2
- /**
3
- * Prevents the document body from scrolling while the returned scope is
4
- * active. Restores the original `overflow` value on cleanup.
5
- */
6
- declare function createLockBodyScroll(): Disposable;
7
- //#endregion
8
- export { createLockBodyScroll };
@@ -1,17 +0,0 @@
1
- import { d as onCleanup } from "../../signals-CLAPw8kk.mjs";
2
- //#region src/signals/lib/lock-body-scroll.ts
3
- /**
4
- * Prevents the document body from scrolling while the returned scope is
5
- * active. Restores the original `overflow` value on cleanup.
6
- */
7
- function createLockBodyScroll() {
8
- const original = document.body.style.overflow;
9
- document.body.style.overflow = "hidden";
10
- const cleanup = () => {
11
- document.body.style.overflow = original;
12
- };
13
- onCleanup(cleanup);
14
- return { [Symbol.dispose]: cleanup };
15
- }
16
- //#endregion
17
- export { createLockBodyScroll };
@@ -1 +0,0 @@
1
- export { };
@@ -1,37 +0,0 @@
1
- import { o as effectScope } from "../../signals-CLAPw8kk.mjs";
2
- import { a as describe, o as it, r as afterEach, t as globalExpect } from "../../test.BmQO5GaM-CR2qjV1t.mjs";
3
- import { createLockBodyScroll } from "./lock-body-scroll.mjs";
4
- //#region src/signals/lib/lock-body-scroll.test.ts
5
- afterEach(() => {
6
- document.body.innerHTML = "";
7
- document.body.style.overflow = "";
8
- });
9
- describe("createLockBodyScroll", () => {
10
- it("sets body overflow to hidden", () => {
11
- effectScope(() => {
12
- createLockBodyScroll();
13
- });
14
- globalExpect(document.body.style.overflow).toBe("hidden");
15
- });
16
- it("restores original overflow on Symbol.dispose", () => {
17
- document.body.style.overflow = "scroll";
18
- let lock;
19
- effectScope(() => {
20
- lock = createLockBodyScroll();
21
- });
22
- globalExpect(document.body.style.overflow).toBe("hidden");
23
- lock[Symbol.dispose]();
24
- globalExpect(document.body.style.overflow).toBe("scroll");
25
- });
26
- it("restores empty overflow when no prior style", () => {
27
- document.body.style.overflow = "";
28
- let lock;
29
- effectScope(() => {
30
- lock = createLockBodyScroll();
31
- });
32
- lock[Symbol.dispose]();
33
- globalExpect(document.body.style.overflow).toBe("");
34
- });
35
- });
36
- //#endregion
37
- export {};
@@ -1,10 +0,0 @@
1
- //#region src/signals/lib/long-press.d.ts
2
- /**
3
- * Fires `handler` when a pointer is held over `target` for at least `delay`
4
- * milliseconds (default: 500 ms).
5
- */
6
- declare function createLongPress(target: Element | (() => Element | null), handler: (e: PointerEvent) => void, options?: {
7
- delay?: number;
8
- }): Disposable;
9
- //#endregion
10
- export { createLongPress };