@jsenv/core 27.0.0-alpha.64 → 27.0.0-alpha.67

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.
Files changed (151) hide show
  1. package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +95 -0
  2. package/dist/babel_helpers/AwaitValue/AwaitValue.js +3 -0
  3. package/dist/babel_helpers/applyDecoratorDescriptor/applyDecoratorDescriptor.js +29 -0
  4. package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +9 -0
  5. package/dist/babel_helpers/arrayWithHoles/arrayWithHoles.js +4 -0
  6. package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +5 -0
  7. package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +8 -0
  8. package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +52 -0
  9. package/dist/babel_helpers/asyncIterator/asyncIterator.js +78 -0
  10. package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +39 -0
  11. package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +4 -0
  12. package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +24 -0
  13. package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +7 -0
  14. package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +14 -0
  15. package/dist/babel_helpers/classCallCheck/classCallCheck.js +5 -0
  16. package/dist/babel_helpers/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +5 -0
  17. package/dist/babel_helpers/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +6 -0
  18. package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +8 -0
  19. package/dist/babel_helpers/classNameTDZError/classNameTDZError.js +4 -0
  20. package/dist/babel_helpers/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +6 -0
  21. package/dist/babel_helpers/classPrivateFieldGet/classPrivateFieldGet.js +6 -0
  22. package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +7 -0
  23. package/dist/babel_helpers/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +5 -0
  24. package/dist/babel_helpers/classPrivateFieldSet/classPrivateFieldSet.js +7 -0
  25. package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +7 -0
  26. package/dist/babel_helpers/classPrivateMethodSet/classPrivateMethodSet.js +3 -0
  27. package/dist/babel_helpers/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +8 -0
  28. package/dist/babel_helpers/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +9 -0
  29. package/dist/babel_helpers/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +5 -0
  30. package/dist/babel_helpers/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +3 -0
  31. package/dist/babel_helpers/construct/construct.js +15 -0
  32. package/dist/babel_helpers/createClass/createClass.js +18 -0
  33. package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +63 -0
  34. package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +22 -0
  35. package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +50 -0
  36. package/dist/babel_helpers/createSuper/createSuper.js +22 -0
  37. package/dist/babel_helpers/decorate/decorate.js +622 -0
  38. package/dist/babel_helpers/defaults/defaults.js +14 -0
  39. package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +26 -0
  40. package/dist/babel_helpers/defineProperty/defineProperty.js +19 -0
  41. package/dist/babel_helpers/extends/extends.js +16 -0
  42. package/dist/babel_helpers/get/get.js +21 -0
  43. package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +2 -0
  44. package/dist/babel_helpers/inherits/inherits.js +21 -0
  45. package/dist/babel_helpers/inheritsLoose/inheritsLoose.js +6 -0
  46. package/dist/babel_helpers/initializerDefineProperty/initializerDefineProperty.js +10 -0
  47. package/dist/babel_helpers/initializerWarningHelper/initializerWarningHelper.js +3 -0
  48. package/dist/babel_helpers/instanceof/instanceof.js +7 -0
  49. package/dist/babel_helpers/interopRequireDefault/interopRequireDefault.js +5 -0
  50. package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +49 -0
  51. package/dist/babel_helpers/isNativeFunction/isNativeFunction.js +4 -0
  52. package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +21 -0
  53. package/dist/babel_helpers/iterableToArray/iterableToArray.js +3 -0
  54. package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +38 -0
  55. package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +13 -0
  56. package/dist/babel_helpers/jsx/jsx.js +49 -0
  57. package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +10 -0
  58. package/dist/babel_helpers/newArrowCheck/newArrowCheck.js +5 -0
  59. package/dist/babel_helpers/nonIterableRest/nonIterableRest.js +3 -0
  60. package/dist/babel_helpers/nonIterableSpread/nonIterableSpread.js +3 -0
  61. package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +3 -0
  62. package/dist/babel_helpers/objectSpread/objectSpread.js +22 -0
  63. package/dist/babel_helpers/objectSpread2/objectSpread2.js +41 -0
  64. package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +20 -0
  65. package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +15 -0
  66. package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +10 -0
  67. package/dist/babel_helpers/readOnlyError/readOnlyError.js +4 -0
  68. package/dist/babel_helpers/readme.md +8 -0
  69. package/dist/babel_helpers/set/set.js +51 -0
  70. package/dist/babel_helpers/setPrototypeOf/setPrototypeOf.js +5 -0
  71. package/dist/babel_helpers/skipFirstGeneratorNext/skipFirstGeneratorNext.js +8 -0
  72. package/dist/babel_helpers/slicedToArray/slicedToArray.js +5 -0
  73. package/dist/babel_helpers/slicedToArrayLoose/slicedToArrayLoose.js +7 -0
  74. package/dist/babel_helpers/superPropBase/superPropBase.js +10 -0
  75. package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +11 -0
  76. package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +8 -0
  77. package/dist/babel_helpers/tdz/tdz.js +4 -0
  78. package/dist/babel_helpers/temporalRef/temporalRef.js +5 -0
  79. package/dist/babel_helpers/temporalUndefined/temporalUndefined.js +3 -0
  80. package/dist/babel_helpers/toArray/toArray.js +5 -0
  81. package/dist/babel_helpers/toConsumableArray/toConsumableArray.js +5 -0
  82. package/dist/babel_helpers/toPrimitive/toPrimitive.js +14 -0
  83. package/dist/babel_helpers/toPropertyKey/toPropertyKey.js +5 -0
  84. package/dist/babel_helpers/typeof/typeof.js +7 -0
  85. package/dist/babel_helpers/unsupportedIterableToArray/unsupportedIterableToArray.js +10 -0
  86. package/dist/babel_helpers/wrapAsyncGenerator/wrapAsyncGenerator.js +7 -0
  87. package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +35 -0
  88. package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +67 -0
  89. package/dist/babel_helpers/writeOnlyError/writeOnlyError.js +4 -0
  90. package/dist/html/explorer.html +557 -0
  91. package/dist/js/controllable_file.mjs +227 -0
  92. package/dist/{event_source_client.js → js/event_source_client.js} +19 -244
  93. package/dist/js/global_this.js +32 -0
  94. package/dist/js/html_supervisor_installer.js +522 -0
  95. package/dist/js/html_supervisor_setup.js +79 -0
  96. package/dist/{import_meta_hot.js → js/import_meta_hot.js} +1 -3
  97. package/dist/js/inline_content.js +8 -0
  98. package/dist/js/new_stylesheet.js +409 -0
  99. package/dist/js/regenerator_runtime.js +721 -0
  100. package/dist/js/s.js +429 -0
  101. package/dist/main.js +13450 -0
  102. package/dist/other/jsenv.png +0 -0
  103. package/dist/s.js.map +59 -62
  104. package/package.json +16 -12
  105. package/src/build/build.js +169 -68
  106. package/src/build/build_urls_generator.js +18 -2
  107. package/src/build/inject_service_worker_urls.js +1 -1
  108. package/src/build/resync_ressource_hints.js +56 -9
  109. package/src/dev/plugins/explorer/client/explorer.html +1 -1
  110. package/src/dev/plugins/explorer/jsenv_plugin_explorer.js +1 -1
  111. package/src/dev/start_dev_server.js +17 -3
  112. package/src/execute/execute.js +3 -0
  113. package/src/omega/errors.js +12 -9
  114. package/src/omega/kitchen.js +252 -217
  115. package/src/omega/server/file_service.js +1 -1
  116. package/src/omega/url_graph/url_graph_report.js +2 -2
  117. package/src/omega/url_graph/url_info_transformations.js +10 -5
  118. package/src/omega/url_graph.js +3 -2
  119. package/src/plugins/autoreload/dev_sse/jsenv_plugin_dev_sse_client.js +5 -10
  120. package/src/plugins/autoreload/jsenv_plugin_autoreload.js +1 -3
  121. package/src/plugins/bundling/js_module/bundle_js_module.js +66 -24
  122. package/src/plugins/file_urls/jsenv_plugin_file_urls.js +185 -53
  123. package/src/plugins/html_supervisor/jsenv_plugin_html_supervisor.js +9 -13
  124. package/src/plugins/http_urls/jsenv_plugin_http_urls.js +6 -6
  125. package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +5 -10
  126. package/src/plugins/inline/jsenv_plugin_js_inline_content.js +2 -2
  127. package/src/plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +12 -2
  128. package/src/plugins/node_runtime/jsenv_plugin_node_runtime.js +12 -0
  129. package/src/plugins/plugin_controller.js +17 -3
  130. package/src/plugins/plugins.js +16 -19
  131. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic.js +17 -19
  132. package/src/plugins/transpilation/as_js_classic/{jsenv_plugin_script_type_module_as_classic.js → jsenv_plugin_as_js_classic_html.js} +0 -0
  133. package/src/plugins/transpilation/import_assertions/jsenv_plugin_import_assertions.js +9 -4
  134. package/src/plugins/transpilation/jsenv_plugin_transpilation.js +1 -2
  135. package/src/plugins/url_analysis/css/css_urls.js +1 -1
  136. package/src/plugins/url_analysis/html/html_urls.js +4 -1
  137. package/src/plugins/url_analysis/js/js_urls.js +3 -2
  138. package/src/plugins/url_analysis/jsenv_plugin_url_analysis.js +94 -1
  139. package/src/plugins/url_analysis/webmanifest/webmanifest_urls.js +3 -0
  140. package/src/plugins/url_resolution/jsenv_plugin_url_resolution.js +0 -3
  141. package/src/test/execute_plan.js +3 -1
  142. package/dist/event_source_client.js.map +0 -188
  143. package/dist/html_supervisor_installer.js +0 -1236
  144. package/dist/html_supervisor_installer.js.map +0 -337
  145. package/dist/html_supervisor_setup.js +0 -95
  146. package/dist/html_supervisor_setup.js.map +0 -57
  147. package/dist/import_meta_hot.js.map +0 -42
  148. package/src/jsenv_root_directory_url.js +0 -1
  149. package/src/omega/compat/default_runtime_compat.js +0 -11
  150. package/src/plugins/filesystem_magic/jsenv_plugin_filesystem_magic.js +0 -61
  151. package/src/plugins/transpilation/babel/new_stylesheet/client/.eslintrc.cjs +0 -24
