Skip to content

Commit aeaf2a4

Browse files
committed
fix(createVueInstance): not working slots in [email protected]
1 parent 8dee8bb commit aeaf2a4

File tree

3 files changed

+38
-40
lines changed

3 files changed

+38
-40
lines changed

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ If you are using Vue globally, just include `vue-custom-element.js` and it will
3636
<script src="path/to/vue-custom-element.js"></script>
3737
```
3838

39-
Minimized and unminimized `vue-custom-element` files differs only by Hot Module Replacement support (Vue@2+):
40-
* `dist/vue-custom-element.js` - unminimized, developement build with HMR
41-
* `dist/vue-custom-element.min.js` - minimized, production build without HMR
42-
4339
####Optional polyfill
4440
For cross-browser compatibility (IE9+) use Custom Elements polyfill.
4541

src/utils/createVueInstance.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,12 @@ export default function createVueInstance(element, Vue, componentDefinition, pro
7777
rootElement.props = propsWithDefault;
7878
}
7979

80-
const componentRootElement = document.createElement('div');
81-
82-
while (element.childNodes.length) {
83-
componentRootElement.appendChild(element.childNodes[0]);
84-
}
85-
80+
const elementInnerHtml = vueVersion >= 2 ? '<div></div>' : `<div>${element.innerHTML}</div>`.replace(/vue-slot=/g, 'slot=');
8681
if (options.shadow && element.shadowRoot) {
87-
element.shadowRoot.appendChild(componentRootElement);
82+
element.shadowRoot.innerHTML = elementInnerHtml;
8883
rootElement.el = element.shadowRoot.children[0];
8984
} else {
90-
element.appendChild(componentRootElement);
85+
element.innerHTML = elementInnerHtml;
9186
rootElement.el = element.children[0];
9287
}
9388

yarn.lock

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
5252
version "1.5.1"
5353
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
5454

55-
ajv@^4.11.2, ajv@^4.7.0:
56-
version "4.11.3"
57-
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22"
55+
ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1:
56+
version "4.11.4"
57+
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.4.tgz#ebf3a55d4b132ea60ff5847ae85d2ef069960b45"
5858
dependencies:
5959
co "^4.6.0"
6060
json-stable-stringify "^1.0.1"
@@ -852,8 +852,8 @@ block-stream@*:
852852
inherits "~2.0.0"
853853

854854
bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.4.7:
855-
version "3.4.7"
856-
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
855+
version "3.5.0"
856+
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
857857

858858
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
859859
version "4.11.6"
@@ -1018,9 +1018,9 @@ caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000628, caniuse-db@^1.0.30000631:
10181018
version "1.0.30000631"
10191019
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000631.tgz#8aa6f65cff452c4aba1c2aaa1e724102fbb9114f"
10201020

1021-
caseless@~0.11.0:
1022-
version "0.11.0"
1023-
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
1021+
caseless@~0.12.0:
1022+
version "0.12.0"
1023+
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
10241024

10251025
center-align@^0.1.1:
10261026
version "0.1.3"
@@ -1770,8 +1770,8 @@ errno@^0.1.3:
17701770
prr "~0.0.0"
17711771

17721772
error-ex@^1.2.0:
1773-
version "1.3.0"
1774-
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
1773+
version "1.3.1"
1774+
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
17751775
dependencies:
17761776
is-arrayish "^0.2.1"
17771777

@@ -1870,8 +1870,8 @@ escope@^3.6.0:
18701870
estraverse "^4.1.1"
18711871

18721872
eslint-config-airbnb-base@^11.1.0:
1873-
version "11.1.0"
1874-
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.1.0.tgz#dc9b3ec70b8c74dcbe6d6257c9da3992c39ca2ca"
1873+
version "11.1.1"
1874+
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.1.1.tgz#61e9e89e4eb89f474f6913ac817be9fbb59063e0"
18751875

18761876
eslint-friendly-formatter@^2.0.7:
18771877
version "2.0.7"
@@ -1944,8 +1944,8 @@ eslint-plugin-import@^2.2.0:
19441944
pkg-up "^1.0.0"
19451945

19461946
eslint@^3.16.1:
1947-
version "3.16.1"
1948-
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.16.1.tgz#9bc31fc7341692cf772e80607508f67d711c5609"
1947+
version "3.17.0"
1948+
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.17.0.tgz#e2704b09c5bae9fb49ee8bafeea3832c7257d498"
19491949
dependencies:
19501950
babel-code-frame "^6.16.0"
19511951
chalk "^1.1.3"
@@ -2433,14 +2433,16 @@ gzip-size@^3.0.0:
24332433
dependencies:
24342434
duplexer "^0.1.1"
24352435

2436-
har-validator@~2.0.6:
2437-
version "2.0.6"
2438-
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
2436+
har-schema@^1.0.5:
2437+
version "1.0.5"
2438+
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
2439+
2440+
har-validator@~4.2.0:
2441+
version "4.2.1"
2442+
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
24392443
dependencies:
2440-
chalk "^1.1.1"
2441-
commander "^2.9.0"
2442-
is-my-json-valid "^2.12.4"
2443-
pinkie-promise "^2.0.0"
2444+
ajv "^4.9.1"
2445+
har-schema "^1.0.5"
24442446

24452447
has-ansi@^2.0.0:
24462448
version "2.0.0"
@@ -2693,8 +2695,8 @@ invert-kv@^1.0.0:
26932695
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
26942696

26952697
ip@^1.1.4:
2696-
version "1.1.4"
2697-
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.4.tgz#de8247ffef940451832550fba284945e6e039bfb"
2698+
version "1.1.5"
2699+
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
26982700

26992701
27002702
version "1.2.0"
@@ -2781,7 +2783,7 @@ is-glob@^3.1.0:
27812783
dependencies:
27822784
is-extglob "^2.1.0"
27832785

2784-
is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
2786+
is-my-json-valid@^2.10.0:
27852787
version "2.16.0"
27862788
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
27872789
dependencies:
@@ -3742,6 +3744,10 @@ pbkdf2@^3.0.3:
37423744
dependencies:
37433745
create-hmac "^1.1.2"
37443746

3747+
performance-now@^0.2.0:
3748+
version "0.2.0"
3749+
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
3750+
37453751
pify@^2.0.0:
37463752
version "2.3.0"
37473753
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -4377,24 +4383,25 @@ repeating@^2.0.0:
43774383
is-finite "^1.0.0"
43784384

43794385
request@^2.79.0:
4380-
version "2.79.0"
4381-
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
4386+
version "2.80.0"
4387+
resolved "https://registry.yarnpkg.com/request/-/request-2.80.0.tgz#8cc162d76d79381cdefdd3505d76b80b60589bd0"
43824388
dependencies:
43834389
aws-sign2 "~0.6.0"
43844390
aws4 "^1.2.1"
4385-
caseless "~0.11.0"
4391+
caseless "~0.12.0"
43864392
combined-stream "~1.0.5"
43874393
extend "~3.0.0"
43884394
forever-agent "~0.6.1"
43894395
form-data "~2.1.1"
4390-
har-validator "~2.0.6"
4396+
har-validator "~4.2.0"
43914397
hawk "~3.1.3"
43924398
http-signature "~1.1.0"
43934399
is-typedarray "~1.0.0"
43944400
isstream "~0.1.2"
43954401
json-stringify-safe "~5.0.1"
43964402
mime-types "~2.1.7"
43974403
oauth-sign "~0.8.1"
4404+
performance-now "^0.2.0"
43984405
qs "~6.3.0"
43994406
stringstream "~0.0.4"
44004407
tough-cookie "~2.3.0"

0 commit comments

Comments
 (0)