Commit Graph

56 Commits

Author SHA1 Message Date
lejunyang 1f0062c2c7 fix(runtime-dom): should properly patch as props for vue custom element (#12408) 2024-11-15 23:21:01 +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
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
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 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
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 7d06ca3a83
chore: Merge branch 'main' into minor 2024-06-22 21:05:15 +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
Evan You 524e660e35
chore: Merge branch 'main' into minor 2024-06-14 18:15:20 +02:00
Evan You 7c8b12620a
fix(custom-element): support same direct setup function signature in defineCustomElement
close #11116
2024-06-14 15:19:42 +02:00
Evan You 1d8727ec97
chore: Merge branch 'main' into minor 2024-05-30 11:21:12 +08:00
白雾三语 bbb5be299b
fix(custom-element): disconnect MutationObserver in nextTick in case that custom elements are moved (#10613)
Closes #10610
2024-05-22 00:14:02 +08:00
Evan You 75c8cf63a1
feat(types): provide internal options for directly using user types in language tools (#10801) 2024-04-27 11:48:37 +08:00
edison b49306adff
fix(custom-element): avoid setting attr to null if it is removed (#9012)
Partially fixes #9006
Fixes #10324
2024-03-16 16:28:03 +08:00
三咲智子 Kevin Deng bfe6b459d3
style: update format & lint config (#9162)
Co-authored-by: 丶远方 <yangpanteng@gmail.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
2023-12-26 19:39:47 +08:00
Lioness100 6277cb994a
chore: fix typo (#7693) 2023-06-10 17:17:41 +08:00
丶远方 b01fc7ea84
chore: remove unnecessary imports (#8262) 2023-05-19 07:54:12 +08:00
Evan You 4ee0dad0fe wip(vitest-migration): runtime-dom tests passing + use environmentMatchGlobs 2023-01-26 21:35:50 +08:00
Evan You 8867bb259a wip(vitest-migration): reactivity tests passing 2023-01-26 15:25:55 +08:00
白雾三语 c6e5bda27d
fix(customElement): customElement can emit event (#7296)
close https://github.com/vuejs/core/issues/7293
2022-12-23 22:32:21 +01:00
Evan You 24964dab25 test: test case for #6966 2022-11-11 17:06:50 +08:00
Thorsten Lünborg 55382aed58
fix(custom-elements): define declared properties in constructor (#5328) 2022-11-11 02:46:01 -05:00
Evan You 89f37ceb62 fix(custom-elements): fix number type props casting check
fix #5793
adapted from #5794
2022-11-11 15:20:28 +08:00
Evan You afe889999c fix(custom-elements): properties set pre-upgrade should not show up in $attrs 2022-11-11 14:42:42 +08:00
Evan You 5e50909100 fix(custom-elements): should not reflect non-decalred properties set before upgrade 2022-11-11 14:14:55 +08:00
Thorsten Lünborg 665f2ae121
fix(custom-elements): fix event emitting for async custom elements (#5601)
fix #5599
2022-11-10 23:33:17 -05:00
Thorsten Lünborg 0b39e46192
fix(custom-elements): also dispatch hyphenated version of emitted events (#5378)
fix #5373
2022-11-10 23:01:10 -05:00
Thorsten Lünborg 192dcb648c
fix(custom-elements): ensure custom elements can inherit provides from ancestors (#5098)
fix #5096
2022-11-10 21:33:17 -05:00
Thorsten Lünborg f67bb500b6
fix(runtime-dom): ensure customElement handles empty props correctly. (#6182)
fix Scoped attribute in Vue file affects the use of web component #6163,#6895
2022-11-01 09:49:06 +01:00
Thorsten Lünborg b0b74a160c
fix(runtime-core): custom-element: ensure number casting of camelCase props. (fix: #5374) (#5377) 2022-10-22 11:20:46 +02:00
edison f4d2c9fc6a
fix(custom-elements): work with async component + slots (#4657)
close #4639
2022-04-13 05:58:29 -04:00
Evan You 4b7f76e36a fix(custom-element): fix custom element props access on initial render
ref: #4792
2021-11-02 13:20:31 +08:00
Evan You 3ca83179d1 fix(custom-element): fix initial attr type casting for programmtically created elements
fix #4772
2021-10-09 18:34:54 -04:00
Evan You 0cfa2112ce fix(custom-elements): fix number prop casting
fix #4370, close #4393
2021-09-16 19:15:15 -04:00