Commit Graph

71 Commits

Author SHA1 Message Date
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 f2d8019188
fix(custom-element): handle nested customElement mount w/ shadowRoot false (#11861)
close #11851
close #11871
2024-09-13 20:18:10 +08:00
edison f1d1831f07
fix(custom-element): handle keys set on custom elements (#11655)
close #11641
2024-08-29 15:09:15 +08:00
Andy Li 5e0f6d5f8f
fix(types/custom-element): `defineCustomElement` with required props (#11578) 2024-08-16 16:22:03 +08:00
Evan You e19fc27042
fix(custom-element): keep instance.isCE for backwards compat 2024-08-15 15:18:19 +08:00
Evan You 90caac473d
test(custom-element): test custom element hydration w/ declarative shadow dom 2024-08-10 16:39:20 +08:00
Kevin Deng 三咲智子 928af5fe2f
refactor(types): enable `isolatedDeclarations` (#11178) 2024-08-08 23:05:21 +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 775103af37
feat(custom-element): useHost() helper 2024-08-08 12:35:00 +08:00
Evan You 197afc2c1f
chore: fix useShadowRoot warning method name 2024-08-07 17:21:36 +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 bcb9a70290
types: custom element interface should be internal 2024-08-07 02:33:20 +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
edison 917c0631cc
chore: fix typo (#11522) 2024-08-06 18:20:40 +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
Evan You b74687c0bb
refactor: isCE -> ce 2024-08-05 16:33:48 +08:00
Evan You 6e541db29f
chore: warn style injection in shadowRoot: false mode 2024-08-05 16:33:05 +08:00
Andy Li e94b01bd8a
fix(types/custome-element): `defineCustomElement` props inference with array emits (#11384)
close #11353
2024-08-05 11:14:36 +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 7f2c505f92
fix(custom-element): ignore scoped id 2024-08-03 13:40:57 +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 524e660e35
chore: Merge branch 'main' into minor 2024-06-14 18:15:20 +02:00
Evan You bda5ff1d3f
chore: fix missing type import 2024-06-14 16:04:04 +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 c146186396
fix(types): fix compat with generated types that rely on CreateComponentPublicInstance
close #10842
2024-04-30 10:09:06 -07: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
Rudy 5d932a8e6d
fix(types): defineCustomElement using defineComponent return type with emits (#7937)
close #7782
2023-11-10 13:52:54 +08:00
丶远方 24d98f0327
perf(custom-element): cancel `MutationObserver` listener when disconnected (#8666) 2023-07-12 11:13:20 +08:00
Anthony Fu 438027cf9e
perf: mark `defineComponent` as side-effects-free (#8512) 2023-07-11 17:52:43 +08:00
Evan You bdf557f6f2 fix(types): retain type parameters order for public types 2023-04-05 22:30:50 +08:00
三咲智子 Kevin Deng 5a2f5d59cf
feat(types/slots): support slot presence / props type checks via `defineSlots` macro and `slots` option (#7982) 2023-04-03 16:49:16 +08:00
Evan You 58e5c51149 build: upgrade to TypeScript 5.x 2023-03-23 17:11:35 +08:00
ysy945 67890daad1
fix(custom-elements): custom element should re-instantiate when inserted again (#6966)
fix #6934
2022-11-11 04:06:21 -05: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