@invisibleloop/pulse 0.20.59 → 0.20.60

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invisibleloop/pulse",
3
- "version": "0.20.59",
3
+ "version": "0.20.60",
4
4
  "type": "module",
5
5
  "description": "AI-first frontend framework. The spec is the source of truth.",
6
6
  "license": "MIT",
@@ -1 +1 @@
1
- 0.20.59
1
+ 0.20.60
@@ -639,7 +639,9 @@ function syncFormProperty(cur, nxt) {
639
639
  const next = nxt.hasAttribute('checked')
640
640
  if (cur.checked !== next) cur.checked = next
641
641
  } else if (document.activeElement !== cur) {
642
- const next = nxt.getAttribute('value') ?? ''
642
+ // A textarea has no value attribute: its default value is its child text, which
643
+ // nxt.value reads (and which the HTML parser has already normalised).
644
+ const next = tag === 'TEXTAREA' ? nxt.value : (nxt.getAttribute('value') ?? '')
643
645
  if (cur.value !== next) cur.value = next
644
646
  }
645
647
  } else if (tag === 'SELECT' && document.activeElement !== cur) {