@@ -0,0 +1,409 @@
1
+ /* eslint-disable */
2
+
3
+ (function () {
4
+
5
+ if (typeof document === "undefined" || "adoptedStyleSheets" in document) {
6
+ return;
7
+ }
8
+
9
+ var hasShadyCss = "ShadyCSS" in window && !ShadyCSS.nativeShadow;
10
+ var bootstrapper = document.implementation.createHTMLDocument("");
11
+ var closedShadowRootRegistry = new WeakMap();
12
+
13
+ var _DOMException = typeof DOMException === "object" ? Error : DOMException;
14
+
15
+ var defineProperty = Object.defineProperty;
16
+ var forEach = Array.prototype.forEach;
17
+
18
+ var hasBrokenRules = function () {
19
+ var style = bootstrapper.createElement("style");
20
+ style.textContent = '.x{content:"y"}';
21
+ bootstrapper.body.appendChild(style);
22
+ return style.sheet.cssRules[0].style.content !== '"y"';
23
+ }();
24
+
25
+ var brokenRulePatterns = [/content:\s*["']/gm];
26
+
27
+ function fixBrokenRules(content) {
28
+ return brokenRulePatterns.reduce(function (acc, pattern) {
29
+ return acc.replace(pattern, "$&%%%");
30
+ }, content);
31
+ }
32
+
33
+ var placeholderPatterns = [/(content:\s*["'])%%%/gm];
34
+ var getCssText = hasBrokenRules ? function (rule) {
35
+ return placeholderPatterns.reduce(function (acc, pattern) {
36
+ return acc.replace(pattern, "$1");
37
+ }, rule.cssText);
38
+ } : function (rule) {
39
+ return rule.cssText;
40
+ };
41
+ var importPattern = /@import.+?;?$/gm;
42
+
43
+ function rejectImports(contents) {
44
+ var _contents = contents.replace(importPattern, "");
45
+
46
+ if (_contents !== contents) {
47
+ console.warn("@import rules are not allowed here. See https://github.com/WICG/construct-stylesheets/issues/119#issuecomment-588352418");
48
+ }
49
+
50
+ return _contents.trim();
51
+ }
52
+
53
+ function clearRules(sheet) {
54
+ for (var i = 0; i < sheet.cssRules.length; i++) {
55
+ sheet.deleteRule(0);
56
+ }
57
+ }
58
+
59
+ function insertAllRules(from, to) {
60
+ forEach.call(from.cssRules, function (rule, i) {
61
+ to.insertRule(getCssText(rule), i);
62
+ });
63
+ }
64
+
65
+ function isElementConnected(element) {
66
+ return "isConnected" in element ? element.isConnected : document.contains(element);
67
+ }
68
+
69
+ function unique(arr) {
70
+ return arr.filter(function (value, index) {
71
+ return arr.indexOf(value) === index;
72
+ });
73
+ }
74
+
75
+ function diff(arr1, arr2) {
76
+ return arr1.filter(function (value) {
77
+ return arr2.indexOf(value) === -1;
78
+ });
79
+ }
80
+
81
+ function removeNode(node) {
82
+ node.parentNode.removeChild(node);
83
+ }
84
+
85
+ function getShadowRoot(element) {
86
+ return element.shadowRoot || closedShadowRootRegistry.get(element);
87
+ }
88
+
89
+ var cssStyleSheetMethods = ["addRule", "deleteRule", "insertRule", "removeRule"];
90
+ var NonConstructedStyleSheet = CSSStyleSheet;
91
+ var nonConstructedProto = NonConstructedStyleSheet.prototype;
92
+
93
+ nonConstructedProto.replace = function () {
94
+ return Promise.reject(new _DOMException("Can't call replace on non-constructed CSSStyleSheets."));
95
+ };
96
+
97
+ nonConstructedProto.replaceSync = function () {
98
+ throw new _DOMException("Failed to execute 'replaceSync' on 'CSSStyleSheet': Can't call replaceSync on non-constructed CSSStyleSheets.");
99
+ };
100
+
101
+ function isCSSStyleSheetInstance(instance) {
102
+ return typeof instance === "object" ? proto$1.isPrototypeOf(instance) || nonConstructedProto.isPrototypeOf(instance) : false;
103
+ }
104
+
105
+ function isNonConstructedStyleSheetInstance(instance) {
106
+ return typeof instance === "object" ? nonConstructedProto.isPrototypeOf(instance) : false;
107
+ }
108
+
109
+ var $basicStyleSheet = new WeakMap();
110
+ var $locations = new WeakMap();
111
+ var $adoptersByLocation = new WeakMap();
112
+
113
+ function addAdopterLocation(sheet, location) {
114
+ var adopter = document.createElement("style");
115
+ $adoptersByLocation.get(sheet).set(location, adopter);
116
+ $locations.get(sheet).push(location);
117
+ return adopter;
118
+ }
119
+
120
+ function getAdopterByLocation(sheet, location) {
121
+ return $adoptersByLocation.get(sheet).get(location);
122
+ }
123
+
124
+ function removeAdopterLocation(sheet, location) {
125
+ $adoptersByLocation.get(sheet).delete(location);
126
+ $locations.set(sheet, $locations.get(sheet).filter(function (_location) {
127
+ return _location !== location;
128
+ }));
129
+ }
130
+
131
+ function restyleAdopter(sheet, adopter) {
132
+ requestAnimationFrame(function () {
133
+ clearRules(adopter.sheet);
134
+ insertAllRules($basicStyleSheet.get(sheet), adopter.sheet);
135
+ });
136
+ }
137
+
138
+ function checkInvocationCorrectness(self) {
139
+ if (!$basicStyleSheet.has(self)) {
140
+ throw new TypeError("Illegal invocation");
141
+ }
142
+ }
143
+
144
+ function ConstructedStyleSheet() {
145
+ var self = this;
146
+ var style = document.createElement("style");
147
+ bootstrapper.body.appendChild(style);
148
+ $basicStyleSheet.set(self, style.sheet);
149
+ $locations.set(self, []);
150
+ $adoptersByLocation.set(self, new WeakMap());
151
+ }
152
+
153
+ var proto$1 = ConstructedStyleSheet.prototype;
154
+
155
+ proto$1.replace = function replace(contents) {
156
+ try {
157
+ this.replaceSync(contents);
158
+ return Promise.resolve(this);
159
+ } catch (e) {
160
+ return Promise.reject(e);
161
+ }
162
+ };
163
+
164
+ proto$1.replaceSync = function replaceSync(contents) {
165
+ checkInvocationCorrectness(this);
166
+
167
+ if (typeof contents === "string") {
168
+ var self_1 = this;
169
+ var style = $basicStyleSheet.get(self_1).ownerNode;
170
+ style.textContent = hasBrokenRules ? fixBrokenRules(rejectImports(contents)) : rejectImports(contents);
171
+ $basicStyleSheet.set(self_1, style.sheet);
172
+ $locations.get(self_1).forEach(function (location) {
173
+ if (location.isConnected()) {
174
+ restyleAdopter(self_1, getAdopterByLocation(self_1, location));
175
+ }
176
+ });
177
+ }
178
+ };
179
+
180
+ defineProperty(proto$1, "cssRules", {
181
+ configurable: true,
182
+ enumerable: true,
183
+ get: function cssRules() {
184
+ checkInvocationCorrectness(this);
185
+ return $basicStyleSheet.get(this).cssRules;
186
+ }
187
+ });
188
+ cssStyleSheetMethods.forEach(function (method) {
189
+ proto$1[method] = function () {
190
+ var self = this;
191
+ checkInvocationCorrectness(self);
192
+ var args = arguments;
193
+ $locations.get(self).forEach(function (location) {
194
+ if (location.isConnected()) {
195
+ var sheet = getAdopterByLocation(self, location).sheet;
196
+ sheet[method].apply(sheet, args);
197
+ }
198
+ });
199
+
200
+ if (hasBrokenRules) {
201
+ if (method === "insertRule") {
202
+ args[0] = fixBrokenRules(args[0]);
203
+ }
204
+
205
+ if (method === "addRule") {
206
+ args[1] = fixBrokenRules(args[1]);
207
+ }
208
+ }
209
+
210
+ var basic = $basicStyleSheet.get(self);
211
+ return basic[method].apply(basic, args);
212
+ };
213
+ });
214
+ defineProperty(ConstructedStyleSheet, Symbol.hasInstance, {
215
+ configurable: true,
216
+ value: isCSSStyleSheetInstance
217
+ });
218
+ var defaultObserverOptions = {
219
+ childList: true,
220
+ subtree: true
221
+ };
222
+ var locations = new WeakMap();
223
+
224
+ function getAssociatedLocation(element) {
225
+ var location = locations.get(element);
226
+
227
+ if (!location) {
228
+ location = new Location(element);
229
+ locations.set(element, location);
230
+ }
231
+
232
+ return location;
233
+ }
234
+
235
+ function attachAdoptedStyleSheetProperty(constructor) {
236
+ defineProperty(constructor.prototype, "adoptedStyleSheets", {
237
+ configurable: true,
238
+ enumerable: true,
239
+ get: function () {
240
+ return getAssociatedLocation(this).sheets;
241
+ },
242
+ set: function (sheets) {
243
+ getAssociatedLocation(this).update(sheets);
244
+ }
245
+ });
246
+ }
247
+
248
+ function traverseWebComponents(node, callback) {
249
+ var iter = document.createNodeIterator(node, NodeFilter.SHOW_ELEMENT, function (foundNode) {
250
+ return getShadowRoot(foundNode) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
251
+ }, null, false);
252
+
253
+ for (var next = void 0; next = iter.nextNode();) {
254
+ callback(getShadowRoot(next));
255
+ }
256
+ }
257
+
258
+ var $element = new WeakMap();
259
+ var $uniqueSheets = new WeakMap();
260
+ var $observer = new WeakMap();
261
+
262
+ function isExistingAdopter(self, element) {
263
+ return element instanceof HTMLStyleElement && $uniqueSheets.get(self).some(function (sheet) {
264
+ return getAdopterByLocation(sheet, self);
265
+ });
266
+ }
267
+
268
+ function getAdopterContainer(self) {
269
+ var element = $element.get(self);
270
+ return element instanceof Document ? element.body : element;
271
+ }
272
+
273
+ function adopt(self) {
274
+ var styleList = document.createDocumentFragment();
275
+ var sheets = $uniqueSheets.get(self);
276
+ var observer = $observer.get(self);
277
+ var container = getAdopterContainer(self);
278
+ observer.disconnect();
279
+ sheets.forEach(function (sheet) {
280
+ styleList.appendChild(getAdopterByLocation(sheet, self) || addAdopterLocation(sheet, self));
281
+ });
282
+ container.insertBefore(styleList, null);
283
+ observer.observe(container, defaultObserverOptions);
284
+ sheets.forEach(function (sheet) {
285
+ restyleAdopter(sheet, getAdopterByLocation(sheet, self));
286
+ });
287
+ }
288
+
289
+ function Location(element) {
290
+ var self = this;
291
+ self.sheets = [];
292
+ $element.set(self, element);
293
+ $uniqueSheets.set(self, []);
294
+ $observer.set(self, new MutationObserver(function (mutations, observer) {
295
+ if (!document) {
296
+ observer.disconnect();
297
+ return;
298
+ }
299
+
300
+ mutations.forEach(function (mutation) {
301
+ if (!hasShadyCss) {
302
+ forEach.call(mutation.addedNodes, function (node) {
303
+ if (!(node instanceof Element)) {
304
+ return;
305
+ }
306
+
307
+ traverseWebComponents(node, function (root) {
308
+ getAssociatedLocation(root).connect();
309
+ });
310
+ });
311
+ }
312
+
313
+ forEach.call(mutation.removedNodes, function (node) {
314
+ if (!(node instanceof Element)) {
315
+ return;
316
+ }
317
+
318
+ if (isExistingAdopter(self, node)) {
319
+ adopt(self);
320
+ }
321
+
322
+ if (!hasShadyCss) {
323
+ traverseWebComponents(node, function (root) {
324
+ getAssociatedLocation(root).disconnect();
325
+ });
326
+ }
327
+ });
328
+ });
329
+ }));
330
+ }
331
+
332
+ Location.prototype = {
333
+ isConnected: function () {
334
+ var element = $element.get(this);
335
+ return element instanceof Document ? element.readyState !== "loading" : isElementConnected(element.host);
336
+ },
337
+ connect: function () {
338
+ var container = getAdopterContainer(this);
339
+ $observer.get(this).observe(container, defaultObserverOptions);
340
+
341
+ if ($uniqueSheets.get(this).length > 0) {
342
+ adopt(this);
343
+ }
344
+
345
+ traverseWebComponents(container, function (root) {
346
+ getAssociatedLocation(root).connect();
347
+ });
348
+ },
349
+ disconnect: function () {
350
+ $observer.get(this).disconnect();
351
+ },
352
+ update: function (sheets) {
353
+ var self = this;
354
+ var locationType = $element.get(self) === document ? "Document" : "ShadowRoot";
355
+
356
+ if (!Array.isArray(sheets)) {
357
+ throw new TypeError("Failed to set the 'adoptedStyleSheets' property on " + locationType + ": Iterator getter is not callable.");
358
+ }
359
+
360
+ if (!sheets.every(isCSSStyleSheetInstance)) {
361
+ throw new TypeError("Failed to set the 'adoptedStyleSheets' property on " + locationType + ": Failed to convert value to 'CSSStyleSheet'");
362
+ }
363
+
364
+ if (sheets.some(isNonConstructedStyleSheetInstance)) {
365
+ throw new TypeError("Failed to set the 'adoptedStyleSheets' property on " + locationType + ": Can't adopt non-constructed stylesheets");
366
+ }
367
+
368
+ self.sheets = sheets;
369
+ var oldUniqueSheets = $uniqueSheets.get(self);
370
+ var uniqueSheets = unique(sheets);
371
+ var removedSheets = diff(oldUniqueSheets, uniqueSheets);
372
+ removedSheets.forEach(function (sheet) {
373
+ removeNode(getAdopterByLocation(sheet, self));
374
+ removeAdopterLocation(sheet, self);
375
+ });
376
+ $uniqueSheets.set(self, uniqueSheets);
377
+
378
+ if (self.isConnected() && uniqueSheets.length > 0) {
379
+ adopt(self);
380
+ }
381
+ }
382
+ };
383
+ window.CSSStyleSheet = ConstructedStyleSheet;
384
+ attachAdoptedStyleSheetProperty(Document);
385
+
386
+ if ("ShadowRoot" in window) {
387
+ attachAdoptedStyleSheetProperty(ShadowRoot);
388
+ var proto = Element.prototype;
389
+ var attach_1 = proto.attachShadow;
390
+
391
+ proto.attachShadow = function attachShadow(init) {
392
+ var root = attach_1.call(this, init);
393
+
394
+ if (init.mode === "closed") {
395
+ closedShadowRootRegistry.set(this, root);
396
+ }
397
+
398
+ return root;
399
+ };
400
+ }
401
+
402
+ var documentLocation = getAssociatedLocation(document);
403
+
404
+ if (documentLocation.isConnected()) {
405
+ documentLocation.connect();
406
+ } else {
407
+ document.addEventListener("DOMContentLoaded", documentLocation.connect.bind(documentLocation));
408
+ }
409
+ })();