sibujs 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1630 -0
- package/dist/browser.cjs +815 -0
- package/dist/browser.d.cts +174 -0
- package/dist/browser.d.ts +174 -0
- package/dist/browser.js +458 -0
- package/dist/build.cjs +4970 -0
- package/dist/build.d.cts +630 -0
- package/dist/build.d.ts +630 -0
- package/dist/build.js +2478 -0
- package/dist/cdn.global.js +115 -0
- package/dist/chunk-27QC4FPL.js +67 -0
- package/dist/chunk-2ABBWCGC.js +65 -0
- package/dist/chunk-2MUNQYZ7.js +26 -0
- package/dist/chunk-2PSPKNUI.js +1711 -0
- package/dist/chunk-35CDLDX5.js +1758 -0
- package/dist/chunk-36MU4CFV.js +41 -0
- package/dist/chunk-3FIQOFI6.js +182 -0
- package/dist/chunk-3GHNC2BN.js +28 -0
- package/dist/chunk-3HLWWEPU.js +909 -0
- package/dist/chunk-3IVI3J54.js +252 -0
- package/dist/chunk-3KZ72WNW.js +944 -0
- package/dist/chunk-4AU64SQV.js +182 -0
- package/dist/chunk-4MOK7HAR.js +84 -0
- package/dist/chunk-4QK6FBDH.js +1429 -0
- package/dist/chunk-566Z7HXB.js +737 -0
- package/dist/chunk-5CRBB7XP.js +358 -0
- package/dist/chunk-5G67D3IZ.js +168 -0
- package/dist/chunk-5NCPAWBE.js +99 -0
- package/dist/chunk-5O2RKXR3.js +1444 -0
- package/dist/chunk-6BTBDO6A.js +633 -0
- package/dist/chunk-6IWEHW57.js +43 -0
- package/dist/chunk-6JGMNCD6.js +282 -0
- package/dist/chunk-6QRLJNXR.js +1425 -0
- package/dist/chunk-7HM5UE5T.js +270 -0
- package/dist/chunk-7JOLTGUH.js +58 -0
- package/dist/chunk-7MCWJCQK.js +909 -0
- package/dist/chunk-7RIIFP3E.js +1758 -0
- package/dist/chunk-7UASYN3G.js +254 -0
- package/dist/chunk-7W2WYHDI.js +741 -0
- package/dist/chunk-7Y35RDSJ.js +872 -0
- package/dist/chunk-A65GFJBL.js +65 -0
- package/dist/chunk-AD6ZIEDK.js +67 -0
- package/dist/chunk-AK5Y72F3.js +1426 -0
- package/dist/chunk-APOMMWH4.js +282 -0
- package/dist/chunk-ARZVTWIQ.js +1750 -0
- package/dist/chunk-AWWBM2BI.js +664 -0
- package/dist/chunk-AX5VEQTY.js +58 -0
- package/dist/chunk-AYTXVOW3.js +1708 -0
- package/dist/chunk-BG4A246G.js +1746 -0
- package/dist/chunk-BNFJJA2L.js +1425 -0
- package/dist/chunk-BPKPBVU5.js +59 -0
- package/dist/chunk-BPKPPSXC.js +282 -0
- package/dist/chunk-BPWKKK7F.js +1711 -0
- package/dist/chunk-CCKX6YTC.js +1735 -0
- package/dist/chunk-CIF5Z3MP.js +58 -0
- package/dist/chunk-CSXYU7IO.js +457 -0
- package/dist/chunk-D6JD4FDC.js +26 -0
- package/dist/chunk-E7NGA7X2.js +59 -0
- package/dist/chunk-EEPPJKAE.js +443 -0
- package/dist/chunk-EJMYGAGQ.js +717 -0
- package/dist/chunk-EL6Z5MDY.js +55 -0
- package/dist/chunk-EP7VRLEB.js +41 -0
- package/dist/chunk-ETMEC6FH.js +99 -0
- package/dist/chunk-EZ2WHYVL.js +65 -0
- package/dist/chunk-EZRVMSZK.js +67 -0
- package/dist/chunk-F2TRGINX.js +254 -0
- package/dist/chunk-F5JCIH3Q.js +642 -0
- package/dist/chunk-FGK3JKMN.js +909 -0
- package/dist/chunk-FQWPKSTD.js +1437 -0
- package/dist/chunk-FWHVLMCI.js +26 -0
- package/dist/chunk-GBEYQRO2.js +303 -0
- package/dist/chunk-GBLES3NK.js +248 -0
- package/dist/chunk-GQVGUQW6.js +1436 -0
- package/dist/chunk-HCV2T76T.js +457 -0
- package/dist/chunk-HS7ZKVPR.js +182 -0
- package/dist/chunk-HXDVV7HZ.js +909 -0
- package/dist/chunk-IB23VMO3.js +1746 -0
- package/dist/chunk-IEMZ7RTT.js +99 -0
- package/dist/chunk-IPGRSN42.js +1750 -0
- package/dist/chunk-IVMOK2QN.js +1750 -0
- package/dist/chunk-JCLGQO7T.js +443 -0
- package/dist/chunk-JDXL7KDB.js +1436 -0
- package/dist/chunk-JIIFW636.js +270 -0
- package/dist/chunk-JWGEEH7H.js +944 -0
- package/dist/chunk-K2BESAG7.js +1688 -0
- package/dist/chunk-K2U5YGF4.js +877 -0
- package/dist/chunk-K45FQ4Y4.js +175 -0
- package/dist/chunk-K7BPE427.js +1432 -0
- package/dist/chunk-KL3266RS.js +26 -0
- package/dist/chunk-KNN4P7DZ.js +84 -0
- package/dist/chunk-KP2DZH5Q.js +254 -0
- package/dist/chunk-KZHAJSQR.js +1636 -0
- package/dist/chunk-LBKGHMQV.js +1750 -0
- package/dist/chunk-LBTEPL7A.js +1731 -0
- package/dist/chunk-LEBBPTDB.js +1444 -0
- package/dist/chunk-LLH63WVQ.js +98 -0
- package/dist/chunk-LWVR2C4G.js +1711 -0
- package/dist/chunk-M3MDTVV2.js +896 -0
- package/dist/chunk-M5GNLDEO.js +303 -0
- package/dist/chunk-MFHVGKET.js +267 -0
- package/dist/chunk-MGWSG3PM.js +358 -0
- package/dist/chunk-MJNB47HB.js +19 -0
- package/dist/chunk-MLKGABMK.js +9 -0
- package/dist/chunk-MQWTY3JY.js +944 -0
- package/dist/chunk-MZZOQHNI.js +642 -0
- package/dist/chunk-NIHWGZS4.js +1426 -0
- package/dist/chunk-NSVVHQK5.js +41 -0
- package/dist/chunk-NVI2WE7D.js +443 -0
- package/dist/chunk-O7QBO3PH.js +58 -0
- package/dist/chunk-OAUPQBO2.js +270 -0
- package/dist/chunk-OB2LMD7C.js +297 -0
- package/dist/chunk-OHEYBWQU.js +58 -0
- package/dist/chunk-OI6OXUHJ.js +443 -0
- package/dist/chunk-OX2VMRMV.js +633 -0
- package/dist/chunk-P4FYE5TX.js +866 -0
- package/dist/chunk-P5KFWM4H.js +98 -0
- package/dist/chunk-PUMLE7RJ.js +1711 -0
- package/dist/chunk-Q4MFANBF.js +282 -0
- package/dist/chunk-QLEKZMMU.js +282 -0
- package/dist/chunk-RGGNGVO3.js +98 -0
- package/dist/chunk-RKJDRVV6.js +443 -0
- package/dist/chunk-S5BHU353.js +43 -0
- package/dist/chunk-SHQUSFH7.js +1426 -0
- package/dist/chunk-SMB4DBMD.js +182 -0
- package/dist/chunk-SNYHQP3D.js +743 -0
- package/dist/chunk-T24L3TBF.js +1717 -0
- package/dist/chunk-TAQNSOKT.js +692 -0
- package/dist/chunk-TDNY4SUA.js +41 -0
- package/dist/chunk-TNNF56IQ.js +1750 -0
- package/dist/chunk-TR7E6LYX.js +457 -0
- package/dist/chunk-URWUFH45.js +98 -0
- package/dist/chunk-UUSIH3XH.js +1429 -0
- package/dist/chunk-UYFNXLKR.js +1436 -0
- package/dist/chunk-V6F7KUWD.js +270 -0
- package/dist/chunk-VCZLXRMR.js +254 -0
- package/dist/chunk-VDHXSSBT.js +1426 -0
- package/dist/chunk-VM4QMKVK.js +254 -0
- package/dist/chunk-VWGYKYL2.js +737 -0
- package/dist/chunk-VX2OFBJN.js +1426 -0
- package/dist/chunk-VXVIE6DG.js +84 -0
- package/dist/chunk-W4OH7HG4.js +40 -0
- package/dist/chunk-WBVJX4GZ.js +98 -0
- package/dist/chunk-WDU2ZV4I.js +1426 -0
- package/dist/chunk-X6VUCICU.js +457 -0
- package/dist/chunk-XAY7FM7Y.js +618 -0
- package/dist/chunk-XJZ5Z2CM.js +642 -0
- package/dist/chunk-XKVFQTJJ.js +254 -0
- package/dist/chunk-XRLFASCY.js +22 -0
- package/dist/chunk-XYU6TZOW.js +182 -0
- package/dist/chunk-Y745CBVB.js +944 -0
- package/dist/chunk-YLBJSXYY.js +944 -0
- package/dist/chunk-YQJIKVPZ.js +1429 -0
- package/dist/chunk-YRM2VCZF.js +457 -0
- package/dist/chunk-YS33KBVJ.js +944 -0
- package/dist/chunk-Z27DZPDG.js +41 -0
- package/dist/chunk-ZXQ5NAEN.js +32 -0
- package/dist/contracts-B552GopR.d.cts +245 -0
- package/dist/contracts-B552GopR.d.ts +245 -0
- package/dist/contracts-Bg1ECISC.d.cts +245 -0
- package/dist/contracts-Bg1ECISC.d.ts +245 -0
- package/dist/contracts-CMriKJ6P.d.cts +245 -0
- package/dist/contracts-CMriKJ6P.d.ts +245 -0
- package/dist/contracts-DOrhwbke.d.cts +245 -0
- package/dist/contracts-DOrhwbke.d.ts +245 -0
- package/dist/data.cjs +1373 -0
- package/dist/data.d.cts +434 -0
- package/dist/data.d.ts +434 -0
- package/dist/data.js +945 -0
- package/dist/devtools.cjs +1357 -0
- package/dist/devtools.d.cts +473 -0
- package/dist/devtools.d.ts +473 -0
- package/dist/devtools.js +1084 -0
- package/dist/ecosystem.cjs +1046 -0
- package/dist/ecosystem.d.cts +247 -0
- package/dist/ecosystem.d.ts +247 -0
- package/dist/ecosystem.js +369 -0
- package/dist/extras.cjs +8457 -0
- package/dist/extras.d.cts +2356 -0
- package/dist/extras.d.ts +2356 -0
- package/dist/extras.js +5152 -0
- package/dist/index.cjs +2648 -0
- package/dist/index.d.cts +869 -0
- package/dist/index.d.ts +869 -0
- package/dist/index.js +386 -0
- package/dist/motion.cjs +604 -0
- package/dist/motion.d.cts +146 -0
- package/dist/motion.d.ts +146 -0
- package/dist/motion.js +346 -0
- package/dist/patterns.cjs +815 -0
- package/dist/patterns.d.cts +163 -0
- package/dist/patterns.d.ts +163 -0
- package/dist/patterns.js +296 -0
- package/dist/performance.cjs +927 -0
- package/dist/performance.d.cts +416 -0
- package/dist/performance.d.ts +416 -0
- package/dist/performance.js +654 -0
- package/dist/plugins.cjs +2487 -0
- package/dist/plugins.d.cts +393 -0
- package/dist/plugins.d.ts +393 -0
- package/dist/plugins.js +1504 -0
- package/dist/signal-BnWpq6WB.d.cts +5 -0
- package/dist/signal-BnWpq6WB.d.ts +5 -0
- package/dist/src/components/ErrorBoundary.d.ts +15 -0
- package/dist/src/components/ErrorBoundary.js +119 -0
- package/dist/src/core/catch.d.ts +11 -0
- package/dist/src/core/catch.js +28 -0
- package/dist/src/core/each.d.ts +13 -0
- package/dist/src/core/each.js +68 -0
- package/dist/src/core/for.d.ts +12 -0
- package/dist/src/core/for.js +67 -0
- package/dist/src/core/html.d.ts +137 -0
- package/dist/src/core/html.js +155 -0
- package/dist/src/core/htmlIf.d.ts +11 -0
- package/dist/src/core/htmlIf.js +18 -0
- package/dist/src/core/lazy.d.ts +7 -0
- package/dist/src/core/lazy.js +16 -0
- package/dist/src/core/mount.d.ts +7 -0
- package/dist/src/core/mount.js +12 -0
- package/dist/src/core/slots.d.ts +3 -0
- package/dist/src/core/slots.js +3 -0
- package/dist/src/core/suspense.d.ts +10 -0
- package/dist/src/core/suspense.js +33 -0
- package/dist/src/core/tagFactory.d.ts +13 -0
- package/dist/src/core/tagFactory.js +86 -0
- package/dist/src/core/test.d.ts +11 -0
- package/dist/src/core/test.js +28 -0
- package/dist/src/core/types.d.ts +2 -0
- package/dist/src/core/types.js +1 -0
- package/dist/src/core/useComputed.d.ts +6 -0
- package/dist/src/core/useComputed.js +30 -0
- package/dist/src/core/useEffect.d.ts +6 -0
- package/dist/src/core/useEffect.js +23 -0
- package/dist/src/core/useState.d.ts +10 -0
- package/dist/src/core/useState.js +34 -0
- package/dist/src/core/useStore.d.ts +19 -0
- package/dist/src/core/useStore.js +53 -0
- package/dist/src/core/useWatch.d.ts +8 -0
- package/dist/src/core/useWatch.js +23 -0
- package/dist/src/plugins/i18n.d.ts +6 -0
- package/dist/src/plugins/i18n.js +16 -0
- package/dist/src/plugins/router.d.ts +188 -0
- package/dist/src/plugins/router.js +1178 -0
- package/dist/src/reactivity/bindAttribute.d.ts +5 -0
- package/dist/src/reactivity/bindAttribute.js +31 -0
- package/dist/src/reactivity/bindChildNode.d.ts +10 -0
- package/dist/src/reactivity/bindChildNode.js +46 -0
- package/dist/src/reactivity/bindTextNode.d.ts +10 -0
- package/dist/src/reactivity/bindTextNode.js +27 -0
- package/dist/src/reactivity/signal.d.ts +3 -0
- package/dist/src/reactivity/signal.js +1 -0
- package/dist/src/reactivity/track.d.ts +18 -0
- package/dist/src/reactivity/track.js +73 -0
- package/dist/src/reactivity/useComputed.d.ts +6 -0
- package/dist/src/reactivity/useComputed.js +30 -0
- package/dist/src/reactivity/useEffect.d.ts +6 -0
- package/dist/src/reactivity/useEffect.js +23 -0
- package/dist/src/reactivity/useState.d.ts +10 -0
- package/dist/src/reactivity/useState.js +34 -0
- package/dist/src/reactivity/useStore.d.ts +19 -0
- package/dist/src/reactivity/useStore.js +53 -0
- package/dist/src/reactivity/useWatch.d.ts +8 -0
- package/dist/src/reactivity/useWatch.js +23 -0
- package/dist/src/utils/sanitize.d.ts +1 -0
- package/dist/src/utils/sanitize.js +8 -0
- package/dist/ssr-27FOM46T.js +35 -0
- package/dist/ssr-GFUTTSJD.js +22 -0
- package/dist/ssr-K7DCR6BZ.js +35 -0
- package/dist/ssr-O6LFMRFP.js +35 -0
- package/dist/ssr-QZEVGMMK.js +35 -0
- package/dist/ssr-SGVBCAGC.js +35 -0
- package/dist/ssr-UB2IXCYX.js +35 -0
- package/dist/ssr-XBZQNV4O.js +22 -0
- package/dist/ssr-Y76FSXDU.js +35 -0
- package/dist/ssr-YQJ4AYBD.js +35 -0
- package/dist/ssr.cjs +1757 -0
- package/dist/ssr.d.cts +478 -0
- package/dist/ssr.d.ts +478 -0
- package/dist/ssr.js +743 -0
- package/dist/tagFactory-CZPO4RXF.d.cts +34 -0
- package/dist/tagFactory-CZPO4RXF.d.ts +34 -0
- package/dist/tagFactory-CgImPVMY.d.cts +22 -0
- package/dist/tagFactory-CgImPVMY.d.ts +22 -0
- package/dist/tagFactory-Cw1iv5if.d.cts +22 -0
- package/dist/tagFactory-Cw1iv5if.d.ts +22 -0
- package/dist/tagFactory-DeAXq9ef.d.cts +30 -0
- package/dist/tagFactory-DeAXq9ef.d.ts +30 -0
- package/dist/tagFactory-SkY0a7L1.d.cts +22 -0
- package/dist/tagFactory-SkY0a7L1.d.ts +22 -0
- package/dist/testing.cjs +1919 -0
- package/dist/testing.d.cts +491 -0
- package/dist/testing.d.ts +491 -0
- package/dist/testing.js +1862 -0
- package/dist/ui.cjs +1497 -0
- package/dist/ui.d.cts +264 -0
- package/dist/ui.d.ts +264 -0
- package/dist/ui.js +900 -0
- package/dist/widgets.cjs +919 -0
- package/dist/widgets.d.cts +165 -0
- package/dist/widgets.d.ts +165 -0
- package/dist/widgets.js +545 -0
- package/package.json +134 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* media returns a reactive boolean that tracks whether a CSS media query matches.
|
|
3
|
+
* Uses `window.matchMedia` and listens to `change` events for live updates.
|
|
4
|
+
*
|
|
5
|
+
* @param query CSS media query string (e.g. "(max-width: 768px)")
|
|
6
|
+
* @returns Object with reactive matches getter and dispose function for cleanup
|
|
7
|
+
*/
|
|
8
|
+
declare function media(query: string): {
|
|
9
|
+
matches: () => boolean;
|
|
10
|
+
dispose: () => void;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* resize tracks the dimensions of a target element reactively.
|
|
15
|
+
* Uses the ResizeObserver API to monitor size changes.
|
|
16
|
+
*
|
|
17
|
+
* @param target Reactive getter returning the HTMLElement to observe (or null)
|
|
18
|
+
* @returns Object with reactive width/height getters and a dispose function
|
|
19
|
+
*/
|
|
20
|
+
declare function resize(target: () => HTMLElement | null): {
|
|
21
|
+
width: () => number;
|
|
22
|
+
height: () => number;
|
|
23
|
+
dispose: () => void;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* scroll tracks the scroll position of a target element or the window.
|
|
28
|
+
* Returns reactive x/y scroll positions and an isScrolling indicator
|
|
29
|
+
* that resets after 150ms of inactivity.
|
|
30
|
+
*
|
|
31
|
+
* @param target Optional reactive getter for the scroll target element.
|
|
32
|
+
* If omitted or returns null, tracks window scroll.
|
|
33
|
+
* @returns Object with reactive x, y, isScrolling getters and a dispose function
|
|
34
|
+
*/
|
|
35
|
+
declare function scroll(target?: () => HTMLElement | null): {
|
|
36
|
+
x: () => number;
|
|
37
|
+
y: () => number;
|
|
38
|
+
isScrolling: () => boolean;
|
|
39
|
+
dispose: () => void;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* online returns a reactive boolean tracking the browser's online/offline status.
|
|
44
|
+
* Wraps `navigator.onLine` with online/offline event listeners.
|
|
45
|
+
*
|
|
46
|
+
* @returns Object with reactive online getter and dispose function for cleanup
|
|
47
|
+
*/
|
|
48
|
+
declare function online(): {
|
|
49
|
+
online: () => boolean;
|
|
50
|
+
dispose: () => void;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* geo provides reactive access to the device's geographic position.
|
|
55
|
+
* Uses `navigator.geolocation.watchPosition` for continuous updates.
|
|
56
|
+
*
|
|
57
|
+
* @param options Optional PositionOptions for the geolocation API
|
|
58
|
+
* @returns Object with reactive latitude, longitude, accuracy, error getters and dispose
|
|
59
|
+
*/
|
|
60
|
+
declare function geo(options?: PositionOptions): {
|
|
61
|
+
latitude: () => number | null;
|
|
62
|
+
longitude: () => number | null;
|
|
63
|
+
accuracy: () => number | null;
|
|
64
|
+
error: () => GeolocationPositionError | null;
|
|
65
|
+
dispose: () => void;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* battery provides reactive access to the Battery Status API.
|
|
70
|
+
* Returns reactive getters for battery level, charging status, and timing.
|
|
71
|
+
*
|
|
72
|
+
* @returns Object with reactive battery state getters, supported flag, and dispose
|
|
73
|
+
*/
|
|
74
|
+
declare function battery(): {
|
|
75
|
+
level: () => number | null;
|
|
76
|
+
charging: () => boolean | null;
|
|
77
|
+
chargingTime: () => number | null;
|
|
78
|
+
dischargingTime: () => number | null;
|
|
79
|
+
supported: () => boolean;
|
|
80
|
+
dispose: () => void;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* idle tracks user idle state based on mouse, keyboard, and touch activity.
|
|
85
|
+
* Returns a reactive boolean that is true when the user has been idle
|
|
86
|
+
* for the specified timeout duration.
|
|
87
|
+
*
|
|
88
|
+
* @param timeout Idle timeout in milliseconds (default: 60000)
|
|
89
|
+
* @returns Object with reactive idle getter and dispose function for cleanup
|
|
90
|
+
*/
|
|
91
|
+
declare function idle(timeout?: number): {
|
|
92
|
+
idle: () => boolean;
|
|
93
|
+
dispose: () => void;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
type PermissionState = "granted" | "denied" | "prompt" | "unsupported";
|
|
97
|
+
/**
|
|
98
|
+
* permissions queries and reactively tracks a browser permission status.
|
|
99
|
+
* Uses `navigator.permissions.query` and listens for state changes.
|
|
100
|
+
*
|
|
101
|
+
* @param name The permission name to query (e.g. "camera", "microphone", "geolocation")
|
|
102
|
+
* @returns Object with reactive state getter and dispose function
|
|
103
|
+
*/
|
|
104
|
+
declare function permissions(name: string): {
|
|
105
|
+
state: () => PermissionState;
|
|
106
|
+
dispose: () => void;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* clipboard provides reactive access to the async Clipboard API.
|
|
111
|
+
* Tracks the last copied text and provides a `copied` indicator
|
|
112
|
+
* that resets after 2 seconds.
|
|
113
|
+
*
|
|
114
|
+
* @returns Object with reactive text getter, copy function, copied indicator, and dispose
|
|
115
|
+
*/
|
|
116
|
+
declare function clipboard(): {
|
|
117
|
+
text: () => string;
|
|
118
|
+
copy: (text: string) => Promise<void>;
|
|
119
|
+
copied: () => boolean;
|
|
120
|
+
dispose: () => void;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* draggable makes an element draggable and tracks its dragging state.
|
|
125
|
+
* Sets the `draggable` attribute and attaches dragstart/dragend listeners.
|
|
126
|
+
* Serializes the provided data as JSON into the dataTransfer.
|
|
127
|
+
*
|
|
128
|
+
* @param element Reactive getter returning the HTMLElement to make draggable (or null)
|
|
129
|
+
* @param data Optional data payload to transfer on drag
|
|
130
|
+
* @returns Object with reactive isDragging getter and dispose function
|
|
131
|
+
*/
|
|
132
|
+
declare function draggable(element: () => HTMLElement | null, data?: unknown): {
|
|
133
|
+
isDragging: () => boolean;
|
|
134
|
+
dispose: () => void;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* dropZone turns an element into a drop zone and tracks drag-over state.
|
|
138
|
+
* Listens for dragenter, dragleave, dragover, and drop events.
|
|
139
|
+
* Calls options.onDrop with the parsed data payload and the DragEvent.
|
|
140
|
+
*
|
|
141
|
+
* @param element Reactive getter returning the HTMLElement to use as drop zone (or null)
|
|
142
|
+
* @param options Object with onDrop callback receiving the transferred data and event
|
|
143
|
+
* @returns Object with reactive isOver getter and dispose function
|
|
144
|
+
*/
|
|
145
|
+
declare function dropZone(element: () => HTMLElement | null, options: {
|
|
146
|
+
onDrop: (data: unknown, event: DragEvent) => void;
|
|
147
|
+
}): {
|
|
148
|
+
isOver: () => boolean;
|
|
149
|
+
dispose: () => void;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* title sets `document.title` reactively. Accepts a static string
|
|
154
|
+
* or a reactive getter function. Returns a dispose function that
|
|
155
|
+
* restores the previous document title.
|
|
156
|
+
*
|
|
157
|
+
* @param title Static string or reactive getter for the document title
|
|
158
|
+
* @returns Dispose function that restores the original title
|
|
159
|
+
*/
|
|
160
|
+
declare function title(value: string | (() => string)): () => void;
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* colorScheme returns a reactive getter tracking the user's
|
|
164
|
+
* preferred color scheme (light or dark).
|
|
165
|
+
* Uses `matchMedia("(prefers-color-scheme: dark)")` and listens for changes.
|
|
166
|
+
*
|
|
167
|
+
* @returns Object with reactive scheme getter and dispose function for cleanup
|
|
168
|
+
*/
|
|
169
|
+
declare function colorScheme(): {
|
|
170
|
+
scheme: () => "light" | "dark";
|
|
171
|
+
dispose: () => void;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
export { battery, clipboard, colorScheme, draggable, dropZone, geo, idle, media, online, permissions, resize, scroll, title };
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* media returns a reactive boolean that tracks whether a CSS media query matches.
|
|
3
|
+
* Uses `window.matchMedia` and listens to `change` events for live updates.
|
|
4
|
+
*
|
|
5
|
+
* @param query CSS media query string (e.g. "(max-width: 768px)")
|
|
6
|
+
* @returns Object with reactive matches getter and dispose function for cleanup
|
|
7
|
+
*/
|
|
8
|
+
declare function media(query: string): {
|
|
9
|
+
matches: () => boolean;
|
|
10
|
+
dispose: () => void;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* resize tracks the dimensions of a target element reactively.
|
|
15
|
+
* Uses the ResizeObserver API to monitor size changes.
|
|
16
|
+
*
|
|
17
|
+
* @param target Reactive getter returning the HTMLElement to observe (or null)
|
|
18
|
+
* @returns Object with reactive width/height getters and a dispose function
|
|
19
|
+
*/
|
|
20
|
+
declare function resize(target: () => HTMLElement | null): {
|
|
21
|
+
width: () => number;
|
|
22
|
+
height: () => number;
|
|
23
|
+
dispose: () => void;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* scroll tracks the scroll position of a target element or the window.
|
|
28
|
+
* Returns reactive x/y scroll positions and an isScrolling indicator
|
|
29
|
+
* that resets after 150ms of inactivity.
|
|
30
|
+
*
|
|
31
|
+
* @param target Optional reactive getter for the scroll target element.
|
|
32
|
+
* If omitted or returns null, tracks window scroll.
|
|
33
|
+
* @returns Object with reactive x, y, isScrolling getters and a dispose function
|
|
34
|
+
*/
|
|
35
|
+
declare function scroll(target?: () => HTMLElement | null): {
|
|
36
|
+
x: () => number;
|
|
37
|
+
y: () => number;
|
|
38
|
+
isScrolling: () => boolean;
|
|
39
|
+
dispose: () => void;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* online returns a reactive boolean tracking the browser's online/offline status.
|
|
44
|
+
* Wraps `navigator.onLine` with online/offline event listeners.
|
|
45
|
+
*
|
|
46
|
+
* @returns Object with reactive online getter and dispose function for cleanup
|
|
47
|
+
*/
|
|
48
|
+
declare function online(): {
|
|
49
|
+
online: () => boolean;
|
|
50
|
+
dispose: () => void;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* geo provides reactive access to the device's geographic position.
|
|
55
|
+
* Uses `navigator.geolocation.watchPosition` for continuous updates.
|
|
56
|
+
*
|
|
57
|
+
* @param options Optional PositionOptions for the geolocation API
|
|
58
|
+
* @returns Object with reactive latitude, longitude, accuracy, error getters and dispose
|
|
59
|
+
*/
|
|
60
|
+
declare function geo(options?: PositionOptions): {
|
|
61
|
+
latitude: () => number | null;
|
|
62
|
+
longitude: () => number | null;
|
|
63
|
+
accuracy: () => number | null;
|
|
64
|
+
error: () => GeolocationPositionError | null;
|
|
65
|
+
dispose: () => void;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* battery provides reactive access to the Battery Status API.
|
|
70
|
+
* Returns reactive getters for battery level, charging status, and timing.
|
|
71
|
+
*
|
|
72
|
+
* @returns Object with reactive battery state getters, supported flag, and dispose
|
|
73
|
+
*/
|
|
74
|
+
declare function battery(): {
|
|
75
|
+
level: () => number | null;
|
|
76
|
+
charging: () => boolean | null;
|
|
77
|
+
chargingTime: () => number | null;
|
|
78
|
+
dischargingTime: () => number | null;
|
|
79
|
+
supported: () => boolean;
|
|
80
|
+
dispose: () => void;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* idle tracks user idle state based on mouse, keyboard, and touch activity.
|
|
85
|
+
* Returns a reactive boolean that is true when the user has been idle
|
|
86
|
+
* for the specified timeout duration.
|
|
87
|
+
*
|
|
88
|
+
* @param timeout Idle timeout in milliseconds (default: 60000)
|
|
89
|
+
* @returns Object with reactive idle getter and dispose function for cleanup
|
|
90
|
+
*/
|
|
91
|
+
declare function idle(timeout?: number): {
|
|
92
|
+
idle: () => boolean;
|
|
93
|
+
dispose: () => void;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
type PermissionState = "granted" | "denied" | "prompt" | "unsupported";
|
|
97
|
+
/**
|
|
98
|
+
* permissions queries and reactively tracks a browser permission status.
|
|
99
|
+
* Uses `navigator.permissions.query` and listens for state changes.
|
|
100
|
+
*
|
|
101
|
+
* @param name The permission name to query (e.g. "camera", "microphone", "geolocation")
|
|
102
|
+
* @returns Object with reactive state getter and dispose function
|
|
103
|
+
*/
|
|
104
|
+
declare function permissions(name: string): {
|
|
105
|
+
state: () => PermissionState;
|
|
106
|
+
dispose: () => void;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* clipboard provides reactive access to the async Clipboard API.
|
|
111
|
+
* Tracks the last copied text and provides a `copied` indicator
|
|
112
|
+
* that resets after 2 seconds.
|
|
113
|
+
*
|
|
114
|
+
* @returns Object with reactive text getter, copy function, copied indicator, and dispose
|
|
115
|
+
*/
|
|
116
|
+
declare function clipboard(): {
|
|
117
|
+
text: () => string;
|
|
118
|
+
copy: (text: string) => Promise<void>;
|
|
119
|
+
copied: () => boolean;
|
|
120
|
+
dispose: () => void;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* draggable makes an element draggable and tracks its dragging state.
|
|
125
|
+
* Sets the `draggable` attribute and attaches dragstart/dragend listeners.
|
|
126
|
+
* Serializes the provided data as JSON into the dataTransfer.
|
|
127
|
+
*
|
|
128
|
+
* @param element Reactive getter returning the HTMLElement to make draggable (or null)
|
|
129
|
+
* @param data Optional data payload to transfer on drag
|
|
130
|
+
* @returns Object with reactive isDragging getter and dispose function
|
|
131
|
+
*/
|
|
132
|
+
declare function draggable(element: () => HTMLElement | null, data?: unknown): {
|
|
133
|
+
isDragging: () => boolean;
|
|
134
|
+
dispose: () => void;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* dropZone turns an element into a drop zone and tracks drag-over state.
|
|
138
|
+
* Listens for dragenter, dragleave, dragover, and drop events.
|
|
139
|
+
* Calls options.onDrop with the parsed data payload and the DragEvent.
|
|
140
|
+
*
|
|
141
|
+
* @param element Reactive getter returning the HTMLElement to use as drop zone (or null)
|
|
142
|
+
* @param options Object with onDrop callback receiving the transferred data and event
|
|
143
|
+
* @returns Object with reactive isOver getter and dispose function
|
|
144
|
+
*/
|
|
145
|
+
declare function dropZone(element: () => HTMLElement | null, options: {
|
|
146
|
+
onDrop: (data: unknown, event: DragEvent) => void;
|
|
147
|
+
}): {
|
|
148
|
+
isOver: () => boolean;
|
|
149
|
+
dispose: () => void;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* title sets `document.title` reactively. Accepts a static string
|
|
154
|
+
* or a reactive getter function. Returns a dispose function that
|
|
155
|
+
* restores the previous document title.
|
|
156
|
+
*
|
|
157
|
+
* @param title Static string or reactive getter for the document title
|
|
158
|
+
* @returns Dispose function that restores the original title
|
|
159
|
+
*/
|
|
160
|
+
declare function title(value: string | (() => string)): () => void;
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* colorScheme returns a reactive getter tracking the user's
|
|
164
|
+
* preferred color scheme (light or dark).
|
|
165
|
+
* Uses `matchMedia("(prefers-color-scheme: dark)")` and listens for changes.
|
|
166
|
+
*
|
|
167
|
+
* @returns Object with reactive scheme getter and dispose function for cleanup
|
|
168
|
+
*/
|
|
169
|
+
declare function colorScheme(): {
|
|
170
|
+
scheme: () => "light" | "dark";
|
|
171
|
+
dispose: () => void;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
export { battery, clipboard, colorScheme, draggable, dropZone, geo, idle, media, online, permissions, resize, scroll, title };
|