@micro-lc/preview 0.5.0-rc3 → 0.5.0-rc5
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.
- package/CHANGELOG.md +5 -0
- package/dist/index.d.ts +15 -20
- package/dist/index.js +11 -13
- package/package.json +10 -7
- package/website/assets/index-1fa72460.js +13 -0
- package/website/development/{index.js → assets/index-243486eb.js} +616 -559
- 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")) {
|
@@ -3379,12 +3385,12 @@ function isSubscriber(value) {
|
|
3379
3385
|
function hasLift(source) {
|
3380
3386
|
return isFunction(source === null || source === void 0 ? void 0 : source.lift);
|
3381
3387
|
}
|
3382
|
-
function operate(
|
3388
|
+
function operate(init) {
|
3383
3389
|
return function(source) {
|
3384
3390
|
if (hasLift(source)) {
|
3385
3391
|
return source.lift(function(liftedSource) {
|
3386
3392
|
try {
|
3387
|
-
return
|
3393
|
+
return init(liftedSource, this);
|
3388
3394
|
} catch (err) {
|
3389
3395
|
this.error(err);
|
3390
3396
|
}
|
@@ -4275,6 +4281,26 @@ function lastValueFrom(source, config2) {
|
|
4275
4281
|
});
|
4276
4282
|
});
|
4277
4283
|
}
|
4284
|
+
function firstValueFrom(source, config2) {
|
4285
|
+
var hasConfig = typeof config2 === "object";
|
4286
|
+
return new Promise(function(resolve, reject) {
|
4287
|
+
var subscriber = new SafeSubscriber({
|
4288
|
+
next: function(value) {
|
4289
|
+
resolve(value);
|
4290
|
+
subscriber.unsubscribe();
|
4291
|
+
},
|
4292
|
+
error: reject,
|
4293
|
+
complete: function() {
|
4294
|
+
if (hasConfig) {
|
4295
|
+
resolve(config2.defaultValue);
|
4296
|
+
} else {
|
4297
|
+
reject(new EmptyError());
|
4298
|
+
}
|
4299
|
+
}
|
4300
|
+
});
|
4301
|
+
source.subscribe(subscriber);
|
4302
|
+
});
|
4303
|
+
}
|
4278
4304
|
function isValidDate(value) {
|
4279
4305
|
return value instanceof Date && !isNaN(value);
|
4280
4306
|
}
|
@@ -4413,6 +4439,62 @@ function mergeMap(project, resultSelector, concurrent) {
|
|
4413
4439
|
return mergeInternals(source, subscriber, project, concurrent);
|
4414
4440
|
});
|
4415
4441
|
}
|
4442
|
+
var nodeEventEmitterMethods = ["addListener", "removeListener"];
|
4443
|
+
var eventTargetMethods = ["addEventListener", "removeEventListener"];
|
4444
|
+
var jqueryMethods = ["on", "off"];
|
4445
|
+
function fromEvent(target, eventName, options, resultSelector) {
|
4446
|
+
if (isFunction(options)) {
|
4447
|
+
resultSelector = options;
|
4448
|
+
options = void 0;
|
4449
|
+
}
|
4450
|
+
if (resultSelector) {
|
4451
|
+
return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));
|
4452
|
+
}
|
4453
|
+
var _a2 = __read(isEventTarget(target) ? eventTargetMethods.map(function(methodName) {
|
4454
|
+
return function(handler2) {
|
4455
|
+
return target[methodName](eventName, handler2, options);
|
4456
|
+
};
|
4457
|
+
}) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add = _a2[0], remove = _a2[1];
|
4458
|
+
if (!add) {
|
4459
|
+
if (isArrayLike(target)) {
|
4460
|
+
return mergeMap(function(subTarget) {
|
4461
|
+
return fromEvent(subTarget, eventName, options);
|
4462
|
+
})(innerFrom(target));
|
4463
|
+
}
|
4464
|
+
}
|
4465
|
+
if (!add) {
|
4466
|
+
throw new TypeError("Invalid event target");
|
4467
|
+
}
|
4468
|
+
return new Observable(function(subscriber) {
|
4469
|
+
var handler2 = function() {
|
4470
|
+
var args = [];
|
4471
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
4472
|
+
args[_i] = arguments[_i];
|
4473
|
+
}
|
4474
|
+
return subscriber.next(1 < args.length ? args : args[0]);
|
4475
|
+
};
|
4476
|
+
add(handler2);
|
4477
|
+
return function() {
|
4478
|
+
return remove(handler2);
|
4479
|
+
};
|
4480
|
+
});
|
4481
|
+
}
|
4482
|
+
function toCommonHandlerRegistry(target, eventName) {
|
4483
|
+
return function(methodName) {
|
4484
|
+
return function(handler2) {
|
4485
|
+
return target[methodName](eventName, handler2);
|
4486
|
+
};
|
4487
|
+
};
|
4488
|
+
}
|
4489
|
+
function isNodeStyleEventEmitter(target) {
|
4490
|
+
return isFunction(target.addListener) && isFunction(target.removeListener);
|
4491
|
+
}
|
4492
|
+
function isJQueryStyleEventEmitter(target) {
|
4493
|
+
return isFunction(target.on) && isFunction(target.off);
|
4494
|
+
}
|
4495
|
+
function isEventTarget(target) {
|
4496
|
+
return isFunction(target.addEventListener) && isFunction(target.removeEventListener);
|
4497
|
+
}
|
4416
4498
|
function timer(dueTime, intervalOrScheduler, scheduler) {
|
4417
4499
|
if (dueTime === void 0) {
|
4418
4500
|
dueTime = 0;
|
@@ -4620,368 +4702,6 @@ function tap(observerOrNext, error2, complete) {
|
|
4620
4702
|
}));
|
4621
4703
|
}) : identity;
|
4622
4704
|
}
|
4623
|
-
var __defProp$5 = Object.defineProperty;
|
4624
|
-
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4625
|
-
var __publicField$5 = (obj, key, value) => {
|
4626
|
-
__defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4627
|
-
return value;
|
4628
|
-
};
|
4629
|
-
let Lexer$1 = class Lexer {
|
4630
|
-
constructor(input) {
|
4631
|
-
__publicField$5(this, "_input");
|
4632
|
-
__publicField$5(this, "_length");
|
4633
|
-
__publicField$5(this, "_idx", 0);
|
4634
|
-
__publicField$5(
|
4635
|
-
this,
|
4636
|
-
"_mode",
|
4637
|
-
0
|
4638
|
-
/* Literal */
|
4639
|
-
);
|
4640
|
-
__publicField$5(this, "_literals", []);
|
4641
|
-
__publicField$5(this, "_variables", []);
|
4642
|
-
__publicField$5(this, "_braketCount", 0);
|
4643
|
-
__publicField$5(this, "_done", false);
|
4644
|
-
this._input = input;
|
4645
|
-
this._length = input.length;
|
4646
|
-
}
|
4647
|
-
concatToLastLiteral(concat) {
|
4648
|
-
this._literals.push(this._literals.pop().concat(concat));
|
4649
|
-
}
|
4650
|
-
concatToLastVariable(concat) {
|
4651
|
-
this._variables.push(this._variables.pop().concat(concat));
|
4652
|
-
}
|
4653
|
-
get() {
|
4654
|
-
const rawLiterals = [...this._literals];
|
4655
|
-
const literals = Object.assign([], rawLiterals);
|
4656
|
-
Object.defineProperty(literals, "raw", { value: rawLiterals, writable: false });
|
4657
|
-
return {
|
4658
|
-
literals,
|
4659
|
-
variables: this._variables
|
4660
|
-
};
|
4661
|
-
}
|
4662
|
-
run() {
|
4663
|
-
if (this._length === 0) {
|
4664
|
-
this._literals.push("");
|
4665
|
-
}
|
4666
|
-
while (this._idx < this._length) {
|
4667
|
-
const char = this._input.charAt(this._idx);
|
4668
|
-
switch (this._mode) {
|
4669
|
-
case 0: {
|
4670
|
-
if (this._literals.length === 0) {
|
4671
|
-
this._literals.push("");
|
4672
|
-
}
|
4673
|
-
if (char === "{" && this._idx + 1 !== this._length && this._input.charAt(this._idx + 1) === "{") {
|
4674
|
-
this._literals.push("");
|
4675
|
-
this._variables.push("");
|
4676
|
-
this._mode = 1;
|
4677
|
-
this._idx += 1;
|
4678
|
-
} else {
|
4679
|
-
this.concatToLastLiteral(char);
|
4680
|
-
}
|
4681
|
-
break;
|
4682
|
-
}
|
4683
|
-
case 1:
|
4684
|
-
if (char === "}" && this._input.charAt(this._idx + 1) === "}") {
|
4685
|
-
this._mode = 0;
|
4686
|
-
this._idx += 1;
|
4687
|
-
} else {
|
4688
|
-
this.concatToLastVariable(char);
|
4689
|
-
}
|
4690
|
-
break;
|
4691
|
-
}
|
4692
|
-
this._idx += 1;
|
4693
|
-
}
|
4694
|
-
if (this._mode === 1) {
|
4695
|
-
this._literals.pop();
|
4696
|
-
this.concatToLastLiteral(`{{${this._variables.pop()}`);
|
4697
|
-
}
|
4698
|
-
this._done = true;
|
4699
|
-
}
|
4700
|
-
};
|
4701
|
-
const isSquareBrakets = (field) => {
|
4702
|
-
const trimmed = field.trim();
|
4703
|
-
if (!(trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
4704
|
-
return false;
|
4705
|
-
}
|
4706
|
-
const inner = trimmed.slice(1).slice(0, -1).trim();
|
4707
|
-
if (Number.parseInt(inner).toString(10) !== inner) {
|
4708
|
-
return false;
|
4709
|
-
}
|
4710
|
-
return true;
|
4711
|
-
};
|
4712
|
-
const getNumber = (field) => {
|
4713
|
-
return Number.parseInt(field.trim().slice(1).slice(0, -1).trim());
|
4714
|
-
};
|
4715
|
-
function interpolate$1(context, path, preserveUnknown) {
|
4716
|
-
if (!path.trim()) {
|
4717
|
-
return preserveUnknown ? `{{${path}}}` : "";
|
4718
|
-
}
|
4719
|
-
const result = path.trim().split(".").reduce((superctx, field) => {
|
4720
|
-
if (Array.isArray(superctx) && isSquareBrakets(field)) {
|
4721
|
-
return superctx[getNumber(field)];
|
4722
|
-
}
|
4723
|
-
if (typeof superctx === "object" && superctx !== null && field in superctx) {
|
4724
|
-
return superctx[field];
|
4725
|
-
}
|
4726
|
-
return void 0;
|
4727
|
-
}, { ...context });
|
4728
|
-
if (typeof result === "string") {
|
4729
|
-
return result;
|
4730
|
-
}
|
4731
|
-
return preserveUnknown ? `{{${path}}}` : "";
|
4732
|
-
}
|
4733
|
-
function parse(input, context, preserveUnknown = false) {
|
4734
|
-
const lexer2 = new Lexer$1(input);
|
4735
|
-
lexer2.run();
|
4736
|
-
const template = lexer2.get();
|
4737
|
-
let [acc] = template.literals;
|
4738
|
-
for (let i2 = 0; i2 < template.variables.length; i2++) {
|
4739
|
-
acc = acc.concat(interpolate$1(context, template.variables[i2], preserveUnknown)).concat(template.literals[i2 + 1]);
|
4740
|
-
}
|
4741
|
-
return acc;
|
4742
|
-
}
|
4743
|
-
const compileObject = (obj, context) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, parse(value, context)]));
|
4744
|
-
var __defProp$4 = Object.defineProperty;
|
4745
|
-
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4746
|
-
var __publicField$4 = (obj, key, value) => {
|
4747
|
-
__defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4748
|
-
return value;
|
4749
|
-
};
|
4750
|
-
const MIA_PREVIEW_ID = "__mia_preview_id";
|
4751
|
-
const OVERLAY_Z_INDEX = 1e6;
|
4752
|
-
const keys = {
|
4753
|
-
"click-element": 1,
|
4754
|
-
"ctrl-space": 1,
|
4755
|
-
"focus-element": 0,
|
4756
|
-
mousedown: 1,
|
4757
|
-
mousemove: 1,
|
4758
|
-
"new-configuration": 0,
|
4759
|
-
notification: 1,
|
4760
|
-
options: 1,
|
4761
|
-
"request-resource": 1,
|
4762
|
-
"service-worker": 1,
|
4763
|
-
"set-source-map": 0,
|
4764
|
-
"tag-info": 1,
|
4765
|
-
update: 1,
|
4766
|
-
updated: 1
|
4767
|
-
/* Skip */
|
4768
|
-
};
|
4769
|
-
const isValidKey = (type) => Object.keys(keys).includes(type);
|
4770
|
-
function isInstanceMessage(input, signature) {
|
4771
|
-
if (input === null) {
|
4772
|
-
return false;
|
4773
|
-
}
|
4774
|
-
if (typeof input !== "object") {
|
4775
|
-
return false;
|
4776
|
-
}
|
4777
|
-
if (!("type" in input) || typeof input.type !== "string") {
|
4778
|
-
return false;
|
4779
|
-
}
|
4780
|
-
const { type: signedType } = input;
|
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);
|
4795
|
-
}
|
4796
|
-
return { ...message, type };
|
4797
|
-
};
|
4798
|
-
const generateDarkColorHex = () => {
|
4799
|
-
let color = "#";
|
4800
|
-
for (let i2 = 0; i2 < 3; i2++) {
|
4801
|
-
color += `0${Math.floor(Math.random() * Math.pow(16, 2) / 2).toString(16)}`.slice(-2);
|
4802
|
-
}
|
4803
|
-
return color;
|
4804
|
-
};
|
4805
|
-
class PostChannel {
|
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 (
|
4821
|
-
/* ("development" !== 'production' || this.__window.__BACKOFFICE_CONFIGURATOR_LOG_LEVEL__ === 'debug') && */
|
4822
|
-
keys[message.type] !== 1
|
4823
|
-
) {
|
4824
|
-
const color = this.__randomColor;
|
4825
|
-
const background = `${color}22`;
|
4826
|
-
const style = { background, color };
|
4827
|
-
const hasTop = this.__window.top !== this.__window;
|
4828
|
-
console.groupCollapsed(`%c Msg from ${this.__window.origin} ${hasTop ? "(inner)" : "(top)"} `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
4829
|
-
console.info(`window '${this.__window.origin}' is sending a message of type %c ${message.type} `, "background: lightgreen; color: darkgreen");
|
4830
|
-
console.log("to", to);
|
4831
|
-
console.log(message.content);
|
4832
|
-
console.groupEnd();
|
4833
|
-
}
|
4834
|
-
to.postMessage(sign(this.__instance, message), origin);
|
4835
|
-
}
|
4836
|
-
set instance(str) {
|
4837
|
-
this.__instance = str;
|
4838
|
-
}
|
4839
|
-
get window() {
|
4840
|
-
return this.__window;
|
4841
|
-
}
|
4842
|
-
set window(win) {
|
4843
|
-
this.__window = win;
|
4844
|
-
}
|
4845
|
-
send(to, message, origin = "*") {
|
4846
|
-
this.__window !== to && this.postMessage(to, message, origin);
|
4847
|
-
}
|
4848
|
-
recv(window2, from2 = null) {
|
4849
|
-
const listener = ({ data, source }) => {
|
4850
|
-
if ((from2 === null || source === from2) && isInstanceMessage(data, this.__instance)) {
|
4851
|
-
const message = unsign(this.__instance, data);
|
4852
|
-
this.__handler(message);
|
4853
|
-
}
|
4854
|
-
};
|
4855
|
-
window2.addEventListener("message", listener);
|
4856
|
-
return () => window2.removeEventListener("message", listener);
|
4857
|
-
}
|
4858
|
-
}
|
4859
|
-
var __defProp$3 = Object.defineProperty;
|
4860
|
-
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4861
|
-
var __publicField$3 = (obj, key, value) => {
|
4862
|
-
__defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4863
|
-
return value;
|
4864
|
-
};
|
4865
|
-
function registerChannels() {
|
4866
|
-
return {
|
4867
|
-
configuration: new ReplaySubject(),
|
4868
|
-
focus: new BehaviorSubject(void 0),
|
4869
|
-
infos: new ReplaySubject(),
|
4870
|
-
mocks: new ReplaySubject(),
|
4871
|
-
mode: new BehaviorSubject("select"),
|
4872
|
-
notification: new ReplaySubject(),
|
4873
|
-
setSourceMap: new ReplaySubject(),
|
4874
|
-
swReady: new ReplaySubject(1),
|
4875
|
-
updated: new Subject(),
|
4876
|
-
uppercaseTags: /* @__PURE__ */ new Set()
|
4877
|
-
};
|
4878
|
-
}
|
4879
|
-
const nextMode = (mode) => {
|
4880
|
-
let next = 0;
|
4881
|
-
const currentValue = mode.getValue();
|
4882
|
-
if (currentValue === "interact") {
|
4883
|
-
next = "select";
|
4884
|
-
} else if (currentValue === "select") {
|
4885
|
-
next = "interact";
|
4886
|
-
}
|
4887
|
-
mode.next(next);
|
4888
|
-
return next;
|
4889
|
-
};
|
4890
|
-
const subjects = registerChannels();
|
4891
|
-
function parentListener(message) {
|
4892
|
-
switch (message.type) {
|
4893
|
-
case "options": {
|
4894
|
-
const { content: { disableOverlay, redirectTo, timeout } } = message;
|
4895
|
-
if (disableOverlay) {
|
4896
|
-
Object.defineProperty(this.window, "__BACKOFFICE_CONFIGURATOR_DISABLE_OVERLAY__", { value: true });
|
4897
|
-
subjects.mode.next("interact");
|
4898
|
-
}
|
4899
|
-
if (timeout !== void 0) {
|
4900
|
-
Object.defineProperty(this.window, "__BACKOFFICE_CONFIGURATOR_PREVIEW_TIMEOUT__", { value: timeout });
|
4901
|
-
}
|
4902
|
-
const { window: { history } } = this;
|
4903
|
-
this.window.navigator.serviceWorker.ready.then(() => redirectTo && history.pushState(history.state, "", redirectTo)).catch(() => {
|
4904
|
-
});
|
4905
|
-
break;
|
4906
|
-
}
|
4907
|
-
case "ctrl-space":
|
4908
|
-
nextMode(subjects.mode);
|
4909
|
-
break;
|
4910
|
-
case "new-configuration":
|
4911
|
-
subjects.configuration.next({ ...message.content, type: "reset" });
|
4912
|
-
break;
|
4913
|
-
case "update":
|
4914
|
-
subjects.configuration.next({ ...message.content, type: "update" });
|
4915
|
-
break;
|
4916
|
-
case "focus-element":
|
4917
|
-
subjects.focus.next(message.content);
|
4918
|
-
break;
|
4919
|
-
case "set-source-map": {
|
4920
|
-
const { content: { dictionary } } = message;
|
4921
|
-
subjects.setSourceMap.next({
|
4922
|
-
...message.content,
|
4923
|
-
dictionary: Object.entries(dictionary).reduce((acc, [from2, to]) => {
|
4924
|
-
try {
|
4925
|
-
const { href: fromUrl } = new URL(from2, this.window.location.href);
|
4926
|
-
const obj = typeof to === "string" ? { headers: {}, query: {}, to } : to;
|
4927
|
-
acc[fromUrl] = {
|
4928
|
-
originalFrom: from2,
|
4929
|
-
...obj
|
4930
|
-
};
|
4931
|
-
} catch (e2) {
|
4932
|
-
}
|
4933
|
-
return acc;
|
4934
|
-
}, {})
|
4935
|
-
});
|
4936
|
-
break;
|
4937
|
-
}
|
4938
|
-
}
|
4939
|
-
}
|
4940
|
-
class ServiceWorkerChannel {
|
4941
|
-
constructor(handler2) {
|
4942
|
-
__publicField$3(this, "__handler");
|
4943
|
-
__publicField$3(this, "__window");
|
4944
|
-
__publicField$3(this, "__randomColor");
|
4945
|
-
this.__handler = handler2;
|
4946
|
-
this.__window = window;
|
4947
|
-
this.__randomColor = generateDarkColorHex();
|
4948
|
-
}
|
4949
|
-
send(to, message) {
|
4950
|
-
{
|
4951
|
-
const color = this.__randomColor;
|
4952
|
-
const background = `${color}22`;
|
4953
|
-
const style = { background, color };
|
4954
|
-
console.groupCollapsed(`%c Msg to Service Worker `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
4955
|
-
console.info(`window '${this.__window.origin}' is sending a message of type %c ${message.type} `, "background: lightgreen; color: darkgreen");
|
4956
|
-
console.log(message.content);
|
4957
|
-
console.groupEnd();
|
4958
|
-
}
|
4959
|
-
to.postMessage(message);
|
4960
|
-
}
|
4961
|
-
get window() {
|
4962
|
-
return this.__window;
|
4963
|
-
}
|
4964
|
-
set window(win) {
|
4965
|
-
this.__window = win;
|
4966
|
-
}
|
4967
|
-
recv() {
|
4968
|
-
const swListener2 = ({ data }) => {
|
4969
|
-
this.__handler(data);
|
4970
|
-
};
|
4971
|
-
const { __window: { navigator: navigator2 } } = this;
|
4972
|
-
navigator2.serviceWorker.addEventListener("message", swListener2);
|
4973
|
-
return () => navigator2.serviceWorker.removeEventListener("message", swListener2);
|
4974
|
-
}
|
4975
|
-
}
|
4976
|
-
const swListener = (message) => {
|
4977
|
-
switch (message.type) {
|
4978
|
-
case "source-map-ack":
|
4979
|
-
subjects.swReady.next(0);
|
4980
|
-
break;
|
4981
|
-
}
|
4982
|
-
};
|
4983
|
-
const postChannel = new PostChannel(parentListener);
|
4984
|
-
const serviceWorkerChannel = new ServiceWorkerChannel(swListener);
|
4985
4705
|
const DEFAULT_LANGUAGE = "en";
|
4986
4706
|
const localizeText = (input, lang = DEFAULT_LANGUAGE) => {
|
4987
4707
|
if (typeof input === "string") {
|
@@ -5021,7 +4741,7 @@ function getElementBySelector(selector) {
|
|
5021
4741
|
return document.querySelector(selector);
|
5022
4742
|
}
|
5023
4743
|
const unfocus = (element, mapping) => {
|
5024
|
-
const originalStyle = mapping.get(element
|
4744
|
+
const originalStyle = mapping.get(element);
|
5025
4745
|
if (originalStyle) {
|
5026
4746
|
const { css, rest, subscription } = originalStyle;
|
5027
4747
|
rest.forEach((el) => {
|
@@ -5033,7 +4753,7 @@ const unfocus = (element, mapping) => {
|
|
5033
4753
|
Object.assign(el.style, css[idx]);
|
5034
4754
|
});
|
5035
4755
|
}
|
5036
|
-
mapping.delete(element
|
4756
|
+
mapping.delete(element);
|
5037
4757
|
};
|
5038
4758
|
const noUndefined = (input) => input !== void 0;
|
5039
4759
|
function focus(document2, obs$, mode$) {
|
@@ -5096,10 +4816,133 @@ function focus(document2, obs$, mode$) {
|
|
5096
4816
|
Object.assign(el.style, next.style);
|
5097
4817
|
});
|
5098
4818
|
}));
|
5099
|
-
stylesMap.set(firstElement
|
4819
|
+
stylesMap.set(firstElement, styles);
|
5100
4820
|
});
|
5101
4821
|
return () => subscription.unsubscribe();
|
5102
4822
|
}
|
4823
|
+
var __defProp$3 = Object.defineProperty;
|
4824
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4825
|
+
var __publicField$3 = (obj, key, value) => {
|
4826
|
+
__defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4827
|
+
return value;
|
4828
|
+
};
|
4829
|
+
let Lexer$1 = class Lexer {
|
4830
|
+
constructor(input) {
|
4831
|
+
__publicField$3(this, "_input");
|
4832
|
+
__publicField$3(this, "_length");
|
4833
|
+
__publicField$3(this, "_idx", 0);
|
4834
|
+
__publicField$3(
|
4835
|
+
this,
|
4836
|
+
"_mode",
|
4837
|
+
0
|
4838
|
+
/* Literal */
|
4839
|
+
);
|
4840
|
+
__publicField$3(this, "_literals", []);
|
4841
|
+
__publicField$3(this, "_variables", []);
|
4842
|
+
__publicField$3(this, "_braketCount", 0);
|
4843
|
+
__publicField$3(this, "_done", false);
|
4844
|
+
this._input = input;
|
4845
|
+
this._length = input.length;
|
4846
|
+
}
|
4847
|
+
concatToLastLiteral(concat) {
|
4848
|
+
this._literals.push(this._literals.pop().concat(concat));
|
4849
|
+
}
|
4850
|
+
concatToLastVariable(concat) {
|
4851
|
+
this._variables.push(this._variables.pop().concat(concat));
|
4852
|
+
}
|
4853
|
+
get() {
|
4854
|
+
const rawLiterals = [...this._literals];
|
4855
|
+
const literals = Object.assign([], rawLiterals);
|
4856
|
+
Object.defineProperty(literals, "raw", { value: rawLiterals, writable: false });
|
4857
|
+
return {
|
4858
|
+
literals,
|
4859
|
+
variables: this._variables
|
4860
|
+
};
|
4861
|
+
}
|
4862
|
+
run() {
|
4863
|
+
if (this._length === 0) {
|
4864
|
+
this._literals.push("");
|
4865
|
+
}
|
4866
|
+
while (this._idx < this._length) {
|
4867
|
+
const char = this._input.charAt(this._idx);
|
4868
|
+
switch (this._mode) {
|
4869
|
+
case 0: {
|
4870
|
+
if (this._literals.length === 0) {
|
4871
|
+
this._literals.push("");
|
4872
|
+
}
|
4873
|
+
if (char === "{" && this._idx + 1 !== this._length && this._input.charAt(this._idx + 1) === "{") {
|
4874
|
+
this._literals.push("");
|
4875
|
+
this._variables.push("");
|
4876
|
+
this._mode = 1;
|
4877
|
+
this._idx += 1;
|
4878
|
+
} else {
|
4879
|
+
this.concatToLastLiteral(char);
|
4880
|
+
}
|
4881
|
+
break;
|
4882
|
+
}
|
4883
|
+
case 1:
|
4884
|
+
if (char === "}" && this._input.charAt(this._idx + 1) === "}") {
|
4885
|
+
this._mode = 0;
|
4886
|
+
this._idx += 1;
|
4887
|
+
} else {
|
4888
|
+
this.concatToLastVariable(char);
|
4889
|
+
}
|
4890
|
+
break;
|
4891
|
+
}
|
4892
|
+
this._idx += 1;
|
4893
|
+
}
|
4894
|
+
if (this._mode === 1) {
|
4895
|
+
this._literals.pop();
|
4896
|
+
this.concatToLastLiteral(`{{${this._variables.pop()}`);
|
4897
|
+
}
|
4898
|
+
this._done = true;
|
4899
|
+
}
|
4900
|
+
};
|
4901
|
+
const isSquareBrakets = (field) => {
|
4902
|
+
const trimmed = field.trim();
|
4903
|
+
if (!(trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
4904
|
+
return false;
|
4905
|
+
}
|
4906
|
+
const inner = trimmed.slice(1).slice(0, -1).trim();
|
4907
|
+
if (Number.parseInt(inner).toString(10) !== inner) {
|
4908
|
+
return false;
|
4909
|
+
}
|
4910
|
+
return true;
|
4911
|
+
};
|
4912
|
+
const getNumber = (field) => {
|
4913
|
+
return Number.parseInt(field.trim().slice(1).slice(0, -1).trim());
|
4914
|
+
};
|
4915
|
+
function interpolate$1(context, path, preserveUnknown) {
|
4916
|
+
if (!path.trim()) {
|
4917
|
+
return preserveUnknown ? `{{${path}}}` : "";
|
4918
|
+
}
|
4919
|
+
const result = path.trim().split(".").reduce((superctx, field) => {
|
4920
|
+
if (Array.isArray(superctx) && isSquareBrakets(field)) {
|
4921
|
+
return superctx[getNumber(field)];
|
4922
|
+
}
|
4923
|
+
if (typeof superctx === "object" && superctx !== null && field in superctx) {
|
4924
|
+
return superctx[field];
|
4925
|
+
}
|
4926
|
+
return void 0;
|
4927
|
+
}, { ...context });
|
4928
|
+
if (typeof result === "string") {
|
4929
|
+
return result;
|
4930
|
+
}
|
4931
|
+
return preserveUnknown ? `{{${path}}}` : "";
|
4932
|
+
}
|
4933
|
+
function parse(input, context, preserveUnknown = false) {
|
4934
|
+
const lexer2 = new Lexer$1(input);
|
4935
|
+
lexer2.run();
|
4936
|
+
const template = lexer2.get();
|
4937
|
+
let [acc] = template.literals;
|
4938
|
+
for (let i2 = 0; i2 < template.variables.length; i2++) {
|
4939
|
+
acc = acc.concat(interpolate$1(context, template.variables[i2], preserveUnknown)).concat(template.literals[i2 + 1]);
|
4940
|
+
}
|
4941
|
+
return acc;
|
4942
|
+
}
|
4943
|
+
const compileObject = (obj, context) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, parse(value, context)]));
|
4944
|
+
const MIA_PREVIEW_ID = "__mia_preview_id";
|
4945
|
+
const OVERLAY_Z_INDEX = 1e6;
|
5103
4946
|
var t;
|
5104
4947
|
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}*(?:[^
|
5105
4948
|
\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) => {
|
@@ -5179,7 +5022,7 @@ function N(t2, i2, s2 = t2, e2) {
|
|
5179
5022
|
}
|
5180
5023
|
class S {
|
5181
5024
|
constructor(t2, i2) {
|
5182
|
-
this.
|
5025
|
+
this._$AV = [], this._$AN = void 0, this._$AD = t2, this._$AM = i2;
|
5183
5026
|
}
|
5184
5027
|
get parentNode() {
|
5185
5028
|
return this._$AM.parentNode;
|
@@ -5187,7 +5030,7 @@ class S {
|
|
5187
5030
|
get _$AU() {
|
5188
5031
|
return this._$AM._$AU;
|
5189
5032
|
}
|
5190
|
-
|
5033
|
+
u(t2) {
|
5191
5034
|
var i2;
|
5192
5035
|
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);
|
5193
5036
|
C.currentNode = o2;
|
@@ -5195,26 +5038,26 @@ class S {
|
|
5195
5038
|
for (; void 0 !== d2; ) {
|
5196
5039
|
if (l2 === d2.index) {
|
5197
5040
|
let i3;
|
5198
|
-
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.
|
5041
|
+
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];
|
5199
5042
|
}
|
5200
5043
|
l2 !== (null == d2 ? void 0 : d2.index) && (n2 = C.nextNode(), l2++);
|
5201
5044
|
}
|
5202
|
-
return o2;
|
5045
|
+
return C.currentNode = r, o2;
|
5203
5046
|
}
|
5204
|
-
|
5047
|
+
v(t2) {
|
5205
5048
|
let i2 = 0;
|
5206
|
-
for (const s2 of this.
|
5049
|
+
for (const s2 of this._$AV)
|
5207
5050
|
void 0 !== s2 && (void 0 !== s2.strings ? (s2._$AI(t2, s2, i2), i2 += s2.strings.length - 2) : s2._$AI(t2[i2])), i2++;
|
5208
5051
|
}
|
5209
5052
|
}
|
5210
5053
|
class M {
|
5211
5054
|
constructor(t2, i2, s2, e2) {
|
5212
5055
|
var o2;
|
5213
|
-
this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t2, this._$AB = i2, this._$AM = s2, this.options = e2, this._$
|
5056
|
+
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;
|
5214
5057
|
}
|
5215
5058
|
get _$AU() {
|
5216
5059
|
var t2, i2;
|
5217
|
-
return null !== (i2 = null === (t2 = this._$AM) || void 0 === t2 ? void 0 : t2._$AU) && void 0 !== i2 ? i2 : this._$
|
5060
|
+
return null !== (i2 = null === (t2 = this._$AM) || void 0 === t2 ? void 0 : t2._$AU) && void 0 !== i2 ? i2 : this._$Cp;
|
5218
5061
|
}
|
5219
5062
|
get parentNode() {
|
5220
5063
|
let t2 = this._$AA.parentNode;
|
@@ -5228,37 +5071,37 @@ class M {
|
|
5228
5071
|
return this._$AB;
|
5229
5072
|
}
|
5230
5073
|
_$AI(t2, i2 = this) {
|
5231
|
-
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.
|
5074
|
+
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);
|
5232
5075
|
}
|
5233
|
-
|
5076
|
+
k(t2) {
|
5234
5077
|
return this._$AA.parentNode.insertBefore(t2, this._$AB);
|
5235
5078
|
}
|
5236
|
-
|
5237
|
-
this._$AH !== t2 && (this._$AR(), this._$AH = this.
|
5079
|
+
$(t2) {
|
5080
|
+
this._$AH !== t2 && (this._$AR(), this._$AH = this.k(t2));
|
5238
5081
|
}
|
5239
|
-
|
5240
|
-
this._$AH !== A && u(this._$AH) ? this._$AA.nextSibling.data = t2 : this
|
5082
|
+
_(t2) {
|
5083
|
+
this._$AH !== A && u(this._$AH) ? this._$AA.nextSibling.data = t2 : this.$(r.createTextNode(t2)), this._$AH = t2;
|
5241
5084
|
}
|
5242
|
-
|
5085
|
+
g(t2) {
|
5243
5086
|
var i2;
|
5244
5087
|
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);
|
5245
5088
|
if ((null === (i2 = this._$AH) || void 0 === i2 ? void 0 : i2._$AD) === o2)
|
5246
|
-
this._$AH.
|
5089
|
+
this._$AH.v(s2);
|
5247
5090
|
else {
|
5248
|
-
const t3 = new S(o2, this), i3 = t3.
|
5249
|
-
t3.
|
5091
|
+
const t3 = new S(o2, this), i3 = t3.u(this.options);
|
5092
|
+
t3.v(s2), this.$(i3), this._$AH = t3;
|
5250
5093
|
}
|
5251
5094
|
}
|
5252
5095
|
_$AC(t2) {
|
5253
5096
|
let i2 = E.get(t2.strings);
|
5254
5097
|
return void 0 === i2 && E.set(t2.strings, i2 = new V(t2)), i2;
|
5255
5098
|
}
|
5256
|
-
|
5099
|
+
T(t2) {
|
5257
5100
|
c(this._$AH) || (this._$AH = [], this._$AR());
|
5258
5101
|
const i2 = this._$AH;
|
5259
5102
|
let s2, e2 = 0;
|
5260
5103
|
for (const o2 of t2)
|
5261
|
-
e2 === i2.length ? i2.push(s2 = new M(this.
|
5104
|
+
e2 === i2.length ? i2.push(s2 = new M(this.k(d()), this.k(d()), this, this.options)) : s2 = i2[e2], s2._$AI(o2), e2++;
|
5262
5105
|
e2 < i2.length && (this._$AR(s2 && s2._$AB.nextSibling, e2), i2.length = e2);
|
5263
5106
|
}
|
5264
5107
|
_$AR(t2 = this._$AA.nextSibling, i2) {
|
@@ -5270,7 +5113,7 @@ class M {
|
|
5270
5113
|
}
|
5271
5114
|
setConnected(t2) {
|
5272
5115
|
var i2;
|
5273
|
-
void 0 === this._$AM && (this._$
|
5116
|
+
void 0 === this._$AM && (this._$Cp = t2, null === (i2 = this._$AP) || void 0 === i2 || i2.call(this, t2));
|
5274
5117
|
}
|
5275
5118
|
}
|
5276
5119
|
class R {
|
@@ -5345,7 +5188,7 @@ class z {
|
|
5345
5188
|
}
|
5346
5189
|
}
|
5347
5190
|
const j = i.litHtmlPolyfillSupport;
|
5348
|
-
null == j || j(V, M), (null !== (t = i.litHtmlVersions) && void 0 !== t ? t : i.litHtmlVersions = []).push("2.7.
|
5191
|
+
null == j || j(V, M), (null !== (t = i.litHtmlVersions) && void 0 !== t ? t : i.litHtmlVersions = []).push("2.7.4");
|
5349
5192
|
const B = (t2, i2, s2) => {
|
5350
5193
|
var e2, o2;
|
5351
5194
|
const n2 = null !== (e2 = null == s2 ? void 0 : s2.renderBefore) && void 0 !== e2 ? e2 : i2;
|
@@ -5553,7 +5396,7 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
5553
5396
|
})).then(() => baseModule());
|
5554
5397
|
};
|
5555
5398
|
function error(message, ...args) {
|
5556
|
-
__vitePreload(() => import("./
|
5399
|
+
__vitePreload(() => import("./errors-5a0ccde7.js"), true ? [] : void 0, import.meta.url).then(({ default: errorMap }) => {
|
5557
5400
|
const handler2 = errorMap[message];
|
5558
5401
|
handler2 ? console.error(handler2(...args)) : console.error(...args);
|
5559
5402
|
}).catch((err) => {
|
@@ -5567,12 +5410,12 @@ function dynamicImportError(name) {
|
|
5567
5410
|
error("0", name, err.message);
|
5568
5411
|
};
|
5569
5412
|
}
|
5570
|
-
const logger
|
5413
|
+
const logger = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
5571
5414
|
__proto__: null,
|
5572
5415
|
dynamicImportError,
|
5573
5416
|
error
|
5574
5417
|
}, Symbol.toStringTag, { value: "Module" }));
|
5575
|
-
var logger_default = logger
|
5418
|
+
var logger_default = logger;
|
5576
5419
|
var __defProp$2 = Object.defineProperty;
|
5577
5420
|
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
5578
5421
|
var __publicField$2 = (obj, key, value) => {
|
@@ -5807,17 +5650,17 @@ const fromErrorToNotification = (error2) => {
|
|
5807
5650
|
status: "error"
|
5808
5651
|
};
|
5809
5652
|
};
|
5810
|
-
const errorHandler = (
|
5653
|
+
const errorHandler = (channel, error2) => channel.send({
|
5811
5654
|
content: fromErrorToNotification(error2),
|
5812
5655
|
type: "notification"
|
5813
5656
|
});
|
5814
5657
|
const isRealMouseEvent = (event) => "clientX" in event && "clientY" in event;
|
5815
|
-
function mouseEventFactory(
|
5658
|
+
function mouseEventFactory(channel, type) {
|
5816
5659
|
return (event) => {
|
5817
5660
|
if (!isRealMouseEvent(event)) {
|
5818
5661
|
return;
|
5819
5662
|
}
|
5820
|
-
|
5663
|
+
channel.send({
|
5821
5664
|
content: {
|
5822
5665
|
bubbles: true,
|
5823
5666
|
cancelable: false,
|
@@ -5829,7 +5672,7 @@ function mouseEventFactory(self2, type) {
|
|
5829
5672
|
};
|
5830
5673
|
}
|
5831
5674
|
const isControlledElement = (tags, element) => tags.has(element.tagName) && element.hasAttribute(MIA_PREVIEW_ID);
|
5832
|
-
const mouseOnElementFactory = (self2, channels) => {
|
5675
|
+
const mouseOnElementFactory = (self2, postChannel, channels) => {
|
5833
5676
|
const { document: document2 } = self2;
|
5834
5677
|
return (event) => {
|
5835
5678
|
let content;
|
@@ -5845,13 +5688,290 @@ const mouseOnElementFactory = (self2, channels) => {
|
|
5845
5688
|
}, { ids: [], selectors: [] });
|
5846
5689
|
}
|
5847
5690
|
if (channels.mode.getValue() === "select" || content === void 0) {
|
5848
|
-
postChannel.send(
|
5691
|
+
postChannel.send({
|
5849
5692
|
content: content && (content.ids.length > 0 ? content : void 0),
|
5850
5693
|
type: "click-element"
|
5851
5694
|
});
|
5852
5695
|
}
|
5853
5696
|
};
|
5854
5697
|
};
|
5698
|
+
var fromWindowToReceiver = (self2, options) => {
|
5699
|
+
return {
|
5700
|
+
postMessage: (message) => {
|
5701
|
+
self2.postMessage(message, (options == null ? void 0 : options.targetOrigin) ?? "*", options == null ? void 0 : options.transfer);
|
5702
|
+
}
|
5703
|
+
};
|
5704
|
+
};
|
5705
|
+
var SynAck = /* @__PURE__ */ ((SynAck2) => {
|
5706
|
+
SynAck2["Ack"] = "ack";
|
5707
|
+
SynAck2["Syn"] = "syn";
|
5708
|
+
return SynAck2;
|
5709
|
+
})(SynAck || {});
|
5710
|
+
var synackKeys = Object.values(SynAck);
|
5711
|
+
var getData = (message) => message.data;
|
5712
|
+
var synackFilter = (type) => (data) => data.type === type.toString();
|
5713
|
+
var isPostChannelMessage = (message) => {
|
5714
|
+
const data = message.data;
|
5715
|
+
return typeof data === "object" && data !== null && "type" in data && typeof data.type === "string" && "instance" in data && typeof data.instance === "string" && "content" in data;
|
5716
|
+
};
|
5717
|
+
var generateDarkColorHex = () => {
|
5718
|
+
let color = "#";
|
5719
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
5720
|
+
color += `0${Math.floor(Math.random() * Math.pow(16, 2) / 2).toString(16)}`.slice(-2);
|
5721
|
+
}
|
5722
|
+
return color;
|
5723
|
+
};
|
5724
|
+
var PostChannel = class {
|
5725
|
+
constructor(listener, from2, to, opts) {
|
5726
|
+
__publicField(this, "__generateId");
|
5727
|
+
__publicField(this, "__instance");
|
5728
|
+
__publicField(this, "__colors");
|
5729
|
+
__publicField(this, "__listener");
|
5730
|
+
__publicField(this, "__log");
|
5731
|
+
__publicField(this, "__receiver");
|
5732
|
+
__publicField(this, "__subscription");
|
5733
|
+
__publicField(this, "__okToWrite");
|
5734
|
+
__publicField(this, "__write$");
|
5735
|
+
__publicField(this, "__recv$");
|
5736
|
+
this.__generateId = () => globalThis.crypto.randomUUID();
|
5737
|
+
const instance = this.__generateId();
|
5738
|
+
const messages = new ReplaySubject();
|
5739
|
+
const fromSubscription = fromEvent(from2, "message").pipe(filter(isPostChannelMessage)).subscribe(messages);
|
5740
|
+
this.__subscription = new Subscription();
|
5741
|
+
this.__subscription.add(fromSubscription);
|
5742
|
+
this.__okToWrite = new ReplaySubject(1);
|
5743
|
+
this.__write$ = this.__okToWrite.pipe(take(1));
|
5744
|
+
this.__recv$ = messages.asObservable();
|
5745
|
+
this.__listener = listener;
|
5746
|
+
this.__log = (opts == null ? void 0 : opts.log) && opts.log.bind(this);
|
5747
|
+
this.__instance = instance;
|
5748
|
+
const color = generateDarkColorHex();
|
5749
|
+
this.__colors = {
|
5750
|
+
bg: color,
|
5751
|
+
fg: `${color}22`
|
5752
|
+
};
|
5753
|
+
this.__receiver = to;
|
5754
|
+
this.__connect(
|
5755
|
+
instance,
|
5756
|
+
(opts == null ? void 0 : opts.period) ? opts.period : 10
|
5757
|
+
);
|
5758
|
+
}
|
5759
|
+
__connect(instance, period) {
|
5760
|
+
const synSubscription = interval(period).subscribe(() => this.__receiver.postMessage({
|
5761
|
+
content: instance,
|
5762
|
+
instance,
|
5763
|
+
type: "syn".toString()
|
5764
|
+
}));
|
5765
|
+
this.__subscription.add(synSubscription);
|
5766
|
+
this.__subscription.add(
|
5767
|
+
this.__recv$.pipe(
|
5768
|
+
map(getData),
|
5769
|
+
filter(synackFilter(
|
5770
|
+
"ack"
|
5771
|
+
/* Ack */
|
5772
|
+
)),
|
5773
|
+
filter(({ content }) => content === instance),
|
5774
|
+
take(1)
|
5775
|
+
).subscribe(({ instance: foreignInstance }) => {
|
5776
|
+
this.__okToWrite.next(0);
|
5777
|
+
this.__subscription.add(
|
5778
|
+
this.__recv$.pipe(
|
5779
|
+
filter(
|
5780
|
+
({ data: { type, instance: incomingInstance } }) => !synackKeys.includes(type) && incomingInstance === foreignInstance
|
5781
|
+
)
|
5782
|
+
).subscribe((message) => {
|
5783
|
+
this.__listener(message);
|
5784
|
+
const { data } = message;
|
5785
|
+
if (data._id !== void 0) {
|
5786
|
+
this.__receiver.postMessage({
|
5787
|
+
...data,
|
5788
|
+
content: data,
|
5789
|
+
instance,
|
5790
|
+
type: "ack"
|
5791
|
+
/* Ack */
|
5792
|
+
});
|
5793
|
+
}
|
5794
|
+
})
|
5795
|
+
);
|
5796
|
+
synSubscription.unsubscribe();
|
5797
|
+
})
|
5798
|
+
);
|
5799
|
+
this.__subscription.add(
|
5800
|
+
this.__recv$.pipe(
|
5801
|
+
map(getData),
|
5802
|
+
filter(synackFilter(
|
5803
|
+
"syn"
|
5804
|
+
/* Syn */
|
5805
|
+
)),
|
5806
|
+
// must check whether is not short-circuiting
|
5807
|
+
// in an infinite loop by syncing with itself
|
5808
|
+
filter(({ instance: foreignInstance }) => foreignInstance !== instance),
|
5809
|
+
take(1)
|
5810
|
+
).subscribe(({ content }) => {
|
5811
|
+
this.__receiver.postMessage({
|
5812
|
+
content,
|
5813
|
+
instance,
|
5814
|
+
type: "ack"
|
5815
|
+
/* Ack */
|
5816
|
+
});
|
5817
|
+
})
|
5818
|
+
);
|
5819
|
+
}
|
5820
|
+
__write(message, messageId) {
|
5821
|
+
const extra = {};
|
5822
|
+
if (messageId !== void 0) {
|
5823
|
+
extra._id = messageId;
|
5824
|
+
}
|
5825
|
+
this.__subscription.add(
|
5826
|
+
this.__write$.subscribe(() => {
|
5827
|
+
var _a2;
|
5828
|
+
const outgoingMessage = Object.assign(
|
5829
|
+
message,
|
5830
|
+
{
|
5831
|
+
instance: this.__instance,
|
5832
|
+
...extra
|
5833
|
+
}
|
5834
|
+
);
|
5835
|
+
this.__receiver.postMessage(outgoingMessage);
|
5836
|
+
(_a2 = this.__log) == null ? void 0 : _a2.call(this, outgoingMessage);
|
5837
|
+
})
|
5838
|
+
);
|
5839
|
+
}
|
5840
|
+
disconnect() {
|
5841
|
+
this.__subscription.unsubscribe();
|
5842
|
+
}
|
5843
|
+
send(message) {
|
5844
|
+
this.__write(message);
|
5845
|
+
}
|
5846
|
+
ackSend(message) {
|
5847
|
+
let done;
|
5848
|
+
const promise = new Promise((resolve) => {
|
5849
|
+
done = resolve;
|
5850
|
+
});
|
5851
|
+
const messageId = this.__generateId();
|
5852
|
+
this.__subscription.add(
|
5853
|
+
this.__recv$.pipe(
|
5854
|
+
map(getData),
|
5855
|
+
filter(synackFilter(
|
5856
|
+
"ack"
|
5857
|
+
/* Ack */
|
5858
|
+
)),
|
5859
|
+
filter(({ _id }) => _id === messageId),
|
5860
|
+
take(1)
|
5861
|
+
).subscribe(() => done())
|
5862
|
+
);
|
5863
|
+
this.__write(message, messageId);
|
5864
|
+
return promise;
|
5865
|
+
}
|
5866
|
+
get instance() {
|
5867
|
+
return this.__instance;
|
5868
|
+
}
|
5869
|
+
get colors() {
|
5870
|
+
return this.__colors;
|
5871
|
+
}
|
5872
|
+
/**
|
5873
|
+
* signals readiness on listening and cannot fail but keeps hanging
|
5874
|
+
* if not resolved
|
5875
|
+
*/
|
5876
|
+
get ready() {
|
5877
|
+
return firstValueFrom(this.__write$).then(() => {
|
5878
|
+
});
|
5879
|
+
}
|
5880
|
+
};
|
5881
|
+
var src_default = PostChannel;
|
5882
|
+
const registerChannels = () => ({
|
5883
|
+
configuration: new ReplaySubject(),
|
5884
|
+
focus: new BehaviorSubject(void 0),
|
5885
|
+
infos: new ReplaySubject(),
|
5886
|
+
mocks: new ReplaySubject(),
|
5887
|
+
mode: new BehaviorSubject("select"),
|
5888
|
+
notification: new ReplaySubject(),
|
5889
|
+
setSourceMap: new ReplaySubject(1),
|
5890
|
+
swSourceMapAck: new ReplaySubject(1),
|
5891
|
+
updated: new Subject(),
|
5892
|
+
uppercaseTags: /* @__PURE__ */ new Set()
|
5893
|
+
});
|
5894
|
+
const nextMode = (mode) => {
|
5895
|
+
let next = 0;
|
5896
|
+
const currentValue = mode.getValue();
|
5897
|
+
if (currentValue === "interact") {
|
5898
|
+
next = "select";
|
5899
|
+
} else if (currentValue === "select") {
|
5900
|
+
next = "interact";
|
5901
|
+
}
|
5902
|
+
mode.next(next);
|
5903
|
+
return next;
|
5904
|
+
};
|
5905
|
+
const swMakeListener = (_2) => (message) => {
|
5906
|
+
const { data } = message;
|
5907
|
+
switch (data.type) {
|
5908
|
+
}
|
5909
|
+
};
|
5910
|
+
const registerServiceWorker = async (self2, channels) => {
|
5911
|
+
const { navigator: { serviceWorker: sw } } = self2;
|
5912
|
+
return Promise.all([
|
5913
|
+
sw.register("./service-worker.js"),
|
5914
|
+
sw.ready.then((registration) => {
|
5915
|
+
if (!registration.active) {
|
5916
|
+
throw new TypeError("smth went wrong on sw activation");
|
5917
|
+
}
|
5918
|
+
return new src_default(swMakeListener(), window.navigator.serviceWorker, registration.active);
|
5919
|
+
})
|
5920
|
+
]).then(([, channel]) => channel);
|
5921
|
+
};
|
5922
|
+
const parentMakeListener = (self2, channels) => (message) => {
|
5923
|
+
const { data } = message;
|
5924
|
+
switch (data.type) {
|
5925
|
+
case "options": {
|
5926
|
+
const { content: { disableOverlay, redirectTo, timeout, run: run2 } } = data;
|
5927
|
+
if (run2) {
|
5928
|
+
channels.swSourceMapAck.next(0);
|
5929
|
+
}
|
5930
|
+
if (disableOverlay) {
|
5931
|
+
Object.defineProperty(self2, "__BACKOFFICE_CONFIGURATOR_DISABLE_OVERLAY__", { value: true });
|
5932
|
+
channels.mode.next("interact");
|
5933
|
+
}
|
5934
|
+
if (timeout !== void 0) {
|
5935
|
+
Object.defineProperty(self2, "__BACKOFFICE_CONFIGURATOR_PREVIEW_TIMEOUT__", { value: timeout });
|
5936
|
+
}
|
5937
|
+
const { history } = self2;
|
5938
|
+
redirectTo && history.pushState(history.state, "", redirectTo);
|
5939
|
+
break;
|
5940
|
+
}
|
5941
|
+
case "ctrl-space":
|
5942
|
+
nextMode(channels.mode);
|
5943
|
+
break;
|
5944
|
+
case "new-configuration":
|
5945
|
+
channels.configuration.next({ ...data.content, type: "reset" });
|
5946
|
+
break;
|
5947
|
+
case "update":
|
5948
|
+
channels.configuration.next({ ...data.content, type: "update" });
|
5949
|
+
break;
|
5950
|
+
case "focus-element":
|
5951
|
+
channels.focus.next(data.content);
|
5952
|
+
break;
|
5953
|
+
case "set-source-map": {
|
5954
|
+
const { dictionary, ...rest } = data.content;
|
5955
|
+
channels.setSourceMap.next({
|
5956
|
+
...rest,
|
5957
|
+
dictionary: Object.entries(dictionary).reduce((acc, [from2, to]) => {
|
5958
|
+
try {
|
5959
|
+
const { href: fromUrl } = new URL(from2, self2.location.href);
|
5960
|
+
const obj = typeof to === "string" ? { headers: {}, query: {}, to } : to;
|
5961
|
+
acc[fromUrl] = {
|
5962
|
+
originalFrom: from2,
|
5963
|
+
...obj
|
5964
|
+
};
|
5965
|
+
} catch (e2) {
|
5966
|
+
}
|
5967
|
+
return acc;
|
5968
|
+
}, {})
|
5969
|
+
});
|
5970
|
+
break;
|
5971
|
+
}
|
5972
|
+
}
|
5973
|
+
};
|
5974
|
+
const registerParent = (self2, channels) => new src_default(parentMakeListener(self2, channels), self2, fromWindowToReceiver(self2.parent));
|
5855
5975
|
const ctrlSpaceFactory = (channels) => {
|
5856
5976
|
return (evt) => {
|
5857
5977
|
if (evt.ctrlKey && evt.key === " ") {
|
@@ -5882,49 +6002,42 @@ const requireInfo = (registry, tags) => from(tags.map((tag) => [tag, registry.wh
|
|
5882
6002
|
mergeMap(extractManifest)
|
5883
6003
|
);
|
5884
6004
|
const BUFFER_TIME = 500;
|
5885
|
-
|
6005
|
+
const reporter = (postChannel, err) => {
|
5886
6006
|
if (err instanceof Error) {
|
5887
|
-
errorHandler(
|
6007
|
+
errorHandler(postChannel, err);
|
5888
6008
|
}
|
5889
|
-
}
|
5890
|
-
|
5891
|
-
|
5892
|
-
|
5893
|
-
|
5894
|
-
|
5895
|
-
|
5896
|
-
|
5897
|
-
|
5898
|
-
|
5899
|
-
)
|
5900
|
-
|
5901
|
-
|
5902
|
-
|
5903
|
-
}
|
5904
|
-
|
5905
|
-
|
5906
|
-
|
5907
|
-
|
5908
|
-
|
5909
|
-
|
5910
|
-
|
5911
|
-
|
5912
|
-
next: (mockPair) => {
|
5913
|
-
subjects.mocks.next(mockPair);
|
5914
|
-
}
|
5915
|
-
});
|
5916
|
-
}
|
5917
|
-
async function bootstrap(config2, {
|
6009
|
+
};
|
6010
|
+
const collectInfos = (postChannel, info$, addInfo) => info$.pipe(
|
6011
|
+
mergeMap(([, { __manifest: { label, description, ...rest }, tag }]) => {
|
6012
|
+
delete rest.mocks;
|
6013
|
+
return of({ info: { ...translateObject({ description, label }), ...rest }, tag });
|
6014
|
+
}),
|
6015
|
+
bufferTime(BUFFER_TIME),
|
6016
|
+
filter((newInfos) => newInfos.length > 0)
|
6017
|
+
).subscribe({
|
6018
|
+
error: (error2) => reporter(postChannel, error2),
|
6019
|
+
next: (extras) => addInfo(extras)
|
6020
|
+
});
|
6021
|
+
const collectMocks = (postChannel, subjects, info$) => info$.pipe(
|
6022
|
+
map(
|
6023
|
+
([, { __manifest: { mocks = {} }, tag }]) => [tag, mocks]
|
6024
|
+
)
|
6025
|
+
).subscribe({
|
6026
|
+
error: (error2) => reporter(postChannel, error2),
|
6027
|
+
next: (mockPair) => {
|
6028
|
+
subjects.mocks.next(mockPair);
|
6029
|
+
}
|
6030
|
+
});
|
6031
|
+
async function bootstrap(postChannel, channels, config2, {
|
5918
6032
|
addInfo,
|
5919
6033
|
tags
|
5920
6034
|
}) {
|
5921
6035
|
const { subscription } = this;
|
5922
|
-
const boundReporter = reporter.bind(this);
|
5923
6036
|
if (config2) {
|
5924
6037
|
const info$ = requireInfo(this.customElements, tags);
|
5925
|
-
return premount(config2, this,
|
5926
|
-
subscription.add(collectInfos
|
5927
|
-
subscription.add(collectMocks
|
6038
|
+
return premount(config2, this, (err) => reporter(postChannel, err)).then(() => {
|
6039
|
+
subscription.add(collectInfos(postChannel, info$, addInfo));
|
6040
|
+
subscription.add(collectMocks(postChannel, channels, info$));
|
5928
6041
|
});
|
5929
6042
|
}
|
5930
6043
|
}
|
@@ -5933,9 +6046,7 @@ const getPreviewContainer = (frame, root) => {
|
|
5933
6046
|
let container = root.firstElementChild;
|
5934
6047
|
if (container === null) {
|
5935
6048
|
container = document2.createElement("div");
|
5936
|
-
container.style.height = "
|
5937
|
-
container.style.width = "100%";
|
5938
|
-
container.style.overflow = "auto";
|
6049
|
+
container.style.height = "inherit";
|
5939
6050
|
container.style.display = "flex";
|
5940
6051
|
root.appendChild(container);
|
5941
6052
|
}
|
@@ -5966,7 +6077,7 @@ function fetchMockFactory(instance, fetchFactory, windowHref) {
|
|
5966
6077
|
var _a2;
|
5967
6078
|
const info = compileObject({ ...url, method }, context);
|
5968
6079
|
const matcher = new URL(info.pathname, (_a2 = info.origin) != null ? _a2 : windowHref);
|
5969
|
-
return [matcher.href, method, (injectedInfo,
|
6080
|
+
return [matcher.href, method, (injectedInfo, init) => fetchHandler(injectedInfo, init).finally(() => {
|
5970
6081
|
if (notify) {
|
5971
6082
|
this.notify(fetchNotification(method, matcher));
|
5972
6083
|
}
|
@@ -6043,12 +6154,12 @@ const printHeaders = (headers) => {
|
|
6043
6154
|
});
|
6044
6155
|
return JSON.stringify(obj);
|
6045
6156
|
};
|
6046
|
-
const fetchPrint = (window2, url,
|
6157
|
+
const fetchPrint = (window2, url, init, resHeaders = new Headers()) => {
|
6047
6158
|
var _a2;
|
6048
6159
|
const style = window2.origin === "null" ? { background: "antiquewhite", color: "brown" } : { background: "cyan", color: "blue" };
|
6049
6160
|
console.groupCollapsed(`%c Fetching from ${window2.origin} `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
6050
6161
|
console.info(
|
6051
|
-
`a component fetched with method ${(_a2 =
|
6162
|
+
`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)}`,
|
6052
6163
|
"background: lightgreen; color: darkgreen"
|
6053
6164
|
);
|
6054
6165
|
console.groupEnd();
|
@@ -6060,7 +6171,7 @@ const notFoundTagNotification = (tag) => ({
|
|
6060
6171
|
message: "preview.notifications.no-webcomponent-definition.message",
|
6061
6172
|
status: "warning"
|
6062
6173
|
});
|
6063
|
-
async function mock(contexts, tags = []) {
|
6174
|
+
async function mock(postChannel, subjects, contexts, tags = []) {
|
6064
6175
|
const { location: { href }, fetch: originalFetch } = this;
|
6065
6176
|
const urlMaker = urlMakerFactory(this);
|
6066
6177
|
const store = new FetchMockStore(this.notify.bind(this));
|
@@ -6084,21 +6195,21 @@ async function mock(contexts, tags = []) {
|
|
6084
6195
|
const instancesCarryingMocks = (_a2 = contexts.get(tag)) != null ? _a2 : [];
|
6085
6196
|
return handler(store, instancesCarryingMocks, fetchFactory, href);
|
6086
6197
|
})).catch(
|
6087
|
-
(error2) => error2 instanceof Error && errorHandler(
|
6198
|
+
(error2) => error2 instanceof Error && errorHandler(postChannel, error2)
|
6088
6199
|
);
|
6089
|
-
const mockedFetch = async (info,
|
6200
|
+
const mockedFetch = async (info, init) => {
|
6090
6201
|
var _a2;
|
6091
6202
|
const url = toURL(urlMaker, info);
|
6092
|
-
const mockImplementation = store.match({ method: (_a2 =
|
6203
|
+
const mockImplementation = store.match({ method: (_a2 = init == null ? void 0 : init.method) != null ? _a2 : "GET", url });
|
6093
6204
|
if (mockImplementation !== void 0) {
|
6094
|
-
return mockImplementation(url,
|
6205
|
+
return mockImplementation(url, init).then((res) => {
|
6095
6206
|
{
|
6096
|
-
fetchPrint(this, url,
|
6207
|
+
fetchPrint(this, url, init, res.headers);
|
6097
6208
|
}
|
6098
6209
|
return res;
|
6099
6210
|
});
|
6100
6211
|
}
|
6101
|
-
return originalFetch(info,
|
6212
|
+
return originalFetch(info, init);
|
6102
6213
|
};
|
6103
6214
|
if (this.proxyWindow) {
|
6104
6215
|
const newFetch = Object.assign(
|
@@ -6282,10 +6393,10 @@ function wrap(frame, notification) {
|
|
6282
6393
|
const unpatch = domPatch(sandbox);
|
6283
6394
|
return { sandbox, unpatch };
|
6284
6395
|
}
|
6285
|
-
var
|
6286
|
-
var
|
6287
|
-
var
|
6288
|
-
|
6396
|
+
var __defProp2 = Object.defineProperty;
|
6397
|
+
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
6398
|
+
var __publicField2 = (obj, key, value) => {
|
6399
|
+
__defNormalProp2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
6289
6400
|
return value;
|
6290
6401
|
};
|
6291
6402
|
function appendOverlay(self2, mode$) {
|
@@ -6327,8 +6438,9 @@ function appendOverlay(self2, mode$) {
|
|
6327
6438
|
}
|
6328
6439
|
const appendRenderRoot = (document2) => {
|
6329
6440
|
const renderRoot = document2.createElement("div");
|
6441
|
+
renderRoot.style.display = "flex";
|
6442
|
+
renderRoot.style.flexDirection = "column";
|
6330
6443
|
renderRoot.style.height = "inherit";
|
6331
|
-
renderRoot.style.width = "inherit";
|
6332
6444
|
document2.body.appendChild(renderRoot);
|
6333
6445
|
return renderRoot;
|
6334
6446
|
};
|
@@ -6344,8 +6456,8 @@ function createLifecycle(frame) {
|
|
6344
6456
|
}
|
6345
6457
|
class Queue {
|
6346
6458
|
constructor() {
|
6347
|
-
|
6348
|
-
|
6459
|
+
__publicField2(this, "_results", /* @__PURE__ */ new Map());
|
6460
|
+
__publicField2(this, "_queue", Promise.resolve());
|
6349
6461
|
}
|
6350
6462
|
add(args) {
|
6351
6463
|
const fns = [...args];
|
@@ -6383,12 +6495,9 @@ const addInfoFactory = (channels) => (info) => {
|
|
6383
6495
|
channels.infos.next(info);
|
6384
6496
|
info.forEach(({ tag }) => channels.uppercaseTags.add(tag.toUpperCase()));
|
6385
6497
|
};
|
6386
|
-
const run = (frame, renderRoot, channels) => {
|
6498
|
+
const run = (frame, renderRoot, postChannel, channels) => {
|
6387
6499
|
const queue = new Queue();
|
6388
|
-
const subscription = channels.configuration.pipe(
|
6389
|
-
combineLatestWith(subjects.swReady.pipe(take(1))),
|
6390
|
-
map(([next]) => next)
|
6391
|
-
).subscribe((next) => {
|
6500
|
+
const subscription = channels.configuration.pipe(combineLatestWith(channels.swSourceMapAck)).subscribe(([next]) => {
|
6392
6501
|
const { configuration } = next;
|
6393
6502
|
const { content } = configuration;
|
6394
6503
|
let done;
|
@@ -6396,8 +6505,8 @@ const run = (frame, renderRoot, channels) => {
|
|
6396
6505
|
const { contexts, tags } = next;
|
6397
6506
|
done = queue.add([
|
6398
6507
|
() => unmount.call(frame, renderRoot),
|
6399
|
-
() => bootstrap.call(frame, configuration, { addInfo: addInfoFactory(channels), tags }),
|
6400
|
-
() => mock.call(frame, contexts, next.tags),
|
6508
|
+
() => bootstrap.call(frame, postChannel, channels, configuration, { addInfo: addInfoFactory(channels), tags }),
|
6509
|
+
() => mock.call(frame, postChannel, channels, contexts, next.tags),
|
6401
6510
|
() => update.call(frame, content, renderRoot).finally(() => channels.updated.next(0))
|
6402
6511
|
]);
|
6403
6512
|
} else {
|
@@ -6446,16 +6555,16 @@ const interceptCORSFetch = (self2, notification) => {
|
|
6446
6555
|
return;
|
6447
6556
|
}
|
6448
6557
|
const originalFetch = self2.fetch.bind(self2);
|
6449
|
-
self2.fetch = (input,
|
6558
|
+
self2.fetch = (input, init) => {
|
6450
6559
|
var _a2;
|
6451
6560
|
const url = toURL(urlMaker, input);
|
6452
6561
|
if (isSameDocumentOriginRequest(document2, url)) {
|
6453
|
-
notification.next(fetchNotification((_a2 =
|
6562
|
+
notification.next(fetchNotification((_a2 = init == null ? void 0 : init.method) != null ? _a2 : "GET", url));
|
6454
6563
|
}
|
6455
|
-
return originalFetch(input,
|
6564
|
+
return originalFetch(input, init);
|
6456
6565
|
};
|
6457
6566
|
};
|
6458
|
-
|
6567
|
+
const createComposerApplication = (self2, postChannel, channels) => {
|
6459
6568
|
applyBodyStyle(self2.document);
|
6460
6569
|
interceptCORSFetch(self2, channels.notification);
|
6461
6570
|
const { cleanup: overlayDisplaySubscriptionCleanup } = appendOverlay(self2, channels.mode.asObservable());
|
@@ -6463,7 +6572,7 @@ function createComposerApplication(self2, channels) {
|
|
6463
6572
|
const renderRoot = appendRenderRoot(self2.document);
|
6464
6573
|
const frame = createLifecycle(self2);
|
6465
6574
|
const { sandbox: sandboxedWindow, unpatch } = wrap(frame, channels.notification);
|
6466
|
-
const updateSubscriptionsCleanup = run(sandboxedWindow, renderRoot, channels);
|
6575
|
+
const updateSubscriptionsCleanup = run(sandboxedWindow, renderRoot, postChannel, channels);
|
6467
6576
|
return {
|
6468
6577
|
cleanup: () => {
|
6469
6578
|
updateSubscriptionsCleanup();
|
@@ -6473,87 +6582,41 @@ function createComposerApplication(self2, channels) {
|
|
6473
6582
|
},
|
6474
6583
|
sandboxedWindow
|
6475
6584
|
};
|
6476
|
-
}
|
6477
|
-
function logger(type, ...args) {
|
6478
|
-
{
|
6479
|
-
const color = generateDarkColorHex();
|
6480
|
-
const background = `${color}22`;
|
6481
|
-
const style = { background, color };
|
6482
|
-
console.groupCollapsed(`%c Preview ${this.location.href}`, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
6483
|
-
console[type](...args);
|
6484
|
-
console.groupEnd();
|
6485
|
-
}
|
6486
|
-
}
|
6487
|
-
function logServiceWorkerStatus(registration) {
|
6488
|
-
const log = logger.bind(this);
|
6489
|
-
if (registration.installing) {
|
6490
|
-
log("info", "Service worker installing");
|
6491
|
-
} else if (registration.waiting) {
|
6492
|
-
log("info", "Service worker installed");
|
6493
|
-
} else if (registration.active) {
|
6494
|
-
log("info", "Service worker active");
|
6495
|
-
}
|
6496
|
-
}
|
6497
|
-
const registerServiceWorker = async (self2) => {
|
6498
|
-
const { navigator: navigator2 } = self2;
|
6499
|
-
if ("serviceWorker" in navigator2) {
|
6500
|
-
navigator2.serviceWorker.register("./service-worker.js", { scope: "./" }).then((reg) => logServiceWorkerStatus.call(self2, reg)).catch((error2) => console.error(error2));
|
6501
|
-
return navigator2.serviceWorker.ready.then((reg) => {
|
6502
|
-
var _a2;
|
6503
|
-
return (_a2 = reg.active) != null ? _a2 : Promise.reject(new TypeError("serviceWorker not active"));
|
6504
|
-
});
|
6505
|
-
}
|
6506
|
-
logger.call(self2, "error", "serviceWorker is not available");
|
6507
|
-
};
|
6508
|
-
const init = async (self2) => {
|
6509
|
-
postChannel.window = self2;
|
6510
|
-
serviceWorkerChannel.window = self2;
|
6511
|
-
return registerServiceWorker(self2);
|
6512
6585
|
};
|
6513
|
-
function
|
6586
|
+
function registerParentWindowSenders(chs) {
|
6514
6587
|
const subscription = new Subscription();
|
6515
|
-
if (sw) {
|
6516
|
-
subscription.add(
|
6517
|
-
chs.setSourceMap.subscribe(
|
6518
|
-
(next) => serviceWorkerChannel.send(sw, { content: next, type: "set-source-map" })
|
6519
|
-
)
|
6520
|
-
);
|
6521
|
-
}
|
6522
6588
|
subscription.add(
|
6523
|
-
chs.updated.subscribe(() => {
|
6524
|
-
|
6525
|
-
|
6526
|
-
|
6527
|
-
});
|
6528
|
-
})
|
6589
|
+
chs.updated.subscribe(() => this.send({
|
6590
|
+
content: {},
|
6591
|
+
type: "updated"
|
6592
|
+
}))
|
6529
6593
|
);
|
6530
6594
|
subscription.add(
|
6531
|
-
chs.infos.subscribe(
|
6532
|
-
|
6533
|
-
|
6534
|
-
|
6535
|
-
type: "tag-info"
|
6536
|
-
});
|
6537
|
-
}
|
6538
|
-
)
|
6595
|
+
chs.infos.subscribe((entries) => this.send({
|
6596
|
+
content: entries,
|
6597
|
+
type: "tag-info"
|
6598
|
+
}))
|
6539
6599
|
);
|
6540
6600
|
subscription.add(
|
6541
|
-
chs.notification.subscribe(
|
6542
|
-
|
6543
|
-
|
6544
|
-
|
6545
|
-
type: "notification"
|
6546
|
-
});
|
6547
|
-
}
|
6548
|
-
)
|
6601
|
+
chs.notification.subscribe((content) => this.send({
|
6602
|
+
content,
|
6603
|
+
type: "notification"
|
6604
|
+
}))
|
6549
6605
|
);
|
6550
6606
|
subscription.add(
|
6551
|
-
chs.mode.subscribe(
|
6552
|
-
|
6553
|
-
|
6554
|
-
|
6555
|
-
|
6556
|
-
|
6607
|
+
chs.mode.subscribe((mode) => this.send({
|
6608
|
+
content: { mode },
|
6609
|
+
type: "ctrl-space"
|
6610
|
+
}))
|
6611
|
+
);
|
6612
|
+
return () => subscription.unsubscribe();
|
6613
|
+
}
|
6614
|
+
function registerServiceWorkerSenders(channels) {
|
6615
|
+
const subscription = new Subscription();
|
6616
|
+
subscription.add(
|
6617
|
+
channels.setSourceMap.subscribe(
|
6618
|
+
(message) => {
|
6619
|
+
this.ackSend({ content: message, type: "set-source-map" }).then(() => channels.swSourceMapAck.next(0)).catch(noop);
|
6557
6620
|
}
|
6558
6621
|
)
|
6559
6622
|
);
|
@@ -6575,40 +6638,34 @@ function registerCleanups(window2, fns) {
|
|
6575
6638
|
});
|
6576
6639
|
}
|
6577
6640
|
(async (self2) => {
|
6578
|
-
const
|
6579
|
-
|
6580
|
-
const
|
6581
|
-
|
6582
|
-
|
6583
|
-
const subscription = interval(100).subscribe(() => postChannel.send(self2.parent, { content: { status: "ready" }, type: "service-worker" }));
|
6584
|
-
serviceWorkerChannelCleanup = () => {
|
6585
|
-
swCleanup();
|
6586
|
-
subscription.unsubscribe();
|
6587
|
-
serviceWorkerChannel.send(sw, { content: {}, type: "unload-client" });
|
6588
|
-
};
|
6589
|
-
}
|
6590
|
-
const senderCleanup = registerSenders(subjects, sw);
|
6641
|
+
const channels = registerChannels();
|
6642
|
+
const swRegistration = await registerServiceWorker(self2);
|
6643
|
+
const parentWindowRegistration = registerParent(self2, channels);
|
6644
|
+
const serviceWorkerSenderCleanup = registerServiceWorkerSenders.call(swRegistration, channels);
|
6645
|
+
const parentWindowSenderCleanup = registerParentWindowSenders.call(parentWindowRegistration, channels);
|
6591
6646
|
const listenerCleanup = registerEventListeners(
|
6592
6647
|
self2,
|
6593
|
-
{ handler: ctrlSpaceFactory(
|
6594
|
-
{ handler: mouseEventFactory(
|
6595
|
-
{ handler: mouseEventFactory(
|
6596
|
-
{ handler: mouseOnElementFactory(self2,
|
6648
|
+
{ handler: ctrlSpaceFactory(channels), type: "keydown" },
|
6649
|
+
{ handler: mouseEventFactory(parentWindowRegistration, "mousemove"), type: "mousemove" },
|
6650
|
+
{ handler: mouseEventFactory(parentWindowRegistration, "mousedown"), type: "mousedown" },
|
6651
|
+
{ handler: mouseOnElementFactory(self2, parentWindowRegistration, channels), type: "mousedown" }
|
6597
6652
|
);
|
6598
6653
|
const {
|
6599
6654
|
cleanup: composerApplicationCleanup,
|
6600
6655
|
sandboxedWindow
|
6601
|
-
} = createComposerApplication(self2,
|
6656
|
+
} = createComposerApplication(self2, parentWindowRegistration, channels);
|
6602
6657
|
registerCleanups(
|
6603
6658
|
sandboxedWindow,
|
6604
6659
|
[
|
6605
6660
|
composerApplicationCleanup,
|
6606
6661
|
listenerCleanup,
|
6607
|
-
|
6608
|
-
|
6609
|
-
|
6662
|
+
parentWindowSenderCleanup,
|
6663
|
+
serviceWorkerSenderCleanup,
|
6664
|
+
() => parentWindowRegistration.disconnect(),
|
6665
|
+
() => swRegistration.disconnect()
|
6610
6666
|
]
|
6611
6667
|
);
|
6612
|
-
})(window).catch((
|
6613
|
-
|
6668
|
+
})(window).catch((err) => {
|
6669
|
+
console.error(`[preview] Error Boundary: ${String(err)}`);
|
6670
|
+
throw err;
|
6614
6671
|
});
|