#3eaf7c
#51b789
#65bf96
#78c7a3
#8bcfb0
#9fd7be
#b2dfcb
#c5e7d8
#d8efe5
#ecf7f2
#ffffff
useTitle
tints & shades
#3eaf7c
#51b789
#65bf96
#78c7a3
#8bcfb0
#9fd7be
#b2dfcb
#c5e7d8
#d8efe5
#ecf7f2
#ffffff
#3eaf7c
#389e70
#328c63
#2b7a57
#25694a
#1f583e
#194632
#133425
#0c2319
#06110c
#000000
Inspired by https://maketintsandshades.com/
useClipboard
useDark
isDark = false
The value is by default read from the system preferences. See how to adjust that.
useColorMode
onKeyStroke
Use the arrow keys or w (up), a (left), s (down) or d (right) keys to control the movement of the ball.
Repeated events are ignored on the key `d` or `->` (see property `dedupe`).
useMagicKeys
Instructions: press any key simultaneously to update the Set below.
Simultaneously pressed keys:
{
"Set(0)": []
}🫸 : si vous faites un CTRL+S ou CTRL+P, votre navigateur réagira comme il se doit...
... and try a+s
... and try a+w
useBattery
{
"isSupported": true,
"charging": true,
"chargingTime": 0,
"dischargingTime": null,
"level": 1
}useOnline & useNetwork
true
{
"isSupported": true,
"isOnline": true,
"saveData": false,
"onlineAt": 1764870808733,
"downlink": 10,
"effectiveType": "4g",
"rtt": 0
}useGeolocation
{
"coords": {
"accuracy": 0,
"latitude": null,
"longitude": null,
"altitude": null,
"altitudeAccuracy": null,
"heading": null,
"speed": null
},
"locatedAt": null,
"error": null
}usePageLeave & useConfirmDialog
Cursor hovering the browser window? Yes
usePageLeave & native dialog element
usePointer & useElementBounding
{
"x": 0,
"y": 0,
"pointerId": 0,
"pressure": 0,
"tiltX": 0,
"tiltY": 0,
"width": 0,
"height": 0,
"twist": 0,
"pointerType": null,
"isInside": false
}Color picked: #000000
Mouse position: 0 x 0
Canvas position: 311 x 2322
Brush position (in regards to document): 0 x 0
Brush position (in regards to canvas): -311 x -1161
useRafFn
useTimout
Hover the notification before it disappears (within 5 seconds)!
Then move the mouse away from the the notification to make it disappear (within 5 seconds)!
true
useTimestamp, useNow, useDateFormat
1
From useTimestamp: 4 December 2025
From useNow: 4 December 2025
useTransition
load directly: 0
load with transition: 0
load with transition and round values: 0
useRefHistory
[
{
"snapshot": "",
"timestamp": 1764870808749
}
][
{
"snapshot": "",
"timestamp": 1764870808749
}
][
{
"snapshot": [],
"timestamp": 1764870808749
}
]useLocalStorage & useSessionStorage
useFetch & computedAsync
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}useBase64
useCycleList
useAlertFavicon
The Alert button will show an emoji every second in place of the favicon
The Change button will replace the favicon with another one
The Cancel will stop the favicon animation
useArrayDifference
None
None
useFileSystemAccess
Create a text file on your computer. Its contents will be loaded in the textarea.
Your browser supports this demo.