Commit Graph

233 Commits

Author SHA1 Message Date
Alex Snezhko c13e674fb9
fix(custom-element): batch custom element prop patching (#13478)
close #12619
2025-11-05 16:50:00 +08:00
skirtle 079010a38c
test(v-model): mutating an array or set checkbox value (#13974)
ci / test (push) Has been cancelled Details
ci / continuous-release (push) Has been cancelled Details
size data / upload (push) Has been cancelled Details
2025-10-09 10:16:11 +08:00
Matthias Hryniszak 47e628df1c
feat(custom-element): allow specifying additional options for `shadowRoot` in custom elements (#12965)
close #12964
2025-09-24 21:14:54 +08:00
Alex Snezhko c4a88cdd0d
fix(custom-element): set prop runs pending mutations before disconnect (#13897)
close #13315
2025-09-24 17:42:11 +08:00
linzhe 5e1e791880
fix(custom-element): properly mount multiple Teleports in custom element component w/ shadowRoot false (#13900)
close #13899
2025-09-24 17:15:36 +08:00
edison 5358bca4a8
fix(custom-element): use PatchFlags.BAIL for slot when props are present (#13907)
close #13904
2025-09-24 17:08:25 +08:00
Folee e322436887
fix(custom-element): prevent defineCustomElement from mutating the options object (#13791) 2025-09-02 16:56:33 +08:00
linzhe 90573b06bf
fix(custom-element): ensure exposed methods are accessible from custom elements by making them enumerable (#13634)
close #13632
2025-07-23 08:40:40 +08:00
GU Yiling c85f1b5a13
fix(css-vars): nullish v-bind in style should not lead to unexpected inheritance (#12461)
ci / test (push) Waiting to run Details
ci / continuous-release (push) Waiting to run Details
size data / upload (push) Waiting to run Details
close #12434
close #12439
close #7474
close #7475
2025-07-03 16:20:28 +08:00
edison 5ba1afba09
fix(custom-element): ensure configureApp is applied to async component (#12607)
close #12448
2025-06-05 10:10:52 +08:00
edison 73055d8d95
fix(custom-element): prevent injecting child styles if shadowRoot is false (#12769)
close #12630
2025-06-05 10:02:26 +08:00
edison a683c80cf4
fix(custom-element): properly resolve props for sync component defs (#12855)
close #12854
2025-05-22 08:38:27 +08:00
edison 1d41d4de7f
fix(custom-element): ensure proper remount and prevent redundant slot parsing with shadowRoot false (#13201)
close #13199
2025-05-22 08:05:39 +08:00
edison 013749e75e
fix(custom-element): preserve appContext during update (#12455)
close #12453
2025-05-20 08:34:36 +08:00
Adrian Cerbaro b9910755a5
fix(custom-element): allow injecting values ​​from app context in nested elements (#13219)
close #13212)
2025-05-16 08:07:32 +08:00
Evan You 352bc88c1b
fix(custom-element): avoid triggering mutationObserver when relecting props
close #12214
close #12215
2024-11-15 17:21:49 +08:00
linzhe c4312f9c71
fix(runtime-dom): set css vars on update to handle child forcing reflow in onMount (#11561) 2024-11-14 15:58:28 +08:00
Evan You 2d5c5e25e9
fix(runtime-dom): set css vars before user onMounted hooks
close #11533
2024-11-14 15:50:19 +08:00
linzhe 76a8223199
fix(teleport): handle disabled teleport with updateCssVars (#12113)
close #12112
2024-10-11 10:50:36 +08:00
edison e16e9a7341
fix(custom-element): properly remove hyphenated attribute (#12143)
close #12139
2024-10-11 09:52:06 +08:00
Evan You ea3efa09e0
fix(custom-element): properly set kebab-case props on Vue custom elements
close #12030
close #12032
2024-09-27 09:25:00 +08:00
linzhe f2d8019188
fix(custom-element): handle nested customElement mount w/ shadowRoot false (#11861)
close #11851
close #11871
2024-09-13 20:18:10 +08:00
Alex Liu c3ce9fe3d8
fix(runtime-dom): avoid unnecessary prop patch for checkbox (#11657)
close #11647
2024-09-03 21:10:18 +08:00
Hanse Kim b1be9bd64f
fix(runtime-dom): prevent unnecessary DOM update from v-model (#11656)
close #11647
2024-09-03 17:44:07 +08:00
Evan You 506c4c53fd
fix(custom-element): delete prop on attribute removal
close #11276
2024-08-08 18:37:54 +08:00
Evan You a07e7bf553
fix(custom-element): support early-set domProps for async custom elements
close #11081
close #11082
2024-08-08 16:26:48 +08:00
Evan You 9b531d5716
test: rectify accidentally passing test 2024-08-08 15:57:07 +08:00
Evan You 7d5743223f
chore: use fresh containers for app mount tests 2024-08-08 14:42:16 +08:00
Evan You 775103af37
feat(custom-element): useHost() helper 2024-08-08 12:35:00 +08:00
Cédric Exbrayat 5753a10fc5
chore: fix wrong test name for useShadowRoot (#11550) 2024-08-07 21:29:56 +08:00
Evan You eaf5455d77
chore: Merge branch 'main' into minor 2024-08-07 18:25:58 +08:00
Evan You 978ff3c1db
fix(custom-element): fix custom-element double render on immediate prop change
fix #9885
close #11335
2024-08-07 17:44:11 +08:00
Evan You 6758c3cd04
feat(custom-element): support configurable app instance in defineCustomElement
Support configuring via `configureApp` option:

```js
defineCustomElement({
  // ...
}, {
  configureApp(app) {
    // ...
  }
})
```

close #4356
close #4635
2024-08-07 16:08:06 +08:00
Evan You 63689ed776
fix(custom-element): reflect prop default value on custom element
close #9006
close #10537
2024-08-07 02:51:29 +08:00
Evan You 37ccb9b9a0
fix(custom-element): delay mounting of custom elements with async parent
close #8127
close #9341
close #9351

the fix is based on #9351 with reused tests
2024-08-07 02:18:54 +08:00
白雾三语 03a9ea2b88
feat(custom-element): support css `:host` selector by applying css vars on host element (#8830)
close #8826
2024-08-06 23:33:57 +08:00
Evan You bb4a02a70c
feat(custom-element): support nonce option for injected style tags
close #6530
2024-08-06 15:41:54 +08:00
Evan You 60a88a2b12
feat(custom-element): support passing custom-element-specific options via 2nd argument of defineCustomElement 2024-08-06 15:37:28 +08:00
Evan You 56c76a8b05
feat(custom-element): inject child components styles to custom element shadow root (#11517)
close #4662
close #7941
close #7942
2024-08-05 20:49:28 +08:00
郝晨光 af838c1b5e
feat(custom-element): support for expose on customElement (#6256)
close #5540
2024-08-03 14:48:21 +08:00
Evan You 5a1a89bd61
feat(custom-element): useShadowRoot() helper
close #6113
close #8195
2024-08-03 14:19:19 +08:00
Evan You e181bff6dc
feat(custom-element): support emit with options
In a custom element created via `defineCustomElement`, if the first
event argument is an object, it will be used as the options object
for the emitted CustomEvent. The entire argument list is still exposed
via the CustomEvent's `detail` property.

```js
emit('event', { bubbles: true })
```

close #7605
2024-08-03 13:46:58 +08:00
Evan You 37d2ce5d8e
feat(custom-element): support shadowRoot: false in defineCustomElement()
close #4314
close #4404
2024-08-03 13:14:22 +08:00
Evan You 66579ea544
chore: Merge branch 'main' into minor 2024-07-19 18:07:42 +08:00
Tycho 5df67e3675
fix(runtime-dom): handle undefined values in v-html (#11403) 2024-07-19 16:52:03 +08:00
Evan You f15ba2c2e2
chore: Merge branch 'main' into minor 2024-07-17 17:32:31 +08:00
linzhe 3e9e32ee0a
fix(runtime-dom): properly handle innerHTML unmount into new children (#11159)
close #9135
2024-07-17 16:37:14 +08:00
Evan You 7d06ca3a83
chore: Merge branch 'main' into minor 2024-06-22 21:05:15 +08:00
Thorsten Lünborg a2e35d682d
fix(runtime-dom): ensure only symbols are explicitly stringified during attribute patching (#11182)
close #11177
2024-06-22 17:04:41 +08:00
Tycho 8ae4c293ad
fix(runtime-dom): prevent setting state as attribute for custom elements (#11165)
close #11163
2024-06-22 16:42:12 +08:00