Commit graph

139 commits

Author SHA1 Message Date
0e6eee28fd Make DOMState API more generic
The old interface was too specific to the way domLense works, by
assuming the value to be an array that gets mutated elsewhere (or a
proxy that behaves like one)
2024-01-15 11:48:52 +01:00
eb75dc531a Remove exports from state.js 2024-01-15 11:03:11 +01:00
3b3e6467c8 Refactor exports
Export rules:
* All default exports as named exports
* Default export wherever it makes sense
2024-01-11 15:44:11 +01:00
7be7cf0210
Change DOMState value to last static value 2024-01-10 22:47:30 +01:00
61be174b6e
Add domState class 2024-01-10 20:42:47 +01:00
f199f64932 Add kebab<->camel case conversion to component state 2024-01-10 15:23:10 +01:00
451718cb74 Add event method/setting to domLense 2024-01-10 15:01:46 +01:00
fb000ba7a3 Replace state from component constructor entirely 2024-01-10 13:31:42 +01:00
b51732636d Add component as argument to state component constructor 2024-01-10 13:28:56 +01:00
f6b82e22ef Enable lense growing with empty values 2024-01-08 14:27:14 +01:00
be79784b2d Add domLense helper 2024-01-08 13:37:36 +01:00
f79e7a9c14
Fix error when passing undefined into tag generator 2023-12-30 13:17:36 +01:00
b476b8651e
Bump minor version number 2023-12-30 13:09:35 +01:00
cdc56f5848
Add nested state change forwarding 2023-12-27 19:58:49 +01:00
37948987b0
Add composed states 2023-12-27 18:52:42 +01:00
b7bb093a0c
Compare strings in component attributes 2023-12-27 18:50:11 +01:00
7febebce65
Map names of forward states to "value" 2023-12-27 18:50:11 +01:00
64b73676cb
Make state components update attributes on state change 2023-12-23 21:16:58 +01:00
b46c5d1d5c
Fix oversights in forwarded state caching 2023-12-23 21:05:55 +01:00
99d791921e
Move description above import block in readme 2023-12-23 18:25:05 +01:00
b372b33f6c
Bump minor version number 2023-12-23 17:48:10 +01:00
e80801b639
Cache forwarded states to avoid duplication 2023-12-23 17:46:43 +01:00
e38d556531
Add fallback option to forwarded state 2023-12-23 17:31:45 +01:00
cebd867bd2
Make reactive elements keep a weak ref to their reactive source 2023-12-23 17:31:01 +01:00
ac484b223d
Re-structure readme 2023-12-22 18:43:47 +01:00
4a348f7806
Remove bind function from readme 2023-12-22 01:02:59 +01:00
3664c59cc0
Bump minor version number 2023-12-22 01:00:28 +01:00
04ab913b72
Fix error when accessing undefined StoredState values 2023-12-22 00:59:28 +01:00
de88e6a9d6
Bump minor version number 2023-12-22 00:41:32 +01:00
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
2a515dc47d
Bump minor version number and add website link 2023-12-21 23:58:24 +01:00
f1f79945dd
Add state management module
Moved over from darkwiiplayer/js project
2023-12-21 23:54:06 +01:00
1e8b033817
Bump minor version number 2023-12-21 23:50:01 +01:00
79a728520e
Replace bind function with proper reactivity
* Detects state elements
* Two-Way binding for supported attributes
2023-12-21 23:36:48 +01:00
bc1383f07d
Fix unnecessary "is" attribute being added to nodes 2023-12-15 00:23:05 +01:00
0bb3bd4631 Add import examples to readme 2023-12-11 10:52:49 +01:00
cc7b49d438 Update metadata 2023-10-04 10:35:56 +02:00
ee51af8176
Add package.json (yes, this is now on npm) 2023-09-29 17:51:49 +02:00
ee88c467ee
Rework the readme somewhat 2023-09-29 17:16:24 +02:00
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
e7afbaf3c1
Allow returning text in skooma bind method 2023-09-29 15:10:46 +02:00
633332d4ea
Further refactor code 2023-09-29 15:10:35 +02:00
53e25e223e
Mildly refactor skooma.js 2023-09-29 15:10:28 +02:00
77af61fc45
Improve skooma warning on undefined arguments 2023-09-29 15:10:28 +02:00
4128cb53aa
Add fragment helper to skooma.js 2023-09-29 15:10:26 +02:00
0f2e596c54
Fix bug introduced in latest version 2023-09-29 15:10:16 +02:00
d706e09da1
Replace mechanism for creating customized built-in elements 2023-09-29 15:09:37 +02:00
3be6f513b3
Fix error in skooma 2023-09-29 15:09:30 +02:00
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
4621790fbd
Add mechanism for custom built-in elements
Note: Fuck Javascript
2023-09-29 15:09:30 +02:00