Talia
64b73676cb
Make state components update attributes on state change
2023-12-23 21:16:58 +01:00
Talia
b46c5d1d5c
Fix oversights in forwarded state caching
2023-12-23 21:05:55 +01:00
Talia
99d791921e
Move description above import block in readme
2023-12-23 18:25:05 +01:00
Talia
b372b33f6c
Bump minor version number
2023-12-23 17:48:10 +01:00
Talia
e80801b639
Cache forwarded states to avoid duplication
2023-12-23 17:46:43 +01:00
Talia
e38d556531
Add fallback option to forwarded state
2023-12-23 17:31:45 +01:00
Talia
cebd867bd2
Make reactive elements keep a weak ref to their reactive source
2023-12-23 17:31:01 +01:00
Talia
ac484b223d
Re-structure readme
2023-12-22 18:43:47 +01:00
Talia
4a348f7806
Remove bind function from readme
2023-12-22 01:02:59 +01:00
Talia
3664c59cc0
Bump minor version number
2023-12-22 01:00:28 +01:00
Talia
04ab913b72
Fix error when accessing undefined StoredState values
2023-12-22 00:59:28 +01:00
Talia
de88e6a9d6
Bump minor version number
2023-12-22 00:41:32 +01:00
Talia
ae334801d4
Add forward method do state
...
This returns a thin wrapper State with its value proxied to a given
attribute on the backend state.
2023-12-22 00:38:54 +01:00
Talia
2a515dc47d
Bump minor version number and add website link
2023-12-21 23:58:24 +01:00
Talia
f1f79945dd
Add state management module
...
Moved over from darkwiiplayer/js project
2023-12-21 23:54:06 +01:00
Talia
1e8b033817
Bump minor version number
2023-12-21 23:50:01 +01:00
Talia
79a728520e
Replace bind function with proper reactivity
...
* Detects state elements
* Two-Way binding for supported attributes
2023-12-21 23:36:48 +01:00
Talia
bc1383f07d
Fix unnecessary "is" attribute being added to nodes
2023-12-15 00:23:05 +01:00
Talia
0bb3bd4631
Add import examples to readme
2023-12-11 10:52:49 +01:00
Talia
cc7b49d438
Update metadata
2023-10-04 10:35:56 +02:00
Talia
ee51af8176
Add package.json (yes, this is now on npm)
2023-09-29 17:51:49 +02:00
Talia
ee88c467ee
Rework the readme somewhat
2023-09-29 17:16:24 +02:00
Talia
3f865aa7c1
Extract from darkwiiplayer/js repository
...
All commits before this one have been cherry-picked and partly modified
from the `darkwiiplayer/js` repository, where skooma was originally at
home, and may at times have some weird wording, as they were written in
the context of that mixed repository.
2023-09-29 16:53:49 +02:00
Talia
e7afbaf3c1
Allow returning text in skooma bind method
2023-09-29 15:10:46 +02:00
Talia
633332d4ea
Further refactor code
2023-09-29 15:10:35 +02:00
Talia
53e25e223e
Mildly refactor skooma.js
2023-09-29 15:10:28 +02:00
Talia
77af61fc45
Improve skooma warning on undefined arguments
2023-09-29 15:10:28 +02:00
Talia
4128cb53aa
Add fragment helper to skooma.js
2023-09-29 15:10:26 +02:00
Talia
0f2e596c54
Fix bug introduced in latest version
2023-09-29 15:10:16 +02:00
Talia
d706e09da1
Replace mechanism for creating customized built-in elements
2023-09-29 15:09:37 +02:00
Talia
3be6f513b3
Fix error in skooma
2023-09-29 15:09:30 +02:00
Talia
64f28972c0
Remove promise handling from skooma.js
...
This was really just feature creep and doesn't have to be part of
skooma. It could easily be implemented as an independent function or
module.
2023-09-29 15:09:30 +02:00
Talia
4621790fbd
Add mechanism for custom built-in elements
...
Note: Fuck Javascript
2023-09-29 15:09:30 +02:00
Talia
16ac15b7c3
Add explicit empty value to skooma
...
Optional arguments in skooma can be very annoying at times:
html.span("foo: ", may_return_undefined())
Skooma will produce a warning to inform the user that one of their
arguments is undefined as is is often unintended.
The new `empty` value provides a mechanism to explicitly ignore a single
argument, should it be optional
html.span("foo: ", may_return_undefined() || empty)
2023-09-29 15:09:30 +02:00
Talia
9bb5f82302
Add check for null in skooma as well
2023-09-29 15:09:30 +02:00
Talia
0366b3822b
Handle undefined arguments without crashing in skooma
2023-09-29 15:09:30 +02:00
Talia
5f165d1071
Refactor CSS and add "style" function
2023-09-29 15:09:28 +02:00
Talia
b40ee8d5b1
Rework skooma.bind function
2023-09-29 15:09:17 +02:00
Talia
0d67ca1f5e
Make skooma/bind more robust
2023-09-29 15:09:09 +02:00
Talia
e8d18ae19a
Extend skooma.text function to support template strings
2023-09-29 15:09:09 +02:00
Talia
694b4da6a4
Add current property to skooma bound elements
...
Elements bound witht he skooma bind function now get a `current`
property patched in.
2023-09-29 15:09:09 +02:00
Talia
60b40e2bc0
Add the skooma bind function
2023-09-29 15:09:09 +02:00
Talia
b440eec373
Add text wrapper to skooma.js
2023-09-29 15:09:09 +02:00
Talia
6094fd602d
Add `handle` helper function to skooma
2023-09-29 15:09:09 +02:00
Talia
5687ba9b22
Add more examples to show off skooma's features
2023-09-29 15:09:09 +02:00
Talia
caf113a7ae
Write documentation for listener, speaker and skooma
2023-09-29 15:09:09 +02:00
Talia
6f99045d22
Add support for initialisation function to skooma
2023-09-29 15:09:09 +02:00
Talia
4e67cba014
Add special case for dataset to skooma templating
2023-09-29 15:09:08 +02:00
Talia
742eb36035
Remove preventDefault from inline event listeners
2023-09-29 15:09:08 +02:00
Talia
2e1ee0358c
Add prommise support to skooma
2023-09-29 15:09:08 +02:00