@micro-lc/preview 0.5.0-rc1 → 0.5.0-rc10
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +11 -0
- package/dist/index.d.ts +27 -41
- package/dist/index.js +10 -97
- package/package.json +11 -8
- package/website/assets/index-11acce20.js +15 -0
- package/website/development/{index.js → assets/index-49595118.js} +782 -668
- package/website/development/index.html +1 -1
- package/website/development/manifest.json +1 -6
- package/website/development/service-worker.js +2118 -98
- package/website/index.html +1 -1
- package/website/manifest.json +1 -6
- package/website/service-worker.js +3 -1
- package/dist/service-worker.d.ts +0 -28
- package/dist/service-worker.js +0 -1
- package/website/index.js +0 -13
@@ -1,3 +1,9 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
3
|
+
var __publicField = (obj, key, value) => {
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
|
+
return value;
|
6
|
+
};
|
1
7
|
(function polyfill() {
|
2
8
|
const relList = document.createElement("link").relList;
|
3
9
|
if (relList && relList.supports && relList.supports("modulepreload")) {
|
@@ -2397,65 +2403,82 @@ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof win
|
|
2397
2403
|
const [imports, exports] = load.a;
|
2398
2404
|
const source = load.S;
|
2399
2405
|
let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : "";
|
2400
|
-
|
2401
|
-
|
2402
|
-
|
2403
|
-
|
2404
|
-
|
2405
|
-
|
2406
|
-
|
2407
|
-
|
2408
|
-
|
2409
|
-
|
2410
|
-
|
2411
|
-
|
2412
|
-
|
2413
|
-
|
2414
|
-
|
2415
|
-
|
2416
|
-
|
2417
|
-
|
2418
|
-
|
2419
|
-
const q = depLoad.S[s3] === '"' || depLoad.S[s3] === "'";
|
2420
|
-
return `e$_${i3}=m${q ? `[` : "."}${depLoad.S.slice(s3, e3)}${q ? `]` : ""}`;
|
2421
|
-
}).join(",")}}${depLoad.a[1].length ? `let ${depLoad.a[1].map((_2, i3) => `e$_${i3}`).join(",")};` : ""}export {${depLoad.a[1].map(({ s: s3, e: e3 }, i3) => `e$_${i3} as ${depLoad.S.slice(s3, e3)}`).join(",")}}
|
2406
|
+
let lastIndex = 0, depIndex = 0, dynamicImportEndStack = [];
|
2407
|
+
function pushStringTo(originalIndex) {
|
2408
|
+
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
2409
|
+
const dynamicImportEnd = dynamicImportEndStack.pop();
|
2410
|
+
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
2411
|
+
lastIndex = dynamicImportEnd;
|
2412
|
+
}
|
2413
|
+
resolvedSource += source.slice(lastIndex, originalIndex);
|
2414
|
+
lastIndex = originalIndex;
|
2415
|
+
}
|
2416
|
+
for (const { s: start, ss: statementStart, se: statementEnd, d: dynamicImportIndex } of imports) {
|
2417
|
+
if (dynamicImportIndex === -1) {
|
2418
|
+
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
2419
|
+
if (cycleShell) {
|
2420
|
+
if (!(blobUrl = depLoad.s)) {
|
2421
|
+
blobUrl = depLoad.s = createBlob(`export function u$_(m){${depLoad.a[1].map(({ s: s3, e: e3 }, i3) => {
|
2422
|
+
const q = depLoad.S[s3] === '"' || depLoad.S[s3] === "'";
|
2423
|
+
return `e$_${i3}=m${q ? `[` : "."}${depLoad.S.slice(s3, e3)}${q ? `]` : ""}`;
|
2424
|
+
}).join(",")}}${depLoad.a[1].length ? `let ${depLoad.a[1].map((_2, i3) => `e$_${i3}`).join(",")};` : ""}export {${depLoad.a[1].map(({ s: s3, e: e3 }, i3) => `e$_${i3} as ${depLoad.S.slice(s3, e3)}`).join(",")}}
|
2422
2425
|
//# sourceURL=${depLoad.r}?cycle`);
|
2423
|
-
}
|
2424
|
-
}
|
2425
|
-
pushStringTo(start - 1);
|
2426
|
-
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
2427
|
-
if (!cycleShell && depLoad.s) {
|
2428
|
-
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
|
2429
|
-
depLoad.s = void 0;
|
2430
2426
|
}
|
2431
|
-
lastIndex = statementEnd;
|
2432
|
-
} else if (dynamicImportIndex === -2) {
|
2433
|
-
load.m = { url: load.r, resolve: metaResolve };
|
2434
|
-
metaHook(load.m, load.u);
|
2435
|
-
pushStringTo(start);
|
2436
|
-
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
2437
|
-
lastIndex = statementEnd;
|
2438
|
-
} else {
|
2439
|
-
pushStringTo(statementStart + 6);
|
2440
|
-
resolvedSource += `Shim(`;
|
2441
|
-
dynamicImportEndStack.push(statementEnd - 1);
|
2442
|
-
lastIndex = start;
|
2443
2427
|
}
|
2428
|
+
pushStringTo(start - 1);
|
2429
|
+
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
2430
|
+
if (!cycleShell && depLoad.s) {
|
2431
|
+
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
|
2432
|
+
depLoad.s = void 0;
|
2433
|
+
}
|
2434
|
+
lastIndex = statementEnd;
|
2435
|
+
} else if (dynamicImportIndex === -2) {
|
2436
|
+
load.m = { url: load.r, resolve: metaResolve };
|
2437
|
+
metaHook(load.m, load.u);
|
2438
|
+
pushStringTo(start);
|
2439
|
+
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
2440
|
+
lastIndex = statementEnd;
|
2441
|
+
} else {
|
2442
|
+
pushStringTo(statementStart + 6);
|
2443
|
+
resolvedSource += `Shim(`;
|
2444
|
+
dynamicImportEndStack.push(statementEnd - 1);
|
2445
|
+
lastIndex = start;
|
2444
2446
|
}
|
2445
|
-
|
2446
|
-
|
2447
|
+
}
|
2448
|
+
if (load.s)
|
2449
|
+
resolvedSource += `
|
2447
2450
|
;import{u$_}from'${load.s}';try{u$_({${exports.filter((e3) => e3.ln).map(({ s: s3, e: e3, ln }) => `${source.slice(s3, e3)}:${ln}`).join(",")}})}catch(_){};
|
2448
2451
|
`;
|
2449
|
-
|
2450
|
-
|
2451
|
-
|
2452
|
-
|
2453
|
-
|
2454
|
-
resolvedSource +=
|
2452
|
+
function pushSourceURL(commentPrefix, commentStart) {
|
2453
|
+
const urlStart = commentStart + commentPrefix.length;
|
2454
|
+
const commentEnd = source.indexOf("\n", urlStart);
|
2455
|
+
const urlEnd = commentEnd !== -1 ? commentEnd : source.length;
|
2456
|
+
pushStringTo(urlStart);
|
2457
|
+
resolvedSource += new URL(source.slice(urlStart, urlEnd), load.r).href;
|
2458
|
+
lastIndex = urlEnd;
|
2459
|
+
}
|
2460
|
+
let sourceURLCommentStart = source.lastIndexOf(sourceURLCommentPrefix);
|
2461
|
+
let sourceMapURLCommentStart = source.lastIndexOf(sourceMapURLCommentPrefix);
|
2462
|
+
if (sourceURLCommentStart < lastIndex)
|
2463
|
+
sourceURLCommentStart = -1;
|
2464
|
+
if (sourceMapURLCommentStart < lastIndex)
|
2465
|
+
sourceMapURLCommentStart = -1;
|
2466
|
+
if (sourceURLCommentStart !== -1 && (sourceMapURLCommentStart === -1 || sourceMapURLCommentStart > sourceURLCommentStart)) {
|
2467
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
2468
|
+
}
|
2469
|
+
if (sourceMapURLCommentStart !== -1) {
|
2470
|
+
pushSourceURL(sourceMapURLCommentPrefix, sourceMapURLCommentStart);
|
2471
|
+
if (sourceURLCommentStart !== -1 && sourceURLCommentStart > sourceMapURLCommentStart)
|
2472
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
2473
|
+
}
|
2474
|
+
pushStringTo(source.length);
|
2475
|
+
if (sourceURLCommentStart === -1)
|
2476
|
+
resolvedSource += sourceURLCommentPrefix + load.r;
|
2455
2477
|
load.b = lastLoad = createBlob(resolvedSource);
|
2456
2478
|
load.S = void 0;
|
2457
2479
|
}
|
2458
|
-
const
|
2480
|
+
const sourceURLCommentPrefix = "\n//# sourceURL=";
|
2481
|
+
const sourceMapURLCommentPrefix = "\n//# sourceMappingURL=";
|
2459
2482
|
const jsContentType = /^(text|application)\/(x-)?javascript(;|$)/;
|
2460
2483
|
const jsonContentType = /^(text|application)\/json(;|$)/;
|
2461
2484
|
const cssContentType = /^(text|application)\/css(;|$)/;
|
@@ -3379,12 +3402,12 @@ function isSubscriber(value) {
|
|
3379
3402
|
function hasLift(source) {
|
3380
3403
|
return isFunction(source === null || source === void 0 ? void 0 : source.lift);
|
3381
3404
|
}
|
3382
|
-
function operate(
|
3405
|
+
function operate(init) {
|
3383
3406
|
return function(source) {
|
3384
3407
|
if (hasLift(source)) {
|
3385
3408
|
return source.lift(function(liftedSource) {
|
3386
3409
|
try {
|
3387
|
-
return
|
3410
|
+
return init(liftedSource, this);
|
3388
3411
|
} catch (err) {
|
3389
3412
|
this.error(err);
|
3390
3413
|
}
|
@@ -4275,6 +4298,26 @@ function lastValueFrom(source, config2) {
|
|
4275
4298
|
});
|
4276
4299
|
});
|
4277
4300
|
}
|
4301
|
+
function firstValueFrom(source, config2) {
|
4302
|
+
var hasConfig = typeof config2 === "object";
|
4303
|
+
return new Promise(function(resolve, reject) {
|
4304
|
+
var subscriber = new SafeSubscriber({
|
4305
|
+
next: function(value) {
|
4306
|
+
resolve(value);
|
4307
|
+
subscriber.unsubscribe();
|
4308
|
+
},
|
4309
|
+
error: reject,
|
4310
|
+
complete: function() {
|
4311
|
+
if (hasConfig) {
|
4312
|
+
resolve(config2.defaultValue);
|
4313
|
+
} else {
|
4314
|
+
reject(new EmptyError());
|
4315
|
+
}
|
4316
|
+
}
|
4317
|
+
});
|
4318
|
+
source.subscribe(subscriber);
|
4319
|
+
});
|
4320
|
+
}
|
4278
4321
|
function isValidDate(value) {
|
4279
4322
|
return value instanceof Date && !isNaN(value);
|
4280
4323
|
}
|
@@ -4413,6 +4456,62 @@ function mergeMap(project, resultSelector, concurrent) {
|
|
4413
4456
|
return mergeInternals(source, subscriber, project, concurrent);
|
4414
4457
|
});
|
4415
4458
|
}
|
4459
|
+
var nodeEventEmitterMethods = ["addListener", "removeListener"];
|
4460
|
+
var eventTargetMethods = ["addEventListener", "removeEventListener"];
|
4461
|
+
var jqueryMethods = ["on", "off"];
|
4462
|
+
function fromEvent(target, eventName, options, resultSelector) {
|
4463
|
+
if (isFunction(options)) {
|
4464
|
+
resultSelector = options;
|
4465
|
+
options = void 0;
|
4466
|
+
}
|
4467
|
+
if (resultSelector) {
|
4468
|
+
return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));
|
4469
|
+
}
|
4470
|
+
var _a2 = __read(isEventTarget(target) ? eventTargetMethods.map(function(methodName) {
|
4471
|
+
return function(handler2) {
|
4472
|
+
return target[methodName](eventName, handler2, options);
|
4473
|
+
};
|
4474
|
+
}) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add = _a2[0], remove = _a2[1];
|
4475
|
+
if (!add) {
|
4476
|
+
if (isArrayLike(target)) {
|
4477
|
+
return mergeMap(function(subTarget) {
|
4478
|
+
return fromEvent(subTarget, eventName, options);
|
4479
|
+
})(innerFrom(target));
|
4480
|
+
}
|
4481
|
+
}
|
4482
|
+
if (!add) {
|
4483
|
+
throw new TypeError("Invalid event target");
|
4484
|
+
}
|
4485
|
+
return new Observable(function(subscriber) {
|
4486
|
+
var handler2 = function() {
|
4487
|
+
var args = [];
|
4488
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
4489
|
+
args[_i] = arguments[_i];
|
4490
|
+
}
|
4491
|
+
return subscriber.next(1 < args.length ? args : args[0]);
|
4492
|
+
};
|
4493
|
+
add(handler2);
|
4494
|
+
return function() {
|
4495
|
+
return remove(handler2);
|
4496
|
+
};
|
4497
|
+
});
|
4498
|
+
}
|
4499
|
+
function toCommonHandlerRegistry(target, eventName) {
|
4500
|
+
return function(methodName) {
|
4501
|
+
return function(handler2) {
|
4502
|
+
return target[methodName](eventName, handler2);
|
4503
|
+
};
|
4504
|
+
};
|
4505
|
+
}
|
4506
|
+
function isNodeStyleEventEmitter(target) {
|
4507
|
+
return isFunction(target.addListener) && isFunction(target.removeListener);
|
4508
|
+
}
|
4509
|
+
function isJQueryStyleEventEmitter(target) {
|
4510
|
+
return isFunction(target.on) && isFunction(target.off);
|
4511
|
+
}
|
4512
|
+
function isEventTarget(target) {
|
4513
|
+
return isFunction(target.addEventListener) && isFunction(target.removeEventListener);
|
4514
|
+
}
|
4416
4515
|
function timer(dueTime, intervalOrScheduler, scheduler) {
|
4417
4516
|
if (dueTime === void 0) {
|
4418
4517
|
dueTime = 0;
|
@@ -4620,27 +4719,145 @@ function tap(observerOrNext, error2, complete) {
|
|
4620
4719
|
}));
|
4621
4720
|
}) : identity;
|
4622
4721
|
}
|
4623
|
-
|
4624
|
-
|
4625
|
-
|
4626
|
-
|
4722
|
+
const DEFAULT_LANGUAGE = "en";
|
4723
|
+
const localizeText = (input, lang = DEFAULT_LANGUAGE) => {
|
4724
|
+
if (typeof input === "string") {
|
4725
|
+
return input;
|
4726
|
+
}
|
4727
|
+
return input == null ? void 0 : input[lang];
|
4728
|
+
};
|
4729
|
+
function translateObject(obj) {
|
4730
|
+
return Object.entries(obj).reduce((out, [key, value]) => {
|
4731
|
+
out[key] = localizeText(value);
|
4732
|
+
return out;
|
4733
|
+
}, {});
|
4734
|
+
}
|
4735
|
+
const noop = (..._args) => {
|
4736
|
+
};
|
4737
|
+
const toArray$1 = (input) => Array.isArray(input) ? input : [input];
|
4738
|
+
const urlMakerFactory = ({ document: { baseURI }, location: { href } }) => (input) => new URL(input, new URL(baseURI, href));
|
4739
|
+
const toURL = (urlMaker, info) => {
|
4740
|
+
let url = info;
|
4741
|
+
if (!(info instanceof URL)) {
|
4742
|
+
url = urlMaker(typeof info === "string" ? info : info.url);
|
4743
|
+
}
|
4744
|
+
return url;
|
4745
|
+
};
|
4746
|
+
const trimLocationOrigin = (origin, url) => {
|
4747
|
+
const { href, origin: linkOrigin } = url;
|
4748
|
+
if (origin === linkOrigin) {
|
4749
|
+
return href.substring(origin.length);
|
4750
|
+
}
|
4751
|
+
return href;
|
4752
|
+
};
|
4753
|
+
const getElement = (document2, context, nth = 0) => {
|
4754
|
+
const { selectors } = context;
|
4755
|
+
return document2.querySelector(selectors[nth]);
|
4756
|
+
};
|
4757
|
+
function getElementBySelector(selector) {
|
4758
|
+
return document.querySelector(selector);
|
4759
|
+
}
|
4760
|
+
const unfocus = (element, mapping) => {
|
4761
|
+
const originalStyle = mapping.get(element);
|
4762
|
+
if (originalStyle) {
|
4763
|
+
const { css, rest, subscription } = originalStyle;
|
4764
|
+
rest.forEach((el) => {
|
4765
|
+
var _a2;
|
4766
|
+
return (_a2 = el.__unfocus_handler) == null ? void 0 : _a2.call(el);
|
4767
|
+
});
|
4768
|
+
subscription.unsubscribe();
|
4769
|
+
originalStyle.elementToFocus.forEach((el, idx) => {
|
4770
|
+
Object.assign(el.style, css[idx]);
|
4771
|
+
});
|
4772
|
+
}
|
4773
|
+
mapping.delete(element);
|
4774
|
+
};
|
4775
|
+
const noUndefined = (input) => input !== void 0;
|
4776
|
+
function focus(document2, obs$, mode$) {
|
4777
|
+
const stylesMap = /* @__PURE__ */ new Map();
|
4778
|
+
const getBySelector = getElementBySelector.bind(document2);
|
4779
|
+
const subscription = obs$.pipe(
|
4780
|
+
pairwise(),
|
4781
|
+
tap(([current]) => {
|
4782
|
+
var _a2;
|
4783
|
+
if (current !== void 0) {
|
4784
|
+
const prev = getElement(document2, current);
|
4785
|
+
if (prev !== null) {
|
4786
|
+
(_a2 = prev.__unfocus_handler) == null ? void 0 : _a2.call(prev);
|
4787
|
+
unfocus(prev, stylesMap);
|
4788
|
+
}
|
4789
|
+
}
|
4790
|
+
}),
|
4791
|
+
map(([, next]) => next),
|
4792
|
+
filter(noUndefined),
|
4793
|
+
map((next) => {
|
4794
|
+
const [first, ...rest] = next.selectors;
|
4795
|
+
const otherElements = rest.reduce((arr, selector) => {
|
4796
|
+
var _a2;
|
4797
|
+
const el = getBySelector(selector);
|
4798
|
+
if (el) {
|
4799
|
+
arr.push(el);
|
4800
|
+
const result = (_a2 = el.__focus_handler) == null ? void 0 : _a2.call(el);
|
4801
|
+
if (result && "then" in result) {
|
4802
|
+
result.catch(noop);
|
4803
|
+
}
|
4804
|
+
}
|
4805
|
+
return arr;
|
4806
|
+
}, []);
|
4807
|
+
return { first, next, otherElements };
|
4808
|
+
}),
|
4809
|
+
map((next) => ({ ...next, firstElement: getBySelector(next.first) })),
|
4810
|
+
filter((next) => next.firstElement !== null),
|
4811
|
+
map((next) => {
|
4812
|
+
var _a2, _b;
|
4813
|
+
return { ...next, focus: (_b = (_a2 = next.firstElement).__focus_handler) == null ? void 0 : _b.call(_a2) };
|
4814
|
+
}),
|
4815
|
+
concatMap(({ focus: focusPromise, ...rest }) => {
|
4816
|
+
const promise = focusPromise && "then" in focusPromise ? focusPromise : Promise.resolve(focusPromise != null ? focusPromise : rest.firstElement);
|
4817
|
+
return promise.then((focusElement) => ({ focus: focusElement, ...rest })).catch(() => ({ focus: void 0, ...rest }));
|
4818
|
+
})
|
4819
|
+
).subscribe(({ otherElements, next, firstElement, focus: focusContext }) => {
|
4820
|
+
const cssKeys = Object.keys(next.style);
|
4821
|
+
const stylePendingChanges = new Subscription();
|
4822
|
+
const elementToFocus = toArray$1(focusContext != null ? focusContext : firstElement).filter(Boolean);
|
4823
|
+
const initialStyles = { css: [], elementToFocus, rest: otherElements, subscription: stylePendingChanges };
|
4824
|
+
const styles = cssKeys.reduce((acc, key) => {
|
4825
|
+
elementToFocus.forEach((el, idx) => {
|
4826
|
+
var _a2;
|
4827
|
+
acc.css[idx] = Object.assign((_a2 = acc.css[idx]) != null ? _a2 : {}, { [key]: el.style[key] });
|
4828
|
+
});
|
4829
|
+
return acc;
|
4830
|
+
}, initialStyles);
|
4831
|
+
stylePendingChanges.add(mode$.pipe(filter((val) => val === "select"), take(1)).subscribe(() => {
|
4832
|
+
elementToFocus.forEach((el) => {
|
4833
|
+
Object.assign(el.style, next.style);
|
4834
|
+
});
|
4835
|
+
}));
|
4836
|
+
stylesMap.set(firstElement, styles);
|
4837
|
+
});
|
4838
|
+
return () => subscription.unsubscribe();
|
4839
|
+
}
|
4840
|
+
var __defProp$3 = Object.defineProperty;
|
4841
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4842
|
+
var __publicField$3 = (obj, key, value) => {
|
4843
|
+
__defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4627
4844
|
return value;
|
4628
4845
|
};
|
4629
4846
|
let Lexer$1 = class Lexer {
|
4630
4847
|
constructor(input) {
|
4631
|
-
__publicField$
|
4632
|
-
__publicField$
|
4633
|
-
__publicField$
|
4634
|
-
__publicField$
|
4848
|
+
__publicField$3(this, "_input");
|
4849
|
+
__publicField$3(this, "_length");
|
4850
|
+
__publicField$3(this, "_idx", 0);
|
4851
|
+
__publicField$3(
|
4635
4852
|
this,
|
4636
4853
|
"_mode",
|
4637
4854
|
0
|
4638
4855
|
/* Literal */
|
4639
4856
|
);
|
4640
|
-
__publicField$
|
4641
|
-
__publicField$
|
4642
|
-
__publicField$
|
4643
|
-
__publicField$
|
4857
|
+
__publicField$3(this, "_literals", []);
|
4858
|
+
__publicField$3(this, "_variables", []);
|
4859
|
+
__publicField$3(this, "_braketCount", 0);
|
4860
|
+
__publicField$3(this, "_done", false);
|
4644
4861
|
this._input = input;
|
4645
4862
|
this._length = input.length;
|
4646
4863
|
}
|
@@ -4741,429 +4958,96 @@ function parse(input, context, preserveUnknown = false) {
|
|
4741
4958
|
return acc;
|
4742
4959
|
}
|
4743
4960
|
const compileObject = (obj, context) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, parse(value, context)]));
|
4744
|
-
var
|
4745
|
-
|
4746
|
-
|
4747
|
-
|
4748
|
-
|
4749
|
-
};
|
4961
|
+
var DebugMessage = /* @__PURE__ */ ((DebugMessage2) => {
|
4962
|
+
DebugMessage2[DebugMessage2["Default"] = 0] = "Default";
|
4963
|
+
DebugMessage2[DebugMessage2["Skip"] = 1] = "Skip";
|
4964
|
+
return DebugMessage2;
|
4965
|
+
})(DebugMessage || {});
|
4750
4966
|
const MIA_PREVIEW_ID = "__mia_preview_id";
|
4751
4967
|
const OVERLAY_Z_INDEX = 1e6;
|
4752
4968
|
const keys = {
|
4753
|
-
"click-element":
|
4754
|
-
"ctrl-space":
|
4969
|
+
"click-element": 0,
|
4970
|
+
"ctrl-space": 0,
|
4755
4971
|
"focus-element": 0,
|
4756
|
-
mousedown:
|
4972
|
+
mousedown: 0,
|
4757
4973
|
mousemove: 1,
|
4758
4974
|
"new-configuration": 0,
|
4759
|
-
notification:
|
4760
|
-
options:
|
4761
|
-
"request-resource":
|
4762
|
-
"service-worker": 1,
|
4975
|
+
notification: 0,
|
4976
|
+
options: 0,
|
4977
|
+
"request-resource": 0,
|
4763
4978
|
"set-source-map": 0,
|
4764
|
-
"tag-info":
|
4765
|
-
update:
|
4766
|
-
updated:
|
4767
|
-
/*
|
4979
|
+
"tag-info": 0,
|
4980
|
+
update: 0,
|
4981
|
+
updated: 0
|
4982
|
+
/* Default */
|
4768
4983
|
};
|
4769
|
-
|
4770
|
-
function
|
4771
|
-
|
4772
|
-
|
4773
|
-
|
4774
|
-
|
4775
|
-
|
4776
|
-
|
4777
|
-
|
4778
|
-
|
4779
|
-
|
4780
|
-
|
4781
|
-
if (!signedType.startsWith(signature)) {
|
4782
|
-
return false;
|
4783
|
-
}
|
4784
|
-
const type = signedType.substring(signature.length);
|
4785
|
-
if (!isValidKey(type)) {
|
4786
|
-
return false;
|
4787
|
-
}
|
4788
|
-
return true;
|
4789
|
-
}
|
4790
|
-
const sign = (signature, message) => ({ ...message, type: `${signature}${message.type}` });
|
4791
|
-
const unsign = (signature, message) => {
|
4792
|
-
let { type } = message;
|
4793
|
-
if (type.startsWith(signature)) {
|
4794
|
-
type = type.substring(signature.length);
|
4984
|
+
var t;
|
4985
|
+
const i = window, s = i.trustedTypes, e = s ? s.createPolicy("lit-html", { createHTML: (t2) => t2 }) : void 0, o = "$lit$", n = `lit$${(Math.random() + "").slice(9)}$`, l = "?" + n, h = `<${l}>`, r = document, d = () => r.createComment(""), u = (t2) => null === t2 || "object" != typeof t2 && "function" != typeof t2, c = Array.isArray, v = (t2) => c(t2) || "function" == typeof (null == t2 ? void 0 : t2[Symbol.iterator]), a = "[ \n\f\r]", f = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, _ = /-->/g, m = />/g, p = RegExp(`>|${a}(?:([^\\s"'>=/]+)(${a}*=${a}*(?:[^
|
4986
|
+
\f\r"'\`<>=]|("|')|))|$)`, "g"), g = /'/g, $ = /"/g, y = /^(?:script|style|textarea|title)$/i, w = (t2) => (i2, ...s2) => ({ _$litType$: t2, strings: i2, values: s2 }), x = w(1), T = Symbol.for("lit-noChange"), A = Symbol.for("lit-nothing"), E = /* @__PURE__ */ new WeakMap(), C = r.createTreeWalker(r, 129, null, false), P = (t2, i2) => {
|
4987
|
+
const s2 = t2.length - 1, l2 = [];
|
4988
|
+
let r2, d2 = 2 === i2 ? "<svg>" : "", u2 = f;
|
4989
|
+
for (let i3 = 0; i3 < s2; i3++) {
|
4990
|
+
const s3 = t2[i3];
|
4991
|
+
let e2, c3, v2 = -1, a2 = 0;
|
4992
|
+
for (; a2 < s3.length && (u2.lastIndex = a2, c3 = u2.exec(s3), null !== c3); )
|
4993
|
+
a2 = u2.lastIndex, u2 === f ? "!--" === c3[1] ? u2 = _ : void 0 !== c3[1] ? u2 = m : void 0 !== c3[2] ? (y.test(c3[2]) && (r2 = RegExp("</" + c3[2], "g")), u2 = p) : void 0 !== c3[3] && (u2 = p) : u2 === p ? ">" === c3[0] ? (u2 = null != r2 ? r2 : f, v2 = -1) : void 0 === c3[1] ? v2 = -2 : (v2 = u2.lastIndex - c3[2].length, e2 = c3[1], u2 = void 0 === c3[3] ? p : '"' === c3[3] ? $ : g) : u2 === $ || u2 === g ? u2 = p : u2 === _ || u2 === m ? u2 = f : (u2 = p, r2 = void 0);
|
4994
|
+
const w2 = u2 === p && t2[i3 + 1].startsWith("/>") ? " " : "";
|
4995
|
+
d2 += u2 === f ? s3 + h : v2 >= 0 ? (l2.push(e2), s3.slice(0, v2) + o + s3.slice(v2) + n + w2) : s3 + n + (-2 === v2 ? (l2.push(void 0), i3) : w2);
|
4795
4996
|
}
|
4796
|
-
|
4997
|
+
const c2 = d2 + (t2[s2] || "<?>") + (2 === i2 ? "</svg>" : "");
|
4998
|
+
if (!Array.isArray(t2) || !t2.hasOwnProperty("raw"))
|
4999
|
+
throw Error("invalid template strings array");
|
5000
|
+
return [void 0 !== e ? e.createHTML(c2) : c2, l2];
|
4797
5001
|
};
|
4798
|
-
|
4799
|
-
|
4800
|
-
|
4801
|
-
|
5002
|
+
class V {
|
5003
|
+
constructor({ strings: t2, _$litType$: i2 }, e2) {
|
5004
|
+
let h2;
|
5005
|
+
this.parts = [];
|
5006
|
+
let r2 = 0, u2 = 0;
|
5007
|
+
const c2 = t2.length - 1, v2 = this.parts, [a2, f2] = P(t2, i2);
|
5008
|
+
if (this.el = V.createElement(a2, e2), C.currentNode = this.el.content, 2 === i2) {
|
5009
|
+
const t3 = this.el.content, i3 = t3.firstChild;
|
5010
|
+
i3.remove(), t3.append(...i3.childNodes);
|
5011
|
+
}
|
5012
|
+
for (; null !== (h2 = C.nextNode()) && v2.length < c2; ) {
|
5013
|
+
if (1 === h2.nodeType) {
|
5014
|
+
if (h2.hasAttributes()) {
|
5015
|
+
const t3 = [];
|
5016
|
+
for (const i3 of h2.getAttributeNames())
|
5017
|
+
if (i3.endsWith(o) || i3.startsWith(n)) {
|
5018
|
+
const s2 = f2[u2++];
|
5019
|
+
if (t3.push(i3), void 0 !== s2) {
|
5020
|
+
const t4 = h2.getAttribute(s2.toLowerCase() + o).split(n), i4 = /([.?@])?(.*)/.exec(s2);
|
5021
|
+
v2.push({ type: 1, index: r2, name: i4[2], strings: t4, ctor: "." === i4[1] ? k : "?" === i4[1] ? I : "@" === i4[1] ? L : R });
|
5022
|
+
} else
|
5023
|
+
v2.push({ type: 6, index: r2 });
|
5024
|
+
}
|
5025
|
+
for (const i3 of t3)
|
5026
|
+
h2.removeAttribute(i3);
|
5027
|
+
}
|
5028
|
+
if (y.test(h2.tagName)) {
|
5029
|
+
const t3 = h2.textContent.split(n), i3 = t3.length - 1;
|
5030
|
+
if (i3 > 0) {
|
5031
|
+
h2.textContent = s ? s.emptyScript : "";
|
5032
|
+
for (let s2 = 0; s2 < i3; s2++)
|
5033
|
+
h2.append(t3[s2], d()), C.nextNode(), v2.push({ type: 2, index: ++r2 });
|
5034
|
+
h2.append(t3[i3], d());
|
5035
|
+
}
|
5036
|
+
}
|
5037
|
+
} else if (8 === h2.nodeType)
|
5038
|
+
if (h2.data === l)
|
5039
|
+
v2.push({ type: 2, index: r2 });
|
5040
|
+
else {
|
5041
|
+
let t3 = -1;
|
5042
|
+
for (; -1 !== (t3 = h2.data.indexOf(n, t3 + 1)); )
|
5043
|
+
v2.push({ type: 7, index: r2 }), t3 += n.length - 1;
|
5044
|
+
}
|
5045
|
+
r2++;
|
5046
|
+
}
|
4802
5047
|
}
|
4803
|
-
|
4804
|
-
|
4805
|
-
|
4806
|
-
constructor(handler2) {
|
4807
|
-
__publicField$4(this, "__instance");
|
4808
|
-
__publicField$4(this, "__handler");
|
4809
|
-
__publicField$4(this, "__window");
|
4810
|
-
__publicField$4(this, "__randomColor");
|
4811
|
-
this.__instance = "";
|
4812
|
-
this.__handler = handler2;
|
4813
|
-
this.__window = window;
|
4814
|
-
this.__randomColor = generateDarkColorHex();
|
4815
|
-
}
|
4816
|
-
postMessage(to, message, origin) {
|
4817
|
-
{
|
4818
|
-
console.assert(to !== this.__window);
|
4819
|
-
}
|
4820
|
-
if (keys[message.type] !== 1) {
|
4821
|
-
const color = this.__randomColor;
|
4822
|
-
const background = `${color}22`;
|
4823
|
-
const style = { background, color };
|
4824
|
-
const hasTop = this.__window.top !== this.__window;
|
4825
|
-
console.groupCollapsed(`%c Msg from ${this.__window.origin} ${hasTop ? "(inner)" : "(top)"} `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
4826
|
-
console.info(`window '${this.__window.origin}' is sending a message of type %c ${message.type} `, "background: lightgreen; color: darkgreen");
|
4827
|
-
console.log("to", to.document);
|
4828
|
-
console.log(message.content);
|
4829
|
-
console.groupEnd();
|
4830
|
-
}
|
4831
|
-
to.postMessage(sign(this.__instance, message), origin);
|
4832
|
-
}
|
4833
|
-
set instance(str) {
|
4834
|
-
this.__instance = str;
|
4835
|
-
}
|
4836
|
-
get window() {
|
4837
|
-
return this.__window;
|
4838
|
-
}
|
4839
|
-
set window(win) {
|
4840
|
-
this.__window = win;
|
4841
|
-
}
|
4842
|
-
send(to, message, origin = "*") {
|
4843
|
-
this.__window !== to && this.postMessage(to, message, origin);
|
4844
|
-
}
|
4845
|
-
recv(window2, from2 = null) {
|
4846
|
-
const listener = ({ data, source }) => {
|
4847
|
-
if ((from2 === null || source === from2) && isInstanceMessage(data, this.__instance)) {
|
4848
|
-
const message = unsign(this.__instance, data);
|
4849
|
-
this.__handler(message);
|
4850
|
-
}
|
4851
|
-
};
|
4852
|
-
window2.addEventListener("message", listener);
|
4853
|
-
return () => window2.removeEventListener("message", listener);
|
4854
|
-
}
|
4855
|
-
}
|
4856
|
-
var __defProp$3 = Object.defineProperty;
|
4857
|
-
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4858
|
-
var __publicField$3 = (obj, key, value) => {
|
4859
|
-
__defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4860
|
-
return value;
|
4861
|
-
};
|
4862
|
-
function registerChannels() {
|
4863
|
-
return {
|
4864
|
-
configuration: new ReplaySubject(),
|
4865
|
-
focus: new BehaviorSubject(void 0),
|
4866
|
-
infos: new ReplaySubject(),
|
4867
|
-
mocks: new ReplaySubject(),
|
4868
|
-
mode: new BehaviorSubject("select"),
|
4869
|
-
notification: new ReplaySubject(),
|
4870
|
-
setSourceMap: new ReplaySubject(),
|
4871
|
-
swReady: new ReplaySubject(1),
|
4872
|
-
updated: new Subject(),
|
4873
|
-
uppercaseTags: /* @__PURE__ */ new Set()
|
4874
|
-
};
|
4875
|
-
}
|
4876
|
-
const nextMode = (mode) => {
|
4877
|
-
let next = 0;
|
4878
|
-
const currentValue = mode.getValue();
|
4879
|
-
if (currentValue === "interact") {
|
4880
|
-
next = "select";
|
4881
|
-
} else if (currentValue === "select") {
|
4882
|
-
next = "interact";
|
4883
|
-
}
|
4884
|
-
mode.next(next);
|
4885
|
-
return next;
|
4886
|
-
};
|
4887
|
-
const subjects = registerChannels();
|
4888
|
-
function parentListener(message) {
|
4889
|
-
switch (message.type) {
|
4890
|
-
case "options": {
|
4891
|
-
const { content: { disableOverlay, redirectTo, timeout } } = message;
|
4892
|
-
if (disableOverlay) {
|
4893
|
-
Object.defineProperty(this.window, "__BACKOFFICE_CONFIGURATOR_DISABLE_OVERLAY__", { value: true });
|
4894
|
-
subjects.mode.next("interact");
|
4895
|
-
}
|
4896
|
-
if (timeout !== void 0) {
|
4897
|
-
Object.defineProperty(this.window, "__BACKOFFICE_CONFIGURATOR_PREVIEW_TIMEOUT__", { value: timeout });
|
4898
|
-
}
|
4899
|
-
const { window: { history } } = this;
|
4900
|
-
this.window.navigator.serviceWorker.ready.then(() => redirectTo && history.pushState(history.state, "", redirectTo)).catch(() => {
|
4901
|
-
});
|
4902
|
-
break;
|
4903
|
-
}
|
4904
|
-
case "ctrl-space":
|
4905
|
-
nextMode(subjects.mode);
|
4906
|
-
break;
|
4907
|
-
case "new-configuration":
|
4908
|
-
subjects.configuration.next({ ...message.content, type: "reset" });
|
4909
|
-
break;
|
4910
|
-
case "update":
|
4911
|
-
subjects.configuration.next({ ...message.content, type: "update" });
|
4912
|
-
break;
|
4913
|
-
case "focus-element":
|
4914
|
-
subjects.focus.next(message.content);
|
4915
|
-
break;
|
4916
|
-
case "set-source-map": {
|
4917
|
-
const { content: { dictionary } } = message;
|
4918
|
-
subjects.setSourceMap.next({
|
4919
|
-
...message.content,
|
4920
|
-
dictionary: Object.entries(dictionary).reduce((acc, [from2, to]) => {
|
4921
|
-
try {
|
4922
|
-
const { href: fromUrl } = new URL(from2, this.window.location.href);
|
4923
|
-
const obj = typeof to === "string" ? { headers: {}, query: {}, to } : to;
|
4924
|
-
acc[fromUrl] = {
|
4925
|
-
originalFrom: from2,
|
4926
|
-
...obj
|
4927
|
-
};
|
4928
|
-
} catch (e2) {
|
4929
|
-
}
|
4930
|
-
return acc;
|
4931
|
-
}, {})
|
4932
|
-
});
|
4933
|
-
break;
|
4934
|
-
}
|
4935
|
-
}
|
4936
|
-
}
|
4937
|
-
class ServiceWorkerChannel {
|
4938
|
-
constructor(handler2) {
|
4939
|
-
__publicField$3(this, "__handler");
|
4940
|
-
__publicField$3(this, "__window");
|
4941
|
-
__publicField$3(this, "__randomColor");
|
4942
|
-
this.__handler = handler2;
|
4943
|
-
this.__window = window;
|
4944
|
-
this.__randomColor = generateDarkColorHex();
|
4945
|
-
}
|
4946
|
-
send(to, message) {
|
4947
|
-
{
|
4948
|
-
const color = this.__randomColor;
|
4949
|
-
const background = `${color}22`;
|
4950
|
-
const style = { background, color };
|
4951
|
-
console.groupCollapsed(`%c Msg to Service Worker `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
4952
|
-
console.info(`window '${this.__window.origin}' is sending a message of type %c ${message.type} `, "background: lightgreen; color: darkgreen");
|
4953
|
-
console.log(message.content);
|
4954
|
-
console.groupEnd();
|
4955
|
-
}
|
4956
|
-
to.postMessage(message);
|
4957
|
-
}
|
4958
|
-
get window() {
|
4959
|
-
return this.__window;
|
4960
|
-
}
|
4961
|
-
set window(win) {
|
4962
|
-
this.__window = win;
|
4963
|
-
}
|
4964
|
-
recv() {
|
4965
|
-
const swListener2 = ({ data }) => {
|
4966
|
-
this.__handler(data);
|
4967
|
-
};
|
4968
|
-
const { __window: { navigator: navigator2 } } = this;
|
4969
|
-
navigator2.serviceWorker.addEventListener("message", swListener2);
|
4970
|
-
return () => navigator2.serviceWorker.removeEventListener("message", swListener2);
|
4971
|
-
}
|
4972
|
-
}
|
4973
|
-
const swListener = (message) => {
|
4974
|
-
switch (message.type) {
|
4975
|
-
case "source-map-ack":
|
4976
|
-
subjects.swReady.next(0);
|
4977
|
-
break;
|
4978
|
-
}
|
4979
|
-
};
|
4980
|
-
const postChannel = new PostChannel(parentListener);
|
4981
|
-
const serviceWorkerChannel = new ServiceWorkerChannel(swListener);
|
4982
|
-
const DEFAULT_LANGUAGE = "en";
|
4983
|
-
const localizeText = (input, lang = DEFAULT_LANGUAGE) => {
|
4984
|
-
if (typeof input === "string") {
|
4985
|
-
return input;
|
4986
|
-
}
|
4987
|
-
return input == null ? void 0 : input[lang];
|
4988
|
-
};
|
4989
|
-
function translateObject(obj) {
|
4990
|
-
return Object.entries(obj).reduce((out, [key, value]) => {
|
4991
|
-
out[key] = localizeText(value);
|
4992
|
-
return out;
|
4993
|
-
}, {});
|
4994
|
-
}
|
4995
|
-
const noop = (..._args) => {
|
4996
|
-
};
|
4997
|
-
const toArray$1 = (input) => Array.isArray(input) ? input : [input];
|
4998
|
-
const urlMakerFactory = ({ document: { baseURI }, location: { href } }) => (input) => new URL(input, new URL(baseURI, href));
|
4999
|
-
const toURL = (urlMaker, info) => {
|
5000
|
-
let url = info;
|
5001
|
-
if (!(info instanceof URL)) {
|
5002
|
-
url = urlMaker(typeof info === "string" ? info : info.url);
|
5003
|
-
}
|
5004
|
-
return url;
|
5005
|
-
};
|
5006
|
-
const trimLocationOrigin = (origin, url) => {
|
5007
|
-
const { href, origin: linkOrigin } = url;
|
5008
|
-
if (origin === linkOrigin) {
|
5009
|
-
return href.substring(origin.length);
|
5010
|
-
}
|
5011
|
-
return href;
|
5012
|
-
};
|
5013
|
-
const getElement = (document2, context, nth = 0) => {
|
5014
|
-
const { selectors } = context;
|
5015
|
-
return document2.querySelector(selectors[nth]);
|
5016
|
-
};
|
5017
|
-
function getElementBySelector(selector) {
|
5018
|
-
return document.querySelector(selector);
|
5019
|
-
}
|
5020
|
-
const unfocus = (element, mapping) => {
|
5021
|
-
const originalStyle = mapping.get(element.getAttribute("__mia_preview_id"));
|
5022
|
-
if (originalStyle) {
|
5023
|
-
const { css, rest, subscription } = originalStyle;
|
5024
|
-
rest.forEach((el) => {
|
5025
|
-
var _a2;
|
5026
|
-
return (_a2 = el.__unfocus_handler) == null ? void 0 : _a2.call(el);
|
5027
|
-
});
|
5028
|
-
subscription.unsubscribe();
|
5029
|
-
originalStyle.elementToFocus.forEach((el, idx) => {
|
5030
|
-
Object.assign(el.style, css[idx]);
|
5031
|
-
});
|
5032
|
-
}
|
5033
|
-
mapping.delete(element.getAttribute("__mia_preview_id"));
|
5034
|
-
};
|
5035
|
-
const noUndefined = (input) => input !== void 0;
|
5036
|
-
function focus(document2, obs$, mode$) {
|
5037
|
-
const stylesMap = /* @__PURE__ */ new Map();
|
5038
|
-
const getBySelector = getElementBySelector.bind(document2);
|
5039
|
-
const subscription = obs$.pipe(
|
5040
|
-
pairwise(),
|
5041
|
-
tap(([current]) => {
|
5042
|
-
var _a2;
|
5043
|
-
if (current !== void 0) {
|
5044
|
-
const prev = getElement(document2, current);
|
5045
|
-
if (prev !== null) {
|
5046
|
-
(_a2 = prev.__unfocus_handler) == null ? void 0 : _a2.call(prev);
|
5047
|
-
unfocus(prev, stylesMap);
|
5048
|
-
}
|
5049
|
-
}
|
5050
|
-
}),
|
5051
|
-
map(([, next]) => next),
|
5052
|
-
filter(noUndefined),
|
5053
|
-
map((next) => {
|
5054
|
-
const [first, ...rest] = next.selectors;
|
5055
|
-
const otherElements = rest.reduce((arr, selector) => {
|
5056
|
-
var _a2;
|
5057
|
-
const el = getBySelector(selector);
|
5058
|
-
if (el) {
|
5059
|
-
arr.push(el);
|
5060
|
-
const result = (_a2 = el.__focus_handler) == null ? void 0 : _a2.call(el);
|
5061
|
-
if (result && "then" in result) {
|
5062
|
-
result.catch(noop);
|
5063
|
-
}
|
5064
|
-
}
|
5065
|
-
return arr;
|
5066
|
-
}, []);
|
5067
|
-
return { first, next, otherElements };
|
5068
|
-
}),
|
5069
|
-
map((next) => ({ ...next, firstElement: getBySelector(next.first) })),
|
5070
|
-
filter((next) => next.firstElement !== null),
|
5071
|
-
map((next) => {
|
5072
|
-
var _a2, _b;
|
5073
|
-
return { ...next, focus: (_b = (_a2 = next.firstElement).__focus_handler) == null ? void 0 : _b.call(_a2) };
|
5074
|
-
}),
|
5075
|
-
concatMap(({ focus: focusPromise, ...rest }) => {
|
5076
|
-
const promise = focusPromise && "then" in focusPromise ? focusPromise : Promise.resolve(focusPromise != null ? focusPromise : rest.firstElement);
|
5077
|
-
return promise.then((focusElement) => ({ focus: focusElement, ...rest })).catch(() => ({ focus: void 0, ...rest }));
|
5078
|
-
})
|
5079
|
-
).subscribe(({ otherElements, next, firstElement, focus: focusContext }) => {
|
5080
|
-
const cssKeys = Object.keys(next.style);
|
5081
|
-
const stylePendingChanges = new Subscription();
|
5082
|
-
const elementToFocus = toArray$1(focusContext != null ? focusContext : firstElement).filter(Boolean);
|
5083
|
-
const initialStyles = { css: [], elementToFocus, rest: otherElements, subscription: stylePendingChanges };
|
5084
|
-
const styles = cssKeys.reduce((acc, key) => {
|
5085
|
-
elementToFocus.forEach((el, idx) => {
|
5086
|
-
var _a2;
|
5087
|
-
acc.css[idx] = Object.assign((_a2 = acc.css[idx]) != null ? _a2 : {}, { [key]: el.style[key] });
|
5088
|
-
});
|
5089
|
-
return acc;
|
5090
|
-
}, initialStyles);
|
5091
|
-
stylePendingChanges.add(mode$.pipe(filter((val) => val === "select"), take(1)).subscribe(() => {
|
5092
|
-
elementToFocus.forEach((el) => {
|
5093
|
-
Object.assign(el.style, next.style);
|
5094
|
-
});
|
5095
|
-
}));
|
5096
|
-
stylesMap.set(firstElement.getAttribute("__mia_preview_id"), styles);
|
5097
|
-
});
|
5098
|
-
return () => subscription.unsubscribe();
|
5099
|
-
}
|
5100
|
-
var t;
|
5101
|
-
const i = window, s = i.trustedTypes, e = s ? s.createPolicy("lit-html", { createHTML: (t2) => t2 }) : void 0, o = "$lit$", n = `lit$${(Math.random() + "").slice(9)}$`, l = "?" + n, h = `<${l}>`, r = document, d = () => r.createComment(""), u = (t2) => null === t2 || "object" != typeof t2 && "function" != typeof t2, c = Array.isArray, v = (t2) => c(t2) || "function" == typeof (null == t2 ? void 0 : t2[Symbol.iterator]), a = "[ \n\f\r]", f = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, _ = /-->/g, m = />/g, p = RegExp(`>|${a}(?:([^\\s"'>=/]+)(${a}*=${a}*(?:[^
|
5102
|
-
\f\r"'\`<>=]|("|')|))|$)`, "g"), g = /'/g, $ = /"/g, y = /^(?:script|style|textarea|title)$/i, w = (t2) => (i2, ...s2) => ({ _$litType$: t2, strings: i2, values: s2 }), x = w(1), T = Symbol.for("lit-noChange"), A = Symbol.for("lit-nothing"), E = /* @__PURE__ */ new WeakMap(), C = r.createTreeWalker(r, 129, null, false), P = (t2, i2) => {
|
5103
|
-
const s2 = t2.length - 1, l2 = [];
|
5104
|
-
let r2, d2 = 2 === i2 ? "<svg>" : "", u2 = f;
|
5105
|
-
for (let i3 = 0; i3 < s2; i3++) {
|
5106
|
-
const s3 = t2[i3];
|
5107
|
-
let e2, c3, v2 = -1, a2 = 0;
|
5108
|
-
for (; a2 < s3.length && (u2.lastIndex = a2, c3 = u2.exec(s3), null !== c3); )
|
5109
|
-
a2 = u2.lastIndex, u2 === f ? "!--" === c3[1] ? u2 = _ : void 0 !== c3[1] ? u2 = m : void 0 !== c3[2] ? (y.test(c3[2]) && (r2 = RegExp("</" + c3[2], "g")), u2 = p) : void 0 !== c3[3] && (u2 = p) : u2 === p ? ">" === c3[0] ? (u2 = null != r2 ? r2 : f, v2 = -1) : void 0 === c3[1] ? v2 = -2 : (v2 = u2.lastIndex - c3[2].length, e2 = c3[1], u2 = void 0 === c3[3] ? p : '"' === c3[3] ? $ : g) : u2 === $ || u2 === g ? u2 = p : u2 === _ || u2 === m ? u2 = f : (u2 = p, r2 = void 0);
|
5110
|
-
const w2 = u2 === p && t2[i3 + 1].startsWith("/>") ? " " : "";
|
5111
|
-
d2 += u2 === f ? s3 + h : v2 >= 0 ? (l2.push(e2), s3.slice(0, v2) + o + s3.slice(v2) + n + w2) : s3 + n + (-2 === v2 ? (l2.push(void 0), i3) : w2);
|
5112
|
-
}
|
5113
|
-
const c2 = d2 + (t2[s2] || "<?>") + (2 === i2 ? "</svg>" : "");
|
5114
|
-
if (!Array.isArray(t2) || !t2.hasOwnProperty("raw"))
|
5115
|
-
throw Error("invalid template strings array");
|
5116
|
-
return [void 0 !== e ? e.createHTML(c2) : c2, l2];
|
5117
|
-
};
|
5118
|
-
class V {
|
5119
|
-
constructor({ strings: t2, _$litType$: i2 }, e2) {
|
5120
|
-
let h2;
|
5121
|
-
this.parts = [];
|
5122
|
-
let r2 = 0, u2 = 0;
|
5123
|
-
const c2 = t2.length - 1, v2 = this.parts, [a2, f2] = P(t2, i2);
|
5124
|
-
if (this.el = V.createElement(a2, e2), C.currentNode = this.el.content, 2 === i2) {
|
5125
|
-
const t3 = this.el.content, i3 = t3.firstChild;
|
5126
|
-
i3.remove(), t3.append(...i3.childNodes);
|
5127
|
-
}
|
5128
|
-
for (; null !== (h2 = C.nextNode()) && v2.length < c2; ) {
|
5129
|
-
if (1 === h2.nodeType) {
|
5130
|
-
if (h2.hasAttributes()) {
|
5131
|
-
const t3 = [];
|
5132
|
-
for (const i3 of h2.getAttributeNames())
|
5133
|
-
if (i3.endsWith(o) || i3.startsWith(n)) {
|
5134
|
-
const s2 = f2[u2++];
|
5135
|
-
if (t3.push(i3), void 0 !== s2) {
|
5136
|
-
const t4 = h2.getAttribute(s2.toLowerCase() + o).split(n), i4 = /([.?@])?(.*)/.exec(s2);
|
5137
|
-
v2.push({ type: 1, index: r2, name: i4[2], strings: t4, ctor: "." === i4[1] ? k : "?" === i4[1] ? I : "@" === i4[1] ? L : R });
|
5138
|
-
} else
|
5139
|
-
v2.push({ type: 6, index: r2 });
|
5140
|
-
}
|
5141
|
-
for (const i3 of t3)
|
5142
|
-
h2.removeAttribute(i3);
|
5143
|
-
}
|
5144
|
-
if (y.test(h2.tagName)) {
|
5145
|
-
const t3 = h2.textContent.split(n), i3 = t3.length - 1;
|
5146
|
-
if (i3 > 0) {
|
5147
|
-
h2.textContent = s ? s.emptyScript : "";
|
5148
|
-
for (let s2 = 0; s2 < i3; s2++)
|
5149
|
-
h2.append(t3[s2], d()), C.nextNode(), v2.push({ type: 2, index: ++r2 });
|
5150
|
-
h2.append(t3[i3], d());
|
5151
|
-
}
|
5152
|
-
}
|
5153
|
-
} else if (8 === h2.nodeType)
|
5154
|
-
if (h2.data === l)
|
5155
|
-
v2.push({ type: 2, index: r2 });
|
5156
|
-
else {
|
5157
|
-
let t3 = -1;
|
5158
|
-
for (; -1 !== (t3 = h2.data.indexOf(n, t3 + 1)); )
|
5159
|
-
v2.push({ type: 7, index: r2 }), t3 += n.length - 1;
|
5160
|
-
}
|
5161
|
-
r2++;
|
5162
|
-
}
|
5163
|
-
}
|
5164
|
-
static createElement(t2, i2) {
|
5165
|
-
const s2 = r.createElement("template");
|
5166
|
-
return s2.innerHTML = t2, s2;
|
5048
|
+
static createElement(t2, i2) {
|
5049
|
+
const s2 = r.createElement("template");
|
5050
|
+
return s2.innerHTML = t2, s2;
|
5167
5051
|
}
|
5168
5052
|
}
|
5169
5053
|
function N(t2, i2, s2 = t2, e2) {
|
@@ -5176,7 +5060,7 @@ function N(t2, i2, s2 = t2, e2) {
|
|
5176
5060
|
}
|
5177
5061
|
class S {
|
5178
5062
|
constructor(t2, i2) {
|
5179
|
-
this.
|
5063
|
+
this._$AV = [], this._$AN = void 0, this._$AD = t2, this._$AM = i2;
|
5180
5064
|
}
|
5181
5065
|
get parentNode() {
|
5182
5066
|
return this._$AM.parentNode;
|
@@ -5184,7 +5068,7 @@ class S {
|
|
5184
5068
|
get _$AU() {
|
5185
5069
|
return this._$AM._$AU;
|
5186
5070
|
}
|
5187
|
-
|
5071
|
+
u(t2) {
|
5188
5072
|
var i2;
|
5189
5073
|
const { el: { content: s2 }, parts: e2 } = this._$AD, o2 = (null !== (i2 = null == t2 ? void 0 : t2.creationScope) && void 0 !== i2 ? i2 : r).importNode(s2, true);
|
5190
5074
|
C.currentNode = o2;
|
@@ -5192,26 +5076,26 @@ class S {
|
|
5192
5076
|
for (; void 0 !== d2; ) {
|
5193
5077
|
if (l2 === d2.index) {
|
5194
5078
|
let i3;
|
5195
|
-
2 === d2.type ? i3 = new M(n2, n2.nextSibling, this, t2) : 1 === d2.type ? i3 = new d2.ctor(n2, d2.name, d2.strings, this, t2) : 6 === d2.type && (i3 = new z(n2, this, t2)), this.
|
5079
|
+
2 === d2.type ? i3 = new M(n2, n2.nextSibling, this, t2) : 1 === d2.type ? i3 = new d2.ctor(n2, d2.name, d2.strings, this, t2) : 6 === d2.type && (i3 = new z(n2, this, t2)), this._$AV.push(i3), d2 = e2[++h2];
|
5196
5080
|
}
|
5197
5081
|
l2 !== (null == d2 ? void 0 : d2.index) && (n2 = C.nextNode(), l2++);
|
5198
5082
|
}
|
5199
|
-
return o2;
|
5083
|
+
return C.currentNode = r, o2;
|
5200
5084
|
}
|
5201
|
-
|
5085
|
+
v(t2) {
|
5202
5086
|
let i2 = 0;
|
5203
|
-
for (const s2 of this.
|
5087
|
+
for (const s2 of this._$AV)
|
5204
5088
|
void 0 !== s2 && (void 0 !== s2.strings ? (s2._$AI(t2, s2, i2), i2 += s2.strings.length - 2) : s2._$AI(t2[i2])), i2++;
|
5205
5089
|
}
|
5206
5090
|
}
|
5207
5091
|
class M {
|
5208
5092
|
constructor(t2, i2, s2, e2) {
|
5209
5093
|
var o2;
|
5210
|
-
this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t2, this._$AB = i2, this._$AM = s2, this.options = e2, this._$
|
5094
|
+
this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t2, this._$AB = i2, this._$AM = s2, this.options = e2, this._$Cp = null === (o2 = null == e2 ? void 0 : e2.isConnected) || void 0 === o2 || o2;
|
5211
5095
|
}
|
5212
5096
|
get _$AU() {
|
5213
5097
|
var t2, i2;
|
5214
|
-
return null !== (i2 = null === (t2 = this._$AM) || void 0 === t2 ? void 0 : t2._$AU) && void 0 !== i2 ? i2 : this._$
|
5098
|
+
return null !== (i2 = null === (t2 = this._$AM) || void 0 === t2 ? void 0 : t2._$AU) && void 0 !== i2 ? i2 : this._$Cp;
|
5215
5099
|
}
|
5216
5100
|
get parentNode() {
|
5217
5101
|
let t2 = this._$AA.parentNode;
|
@@ -5225,37 +5109,37 @@ class M {
|
|
5225
5109
|
return this._$AB;
|
5226
5110
|
}
|
5227
5111
|
_$AI(t2, i2 = this) {
|
5228
|
-
t2 = N(this, t2, i2), u(t2) ? t2 === A || null == t2 || "" === t2 ? (this._$AH !== A && this._$AR(), this._$AH = A) : t2 !== this._$AH && t2 !== T && this.
|
5112
|
+
t2 = N(this, t2, i2), u(t2) ? t2 === A || null == t2 || "" === t2 ? (this._$AH !== A && this._$AR(), this._$AH = A) : t2 !== this._$AH && t2 !== T && this._(t2) : void 0 !== t2._$litType$ ? this.g(t2) : void 0 !== t2.nodeType ? this.$(t2) : v(t2) ? this.T(t2) : this._(t2);
|
5229
5113
|
}
|
5230
|
-
|
5114
|
+
k(t2) {
|
5231
5115
|
return this._$AA.parentNode.insertBefore(t2, this._$AB);
|
5232
5116
|
}
|
5233
|
-
|
5234
|
-
this._$AH !== t2 && (this._$AR(), this._$AH = this.
|
5117
|
+
$(t2) {
|
5118
|
+
this._$AH !== t2 && (this._$AR(), this._$AH = this.k(t2));
|
5235
5119
|
}
|
5236
|
-
|
5237
|
-
this._$AH !== A && u(this._$AH) ? this._$AA.nextSibling.data = t2 : this
|
5120
|
+
_(t2) {
|
5121
|
+
this._$AH !== A && u(this._$AH) ? this._$AA.nextSibling.data = t2 : this.$(r.createTextNode(t2)), this._$AH = t2;
|
5238
5122
|
}
|
5239
|
-
|
5123
|
+
g(t2) {
|
5240
5124
|
var i2;
|
5241
5125
|
const { values: s2, _$litType$: e2 } = t2, o2 = "number" == typeof e2 ? this._$AC(t2) : (void 0 === e2.el && (e2.el = V.createElement(e2.h, this.options)), e2);
|
5242
5126
|
if ((null === (i2 = this._$AH) || void 0 === i2 ? void 0 : i2._$AD) === o2)
|
5243
|
-
this._$AH.
|
5127
|
+
this._$AH.v(s2);
|
5244
5128
|
else {
|
5245
|
-
const t3 = new S(o2, this), i3 = t3.
|
5246
|
-
t3.
|
5129
|
+
const t3 = new S(o2, this), i3 = t3.u(this.options);
|
5130
|
+
t3.v(s2), this.$(i3), this._$AH = t3;
|
5247
5131
|
}
|
5248
5132
|
}
|
5249
5133
|
_$AC(t2) {
|
5250
5134
|
let i2 = E.get(t2.strings);
|
5251
5135
|
return void 0 === i2 && E.set(t2.strings, i2 = new V(t2)), i2;
|
5252
5136
|
}
|
5253
|
-
|
5137
|
+
T(t2) {
|
5254
5138
|
c(this._$AH) || (this._$AH = [], this._$AR());
|
5255
5139
|
const i2 = this._$AH;
|
5256
5140
|
let s2, e2 = 0;
|
5257
5141
|
for (const o2 of t2)
|
5258
|
-
e2 === i2.length ? i2.push(s2 = new M(this.
|
5142
|
+
e2 === i2.length ? i2.push(s2 = new M(this.k(d()), this.k(d()), this, this.options)) : s2 = i2[e2], s2._$AI(o2), e2++;
|
5259
5143
|
e2 < i2.length && (this._$AR(s2 && s2._$AB.nextSibling, e2), i2.length = e2);
|
5260
5144
|
}
|
5261
5145
|
_$AR(t2 = this._$AA.nextSibling, i2) {
|
@@ -5267,7 +5151,7 @@ class M {
|
|
5267
5151
|
}
|
5268
5152
|
setConnected(t2) {
|
5269
5153
|
var i2;
|
5270
|
-
void 0 === this._$AM && (this._$
|
5154
|
+
void 0 === this._$AM && (this._$Cp = t2, null === (i2 = this._$AP) || void 0 === i2 || i2.call(this, t2));
|
5271
5155
|
}
|
5272
5156
|
}
|
5273
5157
|
class R {
|
@@ -5342,7 +5226,7 @@ class z {
|
|
5342
5226
|
}
|
5343
5227
|
}
|
5344
5228
|
const j = i.litHtmlPolyfillSupport;
|
5345
|
-
null == j || j(V, M), (null !== (t = i.litHtmlVersions) && void 0 !== t ? t : i.litHtmlVersions = []).push("2.7.
|
5229
|
+
null == j || j(V, M), (null !== (t = i.litHtmlVersions) && void 0 !== t ? t : i.litHtmlVersions = []).push("2.7.4");
|
5346
5230
|
const B = (t2, i2, s2) => {
|
5347
5231
|
var e2, o2;
|
5348
5232
|
const n2 = null !== (e2 = null == s2 ? void 0 : s2.renderBefore) && void 0 !== e2 ? e2 : i2;
|
@@ -5550,7 +5434,7 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
5550
5434
|
})).then(() => baseModule());
|
5551
5435
|
};
|
5552
5436
|
function error(message, ...args) {
|
5553
|
-
__vitePreload(() => import("./
|
5437
|
+
__vitePreload(() => import("./errors-5a0ccde7.js"), true ? [] : void 0, import.meta.url).then(({ default: errorMap }) => {
|
5554
5438
|
const handler2 = errorMap[message];
|
5555
5439
|
handler2 ? console.error(handler2(...args)) : console.error(...args);
|
5556
5440
|
}).catch((err) => {
|
@@ -5564,12 +5448,12 @@ function dynamicImportError(name) {
|
|
5564
5448
|
error("0", name, err.message);
|
5565
5449
|
};
|
5566
5450
|
}
|
5567
|
-
const logger
|
5451
|
+
const logger = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
5568
5452
|
__proto__: null,
|
5569
5453
|
dynamicImportError,
|
5570
5454
|
error
|
5571
5455
|
}, Symbol.toStringTag, { value: "Module" }));
|
5572
|
-
var logger_default = logger
|
5456
|
+
var logger_default = logger;
|
5573
5457
|
var __defProp$2 = Object.defineProperty;
|
5574
5458
|
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
5575
5459
|
var __publicField$2 = (obj, key, value) => {
|
@@ -5804,17 +5688,17 @@ const fromErrorToNotification = (error2) => {
|
|
5804
5688
|
status: "error"
|
5805
5689
|
};
|
5806
5690
|
};
|
5807
|
-
const errorHandler = (
|
5691
|
+
const errorHandler = (channel, error2) => channel.send({
|
5808
5692
|
content: fromErrorToNotification(error2),
|
5809
5693
|
type: "notification"
|
5810
5694
|
});
|
5811
5695
|
const isRealMouseEvent = (event) => "clientX" in event && "clientY" in event;
|
5812
|
-
function mouseEventFactory(
|
5696
|
+
function mouseEventFactory(channel, type) {
|
5813
5697
|
return (event) => {
|
5814
5698
|
if (!isRealMouseEvent(event)) {
|
5815
5699
|
return;
|
5816
5700
|
}
|
5817
|
-
|
5701
|
+
channel.send({
|
5818
5702
|
content: {
|
5819
5703
|
bubbles: true,
|
5820
5704
|
cancelable: false,
|
@@ -5826,7 +5710,7 @@ function mouseEventFactory(self2, type) {
|
|
5826
5710
|
};
|
5827
5711
|
}
|
5828
5712
|
const isControlledElement = (tags, element) => tags.has(element.tagName) && element.hasAttribute(MIA_PREVIEW_ID);
|
5829
|
-
const mouseOnElementFactory = (self2, channels) => {
|
5713
|
+
const mouseOnElementFactory = (self2, postChannel, channels) => {
|
5830
5714
|
const { document: document2 } = self2;
|
5831
5715
|
return (event) => {
|
5832
5716
|
let content;
|
@@ -5842,13 +5726,305 @@ const mouseOnElementFactory = (self2, channels) => {
|
|
5842
5726
|
}, { ids: [], selectors: [] });
|
5843
5727
|
}
|
5844
5728
|
if (channels.mode.getValue() === "select" || content === void 0) {
|
5845
|
-
postChannel.send(
|
5729
|
+
postChannel.send({
|
5846
5730
|
content: content && (content.ids.length > 0 ? content : void 0),
|
5847
5731
|
type: "click-element"
|
5848
5732
|
});
|
5849
5733
|
}
|
5850
5734
|
};
|
5851
5735
|
};
|
5736
|
+
var fromWindowToReceiver = (self2, options) => {
|
5737
|
+
return {
|
5738
|
+
postMessage: (message) => {
|
5739
|
+
self2.postMessage(message, (options == null ? void 0 : options.targetOrigin) ?? "*", options == null ? void 0 : options.transfer);
|
5740
|
+
}
|
5741
|
+
};
|
5742
|
+
};
|
5743
|
+
var SynAck = /* @__PURE__ */ ((SynAck2) => {
|
5744
|
+
SynAck2["Ack"] = "ack";
|
5745
|
+
SynAck2["Syn"] = "syn";
|
5746
|
+
return SynAck2;
|
5747
|
+
})(SynAck || {});
|
5748
|
+
var synackKeys = Object.values(SynAck);
|
5749
|
+
var getData = (message) => message.data;
|
5750
|
+
var synackFilter = (type) => (data) => data.type === type.toString();
|
5751
|
+
var isPostChannelMessage = (message) => {
|
5752
|
+
const data = message.data;
|
5753
|
+
return typeof data === "object" && data !== null && "type" in data && typeof data.type === "string" && "instance" in data && typeof data.instance === "string" && "content" in data;
|
5754
|
+
};
|
5755
|
+
var generateDarkColorHex = () => {
|
5756
|
+
let color = "#";
|
5757
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
5758
|
+
color += `0${Math.floor(Math.random() * Math.pow(16, 2) / 2).toString(16)}`.slice(-2);
|
5759
|
+
}
|
5760
|
+
return color;
|
5761
|
+
};
|
5762
|
+
var PostChannel = class {
|
5763
|
+
constructor(listener, from2, to, opts) {
|
5764
|
+
__publicField(this, "__generateId");
|
5765
|
+
__publicField(this, "__instance");
|
5766
|
+
__publicField(this, "__colors");
|
5767
|
+
__publicField(this, "__listener");
|
5768
|
+
__publicField(this, "__log");
|
5769
|
+
__publicField(this, "__receiver");
|
5770
|
+
__publicField(this, "__subscription");
|
5771
|
+
__publicField(this, "__okToWrite");
|
5772
|
+
__publicField(this, "__write$");
|
5773
|
+
__publicField(this, "__recv$");
|
5774
|
+
this.__generateId = () => globalThis.crypto.randomUUID();
|
5775
|
+
const instance = this.__generateId();
|
5776
|
+
const messages = new ReplaySubject();
|
5777
|
+
const fromSubscription = fromEvent(from2, "message").pipe(filter(isPostChannelMessage)).subscribe(messages);
|
5778
|
+
this.__subscription = new Subscription();
|
5779
|
+
this.__subscription.add(fromSubscription);
|
5780
|
+
this.__okToWrite = new ReplaySubject(1);
|
5781
|
+
this.__write$ = this.__okToWrite.pipe(take(1));
|
5782
|
+
this.__recv$ = messages.asObservable();
|
5783
|
+
this.__listener = listener;
|
5784
|
+
this.__log = (opts == null ? void 0 : opts.log) && opts.log.bind(this);
|
5785
|
+
this.__instance = instance;
|
5786
|
+
const color = generateDarkColorHex();
|
5787
|
+
this.__colors = {
|
5788
|
+
bg: `${color}22`,
|
5789
|
+
fg: color
|
5790
|
+
};
|
5791
|
+
this.__receiver = to;
|
5792
|
+
this.__connect(
|
5793
|
+
instance,
|
5794
|
+
(opts == null ? void 0 : opts.period) ? opts.period : 10
|
5795
|
+
);
|
5796
|
+
}
|
5797
|
+
__connect(instance, period) {
|
5798
|
+
const synSubscription = interval(period).subscribe(() => this.__receiver.postMessage({
|
5799
|
+
content: instance,
|
5800
|
+
instance,
|
5801
|
+
type: "syn".toString()
|
5802
|
+
}));
|
5803
|
+
this.__subscription.add(synSubscription);
|
5804
|
+
this.__subscription.add(
|
5805
|
+
this.__recv$.pipe(
|
5806
|
+
map(getData),
|
5807
|
+
filter(synackFilter(
|
5808
|
+
"ack"
|
5809
|
+
/* Ack */
|
5810
|
+
)),
|
5811
|
+
filter(({ content }) => content === instance),
|
5812
|
+
take(1)
|
5813
|
+
).subscribe(({ instance: foreignInstance }) => {
|
5814
|
+
this.__okToWrite.next(0);
|
5815
|
+
this.__subscription.add(
|
5816
|
+
this.__recv$.pipe(
|
5817
|
+
filter(
|
5818
|
+
({ data: { type, instance: incomingInstance } }) => !synackKeys.includes(type) && incomingInstance === foreignInstance
|
5819
|
+
)
|
5820
|
+
).subscribe((message) => {
|
5821
|
+
this.__listener(message);
|
5822
|
+
const { data } = message;
|
5823
|
+
if (data._id !== void 0) {
|
5824
|
+
this.__receiver.postMessage({
|
5825
|
+
...data,
|
5826
|
+
content: data,
|
5827
|
+
instance,
|
5828
|
+
type: "ack"
|
5829
|
+
/* Ack */
|
5830
|
+
});
|
5831
|
+
}
|
5832
|
+
})
|
5833
|
+
);
|
5834
|
+
synSubscription.unsubscribe();
|
5835
|
+
})
|
5836
|
+
);
|
5837
|
+
this.__subscription.add(
|
5838
|
+
this.__recv$.pipe(
|
5839
|
+
map(getData),
|
5840
|
+
filter(synackFilter(
|
5841
|
+
"syn"
|
5842
|
+
/* Syn */
|
5843
|
+
)),
|
5844
|
+
// must check whether is not short-circuiting
|
5845
|
+
// in an infinite loop by syncing with itself
|
5846
|
+
filter(({ instance: foreignInstance }) => foreignInstance !== instance),
|
5847
|
+
take(1)
|
5848
|
+
).subscribe(({ content }) => {
|
5849
|
+
this.__receiver.postMessage({
|
5850
|
+
content,
|
5851
|
+
instance,
|
5852
|
+
type: "ack"
|
5853
|
+
/* Ack */
|
5854
|
+
});
|
5855
|
+
})
|
5856
|
+
);
|
5857
|
+
}
|
5858
|
+
__write(message, messageId) {
|
5859
|
+
const extra = {};
|
5860
|
+
if (messageId !== void 0) {
|
5861
|
+
extra._id = messageId;
|
5862
|
+
}
|
5863
|
+
this.__subscription.add(
|
5864
|
+
this.__write$.subscribe(() => {
|
5865
|
+
var _a2;
|
5866
|
+
const outgoingMessage = Object.assign(
|
5867
|
+
message,
|
5868
|
+
{
|
5869
|
+
instance: this.__instance,
|
5870
|
+
...extra
|
5871
|
+
}
|
5872
|
+
);
|
5873
|
+
this.__receiver.postMessage(outgoingMessage);
|
5874
|
+
(_a2 = this.__log) == null ? void 0 : _a2.call(this, outgoingMessage);
|
5875
|
+
})
|
5876
|
+
);
|
5877
|
+
}
|
5878
|
+
disconnect() {
|
5879
|
+
this.__subscription.unsubscribe();
|
5880
|
+
}
|
5881
|
+
send(message) {
|
5882
|
+
this.__write(message);
|
5883
|
+
}
|
5884
|
+
ackSend(message) {
|
5885
|
+
let done;
|
5886
|
+
const promise = new Promise((resolve) => {
|
5887
|
+
done = resolve;
|
5888
|
+
});
|
5889
|
+
const messageId = this.__generateId();
|
5890
|
+
this.__subscription.add(
|
5891
|
+
this.__recv$.pipe(
|
5892
|
+
map(getData),
|
5893
|
+
filter(synackFilter(
|
5894
|
+
"ack"
|
5895
|
+
/* Ack */
|
5896
|
+
)),
|
5897
|
+
filter(({ _id }) => _id === messageId),
|
5898
|
+
take(1)
|
5899
|
+
).subscribe(() => done())
|
5900
|
+
);
|
5901
|
+
this.__write(message, messageId);
|
5902
|
+
return promise;
|
5903
|
+
}
|
5904
|
+
get instance() {
|
5905
|
+
return this.__instance;
|
5906
|
+
}
|
5907
|
+
get colors() {
|
5908
|
+
return this.__colors;
|
5909
|
+
}
|
5910
|
+
/**
|
5911
|
+
* signals readiness on listening and cannot fail but keeps hanging
|
5912
|
+
* if not resolved
|
5913
|
+
*/
|
5914
|
+
get ready() {
|
5915
|
+
return firstValueFrom(this.__write$).then(() => {
|
5916
|
+
});
|
5917
|
+
}
|
5918
|
+
};
|
5919
|
+
var src_default = PostChannel;
|
5920
|
+
const registerChannels = () => ({
|
5921
|
+
configuration: new ReplaySubject(),
|
5922
|
+
focus: new BehaviorSubject(void 0),
|
5923
|
+
infos: new ReplaySubject(),
|
5924
|
+
mocks: new ReplaySubject(),
|
5925
|
+
mode: new BehaviorSubject("select"),
|
5926
|
+
notification: new ReplaySubject(),
|
5927
|
+
setSourceMap: new ReplaySubject(1),
|
5928
|
+
swSourceMapAck: new ReplaySubject(1),
|
5929
|
+
updated: new Subject(),
|
5930
|
+
uppercaseTags: /* @__PURE__ */ new Set()
|
5931
|
+
});
|
5932
|
+
const nextMode = (mode) => {
|
5933
|
+
let next = 0;
|
5934
|
+
const currentValue = mode.getValue();
|
5935
|
+
if (currentValue === "interact") {
|
5936
|
+
next = "select";
|
5937
|
+
} else if (currentValue === "select") {
|
5938
|
+
next = "interact";
|
5939
|
+
}
|
5940
|
+
mode.next(next);
|
5941
|
+
return next;
|
5942
|
+
};
|
5943
|
+
const swMakeListener = (_2) => (message) => {
|
5944
|
+
const { data } = message;
|
5945
|
+
switch (data.type) {
|
5946
|
+
}
|
5947
|
+
};
|
5948
|
+
const registerServiceWorker = async (self2, channels) => {
|
5949
|
+
const { navigator: { serviceWorker: sw } } = self2;
|
5950
|
+
return Promise.all([
|
5951
|
+
sw.register("./service-worker.js"),
|
5952
|
+
sw.ready.then((registration) => {
|
5953
|
+
if (!registration.active) {
|
5954
|
+
throw new TypeError("smth went wrong on sw activation");
|
5955
|
+
}
|
5956
|
+
return new src_default(swMakeListener(), window.navigator.serviceWorker, registration.active);
|
5957
|
+
})
|
5958
|
+
]).then(([, channel]) => channel);
|
5959
|
+
};
|
5960
|
+
const parentMakeListener = (self2, channels) => (message) => {
|
5961
|
+
const { data } = message;
|
5962
|
+
switch (data.type) {
|
5963
|
+
case "options": {
|
5964
|
+
const { content: { disableOverlay, redirectTo, timeout, run: run2 } } = data;
|
5965
|
+
if (run2) {
|
5966
|
+
channels.swSourceMapAck.next(0);
|
5967
|
+
}
|
5968
|
+
if (disableOverlay) {
|
5969
|
+
Object.defineProperty(self2, "__BACKOFFICE_CONFIGURATOR_DISABLE_OVERLAY__", { value: true });
|
5970
|
+
channels.mode.next("interact");
|
5971
|
+
}
|
5972
|
+
if (timeout !== void 0) {
|
5973
|
+
Object.defineProperty(self2, "__BACKOFFICE_CONFIGURATOR_PREVIEW_TIMEOUT__", { value: timeout });
|
5974
|
+
}
|
5975
|
+
const { history } = self2;
|
5976
|
+
redirectTo && history.pushState(history.state, "", redirectTo);
|
5977
|
+
break;
|
5978
|
+
}
|
5979
|
+
case "ctrl-space":
|
5980
|
+
nextMode(channels.mode);
|
5981
|
+
break;
|
5982
|
+
case "new-configuration":
|
5983
|
+
channels.configuration.next({ ...data.content, type: "reset" });
|
5984
|
+
break;
|
5985
|
+
case "update":
|
5986
|
+
channels.configuration.next({ ...data.content, type: "update" });
|
5987
|
+
break;
|
5988
|
+
case "focus-element":
|
5989
|
+
channels.focus.next(data.content);
|
5990
|
+
break;
|
5991
|
+
case "set-source-map": {
|
5992
|
+
const { content } = data;
|
5993
|
+
channels.setSourceMap.next(Object.entries(content).reduce((acc, [from2, to]) => {
|
5994
|
+
try {
|
5995
|
+
const { href: fromUrl } = new URL(from2, self2.location.href);
|
5996
|
+
const obj = typeof to === "string" ? { headers: {}, query: {}, to } : to;
|
5997
|
+
acc[fromUrl] = {
|
5998
|
+
originalFrom: from2,
|
5999
|
+
...obj
|
6000
|
+
};
|
6001
|
+
} catch (e2) {
|
6002
|
+
}
|
6003
|
+
return acc;
|
6004
|
+
}, {}));
|
6005
|
+
break;
|
6006
|
+
}
|
6007
|
+
}
|
6008
|
+
};
|
6009
|
+
const registerParent = (self2, channels) => new src_default(
|
6010
|
+
parentMakeListener(self2, channels),
|
6011
|
+
self2,
|
6012
|
+
fromWindowToReceiver(self2.parent),
|
6013
|
+
{
|
6014
|
+
log(message) {
|
6015
|
+
{
|
6016
|
+
console.assert(self2.parent !== self2);
|
6017
|
+
}
|
6018
|
+
if (keys[message.type] !== DebugMessage.Skip) {
|
6019
|
+
const style = { background: this.colors.bg, color: this.colors.fg };
|
6020
|
+
console.groupCollapsed(`%c Msg from ${self2.origin} (inner) `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
6021
|
+
console.info(`window '${self2.origin}' is sending a message of type %c ${message.type} `, "background: lightgreen; color: darkgreen");
|
6022
|
+
console.log(message.content);
|
6023
|
+
console.groupEnd();
|
6024
|
+
}
|
6025
|
+
}
|
6026
|
+
}
|
6027
|
+
);
|
5852
6028
|
const ctrlSpaceFactory = (channels) => {
|
5853
6029
|
return (evt) => {
|
5854
6030
|
if (evt.ctrlKey && evt.key === " ") {
|
@@ -5879,49 +6055,42 @@ const requireInfo = (registry, tags) => from(tags.map((tag) => [tag, registry.wh
|
|
5879
6055
|
mergeMap(extractManifest)
|
5880
6056
|
);
|
5881
6057
|
const BUFFER_TIME = 500;
|
5882
|
-
|
6058
|
+
const reporter = (postChannel, err) => {
|
5883
6059
|
if (err instanceof Error) {
|
5884
|
-
errorHandler(
|
6060
|
+
errorHandler(postChannel, err);
|
5885
6061
|
}
|
5886
|
-
}
|
5887
|
-
|
5888
|
-
|
5889
|
-
|
5890
|
-
|
5891
|
-
|
5892
|
-
|
5893
|
-
|
5894
|
-
|
5895
|
-
|
5896
|
-
)
|
5897
|
-
|
5898
|
-
|
5899
|
-
|
5900
|
-
}
|
5901
|
-
|
5902
|
-
|
5903
|
-
|
5904
|
-
|
5905
|
-
|
5906
|
-
|
5907
|
-
|
5908
|
-
|
5909
|
-
next: (mockPair) => {
|
5910
|
-
subjects.mocks.next(mockPair);
|
5911
|
-
}
|
5912
|
-
});
|
5913
|
-
}
|
5914
|
-
async function bootstrap(config2, {
|
6062
|
+
};
|
6063
|
+
const collectInfos = (postChannel, info$, addInfo) => info$.pipe(
|
6064
|
+
mergeMap(([, { __manifest: { label, description, ...rest }, tag }]) => {
|
6065
|
+
delete rest.mocks;
|
6066
|
+
return of({ info: { ...translateObject({ description, label }), ...rest }, tag });
|
6067
|
+
}),
|
6068
|
+
bufferTime(BUFFER_TIME),
|
6069
|
+
filter((newInfos) => newInfos.length > 0)
|
6070
|
+
).subscribe({
|
6071
|
+
error: (error2) => reporter(postChannel, error2),
|
6072
|
+
next: (extras) => addInfo(extras)
|
6073
|
+
});
|
6074
|
+
const collectMocks = (postChannel, subjects, info$) => info$.pipe(
|
6075
|
+
map(
|
6076
|
+
([, { __manifest: { mocks = {} }, tag }]) => [tag, mocks]
|
6077
|
+
)
|
6078
|
+
).subscribe({
|
6079
|
+
error: (error2) => reporter(postChannel, error2),
|
6080
|
+
next: (mockPair) => {
|
6081
|
+
subjects.mocks.next(mockPair);
|
6082
|
+
}
|
6083
|
+
});
|
6084
|
+
async function bootstrap(postChannel, channels, config2, {
|
5915
6085
|
addInfo,
|
5916
6086
|
tags
|
5917
6087
|
}) {
|
5918
6088
|
const { subscription } = this;
|
5919
|
-
const boundReporter = reporter.bind(this);
|
5920
6089
|
if (config2) {
|
5921
6090
|
const info$ = requireInfo(this.customElements, tags);
|
5922
|
-
return premount(config2, this,
|
5923
|
-
subscription.add(collectInfos
|
5924
|
-
subscription.add(collectMocks
|
6091
|
+
return premount(config2, this, (err) => reporter(postChannel, err)).then(() => {
|
6092
|
+
subscription.add(collectInfos(postChannel, info$, addInfo));
|
6093
|
+
subscription.add(collectMocks(postChannel, channels, info$));
|
5925
6094
|
});
|
5926
6095
|
}
|
5927
6096
|
}
|
@@ -5930,9 +6099,7 @@ const getPreviewContainer = (frame, root) => {
|
|
5930
6099
|
let container = root.firstElementChild;
|
5931
6100
|
if (container === null) {
|
5932
6101
|
container = document2.createElement("div");
|
5933
|
-
container.style.height = "
|
5934
|
-
container.style.width = "100%";
|
5935
|
-
container.style.overflow = "auto";
|
6102
|
+
container.style.height = "inherit";
|
5936
6103
|
container.style.display = "flex";
|
5937
6104
|
root.appendChild(container);
|
5938
6105
|
}
|
@@ -5963,7 +6130,7 @@ function fetchMockFactory(instance, fetchFactory, windowHref) {
|
|
5963
6130
|
var _a2;
|
5964
6131
|
const info = compileObject({ ...url, method }, context);
|
5965
6132
|
const matcher = new URL(info.pathname, (_a2 = info.origin) != null ? _a2 : windowHref);
|
5966
|
-
return [matcher.href, method, (injectedInfo,
|
6133
|
+
return [matcher.href, method, (injectedInfo, init) => fetchHandler(injectedInfo, init).finally(() => {
|
5967
6134
|
if (notify) {
|
5968
6135
|
this.notify(fetchNotification(method, matcher));
|
5969
6136
|
}
|
@@ -6040,12 +6207,12 @@ const printHeaders = (headers) => {
|
|
6040
6207
|
});
|
6041
6208
|
return JSON.stringify(obj);
|
6042
6209
|
};
|
6043
|
-
const fetchPrint = (window2, url,
|
6210
|
+
const fetchPrint = (window2, url, init, resHeaders = new Headers()) => {
|
6044
6211
|
var _a2;
|
6045
6212
|
const style = window2.origin === "null" ? { background: "antiquewhite", color: "brown" } : { background: "cyan", color: "blue" };
|
6046
6213
|
console.groupCollapsed(`%c Fetching from ${window2.origin} `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
6047
6214
|
console.info(
|
6048
|
-
`a component fetched with method ${(_a2 =
|
6215
|
+
`a component fetched with method ${(_a2 = init == null ? void 0 : init.method) != null ? _a2 : "GET"} resource at %c ${url.href} got a response with headers ${printHeaders(resHeaders)}`,
|
6049
6216
|
"background: lightgreen; color: darkgreen"
|
6050
6217
|
);
|
6051
6218
|
console.groupEnd();
|
@@ -6057,7 +6224,7 @@ const notFoundTagNotification = (tag) => ({
|
|
6057
6224
|
message: "preview.notifications.no-webcomponent-definition.message",
|
6058
6225
|
status: "warning"
|
6059
6226
|
});
|
6060
|
-
async function mock(contexts, tags = []) {
|
6227
|
+
async function mock(postChannel, subjects, contexts, tags = []) {
|
6061
6228
|
const { location: { href }, fetch: originalFetch } = this;
|
6062
6229
|
const urlMaker = urlMakerFactory(this);
|
6063
6230
|
const store = new FetchMockStore(this.notify.bind(this));
|
@@ -6081,21 +6248,21 @@ async function mock(contexts, tags = []) {
|
|
6081
6248
|
const instancesCarryingMocks = (_a2 = contexts.get(tag)) != null ? _a2 : [];
|
6082
6249
|
return handler(store, instancesCarryingMocks, fetchFactory, href);
|
6083
6250
|
})).catch(
|
6084
|
-
(error2) => error2 instanceof Error && errorHandler(
|
6251
|
+
(error2) => error2 instanceof Error && errorHandler(postChannel, error2)
|
6085
6252
|
);
|
6086
|
-
const mockedFetch = async (info,
|
6253
|
+
const mockedFetch = async (info, init) => {
|
6087
6254
|
var _a2;
|
6088
6255
|
const url = toURL(urlMaker, info);
|
6089
|
-
const mockImplementation = store.match({ method: (_a2 =
|
6256
|
+
const mockImplementation = store.match({ method: (_a2 = init == null ? void 0 : init.method) != null ? _a2 : "GET", url });
|
6090
6257
|
if (mockImplementation !== void 0) {
|
6091
|
-
return mockImplementation(url,
|
6258
|
+
return mockImplementation(url, init).then((res) => {
|
6092
6259
|
{
|
6093
|
-
fetchPrint(this, url,
|
6260
|
+
fetchPrint(this, url, init, res.headers);
|
6094
6261
|
}
|
6095
6262
|
return res;
|
6096
6263
|
});
|
6097
6264
|
}
|
6098
|
-
return originalFetch(info,
|
6265
|
+
return originalFetch(info, init);
|
6099
6266
|
};
|
6100
6267
|
if (this.proxyWindow) {
|
6101
6268
|
const newFetch = Object.assign(
|
@@ -6279,10 +6446,10 @@ function wrap(frame, notification) {
|
|
6279
6446
|
const unpatch = domPatch(sandbox);
|
6280
6447
|
return { sandbox, unpatch };
|
6281
6448
|
}
|
6282
|
-
var
|
6283
|
-
var
|
6284
|
-
var
|
6285
|
-
|
6449
|
+
var __defProp2 = Object.defineProperty;
|
6450
|
+
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
6451
|
+
var __publicField2 = (obj, key, value) => {
|
6452
|
+
__defNormalProp2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
6286
6453
|
return value;
|
6287
6454
|
};
|
6288
6455
|
function appendOverlay(self2, mode$) {
|
@@ -6324,8 +6491,9 @@ function appendOverlay(self2, mode$) {
|
|
6324
6491
|
}
|
6325
6492
|
const appendRenderRoot = (document2) => {
|
6326
6493
|
const renderRoot = document2.createElement("div");
|
6494
|
+
renderRoot.style.display = "flex";
|
6495
|
+
renderRoot.style.flexDirection = "column";
|
6327
6496
|
renderRoot.style.height = "inherit";
|
6328
|
-
renderRoot.style.width = "inherit";
|
6329
6497
|
document2.body.appendChild(renderRoot);
|
6330
6498
|
return renderRoot;
|
6331
6499
|
};
|
@@ -6341,8 +6509,8 @@ function createLifecycle(frame) {
|
|
6341
6509
|
}
|
6342
6510
|
class Queue {
|
6343
6511
|
constructor() {
|
6344
|
-
|
6345
|
-
|
6512
|
+
__publicField2(this, "_results", /* @__PURE__ */ new Map());
|
6513
|
+
__publicField2(this, "_queue", Promise.resolve());
|
6346
6514
|
}
|
6347
6515
|
add(args) {
|
6348
6516
|
const fns = [...args];
|
@@ -6380,12 +6548,9 @@ const addInfoFactory = (channels) => (info) => {
|
|
6380
6548
|
channels.infos.next(info);
|
6381
6549
|
info.forEach(({ tag }) => channels.uppercaseTags.add(tag.toUpperCase()));
|
6382
6550
|
};
|
6383
|
-
const run = (frame, renderRoot, channels) => {
|
6551
|
+
const run = (frame, renderRoot, postChannel, channels) => {
|
6384
6552
|
const queue = new Queue();
|
6385
|
-
const subscription = channels.configuration.pipe(
|
6386
|
-
combineLatestWith(subjects.swReady.pipe(take(1))),
|
6387
|
-
map(([next]) => next)
|
6388
|
-
).subscribe((next) => {
|
6553
|
+
const subscription = channels.configuration.pipe(combineLatestWith(channels.swSourceMapAck)).subscribe(([next]) => {
|
6389
6554
|
const { configuration } = next;
|
6390
6555
|
const { content } = configuration;
|
6391
6556
|
let done;
|
@@ -6393,8 +6558,8 @@ const run = (frame, renderRoot, channels) => {
|
|
6393
6558
|
const { contexts, tags } = next;
|
6394
6559
|
done = queue.add([
|
6395
6560
|
() => unmount.call(frame, renderRoot),
|
6396
|
-
() => bootstrap.call(frame, configuration, { addInfo: addInfoFactory(channels), tags }),
|
6397
|
-
() => mock.call(frame, contexts, next.tags),
|
6561
|
+
() => bootstrap.call(frame, postChannel, channels, configuration, { addInfo: addInfoFactory(channels), tags }),
|
6562
|
+
() => mock.call(frame, postChannel, channels, contexts, next.tags),
|
6398
6563
|
() => update.call(frame, content, renderRoot).finally(() => channels.updated.next(0))
|
6399
6564
|
]);
|
6400
6565
|
} else {
|
@@ -6443,16 +6608,16 @@ const interceptCORSFetch = (self2, notification) => {
|
|
6443
6608
|
return;
|
6444
6609
|
}
|
6445
6610
|
const originalFetch = self2.fetch.bind(self2);
|
6446
|
-
self2.fetch = (input,
|
6611
|
+
self2.fetch = (input, init) => {
|
6447
6612
|
var _a2;
|
6448
6613
|
const url = toURL(urlMaker, input);
|
6449
6614
|
if (isSameDocumentOriginRequest(document2, url)) {
|
6450
|
-
notification.next(fetchNotification((_a2 =
|
6615
|
+
notification.next(fetchNotification((_a2 = init == null ? void 0 : init.method) != null ? _a2 : "GET", url));
|
6451
6616
|
}
|
6452
|
-
return originalFetch(input,
|
6617
|
+
return originalFetch(input, init);
|
6453
6618
|
};
|
6454
6619
|
};
|
6455
|
-
|
6620
|
+
const createComposerApplication = (self2, postChannel, channels) => {
|
6456
6621
|
applyBodyStyle(self2.document);
|
6457
6622
|
interceptCORSFetch(self2, channels.notification);
|
6458
6623
|
const { cleanup: overlayDisplaySubscriptionCleanup } = appendOverlay(self2, channels.mode.asObservable());
|
@@ -6460,7 +6625,7 @@ function createComposerApplication(self2, channels) {
|
|
6460
6625
|
const renderRoot = appendRenderRoot(self2.document);
|
6461
6626
|
const frame = createLifecycle(self2);
|
6462
6627
|
const { sandbox: sandboxedWindow, unpatch } = wrap(frame, channels.notification);
|
6463
|
-
const updateSubscriptionsCleanup = run(sandboxedWindow, renderRoot, channels);
|
6628
|
+
const updateSubscriptionsCleanup = run(sandboxedWindow, renderRoot, postChannel, channels);
|
6464
6629
|
return {
|
6465
6630
|
cleanup: () => {
|
6466
6631
|
updateSubscriptionsCleanup();
|
@@ -6470,87 +6635,41 @@ function createComposerApplication(self2, channels) {
|
|
6470
6635
|
},
|
6471
6636
|
sandboxedWindow
|
6472
6637
|
};
|
6473
|
-
}
|
6474
|
-
function logger(type, ...args) {
|
6475
|
-
{
|
6476
|
-
const color = generateDarkColorHex();
|
6477
|
-
const background = `${color}22`;
|
6478
|
-
const style = { background, color };
|
6479
|
-
console.groupCollapsed(`%c Preview ${this.location.href}`, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
6480
|
-
console[type](...args);
|
6481
|
-
console.groupEnd();
|
6482
|
-
}
|
6483
|
-
}
|
6484
|
-
function logServiceWorkerStatus(registration) {
|
6485
|
-
const log = logger.bind(this);
|
6486
|
-
if (registration.installing) {
|
6487
|
-
log("info", "Service worker installing");
|
6488
|
-
} else if (registration.waiting) {
|
6489
|
-
log("info", "Service worker installed");
|
6490
|
-
} else if (registration.active) {
|
6491
|
-
log("info", "Service worker active");
|
6492
|
-
}
|
6493
|
-
}
|
6494
|
-
const registerServiceWorker = async (self2) => {
|
6495
|
-
const { navigator: navigator2 } = self2;
|
6496
|
-
if ("serviceWorker" in navigator2) {
|
6497
|
-
navigator2.serviceWorker.register("./service-worker.js", { scope: "./" }).then((reg) => logServiceWorkerStatus.call(self2, reg)).catch((error2) => console.error(error2));
|
6498
|
-
return navigator2.serviceWorker.ready.then((reg) => {
|
6499
|
-
var _a2;
|
6500
|
-
return (_a2 = reg.active) != null ? _a2 : Promise.reject(new TypeError("serviceWorker not active"));
|
6501
|
-
});
|
6502
|
-
}
|
6503
|
-
logger.call(self2, "error", "serviceWorker is not available");
|
6504
|
-
};
|
6505
|
-
const init = async (self2) => {
|
6506
|
-
postChannel.window = self2;
|
6507
|
-
serviceWorkerChannel.window = self2;
|
6508
|
-
return registerServiceWorker(self2);
|
6509
6638
|
};
|
6510
|
-
function
|
6639
|
+
function registerParentWindowSenders(chs) {
|
6511
6640
|
const subscription = new Subscription();
|
6512
|
-
if (sw) {
|
6513
|
-
subscription.add(
|
6514
|
-
chs.setSourceMap.subscribe(
|
6515
|
-
(next) => serviceWorkerChannel.send(sw, { content: next, type: "set-source-map" })
|
6516
|
-
)
|
6517
|
-
);
|
6518
|
-
}
|
6519
6641
|
subscription.add(
|
6520
|
-
chs.updated.subscribe(() => {
|
6521
|
-
|
6522
|
-
|
6523
|
-
|
6524
|
-
});
|
6525
|
-
})
|
6642
|
+
chs.updated.subscribe(() => this.send({
|
6643
|
+
content: {},
|
6644
|
+
type: "updated"
|
6645
|
+
}))
|
6526
6646
|
);
|
6527
6647
|
subscription.add(
|
6528
|
-
chs.infos.subscribe(
|
6529
|
-
|
6530
|
-
|
6531
|
-
|
6532
|
-
type: "tag-info"
|
6533
|
-
});
|
6534
|
-
}
|
6535
|
-
)
|
6648
|
+
chs.infos.subscribe((entries) => this.send({
|
6649
|
+
content: entries,
|
6650
|
+
type: "tag-info"
|
6651
|
+
}))
|
6536
6652
|
);
|
6537
6653
|
subscription.add(
|
6538
|
-
chs.notification.subscribe(
|
6539
|
-
|
6540
|
-
|
6541
|
-
|
6542
|
-
type: "notification"
|
6543
|
-
});
|
6544
|
-
}
|
6545
|
-
)
|
6654
|
+
chs.notification.subscribe((content) => this.send({
|
6655
|
+
content,
|
6656
|
+
type: "notification"
|
6657
|
+
}))
|
6546
6658
|
);
|
6547
6659
|
subscription.add(
|
6548
|
-
chs.mode.subscribe(
|
6549
|
-
|
6550
|
-
|
6551
|
-
|
6552
|
-
|
6553
|
-
|
6660
|
+
chs.mode.subscribe((mode) => this.send({
|
6661
|
+
content: { mode },
|
6662
|
+
type: "ctrl-space"
|
6663
|
+
}))
|
6664
|
+
);
|
6665
|
+
return () => subscription.unsubscribe();
|
6666
|
+
}
|
6667
|
+
function registerServiceWorkerSenders(channels) {
|
6668
|
+
const subscription = new Subscription();
|
6669
|
+
subscription.add(
|
6670
|
+
channels.setSourceMap.subscribe(
|
6671
|
+
(message) => {
|
6672
|
+
this.ackSend({ content: message, type: "set-source-map" }).then(() => channels.swSourceMapAck.next(0)).catch(noop);
|
6554
6673
|
}
|
6555
6674
|
)
|
6556
6675
|
);
|
@@ -6572,40 +6691,35 @@ function registerCleanups(window2, fns) {
|
|
6572
6691
|
});
|
6573
6692
|
}
|
6574
6693
|
(async (self2) => {
|
6575
|
-
const
|
6576
|
-
|
6577
|
-
const
|
6578
|
-
|
6579
|
-
|
6580
|
-
const subscription = interval(100).subscribe(() => postChannel.send(self2.parent, { content: { status: "ready" }, type: "service-worker" }));
|
6581
|
-
serviceWorkerChannelCleanup = () => {
|
6582
|
-
swCleanup();
|
6583
|
-
subscription.unsubscribe();
|
6584
|
-
serviceWorkerChannel.send(sw, { content: {}, type: "unload-client" });
|
6585
|
-
};
|
6586
|
-
}
|
6587
|
-
const senderCleanup = registerSenders(subjects, sw);
|
6694
|
+
const channels = registerChannels();
|
6695
|
+
const swRegistration = await registerServiceWorker(self2);
|
6696
|
+
const parentWindowRegistration = registerParent(self2, channels);
|
6697
|
+
const serviceWorkerSenderCleanup = registerServiceWorkerSenders.call(swRegistration, channels);
|
6698
|
+
const parentWindowSenderCleanup = registerParentWindowSenders.call(parentWindowRegistration, channels);
|
6588
6699
|
const listenerCleanup = registerEventListeners(
|
6589
6700
|
self2,
|
6590
|
-
{ handler: ctrlSpaceFactory(
|
6591
|
-
{ handler: mouseEventFactory(
|
6592
|
-
{ handler: mouseEventFactory(
|
6593
|
-
{ handler: mouseOnElementFactory(self2,
|
6701
|
+
{ handler: ctrlSpaceFactory(channels), type: "keydown" },
|
6702
|
+
{ handler: mouseEventFactory(parentWindowRegistration, "mousemove"), type: "mousemove" },
|
6703
|
+
{ handler: mouseEventFactory(parentWindowRegistration, "mousedown"), type: "mousedown" },
|
6704
|
+
{ handler: mouseOnElementFactory(self2, parentWindowRegistration, channels), type: "mousedown" }
|
6594
6705
|
);
|
6595
6706
|
const {
|
6596
6707
|
cleanup: composerApplicationCleanup,
|
6597
6708
|
sandboxedWindow
|
6598
|
-
} = createComposerApplication(self2,
|
6709
|
+
} = createComposerApplication(self2, parentWindowRegistration, channels);
|
6599
6710
|
registerCleanups(
|
6600
6711
|
sandboxedWindow,
|
6601
6712
|
[
|
6602
6713
|
composerApplicationCleanup,
|
6603
6714
|
listenerCleanup,
|
6604
|
-
|
6605
|
-
|
6606
|
-
|
6715
|
+
parentWindowSenderCleanup,
|
6716
|
+
serviceWorkerSenderCleanup,
|
6717
|
+
() => parentWindowRegistration.disconnect(),
|
6718
|
+
() => swRegistration.send({ content: {}, type: "unload-client" }),
|
6719
|
+
() => swRegistration.disconnect()
|
6607
6720
|
]
|
6608
6721
|
);
|
6609
|
-
})(window).catch((
|
6610
|
-
|
6722
|
+
})(window).catch((err) => {
|
6723
|
+
console.error(`[preview] Error Boundary: ${String(err)}`);
|
6724
|
+
throw err;
|
6611
6725
|
});
|