c7d87086a2
feat: smart diffing
Tests / Unit (push) Waiting to run
Tests / E2E (push) Waiting to run
2026-07-19 23:32:19 +02:00
133881a127
feat: composing stylesheets
Tests / Unit (push) Waiting to run
Tests / E2E (push) Waiting to run
2026-07-19 21:19:01 +02:00
861310c6bf
feat: typed props
...
Tests / Unit (push) Waiting to run
Tests / E2E (push) Waiting to run
- jsdocs / types change only to enforce giving shapt to `static props`
2026-07-19 18:27:52 +02:00
5503e57897
feat: buffer attribute changes until end of onInit
...
The assumption of everything starting at `onInit` breaks when browsers
triggers `attributeChanged` first after parsing HTML. This buffers all
property initialization after `onInit` logic for more predictable
behavior
2026-07-05 11:54:44 +02:00
61d0a5adf9
feat!: better distinction between props & attr
...
`onChanges` now introduces an `attribute` in its arguments and
repurposes the `property` to be used for this.props lookup
- `property` is now the camelCase key for `this.props`
- `attribute` is the kebab-case attribute name (i.e., what used to be
`property` before v5)
2026-07-05 11:43:56 +02:00
0e367fa2ec
fix: wrong attr behavior caused by empty strings
2026-07-05 11:25:05 +02:00
248ef14322
fix: no TypeErorr for default props; add strictProps
...
- Remove thrown error if type difference is found in defined props
- Introduce strictProps toggle for error behavior
- Extract size changes to its own log file
2026-07-05 11:11:36 +02:00
394e094693
fix: safer prop clone w/ define-time validation
...
- This implements clear errors & warnings when non-serializeable values are assigned to properties
- Adjusts the size limit budget to allow better messages
- Updates references to size limits
2026-07-05 10:49:16 +02:00
4ffb5f0674
fix: no attribute writes in constructor
2026-07-05 10:30:01 +02:00
4b274e1e99
refactor: link jsdocs to webcomponent.io docs
2026-05-08 19:20:36 +02:00
005bd2e8ae
feat: update error message on using styles outside shadow roots
2026-05-08 14:37:43 +02:00
20c716d78d
feat: show error when has styles & not using shadow roots
2025-03-30 12:46:43 +02:00
822c4d3984
feat: support constructable stylesheets
2025-03-30 12:00:45 +02:00
8a63ed56f5
feat: remove support for static properties
...
- focus usage on static props Blueprint for Proxy
2025-03-22 11:20:32 +01:00
77a2c63c19
feat: remove proxy get handler for type restoration
2025-03-21 22:09:46 +01:00
9ead44babe
feat: remove attach-effect
2025-03-09 00:34:10 +01:00
833e835f65
chore: format code
2024-12-19 22:43:12 +01:00
8c46683527
chore: format code
2024-12-19 22:18:52 +01:00
8723290d90
chore: udpate dev deps; initial migration to eslint flat config ( #46 )
...
* chore: update dev deps
* chore: pnpm update dev deps
* chore: update deps; initial migrate to eslint flat config
* chore: remove 'beta' from readme
* 2.1.0
2024-07-27 22:09:06 +02:00
Ayo Ayco
e78030ab13
feat: use shadow dom host ( #41 )
2023-12-27 00:13:21 +01:00
Ayo Ayco
29fa864ca2
feat: use shadow mode ( #39 )
2023-12-26 23:48:54 +01:00
Ayo Ayco
879032aa1e
chore: set up eslint & husky ( #38 )
2023-12-23 22:40:45 +01:00
Ayo Ayco
aee0ec74aa
feat: scoped styles ( #31 )
2023-12-18 16:57:36 +01:00
Ayo
9268676797
fix: static props makes state shared across class instances
...
- uses structuredClone on static props
- closes #28
2023-12-16 09:03:01 +01:00
Ayo Ayco
5720901d25
chore: update license info ( #21 )
2023-12-12 22:06:12 +01:00
Ayo Ayco
488743e011
chore: format code with prettier ( #14 )
2023-12-10 10:58:46 +01:00
Ayo
26129a5934
feat: helpful TypeError message
2023-12-08 23:36:01 +01:00
Ayo
07bb2d850a
feat: simpler TypeError; use proxy default err
2023-12-08 23:14:03 +01:00
Ayo
bea93f69f7
feat: improve error report for type mismatch
2023-12-08 22:40:03 +01:00
Ayo
98c89624f9
feat: throw TypeError when setting different type
2023-12-08 22:34:25 +01:00
Ayo
85284e9e42
fix: wrong previous dom used in diffing
2023-12-08 22:13:34 +01:00
Ayo Ayco
3c1b3b0893
feat: templating ( #9 )
2023-12-08 21:31:05 +01:00
Ayo Ayco
00648883fa
feat: props blueprint ( #8 )
2023-12-08 18:00:40 +01:00
Ayo
f56068e76e
chore: export all utils
2023-12-08 15:05:27 +01:00
Ayo
b613d8e77c
refactor: use index exports
2023-12-08 14:45:12 +01:00
Ayo Ayco
703ef9e45d
feat: initial utils distribution ( #7 )
2023-12-08 13:15:00 +01:00
Ayo
d7651b5f33
feat: support objects in props
2023-12-07 17:30:53 +01:00
Ayo
6ae5961c4f
feat(site): show link to FAQs issue
2023-12-02 09:39:37 +01:00
Ayo Ayco
73dd374a3e
feat: attach-effect ( #2 )
...
We are now able to attach "side effects" to property value changes, from inside the component and outside.
2023-12-01 08:42:10 +01:00
Ayo
9480f37844
chore: format
2023-11-26 04:19:19 +01:00
Ayo
6027f664b3
feat: preserve props type
2023-11-26 03:43:41 +01:00
Ayo
fa506c8c0f
refactor: use Proxy of empty object
2023-11-23 22:15:25 +01:00
Ayo
15a3b1ce33
chore: clean up; update readme docs
2023-11-23 22:03:26 +01:00
Ayo
eeb0b1ef59
feat: allow string | Node | (string | Node)[]
2023-11-21 21:05:22 +01:00
Ayo
de673e2f12
feat: remove barrel file
2023-11-19 18:25:49 +01:00
Ayo
29c26be58c
refactor: move initializeProp to constructor
2023-11-19 00:35:07 +01:00
Ayo
2c285a60bb
refactor: remove constructor; move initializeProps to connectedCallback
2023-11-19 00:12:30 +01:00
Ayo
a3845b7e7c
refactor: prevent attribute changing twice
2023-11-18 23:38:06 +01:00
Ayo
d54ff6fa94
fix: illegal invocation
2023-11-18 23:30:56 +01:00
Ayo
341424187b
refactor: only pass setter to handler; initializeProps on attribute changes
2023-11-18 23:28:10 +01:00