prop-for-that 0.7.8 → 0.7.12

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 (254) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +25 -2
  3. package/dist/auto.cjs +1 -1
  4. package/dist/auto.js +1 -1
  5. package/dist/battery-6MFH4UXN.cjs +1 -0
  6. package/dist/battery-RGIVK2PZ.js +1 -0
  7. package/dist/chunk-23TUV6HD.js +1 -0
  8. package/dist/chunk-2OCWGQTC.cjs +1 -0
  9. package/dist/chunk-2RNFSOS6.js +1 -0
  10. package/dist/chunk-2TNXW2VV.js +1 -0
  11. package/dist/chunk-34XDO4K2.cjs +2 -0
  12. package/dist/chunk-3EI2VHWK.cjs +1 -0
  13. package/dist/chunk-4H6UVYDJ.js +1 -0
  14. package/dist/chunk-4IEDDWUY.js +1 -0
  15. package/dist/chunk-4K5AIWZQ.cjs +1 -0
  16. package/dist/chunk-4WSASU6P.js +1 -0
  17. package/dist/chunk-5JG4K6SH.cjs +1 -0
  18. package/dist/chunk-64VOCEUQ.cjs +1 -0
  19. package/dist/chunk-6FYUJK4F.cjs +1 -0
  20. package/dist/chunk-6LH6U5QE.cjs +1 -0
  21. package/dist/chunk-7AD7LRMF.cjs +1 -0
  22. package/dist/chunk-7GUGSNG2.cjs +1 -0
  23. package/dist/chunk-7HKSU2EV.js +1 -0
  24. package/dist/chunk-7KOHYADG.js +1 -0
  25. package/dist/chunk-7OBG2QQ6.js +1 -0
  26. package/dist/chunk-A3CLHLE4.js +1 -0
  27. package/dist/chunk-ADHR4VLZ.cjs +1 -0
  28. package/dist/{chunk-BS2XX4G3.js → chunk-AGUPRRD4.js} +1 -1
  29. package/dist/chunk-ALOGYFNP.cjs +1 -0
  30. package/dist/chunk-AQV7LL54.js +1 -0
  31. package/dist/chunk-BKB5HQTJ.js +1 -0
  32. package/dist/chunk-BYFXKRGA.cjs +1 -0
  33. package/dist/chunk-CBWMRF63.cjs +1 -0
  34. package/dist/chunk-CXXDGS7S.js +1 -0
  35. package/dist/chunk-D2T22ZDL.js +1 -0
  36. package/dist/chunk-DELDE4TM.cjs +1 -0
  37. package/dist/chunk-DGJ45NBZ.js +1 -0
  38. package/dist/chunk-DUKZ35AN.cjs +1 -0
  39. package/dist/chunk-FONP6RWO.js +1 -0
  40. package/dist/chunk-G3KQEE4R.cjs +1 -0
  41. package/dist/chunk-GTPEKE7O.cjs +1 -0
  42. package/dist/chunk-H5ZFJCDA.cjs +1 -0
  43. package/dist/chunk-HA25PYSI.js +1 -0
  44. package/dist/chunk-II5RRRIW.cjs +1 -0
  45. package/dist/chunk-ILMWSJ5M.js +1 -0
  46. package/dist/chunk-IMW37LVJ.cjs +1 -0
  47. package/dist/chunk-JMSQWVGJ.cjs +1 -0
  48. package/dist/chunk-KOELKEUS.js +1 -0
  49. package/dist/chunk-M3JZ2I3N.cjs +1 -0
  50. package/dist/chunk-NAJLRXKX.cjs +1 -0
  51. package/dist/chunk-NHEC6UK5.js +1 -0
  52. package/dist/chunk-NJ4Z3SAN.js +1 -0
  53. package/dist/chunk-NKC2KU7M.cjs +1 -0
  54. package/dist/chunk-O3KW7BD7.cjs +1 -0
  55. package/dist/chunk-PFCCKKAU.js +1 -0
  56. package/dist/chunk-PIEENX4H.js +1 -0
  57. package/dist/chunk-PMDPLPCX.cjs +1 -0
  58. package/dist/{chunk-37L73RJL.cjs → chunk-PSEAYJTX.cjs} +1 -1
  59. package/dist/{chunk-HKCTBVQT.js → chunk-PSGZ7K22.js} +1 -1
  60. package/dist/chunk-QEBTQYJZ.js +1 -0
  61. package/dist/chunk-QEFUAIXU.js +1 -0
  62. package/dist/chunk-QUY6BC6A.cjs +1 -0
  63. package/dist/chunk-R7KDUB7L.cjs +1 -0
  64. package/dist/chunk-SHR2C4QU.js +2 -0
  65. package/dist/{chunk-KAK6WZS7.js → chunk-SQIQ6W3B.js} +1 -1
  66. package/dist/{chunk-MDKLN42L.js → chunk-UDXHWQBB.js} +1 -1
  67. package/dist/chunk-VBXFZRD2.cjs +1 -0
  68. package/dist/chunk-VEIGSGIP.js +1 -0
  69. package/dist/chunk-VX2YFVNN.js +1 -0
  70. package/dist/chunk-WCZLSJ2Z.js +1 -0
  71. package/dist/chunk-XKZFDAK7.cjs +1 -0
  72. package/dist/{chunk-3W7CXUWN.cjs → chunk-YGON2MF3.cjs} +1 -1
  73. package/dist/chunk-ZHPDCMOZ.cjs +1 -0
  74. package/dist/chunk-ZWS2DFMD.js +1 -0
  75. package/dist/color-input-DYFD524G.cjs +1 -0
  76. package/dist/color-input-VGXE3XNJ.js +1 -0
  77. package/dist/cpu-pressure-44GNUF4Y.cjs +1 -0
  78. package/dist/cpu-pressure-IMBFJ3ZO.js +1 -0
  79. package/dist/field-HPNPSL25.js +1 -0
  80. package/dist/field-WYORT6PG.cjs +1 -0
  81. package/dist/field-state-4PSUJFKN.js +1 -0
  82. package/dist/field-state-II6PJ5HS.cjs +1 -0
  83. package/dist/form-state-5IHJDD33.cjs +1 -0
  84. package/dist/form-state-OVV2M5TF.js +1 -0
  85. package/dist/geo-P2VA6AUO.cjs +1 -0
  86. package/dist/geo-ZWUUVUGV.js +1 -0
  87. package/dist/head.cjs +1 -1
  88. package/dist/head.global.js +1 -1
  89. package/dist/head.js +1 -1
  90. package/dist/img-DF7WXT4N.cjs +1 -0
  91. package/dist/img-EKQEJX2E.js +1 -0
  92. package/dist/img-color-6EPAZT5J.cjs +1 -0
  93. package/dist/img-color-LZCA54BY.js +1 -0
  94. package/dist/index.cjs +1 -1
  95. package/dist/index.d.cts +30 -5
  96. package/dist/index.d.ts +30 -5
  97. package/dist/index.global.js +1 -1
  98. package/dist/index.js +1 -1
  99. package/dist/keyboard-64GW3PBM.cjs +1 -0
  100. package/dist/keyboard-TDESCGLM.js +1 -0
  101. package/dist/media-OMEUDO7O.js +1 -0
  102. package/dist/media-QTJUS7XA.cjs +1 -0
  103. package/dist/meta-7F3Z4TDW.js +1 -0
  104. package/dist/meta-LT46XDXG.cjs +1 -0
  105. package/dist/motion-2SODB2EA.js +1 -0
  106. package/dist/motion-7IYUKVGZ.cjs +1 -0
  107. package/dist/nav-type-U6LPZQ2P.cjs +1 -0
  108. package/dist/nav-type-X6F3SEKK.js +1 -0
  109. package/dist/network-CK67HYFH.cjs +1 -0
  110. package/dist/network-UZSWIPZI.js +1 -0
  111. package/dist/online-26LBCTSO.js +1 -0
  112. package/dist/online-QAPYXQPE.cjs +1 -0
  113. package/dist/orientation-74KQIYGZ.cjs +1 -0
  114. package/dist/orientation-CY3Z2V7H.js +1 -0
  115. package/dist/page-focused-LRTVCN2G.js +1 -0
  116. package/dist/page-focused-NOTCVLRM.cjs +1 -0
  117. package/dist/page-visible-2BODDMS2.cjs +1 -0
  118. package/dist/page-visible-MBFCHBMI.js +1 -0
  119. package/dist/plugins.cjs +1 -1
  120. package/dist/plugins.d.cts +70 -9
  121. package/dist/plugins.d.ts +70 -9
  122. package/dist/plugins.js +1 -1
  123. package/dist/pointer-6GORZRQ3.cjs +1 -0
  124. package/dist/pointer-XOW7F5WJ.js +1 -0
  125. package/dist/pointer-local-I2LOFXBK.js +1 -0
  126. package/dist/pointer-local-YKTILVZ2.cjs +1 -0
  127. package/dist/random-IUHNW2BC.cjs +1 -0
  128. package/dist/random-NZJGUATO.js +1 -0
  129. package/dist/scroll-velocity-EUEGXSPS.js +1 -0
  130. package/dist/scroll-velocity-GGM44R6C.cjs +1 -0
  131. package/dist/select-IGBNDOVX.js +1 -0
  132. package/dist/select-YIQGILHM.cjs +1 -0
  133. package/dist/truncated-52BHB5RJ.js +1 -0
  134. package/dist/truncated-HESCQTCR.cjs +1 -0
  135. package/dist/{types-CudiAlDE.d.cts → types-D8ZUfj4U.d.cts} +30 -4
  136. package/dist/{types-CudiAlDE.d.ts → types-D8ZUfj4U.d.ts} +30 -4
  137. package/dist/ua-6TXYUXIB.js +1 -0
  138. package/dist/ua-IS3BUTMX.cjs +1 -0
  139. package/dist/video-color-DY2FP4OR.js +1 -0
  140. package/dist/video-color-MASYKAPQ.cjs +1 -0
  141. package/dist/visual-viewport-KZ4IINJE.js +1 -0
  142. package/dist/visual-viewport-PLYUYG44.cjs +1 -0
  143. package/llms.txt +29 -6
  144. package/package.json +1 -1
  145. package/dist/battery-CDMJLP4C.js +0 -1
  146. package/dist/battery-DQQ2NOGC.cjs +0 -1
  147. package/dist/chunk-2E2JQAHI.js +0 -1
  148. package/dist/chunk-2H5YFW6O.cjs +0 -1
  149. package/dist/chunk-2YHGSLQQ.cjs +0 -1
  150. package/dist/chunk-3MK6Q7DX.cjs +0 -1
  151. package/dist/chunk-3QHCKCTX.cjs +0 -1
  152. package/dist/chunk-3REDV2FZ.cjs +0 -1
  153. package/dist/chunk-5JZBLUQK.js +0 -1
  154. package/dist/chunk-5VXDAWUI.js +0 -1
  155. package/dist/chunk-63C3RCO2.cjs +0 -1
  156. package/dist/chunk-7CDVAP3H.cjs +0 -1
  157. package/dist/chunk-A7GWTDM7.js +0 -1
  158. package/dist/chunk-BTKSOVH3.js +0 -1
  159. package/dist/chunk-COGNT6R5.js +0 -1
  160. package/dist/chunk-D24E2DBW.js +0 -1
  161. package/dist/chunk-DQJQEWPS.js +0 -1
  162. package/dist/chunk-EEMKKLRF.js +0 -1
  163. package/dist/chunk-EXPE3C6O.js +0 -2
  164. package/dist/chunk-F5H2O3AR.js +0 -1
  165. package/dist/chunk-FKBHTKZH.cjs +0 -1
  166. package/dist/chunk-FOHEZJHF.js +0 -1
  167. package/dist/chunk-FZYB3P7L.cjs +0 -1
  168. package/dist/chunk-G2BOTBBH.cjs +0 -1
  169. package/dist/chunk-H7X35UB4.js +0 -1
  170. package/dist/chunk-HTKGZP36.cjs +0 -1
  171. package/dist/chunk-HYVT6V4Z.cjs +0 -1
  172. package/dist/chunk-IIQP3BYA.cjs +0 -1
  173. package/dist/chunk-IPYBSM34.cjs +0 -1
  174. package/dist/chunk-IVUTABRM.js +0 -1
  175. package/dist/chunk-JB72QLD6.js +0 -1
  176. package/dist/chunk-K2YWGXLP.cjs +0 -1
  177. package/dist/chunk-KSKAQMWJ.cjs +0 -2
  178. package/dist/chunk-LBK3257B.js +0 -1
  179. package/dist/chunk-LP3QQ33O.cjs +0 -1
  180. package/dist/chunk-M65LNJXV.js +0 -1
  181. package/dist/chunk-MGZTR3X6.cjs +0 -1
  182. package/dist/chunk-ODPCQAKC.cjs +0 -1
  183. package/dist/chunk-OVCZMPYV.cjs +0 -1
  184. package/dist/chunk-OVF4XN2H.cjs +0 -1
  185. package/dist/chunk-PQVNJZUW.cjs +0 -1
  186. package/dist/chunk-QFJ6SZ2H.cjs +0 -1
  187. package/dist/chunk-QHHF5SEL.cjs +0 -1
  188. package/dist/chunk-QTM2FDUV.js +0 -1
  189. package/dist/chunk-RT47EE2L.cjs +0 -1
  190. package/dist/chunk-SFO6H2DN.js +0 -1
  191. package/dist/chunk-SKEEFKDT.js +0 -1
  192. package/dist/chunk-SV76E7NI.js +0 -1
  193. package/dist/chunk-SYKMPPTY.cjs +0 -1
  194. package/dist/chunk-TEPMM5DH.js +0 -1
  195. package/dist/chunk-TRMZLMNW.js +0 -1
  196. package/dist/chunk-UALPUR2L.cjs +0 -1
  197. package/dist/chunk-UHGW7AXC.js +0 -1
  198. package/dist/chunk-V4OTPLOQ.js +0 -1
  199. package/dist/chunk-WIPJMLJJ.cjs +0 -1
  200. package/dist/chunk-XQOUJEVE.cjs +0 -1
  201. package/dist/chunk-YARRV66T.js +0 -1
  202. package/dist/chunk-ZQTU5EW7.js +0 -1
  203. package/dist/color-input-STV57DGE.js +0 -1
  204. package/dist/color-input-SYYBVLZM.cjs +0 -1
  205. package/dist/cpu-pressure-FXZDL5IE.cjs +0 -1
  206. package/dist/cpu-pressure-WCDHVDRP.js +0 -1
  207. package/dist/field-4MBM2R7N.cjs +0 -1
  208. package/dist/field-6USMKGKM.js +0 -1
  209. package/dist/field-state-NXSK6ZZW.cjs +0 -1
  210. package/dist/field-state-YLUDK3XS.js +0 -1
  211. package/dist/form-state-FJZINKN7.cjs +0 -1
  212. package/dist/form-state-Q4SCA6TH.js +0 -1
  213. package/dist/geo-CMG7QJ6S.cjs +0 -1
  214. package/dist/geo-MXO5OMVO.js +0 -1
  215. package/dist/img-6F5QAPW3.cjs +0 -1
  216. package/dist/img-PYBNG6OU.js +0 -1
  217. package/dist/img-color-MBEU42DF.cjs +0 -1
  218. package/dist/img-color-VW3XMATY.js +0 -1
  219. package/dist/keyboard-6ZGB2LAD.cjs +0 -1
  220. package/dist/keyboard-YJ7S6XPJ.js +0 -1
  221. package/dist/media-RDQ3WR22.js +0 -1
  222. package/dist/media-XS6ADFFY.cjs +0 -1
  223. package/dist/meta-U2EHV4AM.cjs +0 -1
  224. package/dist/meta-VSAZR4JL.js +0 -1
  225. package/dist/motion-GHDWROM2.js +0 -1
  226. package/dist/motion-GMUGWJN3.cjs +0 -1
  227. package/dist/nav-type-MFJJDDPZ.cjs +0 -1
  228. package/dist/nav-type-S4MHMDHS.js +0 -1
  229. package/dist/network-BHUTXTX7.js +0 -1
  230. package/dist/network-DPAAEK2S.cjs +0 -1
  231. package/dist/online-KTMCBCXT.cjs +0 -1
  232. package/dist/online-MGYZDLCQ.js +0 -1
  233. package/dist/orientation-27ULVQVJ.js +0 -1
  234. package/dist/orientation-JD23MYZR.cjs +0 -1
  235. package/dist/page-focused-3WLSZDV4.cjs +0 -1
  236. package/dist/page-focused-LBKD6QXG.js +0 -1
  237. package/dist/page-visible-27YKTHKU.js +0 -1
  238. package/dist/page-visible-6PMX575B.cjs +0 -1
  239. package/dist/pointer-3O7MGTQD.js +0 -1
  240. package/dist/pointer-DJSMZGSV.cjs +0 -1
  241. package/dist/pointer-local-6JKSOJZV.cjs +0 -1
  242. package/dist/pointer-local-X5TVNEEJ.js +0 -1
  243. package/dist/scroll-velocity-DGZNNO73.cjs +0 -1
  244. package/dist/scroll-velocity-ZRXPNZG7.js +0 -1
  245. package/dist/select-H3CFIVK3.js +0 -1
  246. package/dist/select-LMRGCCLB.cjs +0 -1
  247. package/dist/truncated-MDPFWGSI.js +0 -1
  248. package/dist/truncated-RUY3JNAX.cjs +0 -1
  249. package/dist/ua-3MLUBLSV.cjs +0 -1
  250. package/dist/ua-3RC4SBYB.js +0 -1
  251. package/dist/video-color-B37Z5OBY.cjs +0 -1
  252. package/dist/video-color-ZMRKDZFO.js +0 -1
  253. package/dist/visual-viewport-GNJTAHPT.js +0 -1
  254. package/dist/visual-viewport-MKUHWUQT.cjs +0 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,135 @@ backwards-compatible change (semver's `1.0.0`+ rules kick in at v1).
8
8
  Only the published library (`dist/`) is versioned here; the demo and docs site
9
9
  are repo-only and not part of the npm package.
10
10
 
11
+ ## [0.7.12]
12
+
13
+ A code-review pass: four real bugs, one per-frame layout read, and a round of
14
+ deduplication across the shared helpers. No API changes — every fix below either
15
+ restores documented behaviour or is invisible to consumers.
16
+
17
+ ### Fixed
18
+ - **`typed: true` no longer destroys every `--const-meta-*` value.** A source's
19
+ *undeclared* value was always registered with the `<number>` default — but the
20
+ `meta` plugin writes strings (`#3367d6`, `/cover.jpg`, `dark light`) under
21
+ property names it only learns from the page at runtime, so it can't declare
22
+ them. A `<number>`-registered property rejects a string at computed-value time,
23
+ so every meta value computed to `0`. Undeclared **strings** are now left
24
+ untyped; numbers, and any value whose source declares a `props` syntax, are
25
+ registered exactly as before.
26
+ - **`img-color` no longer re-decodes on every scroll-back.** The swatch cache
27
+ lived inside `start`, which the viewport gate re-runs on each re-entry — so the
28
+ cache it was written for could never survive one, and every pass over a gallery
29
+ re-ran `createImageBitmap` + `getImageData` per image. It's now a module-scoped
30
+ `WeakMap`, keyed by the rendered source.
31
+ - **`video-color` no longer pins a core on a tainted canvas.** The sample
32
+ throttle only advanced on a *successful* read, so a cross-origin video with no
33
+ CORS grant re-drew and re-threw on every presented frame, forever. Taint is now
34
+ latched: it gives up after the first failure, and still writes nothing.
35
+ - **`select`'s `--live-value-num` no longer goes stale.** It was written only for
36
+ a numeric value and never cleared, so picking `"3"` and then a non-numeric
37
+ option left `3` behind — and the documented `var(--live-value-num, …)` fallback
38
+ could never apply again. It's now removed when the value isn't numeric.
39
+ - **`battery`** no longer leaves an unhandled promise rejection when `getBattery`
40
+ exists but rejects (insecure context, or disabled by policy).
41
+
42
+ ### Changed
43
+ - **`scroll-velocity` reads the scroll position in its scroll handler**, not
44
+ inside the frame. Reading `window.scrollY` from a per-frame sampler forced a
45
+ style+layout recalc every frame, since the previous frame's writes left style
46
+ dirty — the one place the library broke its own read/write split. Behaviour is
47
+ unchanged in a browser (scroll events fire before rAF in the same frame).
48
+ - **`pointer-local`, `motion`, and `orientation` now seed zeros**, like every
49
+ other source, so their properties resolve on frame one instead of needing a
50
+ `var(…, 0)` fallback. One thing to know: a `var(--live-local-pointer-x-ratio)`
51
+ with *no* fallback used to invalidate its whole declaration until the first
52
+ event, and now resolves to `0` — so gate on `--live-local-pointer-inside`
53
+ rather than letting a highlight sit in the top-left corner on load. Global
54
+ `pointer` still doesn't seed: the position genuinely isn't knowable before the
55
+ first event.
56
+ - **`ctx.write(name, '')` removes a property**, for a value that stops being
57
+ meaningful. Verified across Chromium, Firefox, and WebKit.
58
+ - **`visual-viewport` and `keyboard` share one set of visual-viewport
59
+ listeners** via the new ref-counted `onVisualViewport`, instead of attaching
60
+ their own. `battery` and `network` listeners are now passive, like every other
61
+ source's.
62
+ - **`form-state`'s post-reset recompute rides the shared frame loop**, replacing
63
+ the library's only stray `requestAnimationFrame`.
64
+
65
+ ### Internal
66
+ - `core/window-events.ts` + `core/document-events.ts` collapse into
67
+ `core/events.ts` — one ref-counted hub factory per target (`onWindow`,
68
+ `onDocument`, `onVisualViewport`), plus an `onAll` helper for the per-element
69
+ case. `observeResize` / `observeIntersection` likewise share one hub factory.
70
+ Shared `noop` and `slug` replace ~15 and 2 copies respectively.
71
+ - The per-target queue maps in the writer are pooled and reused rather than
72
+ reallocated every frame.
73
+
74
+ ## [0.7.11]
75
+
76
+ ### Added
77
+ - **Hoist an element's properties to an ancestor** — `propsFor(el, keys, { to })`
78
+ and the markup twin `data-props-to="<selector>"`. The binding still *observes*
79
+ the bound element; only its writes move. This is the general answer to the
80
+ library's oldest constraint: custom properties inherit **downward only** and
81
+ `@container style()` matches an **ancestor**, so an element could never share
82
+ its own values with a sibling, nor style-query them itself. An `<img>` can now
83
+ hoist `--live-loaded` onto its `<figure>`, where a skeleton overlay, the
84
+ `<figcaption>`, and the image itself can all react to it.
85
+
86
+ It's a binding-layer feature — sources need no changes, they just call
87
+ `ctx.write` — so it works for **every** element source, including the ones the
88
+ existing container-binding trick (`range`, `field`, `img`, `img-color`…) can't
89
+ help: `size`, `visibility`, `pointer-local`, `truncated`. `to` takes a selector
90
+ (resolved once at bind time via `el.closest()`) or an element. No match warns
91
+ and falls back to writing on the element itself; `to` on a `global` source
92
+ warns and is ignored. Two elements hoisting the same key onto one ancestor
93
+ overwrite each other, so that warns too — keep it to one binding per key per
94
+ target. Under `auto`, changing `data-props-to` rebinds every key on that
95
+ element against the new target.
96
+
97
+ ## [0.7.10]
98
+
99
+ ### Added
100
+ - **`random` plugin** (element, opt-in) — the per-element variation CSS can't
101
+ compute for itself yet: three independent rolls, `--const-random`,
102
+ `--const-random-2` and `--const-random-3`, each a float in `[0, 1)`, written
103
+ **once** on the `const` cadence. One rule then varies every element it's bound to
104
+ (size from the first, tint from the second, `animation-delay` phase from the
105
+ third) with no `:nth-child()` ladder; angles, ranges, buckets and coin flips are
106
+ all derivable from these in `calc()`, so they aren't shipped. It sets
107
+ `gate: false`: a gated element source's `start` re-runs on every viewport
108
+ re-entry, which for a generator would hand an element a fresh value each time it
109
+ scrolled back into view, mid-animation.
110
+ - **`configure({ randomSeed })`** — deterministic mode for `random`. Each element's
111
+ rolls derive from the seed plus the element's position in the DOM rather than from
112
+ a shared sequence, so the same markup renders the same "random" layout on every
113
+ load (SSR, screenshot diffing, print), a rebind hands an element the values it had
114
+ before, and bind order is irrelevant — reordering the tree is what reshuffles.
115
+ Unset (the default) keeps rolling from `Math.random()`. The seed is read when a
116
+ source starts, so it can differ between two `propsFor()` calls.
117
+ - **`data-props-seed` on the root `<html>`** — the markup mirror of
118
+ `configure({ randomSeed })` for the `auto` entry, read once on load before any
119
+ source attaches (`<html data-props-seed="42">`). `0` is a valid seed; a
120
+ non-numeric value is ignored with a warning rather than seeding `NaN`.
121
+
122
+ ## [0.7.9]
123
+
124
+ ### Performance
125
+ - **Redundant writes short-circuit at the source boundary.** `ctx.write` now
126
+ memoizes the last raw value (and the prefixed property name) per binding, so
127
+ a write whose value hasn't changed — the steady state for most sources, e.g.
128
+ `pointer-y` during horizontal movement or `scroll-direction` mid-scroll —
129
+ exits after one Map lookup instead of paying the prefix concat,
130
+ `String()` coercion, and Writer queue lookups every time (~5.6× faster on
131
+ that path). Property names are now built once per binding, which also means
132
+ prefix changes via `configure()` no longer affect already-attached bindings —
133
+ consistent with `configure`'s documented "call before attaching" contract.
134
+ - **Allocation-free event/observer dispatch.** The shared `window`/`document`
135
+ listeners and the page-wide Resize/IntersectionObserver callbacks no longer
136
+ copy their handler set on every dispatch (previously one array allocation
137
+ per event — including every `pointermove` — and per observer entry). Set
138
+ iteration already tolerates handlers unsubscribing mid-dispatch.
139
+
11
140
  ## [0.7.8]
12
141
 
13
142
  ### Added
package/README.md CHANGED
@@ -40,6 +40,29 @@ input {
40
40
 
41
41
  Bind any element with `data-props-for="key …"` and read its `--live-*` properties in CSS. That's the whole idea.
42
42
 
43
+ ### Hoisting & style queries
44
+
45
+ Custom properties inherit **downward only**, and `@container style()` matches against an **ancestor** — so an element can't style-query the values written on itself, and its siblings never see them. Add `data-props-to="<selector>"` (or `{ to }` imperatively) to observe the element but write its properties on the nearest matching ancestor:
46
+
47
+ ```html
48
+ <figure>
49
+ <img data-props-for="img" data-props-to="figure" src="art.jpg" />
50
+ <figcaption>…</figcaption>
51
+ </figure>
52
+ ```
53
+
54
+ ```css
55
+ /* the skeleton is a sibling of the <img> — it can only react because the
56
+ property lives on the <figure> */
57
+ @container style(--live-loaded: 0) {
58
+ .skeleton { opacity: 1; }
59
+ }
60
+ ```
61
+
62
+ ```js
63
+ propsFor(img, ['img', 'size'], { to: 'figure' }) // selector, or an element
64
+ ```
65
+
43
66
  ## Why
44
67
 
45
68
  - **CSS does the work.** No per-element event handlers or render loops — bind once, compose in stylesheets.
@@ -52,7 +75,7 @@ Bind any element with `data-props-for="key …"` and read its `--live-*` propert
52
75
 
53
76
  **Core** (built in): viewport, element size, visibility, and `<input type="range">` values.
54
77
 
55
- **Plugins** (opt-in): pointer position, battery, network, online status, page focus & visibility, navigation type, page meta tags, low-entropy user-agent (OS / browser / engine / version / mobile), FPS, clock, scroll velocity, device orientation / motion, geolocation, CPU pressure, soft-keyboard geometry, media playback, form & field state, select & color-picker values, text-truncation (ellipsis) detection, and dominant + accent colors extracted from images and video — 20+ in all.
78
+ **Plugins** (opt-in): pointer position, battery, network, online status, page focus & visibility, navigation type, page meta tags, low-entropy user-agent (OS / browser / engine / version / mobile), FPS, clock, scroll velocity, device orientation / motion, geolocation, CPU pressure, soft-keyboard geometry, media playback, form & field state, select & color-picker values, text-truncation (ellipsis) detection, dominant + accent colors extracted from images and video, and per-element random rolls (optionally seeded) — 20+ in all.
56
79
 
57
80
  → Every source, every property, and live demos are in the **[docs](https://prop-for-that.netlify.app/docsite/reference/plugins/)**.
58
81
 
@@ -60,7 +83,7 @@ Bind any element with `data-props-for="key …"` and read its `--live-*` propert
60
83
 
61
84
  | Import | What it does |
62
85
  | --- | --- |
63
- | `prop-for-that/auto` | Zero-config & declarative: binds every `data-props-for` element — globals included, via `<html data-props-for="…">` — loading plugin sources on demand, kept in sync with the DOM. Use as `<script type="module">`. |
86
+ | `prop-for-that/auto` | Zero-config & declarative: binds every `data-props-for` element — globals included, via `<html data-props-for="…">`, hoisting with `data-props-to` — loading plugin sources on demand, kept in sync with the DOM. Use as `<script type="module">`. |
64
87
  | `prop-for-that` | Imperative API — `propsFor()`, `register()`, `configure()` — for explicit control and teardown. |
65
88
  | `prop-for-that/head` | Synchronous, FOUC-safe constants (scrollbar width & overlay preference, DPR, core count, device memory, low-entropy user-agent) before first paint. |
66
89
  | `prop-for-that/plugins` | The opt-in plugin catalog. |
package/dist/auto.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkOVCZMPYV_cjs=require('./chunk-OVCZMPYV.cjs');require('./chunk-PQVNJZUW.cjs'),require('./chunk-HHINWX7L.cjs'),require('./chunk-EYDIF3NM.cjs'),require('./chunk-65MXZJBD.cjs'),require('./chunk-7L35N3N3.cjs'),require('./chunk-QHHF5SEL.cjs');var u={"scroll-velocity":()=>import('./scroll-velocity-DGZNNO73.cjs').then(t=>t.scrollVelocity),online:()=>import('./online-KTMCBCXT.cjs').then(t=>t.online),"page-focused":()=>import('./page-focused-3WLSZDV4.cjs').then(t=>t.pageFocused),"page-visible":()=>import('./page-visible-6PMX575B.cjs').then(t=>t.pageVisible),"nav-type":()=>import('./nav-type-MFJJDDPZ.cjs').then(t=>t.navType),meta:()=>import('./meta-U2EHV4AM.cjs').then(t=>t.meta),network:()=>import('./network-DPAAEK2S.cjs').then(t=>t.network),battery:()=>import('./battery-DQQ2NOGC.cjs').then(t=>t.battery),clock:()=>import('./clock-EVSBOOMJ.cjs').then(t=>t.clock),fps:()=>import('./fps-Q3ITXSJO.cjs').then(t=>t.fps),"visual-viewport":()=>import('./visual-viewport-MKUHWUQT.cjs').then(t=>t.visualViewport),keyboard:()=>import('./keyboard-6ZGB2LAD.cjs').then(t=>t.keyboard),pointer:()=>import('./pointer-DJSMZGSV.cjs').then(t=>t.pointer),"pointer-local":()=>import('./pointer-local-6JKSOJZV.cjs').then(t=>t.pointerLocal),media:()=>import('./media-XS6ADFFY.cjs').then(t=>t.media),field:()=>import('./field-4MBM2R7N.cjs').then(t=>t.field),"field-state":()=>import('./field-state-NXSK6ZZW.cjs').then(t=>t.fieldState),"form-state":()=>import('./form-state-FJZINKN7.cjs').then(t=>t.formState),select:()=>import('./select-LMRGCCLB.cjs').then(t=>t.select),"color-input":()=>import('./color-input-SYYBVLZM.cjs').then(t=>t.colorInput),orientation:()=>import('./orientation-JD23MYZR.cjs').then(t=>t.orientation),motion:()=>import('./motion-GMUGWJN3.cjs').then(t=>t.motion),geo:()=>import('./geo-CMG7QJ6S.cjs').then(t=>t.geo),"cpu-pressure":()=>import('./cpu-pressure-FXZDL5IE.cjs').then(t=>t.cpuPressure),img:()=>import('./img-6F5QAPW3.cjs').then(t=>t.img),"img-color":()=>import('./img-color-MBEU42DF.cjs').then(t=>t.imgColor),"video-color":()=>import('./video-color-B37Z5OBY.cjs').then(t=>t.videoColor),truncated:()=>import('./truncated-RUY3JNAX.cjs').then(t=>t.truncated),ua:()=>import('./ua-3MLUBLSV.cjs').then(t=>t.ua)};var n=new WeakMap,l=new Map;function v(t){return (t.dataset.propsFor??"").split(/\s+/).filter(Boolean)}function E(t){if(chunkOVCZMPYV_cjs.c(t))return null;let e=u[t];if(!e)return null;let o=l.get(t);return o||(o=e().then(r=>{chunkOVCZMPYV_cjs.a(r);}).catch(r=>{l.delete(t),console.error(`[prop-for-that] failed to load plugin "${t}"`,r);}),l.set(t,o)),o}function b(t,e){let o=E(e);if(!o){chunkOVCZMPYV_cjs.e(t,[e]);return}o.then(()=>{chunkOVCZMPYV_cjs.c(e)&&(n.get(t)??[]).includes(e)&&chunkOVCZMPYV_cjs.e(t,[e]);});}function p(t){let e=v(t),o=n.get(t)??[],r=o.filter(i=>!e.includes(i)),g=e.filter(i=>!o.includes(i));r.length&&chunkOVCZMPYV_cjs.f(t,r),e.length?n.set(t,e):n.delete(t);for(let i of g)b(t,i);}function f(t){let e=n.get(t);e&&(chunkOVCZMPYV_cjs.f(t,e),n.delete(t));}function y(t){t instanceof HTMLElement&&(t.hasAttribute("data-props-for")&&p(t),t.querySelectorAll("[data-props-for]").forEach(p));}function L(t){t instanceof HTMLElement&&(f(t),t.querySelectorAll("[data-props-for]").forEach(f));}function h(){document.documentElement.hasAttribute("data-props-typed")&&chunkOVCZMPYV_cjs.d({typed:true}),document.querySelectorAll("[data-props-for]").forEach(p),new MutationObserver(t=>{for(let e of t){if(e.type==="attributes"&&e.target instanceof HTMLElement){p(e.target);continue}e.removedNodes.forEach(L),e.addedNodes.forEach(y);}}).observe(document.documentElement,{subtree:true,childList:true,attributes:true,attributeFilter:["data-props-for"]});}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",h,{once:true}):h());
1
+ 'use strict';var chunkJMSQWVGJ_cjs=require('./chunk-JMSQWVGJ.cjs');require('./chunk-NAJLRXKX.cjs'),require('./chunk-HHINWX7L.cjs'),require('./chunk-ADHR4VLZ.cjs'),require('./chunk-EYDIF3NM.cjs'),require('./chunk-65MXZJBD.cjs'),require('./chunk-7L35N3N3.cjs'),require('./chunk-7AD7LRMF.cjs');var g={"scroll-velocity":()=>import('./scroll-velocity-GGM44R6C.cjs').then(e=>e.scrollVelocity),online:()=>import('./online-QAPYXQPE.cjs').then(e=>e.online),"page-focused":()=>import('./page-focused-NOTCVLRM.cjs').then(e=>e.pageFocused),"page-visible":()=>import('./page-visible-2BODDMS2.cjs').then(e=>e.pageVisible),"nav-type":()=>import('./nav-type-U6LPZQ2P.cjs').then(e=>e.navType),meta:()=>import('./meta-LT46XDXG.cjs').then(e=>e.meta),network:()=>import('./network-CK67HYFH.cjs').then(e=>e.network),battery:()=>import('./battery-6MFH4UXN.cjs').then(e=>e.battery),clock:()=>import('./clock-EVSBOOMJ.cjs').then(e=>e.clock),fps:()=>import('./fps-Q3ITXSJO.cjs').then(e=>e.fps),"visual-viewport":()=>import('./visual-viewport-PLYUYG44.cjs').then(e=>e.visualViewport),keyboard:()=>import('./keyboard-64GW3PBM.cjs').then(e=>e.keyboard),pointer:()=>import('./pointer-6GORZRQ3.cjs').then(e=>e.pointer),"pointer-local":()=>import('./pointer-local-YKTILVZ2.cjs').then(e=>e.pointerLocal),media:()=>import('./media-QTJUS7XA.cjs').then(e=>e.media),field:()=>import('./field-WYORT6PG.cjs').then(e=>e.field),"field-state":()=>import('./field-state-II6PJ5HS.cjs').then(e=>e.fieldState),"form-state":()=>import('./form-state-5IHJDD33.cjs').then(e=>e.formState),select:()=>import('./select-YIQGILHM.cjs').then(e=>e.select),"color-input":()=>import('./color-input-DYFD524G.cjs').then(e=>e.colorInput),orientation:()=>import('./orientation-74KQIYGZ.cjs').then(e=>e.orientation),motion:()=>import('./motion-7IYUKVGZ.cjs').then(e=>e.motion),geo:()=>import('./geo-P2VA6AUO.cjs').then(e=>e.geo),"cpu-pressure":()=>import('./cpu-pressure-44GNUF4Y.cjs').then(e=>e.cpuPressure),img:()=>import('./img-DF7WXT4N.cjs').then(e=>e.img),"img-color":()=>import('./img-color-6EPAZT5J.cjs').then(e=>e.imgColor),"video-color":()=>import('./video-color-MASYKAPQ.cjs').then(e=>e.videoColor),truncated:()=>import('./truncated-HESCQTCR.cjs').then(e=>e.truncated),ua:()=>import('./ua-IS3BUTMX.cjs').then(e=>e.ua),random:()=>import('./random-IUHNW2BC.cjs').then(e=>e.random)};var i=new WeakMap,l=new Map;function b(e){return (e.dataset.propsFor??"").split(/\s+/).filter(Boolean)}function L(e){if(chunkJMSQWVGJ_cjs.c(e))return null;let t=g[e];if(!t)return null;let o=l.get(e);return o||(o=t().then(r=>{chunkJMSQWVGJ_cjs.a(r);}).catch(r=>{l.delete(e),console.error(`[prop-for-that] failed to load plugin "${e}"`,r);}),l.set(e,o)),o}function M(e,t,o){let r=L(t);if(!r){chunkJMSQWVGJ_cjs.e(e,[t],{to:o});return}r.then(()=>{let n=i.get(e);chunkJMSQWVGJ_cjs.c(t)&&n&&n.to===o&&n.keys.includes(t)&&chunkJMSQWVGJ_cjs.e(e,[t],{to:o});});}function p(e){let t=b(e),o=e.dataset.propsTo||void 0,r=i.get(e),n=r?.keys??[],u=r!==void 0&&r.to!==o,f=u?n:n.filter(s=>!t.includes(s)),E=u?t:t.filter(s=>!n.includes(s));f.length&&chunkJMSQWVGJ_cjs.f(e,f),t.length?i.set(e,{keys:t,to:o}):i.delete(e);for(let s of E)M(e,s,o);}function v(e){let t=i.get(e);t&&(chunkJMSQWVGJ_cjs.f(e,t.keys),i.delete(e));}function T(e){e instanceof HTMLElement&&(e.hasAttribute("data-props-for")&&p(e),e.querySelectorAll("[data-props-for]").forEach(p));}function H(e){e instanceof HTMLElement&&(v(e),e.querySelectorAll("[data-props-for]").forEach(v));}function y(){document.documentElement.hasAttribute("data-props-typed")&&chunkJMSQWVGJ_cjs.d({typed:true});let e=document.documentElement.dataset.propsSeed;if(e){let t=Number(e);Number.isFinite(t)?chunkJMSQWVGJ_cjs.d({randomSeed:t}):console.warn(`[prop-for-that] ignoring non-numeric data-props-seed="${e}"`);}document.querySelectorAll("[data-props-for]").forEach(p),new MutationObserver(t=>{for(let o of t){if(o.type==="attributes"&&o.target instanceof HTMLElement){p(o.target);continue}o.removedNodes.forEach(H),o.addedNodes.forEach(T);}}).observe(document.documentElement,{subtree:true,childList:true,attributes:true,attributeFilter:["data-props-for","data-props-to"]});}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y,{once:true}):y());
package/dist/auto.js CHANGED
@@ -1 +1 @@
1
- import {d,f as f$1,e,c,a}from'./chunk-D24E2DBW.js';import'./chunk-V4OTPLOQ.js';import'./chunk-LTJ2VKVY.js';import'./chunk-KG3EF456.js';import'./chunk-T4N6AEOZ.js';import'./chunk-LWKH66VY.js';import'./chunk-EEMKKLRF.js';var u={"scroll-velocity":()=>import('./scroll-velocity-ZRXPNZG7.js').then(t=>t.scrollVelocity),online:()=>import('./online-MGYZDLCQ.js').then(t=>t.online),"page-focused":()=>import('./page-focused-LBKD6QXG.js').then(t=>t.pageFocused),"page-visible":()=>import('./page-visible-27YKTHKU.js').then(t=>t.pageVisible),"nav-type":()=>import('./nav-type-S4MHMDHS.js').then(t=>t.navType),meta:()=>import('./meta-VSAZR4JL.js').then(t=>t.meta),network:()=>import('./network-BHUTXTX7.js').then(t=>t.network),battery:()=>import('./battery-CDMJLP4C.js').then(t=>t.battery),clock:()=>import('./clock-LYF2IHGE.js').then(t=>t.clock),fps:()=>import('./fps-IGSZPFLV.js').then(t=>t.fps),"visual-viewport":()=>import('./visual-viewport-GNJTAHPT.js').then(t=>t.visualViewport),keyboard:()=>import('./keyboard-YJ7S6XPJ.js').then(t=>t.keyboard),pointer:()=>import('./pointer-3O7MGTQD.js').then(t=>t.pointer),"pointer-local":()=>import('./pointer-local-X5TVNEEJ.js').then(t=>t.pointerLocal),media:()=>import('./media-RDQ3WR22.js').then(t=>t.media),field:()=>import('./field-6USMKGKM.js').then(t=>t.field),"field-state":()=>import('./field-state-YLUDK3XS.js').then(t=>t.fieldState),"form-state":()=>import('./form-state-Q4SCA6TH.js').then(t=>t.formState),select:()=>import('./select-H3CFIVK3.js').then(t=>t.select),"color-input":()=>import('./color-input-STV57DGE.js').then(t=>t.colorInput),orientation:()=>import('./orientation-27ULVQVJ.js').then(t=>t.orientation),motion:()=>import('./motion-GHDWROM2.js').then(t=>t.motion),geo:()=>import('./geo-MXO5OMVO.js').then(t=>t.geo),"cpu-pressure":()=>import('./cpu-pressure-WCDHVDRP.js').then(t=>t.cpuPressure),img:()=>import('./img-PYBNG6OU.js').then(t=>t.img),"img-color":()=>import('./img-color-VW3XMATY.js').then(t=>t.imgColor),"video-color":()=>import('./video-color-ZMRKDZFO.js').then(t=>t.videoColor),truncated:()=>import('./truncated-MDPFWGSI.js').then(t=>t.truncated),ua:()=>import('./ua-3RC4SBYB.js').then(t=>t.ua)};var n=new WeakMap,l=new Map;function v(t){return (t.dataset.propsFor??"").split(/\s+/).filter(Boolean)}function E(t){if(c(t))return null;let e=u[t];if(!e)return null;let o=l.get(t);return o||(o=e().then(r=>{a(r);}).catch(r=>{l.delete(t),console.error(`[prop-for-that] failed to load plugin "${t}"`,r);}),l.set(t,o)),o}function b(t,e$1){let o=E(e$1);if(!o){e(t,[e$1]);return}o.then(()=>{c(e$1)&&(n.get(t)??[]).includes(e$1)&&e(t,[e$1]);});}function p(t){let e=v(t),o=n.get(t)??[],r=o.filter(i=>!e.includes(i)),g=e.filter(i=>!o.includes(i));r.length&&f$1(t,r),e.length?n.set(t,e):n.delete(t);for(let i of g)b(t,i);}function f(t){let e=n.get(t);e&&(f$1(t,e),n.delete(t));}function y(t){t instanceof HTMLElement&&(t.hasAttribute("data-props-for")&&p(t),t.querySelectorAll("[data-props-for]").forEach(p));}function L(t){t instanceof HTMLElement&&(f(t),t.querySelectorAll("[data-props-for]").forEach(f));}function h(){document.documentElement.hasAttribute("data-props-typed")&&d({typed:true}),document.querySelectorAll("[data-props-for]").forEach(p),new MutationObserver(t=>{for(let e of t){if(e.type==="attributes"&&e.target instanceof HTMLElement){p(e.target);continue}e.removedNodes.forEach(L),e.addedNodes.forEach(y);}}).observe(document.documentElement,{subtree:true,childList:true,attributes:true,attributeFilter:["data-props-for"]});}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",h,{once:true}):h());
1
+ import {d,f,e,c,a}from'./chunk-CXXDGS7S.js';import'./chunk-AQV7LL54.js';import'./chunk-LTJ2VKVY.js';import'./chunk-7KOHYADG.js';import'./chunk-KG3EF456.js';import'./chunk-T4N6AEOZ.js';import'./chunk-LWKH66VY.js';import'./chunk-ZWS2DFMD.js';var g={"scroll-velocity":()=>import('./scroll-velocity-EUEGXSPS.js').then(e=>e.scrollVelocity),online:()=>import('./online-26LBCTSO.js').then(e=>e.online),"page-focused":()=>import('./page-focused-LRTVCN2G.js').then(e=>e.pageFocused),"page-visible":()=>import('./page-visible-MBFCHBMI.js').then(e=>e.pageVisible),"nav-type":()=>import('./nav-type-X6F3SEKK.js').then(e=>e.navType),meta:()=>import('./meta-7F3Z4TDW.js').then(e=>e.meta),network:()=>import('./network-UZSWIPZI.js').then(e=>e.network),battery:()=>import('./battery-RGIVK2PZ.js').then(e=>e.battery),clock:()=>import('./clock-LYF2IHGE.js').then(e=>e.clock),fps:()=>import('./fps-IGSZPFLV.js').then(e=>e.fps),"visual-viewport":()=>import('./visual-viewport-KZ4IINJE.js').then(e=>e.visualViewport),keyboard:()=>import('./keyboard-TDESCGLM.js').then(e=>e.keyboard),pointer:()=>import('./pointer-XOW7F5WJ.js').then(e=>e.pointer),"pointer-local":()=>import('./pointer-local-I2LOFXBK.js').then(e=>e.pointerLocal),media:()=>import('./media-OMEUDO7O.js').then(e=>e.media),field:()=>import('./field-HPNPSL25.js').then(e=>e.field),"field-state":()=>import('./field-state-4PSUJFKN.js').then(e=>e.fieldState),"form-state":()=>import('./form-state-OVV2M5TF.js').then(e=>e.formState),select:()=>import('./select-IGBNDOVX.js').then(e=>e.select),"color-input":()=>import('./color-input-VGXE3XNJ.js').then(e=>e.colorInput),orientation:()=>import('./orientation-CY3Z2V7H.js').then(e=>e.orientation),motion:()=>import('./motion-2SODB2EA.js').then(e=>e.motion),geo:()=>import('./geo-ZWUUVUGV.js').then(e=>e.geo),"cpu-pressure":()=>import('./cpu-pressure-IMBFJ3ZO.js').then(e=>e.cpuPressure),img:()=>import('./img-EKQEJX2E.js').then(e=>e.img),"img-color":()=>import('./img-color-LZCA54BY.js').then(e=>e.imgColor),"video-color":()=>import('./video-color-DY2FP4OR.js').then(e=>e.videoColor),truncated:()=>import('./truncated-52BHB5RJ.js').then(e=>e.truncated),ua:()=>import('./ua-6TXYUXIB.js').then(e=>e.ua),random:()=>import('./random-NZJGUATO.js').then(e=>e.random)};var i=new WeakMap,l=new Map;function b(e){return (e.dataset.propsFor??"").split(/\s+/).filter(Boolean)}function L(e){if(c(e))return null;let t=g[e];if(!t)return null;let o=l.get(e);return o||(o=t().then(r=>{a(r);}).catch(r=>{l.delete(e),console.error(`[prop-for-that] failed to load plugin "${e}"`,r);}),l.set(e,o)),o}function M(e$1,t,o){let r=L(t);if(!r){e(e$1,[t],{to:o});return}r.then(()=>{let n=i.get(e$1);c(t)&&n&&n.to===o&&n.keys.includes(t)&&e(e$1,[t],{to:o});});}function p(e){let t=b(e),o=e.dataset.propsTo||void 0,r=i.get(e),n=r?.keys??[],u=r!==void 0&&r.to!==o,f$1=u?n:n.filter(s=>!t.includes(s)),E=u?t:t.filter(s=>!n.includes(s));f$1.length&&f(e,f$1),t.length?i.set(e,{keys:t,to:o}):i.delete(e);for(let s of E)M(e,s,o);}function v(e){let t=i.get(e);t&&(f(e,t.keys),i.delete(e));}function T(e){e instanceof HTMLElement&&(e.hasAttribute("data-props-for")&&p(e),e.querySelectorAll("[data-props-for]").forEach(p));}function H(e){e instanceof HTMLElement&&(v(e),e.querySelectorAll("[data-props-for]").forEach(v));}function y(){document.documentElement.hasAttribute("data-props-typed")&&d({typed:true});let e=document.documentElement.dataset.propsSeed;if(e){let t=Number(e);Number.isFinite(t)?d({randomSeed:t}):console.warn(`[prop-for-that] ignoring non-numeric data-props-seed="${e}"`);}document.querySelectorAll("[data-props-for]").forEach(p),new MutationObserver(t=>{for(let o of t){if(o.type==="attributes"&&o.target instanceof HTMLElement){p(o.target);continue}o.removedNodes.forEach(H),o.addedNodes.forEach(T);}}).observe(document.documentElement,{subtree:true,childList:true,attributes:true,attributeFilter:["data-props-for","data-props-to"]});}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y,{once:true}):y());
@@ -0,0 +1 @@
1
+ 'use strict';var chunkDUKZ35AN_cjs=require('./chunk-DUKZ35AN.cjs');require('./chunk-ADHR4VLZ.cjs'),require('./chunk-65MXZJBD.cjs'),require('./chunk-7AD7LRMF.cjs');Object.defineProperty(exports,"battery",{enumerable:true,get:function(){return chunkDUKZ35AN_cjs.a}});
@@ -0,0 +1 @@
1
+ export{a as battery}from'./chunk-DGJ45NBZ.js';import'./chunk-7KOHYADG.js';import'./chunk-T4N6AEOZ.js';import'./chunk-ZWS2DFMD.js';
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$1}from'./chunk-T4N6AEOZ.js';import {c}from'./chunk-ZWS2DFMD.js';var n={key:"visual-viewport",scope:"global",start(r){let o=window.visualViewport;if(!o)return a;let t=()=>{r.write("vvp-scale",a$1(o.scale)),r.write("vvp-offset-top",a$1(o.offsetTop)),r.write("vvp-height",a$1(o.height));};t();let s=c("resize",t),f=c("scroll",t);return ()=>{s(),f();}}};export{n as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs');function o(t){switch(t){case "slow-2g":return 1;case "2g":return 2;case "3g":return 3;case "4g":return 4;default:return 0}}var i={key:"network",scope:"global",start(t){let e=navigator.connection;if(!e)return chunkADHR4VLZ_cjs.a;let n=()=>{t.write("net-downlink",e.downlink??0),t.write("net-rtt",e.rtt??0),t.write("net-save-data",e.saveData?1:0),t.write("net-type",o(e.effectiveType));};return n(),e.addEventListener("change",n,{passive:true}),()=>e.removeEventListener("change",n)}};exports.a=o;exports.b=i;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-QIUPJ6MF.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {d}from'./chunk-ZWS2DFMD.js';var h=e=>e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?e.checked?"1":"0":e.value,S=e=>{if(e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio"))return e.defaultChecked?"1":"0";if(e instanceof HTMLSelectElement){let o=Array.from(e.options).find(i=>i.defaultSelected);return o?o.value:e.options[0]?.value??""}return e.defaultValue},M={key:"field-state",scope:"element",gate:false,start(e){let o=a(e.target);if(!o.length)return a$1;let i=new Set(o),d$1=new WeakMap;for(let t of o)d$1.set(t,h(t));let l=new Set,f=new Set,r=new Set,c=false,s=()=>{let t=l.size>0,n=f.size>0;e.write("dirty",t?1:0),e.write("pristine",t?0:1),e.write("touched",n?1:0),e.write("untouched",n?0:1),e.write("changed",r.size>0?1:0),e.write("submitted",c?1:0);};s();let v=t=>{let n=t.target;i.has(n)&&(l.add(n),h(n)===d$1.get(n)?r.delete(n):r.add(n),s());},y=t=>{let n=t.target;i.has(n)&&(f.add(n),s());},w=d(e.target,["input","change"],v),F=d(e.target,["focusout"],y),a$2=e.target instanceof HTMLFormElement?e.target:o[0]?.form,m=()=>{c=true,s();},E=()=>{l.clear(),f.clear(),c=false,r.clear();for(let t of o)S(t)!==d$1.get(t)&&r.add(t);s();};return a$2?.addEventListener("submit",m,{passive:true}),a$2?.addEventListener("reset",E,{passive:true}),()=>{w(),F(),a$2?.removeEventListener("submit",m),a$2?.removeEventListener("reset",E);}}};export{M as a};
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-7KOHYADG.js';import {a}from'./chunk-SHR2C4QU.js';var l={key:"ua",scope:"global",props:{"ua-platform":{syntax:"<custom-ident>",initial:"unknown"},"ua-browser":{syntax:"<custom-ident>",initial:"unknown"},"ua-engine":{syntax:"<custom-ident>",initial:"unknown"},"ua-version":{syntax:"<integer>",initial:"0"},"ua-mobile":{syntax:"<integer>",initial:"0"}},start(n){let{platform:e,browser:i,engine:r,version:a$2,mobile:s}=a();return n.write("ua-platform",e,"const"),n.write("ua-browser",i,"const"),n.write("ua-engine",r,"const"),n.write("ua-version",a$2,"const"),n.write("ua-mobile",s,"const"),a$1}};export{l as a};
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkCBWMRF63_cjs=require('./chunk-CBWMRF63.cjs');var c={platform:"unknown",browser:"unknown",engine:"unknown",version:0,mobile:0},u={android:"android","chrome-os":"chromeos","chromium-os":"chromeos",ios:"ios",linux:"linux",macos:"macos",windows:"windows"};function f(r){let n=r.toLowerCase();return n.includes("edge")||n.includes("edg")?"edge":n.includes("opera")||n.includes("opr")?"opera":n.includes("samsung")?"samsung":n.includes("firefox")?"firefox":n.includes("chrome")||n.includes("chromium")?"chrome":n.includes("safari")?"safari":"unknown"}function g(r){let n=r.brands;if(!n||!n.length)return null;let e=n.filter(o=>!/not.?a.?brand/i.test(o.brand)),i=e.find(o=>!/chromium/i.test(o.brand))??e[0];return i?{platform:u[chunkCBWMRF63_cjs.a(r.platform??"")]??"unknown",browser:f(i.brand),engine:"blink",version:parseInt(i.version,10)||0,mobile:r.mobile?1:0}:null}var m=[{id:"edge",test:/Edg(?:iOS|A)?\//,ver:/Edg(?:iOS|A)?\/(\d+)/},{id:"opera",test:/OPR\/|OPiOS\/|Opera\//,ver:/(?:OPR|OPiOS|Opera)\/(\d+)/},{id:"samsung",test:/SamsungBrowser\//,ver:/SamsungBrowser\/(\d+)/},{id:"firefox",test:/Firefox\/|FxiOS\//,ver:/(?:Firefox|FxiOS)\/(\d+)/},{id:"chrome",test:/Chrome\/|CriOS\//,ver:/(?:Chrome|CriOS)\/(\d+)/},{id:"safari",test:/Safari\//,ver:/Version\/(\d+)/}],l=[[/Android/,"android"],[/iPhone|iPad|iPod/,"ios"],[/Macintosh|Mac OS X/,"macos"],[/Windows/,"windows"],[/CrOS/,"chromeos"],[/Linux/,"linux"]],b={firefox:"gecko",safari:"webkit",unknown:"unknown"};function w(r){let n=l.find(([t])=>t.test(r))?.[1]??"unknown",e=m.find(t=>t.test.test(r)),i=e?.id??"unknown",o=e&&parseInt(r.match(e.ver)?.[1]??"",10)||0,a=n==="ios"?"webkit":b[i]??"blink",d=/Mobi|Android|iPhone|iPod/.test(r)?1:0;return {platform:n,browser:i,engine:a,version:o,mobile:d}}function p(){if(typeof navigator>"u")return c;let r=navigator.userAgentData;return (r?g(r):null)??w(navigator.userAgent||"")}
2
+ exports.a=p;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var g={key:"select",scope:"element",gate:false,start(e){let t=chunkHHINWX7L_cjs.a(e.target,"select");if(!t)return chunkADHR4VLZ_cjs.a;let i=()=>{let o=t.options.length,r=t.selectedIndex,s=t.selectedOptions.length;e.write("index",r),e.write("option-count",o),e.write("index-pct",r>=0&&o>1?chunk65MXZJBD_cjs.a(r/(o-1)):0),e.write("selected-count",s),e.write("selected-pct",o>0?chunk65MXZJBD_cjs.a(s/o):0);let l=Number(t.value);e.write("value-num",t.value.trim()!==""&&Number.isFinite(l)?l:"");};return i(),chunk7AD7LRMF_cjs.d(t,["input","change"],i)}};exports.a=g;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$1}from'./chunk-T4N6AEOZ.js';import {c}from'./chunk-ZWS2DFMD.js';var b=1,g={key:"keyboard",scope:"global",start(t){let s=(o,r,e,a,v)=>{t.write("keyboard-open",v?1:0),t.write("keyboard-x",a$1(o)),t.write("keyboard-y",a$1(r)),t.write("keyboard-width",a$1(e)),t.write("keyboard-height",a$1(a)),t.write("keyboard-right",a$1(o+e)),t.write("keyboard-bottom",a$1(r+a));},n=navigator.virtualKeyboard;if(n){let o=n.overlaysContent;n.overlaysContent=true;let r=()=>{let e=n.boundingRect;s(e.x,e.y,e.width,e.height,e.width>0&&e.height>0);};return r(),n.addEventListener("geometrychange",r),()=>{n.removeEventListener("geometrychange",r),n.overlaysContent=o;}}let d=typeof window<"u"?window.visualViewport:null;if(d){let o=()=>{let a=window.innerHeight-d.height-d.offsetTop;a>b?s(0,window.innerHeight-a,d.width,a,true):s(0,0,0,0,false);};o();let r=c("resize",o),e=c("scroll",o);return ()=>{r(),e();}}return s(0,0,0,0,false),a}};export{g as a};
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-LTJ2VKVY.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {a as a$2}from'./chunk-T4N6AEOZ.js';import {d}from'./chunk-ZWS2DFMD.js';var f=[["valueMissing","value-missing"],["typeMismatch","type-mismatch"],["patternMismatch","pattern-mismatch"],["tooLong","too-long"],["tooShort","too-short"],["rangeUnderflow","range-underflow"],["rangeOverflow","range-overflow"],["stepMismatch","step-mismatch"],["badInput","bad-input"],["customError","custom-error"]],h={key:"field",scope:"element",gate:false,start(t){let e=a(t.target,"input, textarea, select");if(!e)return a$1;let i=()=>{let r=e.value.length;t.write("length",r),t.write("empty",r===0?1:0),t.write("valid",e.validity.valid?1:0);for(let[s,p]of f)t.write(p,e.validity[s]?1:0);let o=e.maxLength;o>=0&&(t.write("remaining",Math.max(0,o-r)),t.write("fill-pct",o>0?a$2(Math.min(1,r/o)):0));};return i(),d(e,["input","change"],i)}};export{h as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs');var a={key:"nav-type",scope:"global",props:{"nav-type":{syntax:"<custom-ident>",initial:"navigate"}},start(t){let n=performance.getEntriesByType("navigation")[0];return t.write("nav-type",n?.type??"navigate","const"),chunkADHR4VLZ_cjs.a}};exports.a=a;
@@ -0,0 +1 @@
1
+ import {b}from'./chunk-A2ETARW3.js';import {a}from'./chunk-LTJ2VKVY.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {d}from'./chunk-ZWS2DFMD.js';var s={key:"color-input",scope:"element",props:{color:b},gate:false,start(r){let o=a(r.target,'input[type="color"]');if(!o)return a$1;let t=()=>r.write("color",o.value);return t(),d(o,["input","change"],t)}};export{s as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkA6JDSQWH_cjs=require('./chunk-A6JDSQWH.cjs'),chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs');async function y(o){let e=chunkA6JDSQWH_cjs.e();if(!e)return null;let m=o,r;if(typeof createImageBitmap=="function")try{r=await createImageBitmap(o,{resizeWidth:chunkA6JDSQWH_cjs.d,resizeHeight:chunkA6JDSQWH_cjs.d,resizeQuality:"low"}),m=r;}catch{}let c=e(m);return r?.close(),c}var v=new WeakMap,L={key:"img-color",scope:"element",props:{img:chunkA6JDSQWH_cjs.b,"img-accent":chunkA6JDSQWH_cjs.b,"img-dark":chunkA6JDSQWH_cjs.b,"img-light":chunkA6JDSQWH_cjs.b,"img-avg":chunkA6JDSQWH_cjs.b,"img-temp":{syntax:"<number>",initial:"0"}},start(o){let e=chunkHHINWX7L_cjs.a(o.target,"img");if(!e)return chunkADHR4VLZ_cjs.a;let m=false,r=a=>{for(let s in a)o.write(s,a[s]);},c=async()=>{if(!e.complete||e.naturalWidth===0)return;let a=v.get(e);if(a&&a.src===e.currentSrc)return r(a.vals);let s=await y(e).catch(()=>null);if(m||!s)return;let t=chunkA6JDSQWH_cjs.c(s);if(!t)return;let g={img:chunkA6JDSQWH_cjs.a(t.dominant),"img-accent":chunkA6JDSQWH_cjs.a(t.accent),"img-dark":chunkA6JDSQWH_cjs.a(t.dark),"img-light":chunkA6JDSQWH_cjs.a(t.light),"img-avg":chunkA6JDSQWH_cjs.a(t.average),"img-temp":chunk65MXZJBD_cjs.a(t.temp)};v.set(e,{src:e.currentSrc,vals:g}),r(g);};return c(),e.addEventListener("load",c,{passive:true}),()=>{m=true,e.removeEventListener("load",c);}}};exports.a=L;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var f=[["valueMissing","value-missing"],["typeMismatch","type-mismatch"],["patternMismatch","pattern-mismatch"],["tooLong","too-long"],["tooShort","too-short"],["rangeUnderflow","range-underflow"],["rangeOverflow","range-overflow"],["stepMismatch","step-mismatch"],["badInput","bad-input"],["customError","custom-error"]],h={key:"field",scope:"element",gate:false,start(t){let e=chunkHHINWX7L_cjs.a(t.target,"input, textarea, select");if(!e)return chunkADHR4VLZ_cjs.a;let i=()=>{let r=e.value.length;t.write("length",r),t.write("empty",r===0?1:0),t.write("valid",e.validity.valid?1:0);for(let[s,p]of f)t.write(p,e.validity[s]?1:0);let o=e.maxLength;o>=0&&(t.write("remaining",Math.max(0,o-r)),t.write("fill-pct",o>0?chunk65MXZJBD_cjs.a(Math.min(1,r/o)):0));};return i(),chunk7AD7LRMF_cjs.d(e,["input","change"],i)}};exports.a=h;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs');var p={key:"random",scope:"element",gate:false,props:{random:{syntax:"<number>",initial:"0"},"random-2":{syntax:"<number>",initial:"0"},"random-3":{syntax:"<number>",initial:"0"}},start(n){let{randomSeed:t}=n.config,e=t===void 0?()=>Math.random():u(d(n.target,t));return n.write("random",chunk65MXZJBD_cjs.a(e()),"const"),n.write("random-2",chunk65MXZJBD_cjs.a(e()),"const"),n.write("random-3",chunk65MXZJBD_cjs.a(e()),"const"),chunkADHR4VLZ_cjs.a}};function u(n){let t=n|0;return ()=>{t=t+1831565813|0;let e=t^t>>>15;return e=Math.imul(e,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function d(n,t){let e=t>>>0^2166136261;for(let o=n;o;o=o.parentElement){let a=o.tagName;for(let r=0;r<a.length;r++)e=Math.imul(e^a.charCodeAt(r),16777619);let i=0;for(let r=o.previousElementSibling;r;r=r.previousElementSibling)i++;e=Math.imul(e^i,16777619);}return e>>>0}exports.a=p;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkA6JDSQWH_cjs=require('./chunk-A6JDSQWH.cjs'),chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var T=250,C=2,H={key:"video-color",scope:"element",props:{video:chunkA6JDSQWH_cjs.b,"video-accent":chunkA6JDSQWH_cjs.b},start(n){let e=chunkHHINWX7L_cjs.a(n.target,"video");if(!e)return chunkADHR4VLZ_cjs.a;let s=chunkA6JDSQWH_cjs.e();if(!s)return chunkADHR4VLZ_cjs.a;let i=false,u=-1/0,f=false,a=t=>{if(f||t-u<T||e.readyState<C)return;let r=s(e);if(!r){f=true;return}let o=chunkA6JDSQWH_cjs.c(r);o&&(u=t,n.write("video",chunkA6JDSQWH_cjs.a(o.dominant)),n.write("video-accent",chunkA6JDSQWH_cjs.a(o.accent)));};a(0);let c=e.requestVideoFrameCallback?.bind(e);if(c){let t=c(function r(o){i||(a(o),t=c(r));});return ()=>{i=true,e.cancelVideoFrameCallback?.(t);}}let k=0,y=chunk7AD7LRMF_cjs.d(e,["timeupdate","loadeddata"],()=>a(k+=T));return ()=>{i=true,y();}}};exports.a=H;
@@ -0,0 +1 @@
1
+ 'use strict';function s(o){let t=new Map;return function(e,i){let d=o(),n=t.get(e);if(!n){let a=new Set,c=p=>{for(let v of a)v(p);};n={handlers:a,dispatch:c},t.set(e,n),d.addEventListener(e,c,{passive:true});}return n.handlers.add(i),()=>{n.handlers.delete(i),n.handlers.size===0&&(d.removeEventListener(e,n.dispatch),t.delete(e));}}}var l=s(()=>window),u=s(()=>document),f=s(()=>window.visualViewport);function w(o,t,r){for(let e of t)o.addEventListener(e,r,{passive:true});return ()=>{for(let e of t)o.removeEventListener(e,r);}}exports.a=l;exports.b=u;exports.c=f;exports.d=w;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs');var l={key:"geo",scope:"global",start(r){let e=navigator.geolocation;if(!e)return chunkADHR4VLZ_cjs.a;let c=false,a=e.watchPosition(t=>{c||(r.write("geo-lat",chunk65MXZJBD_cjs.a(t.coords.latitude)),r.write("geo-lng",chunk65MXZJBD_cjs.a(t.coords.longitude)),r.write("geo-accuracy",chunk65MXZJBD_cjs.a(t.coords.accuracy)));});return ()=>{c=true,e.clearWatch(a);}}};exports.a=l;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$1}from'./chunk-T4N6AEOZ.js';var l={key:"geo",scope:"global",start(r){let e=navigator.geolocation;if(!e)return a;let c=false,a$2=e.watchPosition(t=>{c||(r.write("geo-lat",a$1(t.coords.latitude)),r.write("geo-lng",a$1(t.coords.longitude)),r.write("geo-accuracy",a$1(t.coords.accuracy)));});return ()=>{c=true,e.clearWatch(a$2);}}};export{l as a};
@@ -0,0 +1 @@
1
+ var o=()=>{};export{o as a};
@@ -0,0 +1 @@
1
+ import {b,c,a as a$3,e,d}from'./chunk-A2ETARW3.js';import {a}from'./chunk-LTJ2VKVY.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {a as a$2}from'./chunk-T4N6AEOZ.js';async function y(o){let e$1=e();if(!e$1)return null;let m=o,r;if(typeof createImageBitmap=="function")try{r=await createImageBitmap(o,{resizeWidth:d,resizeHeight:d,resizeQuality:"low"}),m=r;}catch{}let c=e$1(m);return r?.close(),c}var v=new WeakMap,L={key:"img-color",scope:"element",props:{img:b,"img-accent":b,"img-dark":b,"img-light":b,"img-avg":b,"img-temp":{syntax:"<number>",initial:"0"}},start(o){let e=a(o.target,"img");if(!e)return a$1;let m=false,r=a=>{for(let s in a)o.write(s,a[s]);},c$1=async()=>{if(!e.complete||e.naturalWidth===0)return;let a=v.get(e);if(a&&a.src===e.currentSrc)return r(a.vals);let s=await y(e).catch(()=>null);if(m||!s)return;let t=c(s);if(!t)return;let g={img:a$3(t.dominant),"img-accent":a$3(t.accent),"img-dark":a$3(t.dark),"img-light":a$3(t.light),"img-avg":a$3(t.average),"img-temp":a$2(t.temp)};v.set(e,{src:e.currentSrc,vals:g}),r(g);};return c$1(),e.addEventListener("load",c$1,{passive:true}),()=>{m=true,e.removeEventListener("load",c$1);}}};export{L as a};
@@ -0,0 +1 @@
1
+ import {b,e,c,a as a$2}from'./chunk-A2ETARW3.js';import {a}from'./chunk-LTJ2VKVY.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {d}from'./chunk-ZWS2DFMD.js';var T=250,C=2,H={key:"video-color",scope:"element",props:{video:b,"video-accent":b},start(n){let e$1=a(n.target,"video");if(!e$1)return a$1;let s=e();if(!s)return a$1;let i=false,u=-1/0,f=false,a$3=t=>{if(f||t-u<T||e$1.readyState<C)return;let r=s(e$1);if(!r){f=true;return}let o=c(r);o&&(u=t,n.write("video",a$2(o.dominant)),n.write("video-accent",a$2(o.accent)));};a$3(0);let c$1=e$1.requestVideoFrameCallback?.bind(e$1);if(c$1){let t=c$1(function r(o){i||(a$3(o),t=c$1(r));});return ()=>{i=true,e$1.cancelVideoFrameCallback?.(t);}}let k=0,y=d(e$1,["timeupdate","loadeddata"],()=>a$3(k+=T));return ()=>{i=true,y();}}};export{H as a};
@@ -0,0 +1 @@
1
+ 'use strict';var o=()=>{};exports.a=o;
@@ -1 +1 @@
1
- import {a}from'./chunk-V4OTPLOQ.js';var i={key:"truncated",scope:"element",start(t){let e=t.target,r=()=>{let o=e.scrollWidth>e.clientWidth?1:0,c=e.scrollHeight>e.clientHeight?1:0;t.write("truncated",o||c?1:0),t.write("truncated-x",o),t.write("truncated-y",c);};return r(),a(e,r)}};export{i as a};
1
+ import {a}from'./chunk-AQV7LL54.js';var i={key:"truncated",scope:"element",start(t){let e=t.target,r=()=>{let o=e.scrollWidth>e.clientWidth?1:0,c=e.scrollHeight>e.clientHeight?1:0;t.write("truncated",o||c?1:0),t.write("truncated-x",o),t.write("truncated-y",c);};return r(),a(e,r)}};export{i as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs');var c={nominal:0,fair:1,serious:2,critical:3},a={key:"cpu-pressure",scope:"global",start(r){let s=globalThis.PressureObserver;if(!s)return chunkADHR4VLZ_cjs.a;r.write("cpu-pressure",0);let e;try{e=new s(t=>{let o=t[t.length-1];o&&r.write("cpu-pressure",c[o.state]??0);}),e.observe("cpu",{sampleInterval:1e3}).catch(()=>{});}catch{e=void 0;}return ()=>e?.disconnect()}};exports.a=a;
@@ -0,0 +1 @@
1
+ function d(t){let n,r=new WeakMap,c=new WeakMap;return function(e,i){n||(n=t(s=>{for(let o of s){c.set(o.target,o);let f=r.get(o.target);if(f)for(let a of f)a(o);}}));let v=r.get(e);v||(r.set(e,v=new Set),n.observe(e)),v.add(i);let b=c.get(e);return b&&i(b),()=>{let s=r.get(e);s&&(s.delete(i),s.size===0&&(r.delete(e),n.unobserve(e)));}}}var p=d(t=>new ResizeObserver(t)),E=[0,.98,.99,.995,.999,1],u=d(t=>new IntersectionObserver(t,{threshold:E}));export{p as a,u as b};
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-QIUPJ6MF.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {c}from'./chunk-KG3EF456.js';import {a as a$2}from'./chunk-T4N6AEOZ.js';import {d}from'./chunk-ZWS2DFMD.js';var h={key:"form-state",scope:"element",gate:false,start(e){let r=a(e.target);if(!r.length)return a$1;let i=()=>{let t=0,o=0,a=0,d=0;for(let s of r){if(!s.willValidate)continue;t++;let p=s.validity.valid;p&&o++,s.required&&(a++,p&&d++);}e.write("field-count",t),e.write("valid-count",o),e.write("invalid-count",t-o),e.write("all-valid",t===o?1:0),e.write("completion",a?a$2(d/a):1);};i();let y=d(e.target,["input","change"],i),n=null,l=()=>{n?.(),n=null;},f=e.target instanceof HTMLFormElement?e.target:r[0]?.form,m=()=>{l(),n=c(()=>{l(),i();});};return f?.addEventListener("reset",m,{passive:true}),()=>{l(),y(),f?.removeEventListener("reset",m);}}};export{h as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var b=1,g={key:"keyboard",scope:"global",start(t){let s=(o,r,e,a,v)=>{t.write("keyboard-open",v?1:0),t.write("keyboard-x",chunk65MXZJBD_cjs.a(o)),t.write("keyboard-y",chunk65MXZJBD_cjs.a(r)),t.write("keyboard-width",chunk65MXZJBD_cjs.a(e)),t.write("keyboard-height",chunk65MXZJBD_cjs.a(a)),t.write("keyboard-right",chunk65MXZJBD_cjs.a(o+e)),t.write("keyboard-bottom",chunk65MXZJBD_cjs.a(r+a));},n=navigator.virtualKeyboard;if(n){let o=n.overlaysContent;n.overlaysContent=true;let r=()=>{let e=n.boundingRect;s(e.x,e.y,e.width,e.height,e.width>0&&e.height>0);};return r(),n.addEventListener("geometrychange",r),()=>{n.removeEventListener("geometrychange",r),n.overlaysContent=o;}}let d=typeof window<"u"?window.visualViewport:null;if(d){let o=()=>{let a=window.innerHeight-d.height-d.offsetTop;a>b?s(0,window.innerHeight-a,d.width,a,true):s(0,0,0,0,false);};o();let r=chunk7AD7LRMF_cjs.c("resize",o),e=chunk7AD7LRMF_cjs.c("scroll",o);return ()=>{r(),e();}}return s(0,0,0,0,false),chunkADHR4VLZ_cjs.a}};exports.a=g;
@@ -0,0 +1 @@
1
+ 'use strict';var r=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");exports.a=r;
@@ -0,0 +1 @@
1
+ import {b as b$1,a as a$4}from'./chunk-AQV7LL54.js';import {a as a$3}from'./chunk-LTJ2VKVY.js';import {a as a$2}from'./chunk-7KOHYADG.js';import {b,a}from'./chunk-KG3EF456.js';import {a as a$5}from'./chunk-T4N6AEOZ.js';import {a as a$1}from'./chunk-LWKH66VY.js';import {a as a$6}from'./chunk-ZWS2DFMD.js';var d;function A(){if(d!==void 0||(d=null,typeof document>"u"||typeof CSSStyleSheet!="function"||!("adoptedStyleSheets"in document)))return d;try{let e=new CSSStyleSheet;e.replaceSync(":root{}"),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e],d=e.cssRules[0].style;}catch{d=null;}return d}function S(e){if(typeof document<"u"&&e===document.documentElement){let t=A();if(t)return t}return e.style}var W=32,M=class{pending=new Map;last=new WeakMap;pool=[];set(t,r,n){let o=this.pending.get(t);if(o?.has(r)){o.set(r,n);return}if(this.last.get(t)?.get(r)!==n){if(o)o.set(r,n);else {let s=this.pool.pop()??new Map;s.set(r,n),this.pending.set(t,s);}a();}}forget(t,r){this.last.get(t)?.delete(r);let n=this.pending.get(t);n&&(n.delete(r),n.size===0&&this.pending.delete(t));}flush=()=>{if(this.pending.size!==0){for(let[t,r]of this.pending){let n=this.last.get(t);n||this.last.set(t,n=new Map);let o=S(t);for(let[s,i]of r)n.get(s)!==i&&(o.setProperty(s,i),n.set(s,i));r.clear(),this.pool.length<W&&this.pool.push(r);}this.pending.clear();}}},h=new M;b(h.flush);var P=new Set;function z(e,t,r){if(P.has(e)||typeof CSS>"u"||typeof CSS.registerProperty!="function")return;P.add(e);let n=t?r?.[t]:void 0,o=t?a$1.defaults?.[t]:void 0;try{CSS.registerProperty({name:e,syntax:n?.syntax??"<number>",inherits:n?.inherits??!0,initialValue:o!=null?String(o):n?.initial??"0"});}catch{}}var D={key:"viewport",scope:"global",start(e){let t=()=>{e.write("vw",window.innerWidth),e.write("vh",window.innerHeight);};return t(),a$6("resize",t)}};var R={key:"size",scope:"element",start(e){return a$4(e.target,t=>{let r=t.borderBoxSize?.[0],n=r?r.inlineSize:t.contentRect.width,o=r?r.blockSize:t.contentRect.height;e.write("w",a$5(n)),e.write("h",a$5(o)),e.write("aspect",o>0?a$5(n/o):0);})}};var w=1;function $(e){let t=e.rootBounds;if(!t)return e.intersectionRatio>=1;let r=e.boundingClientRect;return r.top>=t.top-w&&r.right<=t.right+w&&r.bottom<=t.bottom+w&&r.left>=t.left-w}var F={key:"visibility",scope:"element",gate:false,start(e){let t=false;return e.write("visible",0),e.write("has-entered",0,"const"),b$1(e.target,r=>{let n=$(r);e.write("visible",n?1:0),n&&!t&&(t=true,e.write("has-entered",1,"const"));})}};var I={key:"range",scope:"element",gate:false,start(e){let t=a$3(e.target,'input[type="range"], input[type="number"]');if(!t)return a$2;let r=()=>{let n=t.min===""?0:Number(t.min),o=t.max===""?100:Number(t.max),s=Number(t.value);e.write("value",s),e.write("value-pct",o>n?a$5((s-n)/(o-n)):0);};return r(),t.addEventListener("input",r,{passive:true}),()=>t.removeEventListener("input",r)}};var O={viewport:D,size:R,visibility:F,range:I};var u=new Map,E=new WeakMap,v={...O};function He(e){v[e.key]=e;}function ke(e){delete v[e];}function Ce(e){return e in v}function xe(e){Object.assign(a$1,e);}function B(e,t,r,n){let o={live:new Map,const:new Map};return {target:e,config:a$1,write(s,i,p="live"){let c=o[p],l=c.get(s);if(l){if(l.raw===i)return;l.raw=i;}else {let a=(p==="const"?a$1.constPrefix:a$1.livePrefix)+s;c.set(s,l={raw:i,prop:a}),r.add(a);}a$1.typed&&(n?.[s]||typeof i=="number")&&z(l.prop,s,n),h.set(t,l.prop,String(i));}}}function K(e,t){try{return e.start(t)}catch(r){return console.error(`[prop-for-that] source "${e.key}" failed to start`,r),null}}function V(e,t,r){if(!(e.scope==="element"&&e.gate!==false&&r!==a$1.root&&typeof IntersectionObserver<"u"))return K(e,t);let o=null,s=()=>{o||(o=K(e,t));},i=()=>{o?.(),o=null;},p=b$1(r,c=>{c.isIntersecting?s():i();});return ()=>{p(),i();}}function L(e,t,r){let n=r.get(t);if(!n)return;n.dispose();let{writeTarget:o}=n,s=S(o);for(let i of n.written)s.removeProperty(i),h.forget(o,i);o!==e&&E.get(o)?.delete(t),r.delete(t);}function _(e,t){if(typeof t!="string")return t;let r=e.closest(t);return r||(console.warn(`[prop-for-that] no ancestor matches "${t}" \u2014 writing on the element itself`),e)}function q(e,t){let r=E.get(e);r||E.set(e,r=new Set),r.has(t)&&console.warn(`[prop-for-that] "${t}" is already hoisted onto this element \u2014 the bindings will overwrite each other`,e),r.add(t);}function j(e,t,r){let n=u.get(e);n||u.set(e,n=new Map);let o=r?_(e,r):e,s=[];for(let i of t){if(n.has(i))continue;let p=v[i];if(!p){console.warn(`[prop-for-that] unknown source "${i}"`);continue}let c=o;c!==e&&p.scope==="global"&&(console.warn(`[prop-for-that] "to" ignored for global source "${i}"`),c=e);let l=new Set,a=B(e,c,l,p.props),T=V(p,a,e);T&&(c!==e&&q(c,i),n.set(i,{dispose:T,written:l,writeTarget:c}),s.push(i));}return ()=>{let i=u.get(e);if(i){for(let p of s)L(e,p,i);i.size===0&&u.delete(e);}}}function G(e){return e instanceof Element?[e]:typeof NodeList<"u"&&e instanceof NodeList||typeof HTMLCollection<"u"&&e instanceof HTMLCollection||Array.isArray(e)?Array.from(e).filter(t=>t instanceof Element):[]}function U(e){return Array.isArray(e)&&(e.length===0||typeof e[0]=="string")}function Pe(e,t,r){let n,o;if(t===void 0&&U(e)?(n=a$1.root?[a$1.root]:[],o=e):(n=G(e),o=t??[]),!n.length||!o.length)return a$2;let s=n.map(i=>j(i,o,r?.to));return ()=>{for(let i of s)i();}}function ze(e,t){let r=u.get(e);if(r){for(let n of t??[...r.keys()])L(e,n,r);r.size===0&&u.delete(e);}}function De(){for(let[e,t]of u)for(let r of [...t.keys()])L(e,r,t);u.clear();}export{He as a,ke as b,Ce as c,xe as d,Pe as e,ze as f,De as g};
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$1}from'./chunk-PFCCKKAU.js';var f={key:"meta",scope:"global",start(a$2){if(typeof document>"u")return a;let n=new Set,s=document.querySelectorAll("meta[name], meta[property]");for(let t of s){let r=t.getAttribute("name")??t.getAttribute("property"),c=t.getAttribute("content");if(!r||!c)continue;let i=t.getAttribute("media");if(i&&typeof matchMedia=="function"&&!matchMedia(i).matches)continue;let e=a$1(r);!e||n.has(e)||(n.add(e),a$2.write("meta-"+e,c,"const"));}return a}};export{f as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var u={key:"page-focused",scope:"global",start(c){let o=()=>c.write("page-focused",document.hasFocus()?1:0);o();let t=chunk7AD7LRMF_cjs.a("focus",o),r=chunk7AD7LRMF_cjs.a("blur",o);return ()=>{t(),r();}}};exports.a=u;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$1}from'./chunk-T4N6AEOZ.js';import {d}from'./chunk-ZWS2DFMD.js';var f={key:"battery",scope:"global",start(r){let a$2=navigator.getBattery;if(!a$2)return a;let o=false,n=a;return a$2.call(navigator).then(e=>{if(o)return;let g=()=>{r.write("battery-level",a$1(e.level)),r.write("battery-charging",e.charging?1:0);};g(),n=d(e,["levelchange","chargingchange"],g);}).catch(()=>{}),()=>{o=true,n();}}};export{f as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var f={key:"battery",scope:"global",start(r){let a=navigator.getBattery;if(!a)return chunkADHR4VLZ_cjs.a;let o=false,n=chunkADHR4VLZ_cjs.a;return a.call(navigator).then(e=>{if(o)return;let g=()=>{r.write("battery-level",chunk65MXZJBD_cjs.a(e.level)),r.write("battery-charging",e.charging?1:0);};g(),n=chunk7AD7LRMF_cjs.d(e,["levelchange","chargingchange"],g);}).catch(()=>{}),()=>{o=true,n();}}};exports.a=f;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$2}from'./chunk-T4N6AEOZ.js';import {a as a$1}from'./chunk-ZWS2DFMD.js';var s={key:"orientation",scope:"global",start(e){return e.write("orient-alpha",0),e.write("orient-beta",0),e.write("orient-gamma",0),typeof DeviceOrientationEvent>"u"?a:a$1("deviceorientation",n=>{let o=n;e.write("orient-alpha",a$2(o.alpha??0)),e.write("orient-beta",a$2(o.beta??0)),e.write("orient-gamma",a$2(o.gamma??0));})}};export{s as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkL4SCOKPV_cjs=require('./chunk-L4SCOKPV.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var h=e=>e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?e.checked?"1":"0":e.value,S=e=>{if(e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio"))return e.defaultChecked?"1":"0";if(e instanceof HTMLSelectElement){let o=Array.from(e.options).find(i=>i.defaultSelected);return o?o.value:e.options[0]?.value??""}return e.defaultValue},M={key:"field-state",scope:"element",gate:false,start(e){let o=chunkL4SCOKPV_cjs.a(e.target);if(!o.length)return chunkADHR4VLZ_cjs.a;let i=new Set(o),d=new WeakMap;for(let t of o)d.set(t,h(t));let l=new Set,f=new Set,r=new Set,c=false,s=()=>{let t=l.size>0,n=f.size>0;e.write("dirty",t?1:0),e.write("pristine",t?0:1),e.write("touched",n?1:0),e.write("untouched",n?0:1),e.write("changed",r.size>0?1:0),e.write("submitted",c?1:0);};s();let v=t=>{let n=t.target;i.has(n)&&(l.add(n),h(n)===d.get(n)?r.delete(n):r.add(n),s());},y=t=>{let n=t.target;i.has(n)&&(f.add(n),s());},w=chunk7AD7LRMF_cjs.d(e.target,["input","change"],v),F=chunk7AD7LRMF_cjs.d(e.target,["focusout"],y),a=e.target instanceof HTMLFormElement?e.target:o[0]?.form,m=()=>{c=true,s();},E=()=>{l.clear(),f.clear(),c=false,r.clear();for(let t of o)S(t)!==d.get(t)&&r.add(t);s();};return a?.addEventListener("submit",m,{passive:true}),a?.addEventListener("reset",E,{passive:true}),()=>{w(),F(),a?.removeEventListener("submit",m),a?.removeEventListener("reset",E);}}};exports.a=M;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var p={key:"motion",scope:"global",start(o){return o.write("accel-x",0),o.write("accel-y",0),o.write("accel-z",0),typeof DeviceMotionEvent>"u"?chunkADHR4VLZ_cjs.a:chunk7AD7LRMF_cjs.a("devicemotion",r=>{let t=r.accelerationIncludingGravity;o.write("accel-x",chunk65MXZJBD_cjs.a(t?.x??0)),o.write("accel-y",chunk65MXZJBD_cjs.a(t?.y??0)),o.write("accel-z",chunk65MXZJBD_cjs.a(t?.z??0));})}};exports.a=p;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkL4SCOKPV_cjs=require('./chunk-L4SCOKPV.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunkEYDIF3NM_cjs=require('./chunk-EYDIF3NM.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var h={key:"form-state",scope:"element",gate:false,start(e){let r=chunkL4SCOKPV_cjs.a(e.target);if(!r.length)return chunkADHR4VLZ_cjs.a;let i=()=>{let t=0,o=0,a=0,d=0;for(let s of r){if(!s.willValidate)continue;t++;let p=s.validity.valid;p&&o++,s.required&&(a++,p&&d++);}e.write("field-count",t),e.write("valid-count",o),e.write("invalid-count",t-o),e.write("all-valid",t===o?1:0),e.write("completion",a?chunk65MXZJBD_cjs.a(d/a):1);};i();let y=chunk7AD7LRMF_cjs.d(e.target,["input","change"],i),n=null,l=()=>{n?.(),n=null;},f=e.target instanceof HTMLFormElement?e.target:r[0]?.form,m=()=>{l(),n=chunkEYDIF3NM_cjs.c(()=>{l(),i();});};return f?.addEventListener("reset",m,{passive:true}),()=>{l(),y(),f?.removeEventListener("reset",m);}}};exports.a=h;
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-T4N6AEOZ.js';import {a}from'./chunk-ZWS2DFMD.js';var m={key:"pointer-local",scope:"element",start(o){let p=o.target,c=a=>{let n=a,t=p.getBoundingClientRect(),e=t.width>0?(n.clientX-t.left)/t.width:0,i=t.height>0?(n.clientY-t.top)/t.height:0,s=e>=0&&e<=1&&i>=0&&i<=1;o.write("local-pointer-x-ratio",a$1(e)),o.write("local-pointer-y-ratio",a$1(i)),o.write("local-pointer-inside",s?1:0);};return o.write("local-pointer-x-ratio",0),o.write("local-pointer-y-ratio",0),o.write("local-pointer-inside",0),a("pointermove",c)}};export{m as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var n={key:"visual-viewport",scope:"global",start(r){let o=window.visualViewport;if(!o)return chunkADHR4VLZ_cjs.a;let t=()=>{r.write("vvp-scale",chunk65MXZJBD_cjs.a(o.scale)),r.write("vvp-offset-top",chunk65MXZJBD_cjs.a(o.offsetTop)),r.write("vvp-height",chunk65MXZJBD_cjs.a(o.height));};t();let s=chunk7AD7LRMF_cjs.c("resize",t),f=chunk7AD7LRMF_cjs.c("scroll",t);return ()=>{s(),f();}}};exports.a=n;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$2}from'./chunk-T4N6AEOZ.js';import {a as a$1}from'./chunk-ZWS2DFMD.js';var p={key:"motion",scope:"global",start(o){return o.write("accel-x",0),o.write("accel-y",0),o.write("accel-z",0),typeof DeviceMotionEvent>"u"?a:a$1("devicemotion",r=>{let t=r.accelerationIncludingGravity;o.write("accel-x",a$2(t?.x??0)),o.write("accel-y",a$2(t?.y??0)),o.write("accel-z",a$2(t?.z??0));})}};export{p as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var r={key:"page-visible",scope:"global",start(t){let e=()=>t.write("page-visible",document.visibilityState==="visible"?1:0);return e(),chunk7AD7LRMF_cjs.b("visibilitychange",e)}};exports.a=r;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkNAJLRXKX_cjs=require('./chunk-NAJLRXKX.cjs'),chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunkEYDIF3NM_cjs=require('./chunk-EYDIF3NM.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7L35N3N3_cjs=require('./chunk-7L35N3N3.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var d;function A(){if(d!==void 0||(d=null,typeof document>"u"||typeof CSSStyleSheet!="function"||!("adoptedStyleSheets"in document)))return d;try{let e=new CSSStyleSheet;e.replaceSync(":root{}"),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e],d=e.cssRules[0].style;}catch{d=null;}return d}function S(e){if(typeof document<"u"&&e===document.documentElement){let t=A();if(t)return t}return e.style}var W=32,M=class{pending=new Map;last=new WeakMap;pool=[];set(t,r,n){let o=this.pending.get(t);if(o?.has(r)){o.set(r,n);return}if(this.last.get(t)?.get(r)!==n){if(o)o.set(r,n);else {let s=this.pool.pop()??new Map;s.set(r,n),this.pending.set(t,s);}chunkEYDIF3NM_cjs.a();}}forget(t,r){this.last.get(t)?.delete(r);let n=this.pending.get(t);n&&(n.delete(r),n.size===0&&this.pending.delete(t));}flush=()=>{if(this.pending.size!==0){for(let[t,r]of this.pending){let n=this.last.get(t);n||this.last.set(t,n=new Map);let o=S(t);for(let[s,i]of r)n.get(s)!==i&&(o.setProperty(s,i),n.set(s,i));r.clear(),this.pool.length<W&&this.pool.push(r);}this.pending.clear();}}},h=new M;chunkEYDIF3NM_cjs.b(h.flush);var P=new Set;function z(e,t,r){if(P.has(e)||typeof CSS>"u"||typeof CSS.registerProperty!="function")return;P.add(e);let n=t?r?.[t]:void 0,o=t?chunk7L35N3N3_cjs.a.defaults?.[t]:void 0;try{CSS.registerProperty({name:e,syntax:n?.syntax??"<number>",inherits:n?.inherits??!0,initialValue:o!=null?String(o):n?.initial??"0"});}catch{}}var D={key:"viewport",scope:"global",start(e){let t=()=>{e.write("vw",window.innerWidth),e.write("vh",window.innerHeight);};return t(),chunk7AD7LRMF_cjs.a("resize",t)}};var R={key:"size",scope:"element",start(e){return chunkNAJLRXKX_cjs.a(e.target,t=>{let r=t.borderBoxSize?.[0],n=r?r.inlineSize:t.contentRect.width,o=r?r.blockSize:t.contentRect.height;e.write("w",chunk65MXZJBD_cjs.a(n)),e.write("h",chunk65MXZJBD_cjs.a(o)),e.write("aspect",o>0?chunk65MXZJBD_cjs.a(n/o):0);})}};var w=1;function $(e){let t=e.rootBounds;if(!t)return e.intersectionRatio>=1;let r=e.boundingClientRect;return r.top>=t.top-w&&r.right<=t.right+w&&r.bottom<=t.bottom+w&&r.left>=t.left-w}var F={key:"visibility",scope:"element",gate:false,start(e){let t=false;return e.write("visible",0),e.write("has-entered",0,"const"),chunkNAJLRXKX_cjs.b(e.target,r=>{let n=$(r);e.write("visible",n?1:0),n&&!t&&(t=true,e.write("has-entered",1,"const"));})}};var I={key:"range",scope:"element",gate:false,start(e){let t=chunkHHINWX7L_cjs.a(e.target,'input[type="range"], input[type="number"]');if(!t)return chunkADHR4VLZ_cjs.a;let r=()=>{let n=t.min===""?0:Number(t.min),o=t.max===""?100:Number(t.max),s=Number(t.value);e.write("value",s),e.write("value-pct",o>n?chunk65MXZJBD_cjs.a((s-n)/(o-n)):0);};return r(),t.addEventListener("input",r,{passive:true}),()=>t.removeEventListener("input",r)}};var O={viewport:D,size:R,visibility:F,range:I};var u=new Map,E=new WeakMap,v={...O};function He(e){v[e.key]=e;}function ke(e){delete v[e];}function Ce(e){return e in v}function xe(e){Object.assign(chunk7L35N3N3_cjs.a,e);}function B(e,t,r,n){let o={live:new Map,const:new Map};return {target:e,config:chunk7L35N3N3_cjs.a,write(s,i,p="live"){let c=o[p],l=c.get(s);if(l){if(l.raw===i)return;l.raw=i;}else {let a=(p==="const"?chunk7L35N3N3_cjs.a.constPrefix:chunk7L35N3N3_cjs.a.livePrefix)+s;c.set(s,l={raw:i,prop:a}),r.add(a);}chunk7L35N3N3_cjs.a.typed&&(n?.[s]||typeof i=="number")&&z(l.prop,s,n),h.set(t,l.prop,String(i));}}}function K(e,t){try{return e.start(t)}catch(r){return console.error(`[prop-for-that] source "${e.key}" failed to start`,r),null}}function V(e,t,r){if(!(e.scope==="element"&&e.gate!==false&&r!==chunk7L35N3N3_cjs.a.root&&typeof IntersectionObserver<"u"))return K(e,t);let o=null,s=()=>{o||(o=K(e,t));},i=()=>{o?.(),o=null;},p=chunkNAJLRXKX_cjs.b(r,c=>{c.isIntersecting?s():i();});return ()=>{p(),i();}}function L(e,t,r){let n=r.get(t);if(!n)return;n.dispose();let{writeTarget:o}=n,s=S(o);for(let i of n.written)s.removeProperty(i),h.forget(o,i);o!==e&&E.get(o)?.delete(t),r.delete(t);}function _(e,t){if(typeof t!="string")return t;let r=e.closest(t);return r||(console.warn(`[prop-for-that] no ancestor matches "${t}" \u2014 writing on the element itself`),e)}function q(e,t){let r=E.get(e);r||E.set(e,r=new Set),r.has(t)&&console.warn(`[prop-for-that] "${t}" is already hoisted onto this element \u2014 the bindings will overwrite each other`,e),r.add(t);}function j(e,t,r){let n=u.get(e);n||u.set(e,n=new Map);let o=r?_(e,r):e,s=[];for(let i of t){if(n.has(i))continue;let p=v[i];if(!p){console.warn(`[prop-for-that] unknown source "${i}"`);continue}let c=o;c!==e&&p.scope==="global"&&(console.warn(`[prop-for-that] "to" ignored for global source "${i}"`),c=e);let l=new Set,a=B(e,c,l,p.props),T=V(p,a,e);T&&(c!==e&&q(c,i),n.set(i,{dispose:T,written:l,writeTarget:c}),s.push(i));}return ()=>{let i=u.get(e);if(i){for(let p of s)L(e,p,i);i.size===0&&u.delete(e);}}}function G(e){return e instanceof Element?[e]:typeof NodeList<"u"&&e instanceof NodeList||typeof HTMLCollection<"u"&&e instanceof HTMLCollection||Array.isArray(e)?Array.from(e).filter(t=>t instanceof Element):[]}function U(e){return Array.isArray(e)&&(e.length===0||typeof e[0]=="string")}function Pe(e,t,r){let n,o;if(t===void 0&&U(e)?(n=chunk7L35N3N3_cjs.a.root?[chunk7L35N3N3_cjs.a.root]:[],o=e):(n=G(e),o=t??[]),!n.length||!o.length)return chunkADHR4VLZ_cjs.a;let s=n.map(i=>j(i,o,r?.to));return ()=>{for(let i of s)i();}}function ze(e,t){let r=u.get(e);if(r){for(let n of t??[...r.keys()])L(e,n,r);r.size===0&&u.delete(e);}}function De(){for(let[e,t]of u)for(let r of [...t.keys()])L(e,r,t);u.clear();}exports.a=He;exports.b=ke;exports.c=Ce;exports.d=xe;exports.e=Pe;exports.f=ze;exports.g=De;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-LTJ2VKVY.js';import {a as a$1}from'./chunk-7KOHYADG.js';var d={key:"img",scope:"element",gate:false,start(t){let e=a(t.target,"img");if(!e)return a$1;let l=()=>e.getAttribute("src")!==null||e.getAttribute("srcset")!==null,r=e.complete&&e.naturalWidth===0&&l(),o=()=>{t.write("natural-w",e.naturalWidth),t.write("natural-h",e.naturalHeight),t.write("loaded",e.complete&&e.naturalWidth>0?1:0),t.write("broken",r?1:0);},n=()=>{r=false,o();},a$2=()=>{r=true,o();};return o(),e.addEventListener("load",n,{passive:true}),e.addEventListener("error",a$2,{passive:true}),()=>{e.removeEventListener("load",n),e.removeEventListener("error",a$2);}}};export{d as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var f={key:"online",scope:"global",start(e){let o=()=>e.write("online",navigator.onLine?1:0);o();let t=chunk7AD7LRMF_cjs.a("online",o),i=chunk7AD7LRMF_cjs.a("offline",o);return ()=>{t(),i();}}};exports.a=f;
@@ -0,0 +1 @@
1
+ 'use strict';function d(t){let n,r=new WeakMap,c=new WeakMap;return function(e,i){n||(n=t(s=>{for(let o of s){c.set(o.target,o);let f=r.get(o.target);if(f)for(let a of f)a(o);}}));let v=r.get(e);v||(r.set(e,v=new Set),n.observe(e)),v.add(i);let b=c.get(e);return b&&i(b),()=>{let s=r.get(e);s&&(s.delete(i),s.size===0&&(r.delete(e),n.unobserve(e)));}}}var p=d(t=>new ResizeObserver(t)),E=[0,.98,.99,.995,.999,1],u=d(t=>new IntersectionObserver(t,{threshold:E}));exports.a=p;exports.b=u;
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';import {a as a$1}from'./chunk-T4N6AEOZ.js';var p={key:"random",scope:"element",gate:false,props:{random:{syntax:"<number>",initial:"0"},"random-2":{syntax:"<number>",initial:"0"},"random-3":{syntax:"<number>",initial:"0"}},start(n){let{randomSeed:t}=n.config,e=t===void 0?()=>Math.random():u(d(n.target,t));return n.write("random",a$1(e()),"const"),n.write("random-2",a$1(e()),"const"),n.write("random-3",a$1(e()),"const"),a}};function u(n){let t=n|0;return ()=>{t=t+1831565813|0;let e=t^t>>>15;return e=Math.imul(e,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function d(n,t){let e=t>>>0^2166136261;for(let o=n;o;o=o.parentElement){let a=o.tagName;for(let r=0;r<a.length;r++)e=Math.imul(e^a.charCodeAt(r),16777619);let i=0;for(let r=o.previousElementSibling;r;r=r.previousElementSibling)i++;e=Math.imul(e^i,16777619);}return e>>>0}export{p as a};
@@ -0,0 +1 @@
1
+ import {c}from'./chunk-KG3EF456.js';import {a as a$1}from'./chunk-T4N6AEOZ.js';import {a}from'./chunk-ZWS2DFMD.js';var u={key:"scroll-velocity",scope:"global",start(t){let r=window.scrollY,e=r,l=0,o=null,a$2=()=>{let w=e-r;r=e,l=w||l*.8,Math.abs(l)<.01&&(l=0);let i=a$1(l);t.write("scroll-velocity",i),t.write("scroll-direction",Math.sign(i)),i===0&&o&&(o(),o=null);},m=()=>{e=window.scrollY,o||(o=c(a$2));};t.write("scroll-velocity",0),t.write("scroll-direction",0);let p=a("scroll",m);return ()=>{p(),o?.();}}};export{u as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var s={key:"orientation",scope:"global",start(e){return e.write("orient-alpha",0),e.write("orient-beta",0),e.write("orient-gamma",0),typeof DeviceOrientationEvent>"u"?chunkADHR4VLZ_cjs.a:chunk7AD7LRMF_cjs.a("deviceorientation",n=>{let o=n;e.write("orient-alpha",chunk65MXZJBD_cjs.a(o.alpha??0)),e.write("orient-beta",chunk65MXZJBD_cjs.a(o.beta??0)),e.write("orient-gamma",chunk65MXZJBD_cjs.a(o.gamma??0));})}};exports.a=s;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkEYDIF3NM_cjs=require('./chunk-EYDIF3NM.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var u={key:"scroll-velocity",scope:"global",start(t){let r=window.scrollY,e=r,l=0,o=null,a=()=>{let w=e-r;r=e,l=w||l*.8,Math.abs(l)<.01&&(l=0);let i=chunk65MXZJBD_cjs.a(l);t.write("scroll-velocity",i),t.write("scroll-direction",Math.sign(i)),i===0&&o&&(o(),o=null);},m=()=>{e=window.scrollY,o||(o=chunkEYDIF3NM_cjs.c(a));};t.write("scroll-velocity",0),t.write("scroll-direction",0);let p=chunk7AD7LRMF_cjs.a("scroll",m);return ()=>{p(),o?.();}}};exports.a=u;
@@ -0,0 +1 @@
1
+ var r=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");export{r as a};
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-7KOHYADG.js';function o(t){switch(t){case "slow-2g":return 1;case "2g":return 2;case "3g":return 3;case "4g":return 4;default:return 0}}var i={key:"network",scope:"global",start(t){let e=navigator.connection;if(!e)return a;let n=()=>{t.write("net-downlink",e.downlink??0),t.write("net-rtt",e.rtt??0),t.write("net-save-data",e.saveData?1:0),t.write("net-type",o(e.effectiveType));};return n(),e.addEventListener("change",n,{passive:true}),()=>e.removeEventListener("change",n)}};export{o as a,i as b};
@@ -0,0 +1 @@
1
+ 'use strict';var chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var m={key:"pointer-local",scope:"element",start(o){let p=o.target,c=a=>{let n=a,t=p.getBoundingClientRect(),e=t.width>0?(n.clientX-t.left)/t.width:0,i=t.height>0?(n.clientY-t.top)/t.height:0,s=e>=0&&e<=1&&i>=0&&i<=1;o.write("local-pointer-x-ratio",chunk65MXZJBD_cjs.a(e)),o.write("local-pointer-y-ratio",chunk65MXZJBD_cjs.a(i)),o.write("local-pointer-inside",s?1:0);};return o.write("local-pointer-x-ratio",0),o.write("local-pointer-y-ratio",0),o.write("local-pointer-inside",0),chunk7AD7LRMF_cjs.a("pointermove",c)}};exports.a=m;
@@ -1 +1 @@
1
- 'use strict';var chunkPQVNJZUW_cjs=require('./chunk-PQVNJZUW.cjs');var i={key:"truncated",scope:"element",start(t){let e=t.target,r=()=>{let o=e.scrollWidth>e.clientWidth?1:0,c=e.scrollHeight>e.clientHeight?1:0;t.write("truncated",o||c?1:0),t.write("truncated-x",o),t.write("truncated-y",c);};return r(),chunkPQVNJZUW_cjs.a(e,r)}};exports.a=i;
1
+ 'use strict';var chunkNAJLRXKX_cjs=require('./chunk-NAJLRXKX.cjs');var i={key:"truncated",scope:"element",start(t){let e=t.target,r=()=>{let o=e.scrollWidth>e.clientWidth?1:0,c=e.scrollHeight>e.clientHeight?1:0;t.write("truncated",o||c?1:0),t.write("truncated-x",o),t.write("truncated-y",c);};return r(),chunkNAJLRXKX_cjs.a(e,r)}};exports.a=i;
@@ -1 +1 @@
1
- import {a}from'./chunk-EEMKKLRF.js';var u={key:"page-focused",scope:"global",start(c){let o=()=>c.write("page-focused",document.hasFocus()?1:0);o();let t=a("focus",o),r=a("blur",o);return ()=>{t(),r();}}};export{u as a};
1
+ import {a}from'./chunk-ZWS2DFMD.js';var u={key:"page-focused",scope:"global",start(c){let o=()=>c.write("page-focused",document.hasFocus()?1:0);o();let t=a("focus",o),r=a("blur",o);return ()=>{t(),r();}}};export{u as a};
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-7KOHYADG.js';var a={key:"nav-type",scope:"global",props:{"nav-type":{syntax:"<custom-ident>",initial:"navigate"}},start(t){let n=performance.getEntriesByType("navigation")[0];return t.write("nav-type",n?.type??"navigate","const"),a$1}};export{a};
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-LTJ2VKVY.js';import {a as a$1}from'./chunk-7KOHYADG.js';import {a as a$2}from'./chunk-T4N6AEOZ.js';import {d}from'./chunk-ZWS2DFMD.js';var l={key:"media",scope:"element",start(r){let e=a(r.target,"video, audio");if(!e)return a$1;let i=()=>{let t=isFinite(e.duration)?e.duration:0;r.write("current-time",a$2(e.currentTime)),r.write("duration",a$2(t)),r.write("progress",t>0?a$2(e.currentTime/t):0),r.write("paused",e.paused?1:0),r.write("volume",a$2(e.volume));};return i(),d(e,["timeupdate","loadedmetadata","play","pause","volumechange"],i)}};export{l as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs'),chunk65MXZJBD_cjs=require('./chunk-65MXZJBD.cjs'),chunk7AD7LRMF_cjs=require('./chunk-7AD7LRMF.cjs');var l={key:"media",scope:"element",start(r){let e=chunkHHINWX7L_cjs.a(r.target,"video, audio");if(!e)return chunkADHR4VLZ_cjs.a;let i=()=>{let t=isFinite(e.duration)?e.duration:0;r.write("current-time",chunk65MXZJBD_cjs.a(e.currentTime)),r.write("duration",chunk65MXZJBD_cjs.a(t)),r.write("progress",t>0?chunk65MXZJBD_cjs.a(e.currentTime/t):0),r.write("paused",e.paused?1:0),r.write("volume",chunk65MXZJBD_cjs.a(e.volume));};return i(),chunk7AD7LRMF_cjs.d(e,["timeupdate","loadedmetadata","play","pause","volumechange"],i)}};exports.a=l;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkHHINWX7L_cjs=require('./chunk-HHINWX7L.cjs'),chunkADHR4VLZ_cjs=require('./chunk-ADHR4VLZ.cjs');var d={key:"img",scope:"element",gate:false,start(t){let e=chunkHHINWX7L_cjs.a(t.target,"img");if(!e)return chunkADHR4VLZ_cjs.a;let l=()=>e.getAttribute("src")!==null||e.getAttribute("srcset")!==null,r=e.complete&&e.naturalWidth===0&&l(),o=()=>{t.write("natural-w",e.naturalWidth),t.write("natural-h",e.naturalHeight),t.write("loaded",e.complete&&e.naturalWidth>0?1:0),t.write("broken",r?1:0);},n=()=>{r=false,o();},a=()=>{r=true,o();};return o(),e.addEventListener("load",n,{passive:true}),e.addEventListener("error",a,{passive:true}),()=>{e.removeEventListener("load",n),e.removeEventListener("error",a);}}};exports.a=d;
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-PFCCKKAU.js';var c={platform:"unknown",browser:"unknown",engine:"unknown",version:0,mobile:0},u={android:"android","chrome-os":"chromeos","chromium-os":"chromeos",ios:"ios",linux:"linux",macos:"macos",windows:"windows"};function f(r){let n=r.toLowerCase();return n.includes("edge")||n.includes("edg")?"edge":n.includes("opera")||n.includes("opr")?"opera":n.includes("samsung")?"samsung":n.includes("firefox")?"firefox":n.includes("chrome")||n.includes("chromium")?"chrome":n.includes("safari")?"safari":"unknown"}function g(r){let n=r.brands;if(!n||!n.length)return null;let e=n.filter(o=>!/not.?a.?brand/i.test(o.brand)),i=e.find(o=>!/chromium/i.test(o.brand))??e[0];return i?{platform:u[a(r.platform??"")]??"unknown",browser:f(i.brand),engine:"blink",version:parseInt(i.version,10)||0,mobile:r.mobile?1:0}:null}var m=[{id:"edge",test:/Edg(?:iOS|A)?\//,ver:/Edg(?:iOS|A)?\/(\d+)/},{id:"opera",test:/OPR\/|OPiOS\/|Opera\//,ver:/(?:OPR|OPiOS|Opera)\/(\d+)/},{id:"samsung",test:/SamsungBrowser\//,ver:/SamsungBrowser\/(\d+)/},{id:"firefox",test:/Firefox\/|FxiOS\//,ver:/(?:Firefox|FxiOS)\/(\d+)/},{id:"chrome",test:/Chrome\/|CriOS\//,ver:/(?:Chrome|CriOS)\/(\d+)/},{id:"safari",test:/Safari\//,ver:/Version\/(\d+)/}],l=[[/Android/,"android"],[/iPhone|iPad|iPod/,"ios"],[/Macintosh|Mac OS X/,"macos"],[/Windows/,"windows"],[/CrOS/,"chromeos"],[/Linux/,"linux"]],b={firefox:"gecko",safari:"webkit",unknown:"unknown"};function w(r){let n=l.find(([t])=>t.test(r))?.[1]??"unknown",e=m.find(t=>t.test.test(r)),i=e?.id??"unknown",o=e&&parseInt(r.match(e.ver)?.[1]??"",10)||0,a=n==="ios"?"webkit":b[i]??"blink",d=/Mobi|Android|iPhone|iPod/.test(r)?1:0;return {platform:n,browser:i,engine:a,version:o,mobile:d}}function p(){if(typeof navigator>"u")return c;let r=navigator.userAgentData;return (r?g(r):null)??w(navigator.userAgent||"")}
2
+ export{p as a};