@micro-lc/preview 0.4.2 → 0.5.0-rc1
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 +3 -4
- package/dist/index.d.ts +24 -3
- package/dist/index.js +13 -10
- package/dist/service-worker.d.ts +28 -0
- package/dist/service-worker.js +1 -0
- package/package.json +7 -6
- package/website/development/index.html +1 -1
- package/website/development/{assets/index-dafdc2d8.js → index.js} +445 -218
- package/website/development/manifest.json +6 -1
- package/website/development/service-worker.js +99 -0
- package/website/index.html +1 -1
- package/website/index.js +13 -0
- package/website/manifest.json +6 -1
- package/website/service-worker.js +1 -0
- package/website/assets/index-de9f10b5.js +0 -13
@@ -3266,6 +3266,13 @@ var observable = function() {
|
|
3266
3266
|
function identity(x2) {
|
3267
3267
|
return x2;
|
3268
3268
|
}
|
3269
|
+
function pipe() {
|
3270
|
+
var fns = [];
|
3271
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
3272
|
+
fns[_i] = arguments[_i];
|
3273
|
+
}
|
3274
|
+
return pipeFromArray(fns);
|
3275
|
+
}
|
3269
3276
|
function pipeFromArray(fns) {
|
3270
3277
|
if (fns.length === 0) {
|
3271
3278
|
return identity;
|
@@ -3869,6 +3876,9 @@ function isScheduler(value) {
|
|
3869
3876
|
function last(arr) {
|
3870
3877
|
return arr[arr.length - 1];
|
3871
3878
|
}
|
3879
|
+
function popResultSelector(args) {
|
3880
|
+
return isFunction(last(args)) ? args.pop() : void 0;
|
3881
|
+
}
|
3872
3882
|
function popScheduler(args) {
|
3873
3883
|
return isScheduler(last(args)) ? args.pop() : void 0;
|
3874
3884
|
}
|
@@ -4276,6 +4286,58 @@ function map(project, thisArg) {
|
|
4276
4286
|
}));
|
4277
4287
|
});
|
4278
4288
|
}
|
4289
|
+
var isArray$1 = Array.isArray;
|
4290
|
+
function callOrApply(fn, args) {
|
4291
|
+
return isArray$1(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);
|
4292
|
+
}
|
4293
|
+
function mapOneOrManyArgs(fn) {
|
4294
|
+
return map(function(args) {
|
4295
|
+
return callOrApply(fn, args);
|
4296
|
+
});
|
4297
|
+
}
|
4298
|
+
function combineLatestInit(observables, scheduler, valueTransform) {
|
4299
|
+
if (valueTransform === void 0) {
|
4300
|
+
valueTransform = identity;
|
4301
|
+
}
|
4302
|
+
return function(subscriber) {
|
4303
|
+
maybeSchedule(scheduler, function() {
|
4304
|
+
var length = observables.length;
|
4305
|
+
var values = new Array(length);
|
4306
|
+
var active = length;
|
4307
|
+
var remainingFirstValues = length;
|
4308
|
+
var _loop_1 = function(i3) {
|
4309
|
+
maybeSchedule(scheduler, function() {
|
4310
|
+
var source = from(observables[i3], scheduler);
|
4311
|
+
var hasFirstValue = false;
|
4312
|
+
source.subscribe(createOperatorSubscriber(subscriber, function(value) {
|
4313
|
+
values[i3] = value;
|
4314
|
+
if (!hasFirstValue) {
|
4315
|
+
hasFirstValue = true;
|
4316
|
+
remainingFirstValues--;
|
4317
|
+
}
|
4318
|
+
if (!remainingFirstValues) {
|
4319
|
+
subscriber.next(valueTransform(values.slice()));
|
4320
|
+
}
|
4321
|
+
}, function() {
|
4322
|
+
if (!--active) {
|
4323
|
+
subscriber.complete();
|
4324
|
+
}
|
4325
|
+
}));
|
4326
|
+
}, subscriber);
|
4327
|
+
};
|
4328
|
+
for (var i2 = 0; i2 < length; i2++) {
|
4329
|
+
_loop_1(i2);
|
4330
|
+
}
|
4331
|
+
}, subscriber);
|
4332
|
+
};
|
4333
|
+
}
|
4334
|
+
function maybeSchedule(scheduler, execute, subscription) {
|
4335
|
+
if (scheduler) {
|
4336
|
+
executeSchedule(subscription, scheduler, execute);
|
4337
|
+
} else {
|
4338
|
+
execute();
|
4339
|
+
}
|
4340
|
+
}
|
4279
4341
|
function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {
|
4280
4342
|
var buffer = [];
|
4281
4343
|
var active = 0;
|
@@ -4384,6 +4446,22 @@ function timer(dueTime, intervalOrScheduler, scheduler) {
|
|
4384
4446
|
}, due);
|
4385
4447
|
});
|
4386
4448
|
}
|
4449
|
+
function interval(period, scheduler) {
|
4450
|
+
if (period === void 0) {
|
4451
|
+
period = 0;
|
4452
|
+
}
|
4453
|
+
if (scheduler === void 0) {
|
4454
|
+
scheduler = asyncScheduler;
|
4455
|
+
}
|
4456
|
+
if (period < 0) {
|
4457
|
+
period = 0;
|
4458
|
+
}
|
4459
|
+
return timer(period, period, scheduler);
|
4460
|
+
}
|
4461
|
+
var isArray = Array.isArray;
|
4462
|
+
function argsOrArgArray(args) {
|
4463
|
+
return args.length === 1 && isArray(args[0]) ? args[0] : args;
|
4464
|
+
}
|
4387
4465
|
function filter(predicate, thisArg) {
|
4388
4466
|
return operate(function(source, subscriber) {
|
4389
4467
|
var index = 0;
|
@@ -4466,6 +4544,23 @@ function bufferTime(bufferTimeSpan) {
|
|
4466
4544
|
source.subscribe(bufferTimeSubscriber);
|
4467
4545
|
});
|
4468
4546
|
}
|
4547
|
+
function combineLatest() {
|
4548
|
+
var args = [];
|
4549
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
4550
|
+
args[_i] = arguments[_i];
|
4551
|
+
}
|
4552
|
+
var resultSelector = popResultSelector(args);
|
4553
|
+
return resultSelector ? pipe(combineLatest.apply(void 0, __spreadArray([], __read(args))), mapOneOrManyArgs(resultSelector)) : operate(function(source, subscriber) {
|
4554
|
+
combineLatestInit(__spreadArray([source], __read(argsOrArgArray(args))))(subscriber);
|
4555
|
+
});
|
4556
|
+
}
|
4557
|
+
function combineLatestWith() {
|
4558
|
+
var otherSources = [];
|
4559
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
4560
|
+
otherSources[_i] = arguments[_i];
|
4561
|
+
}
|
4562
|
+
return combineLatest.apply(void 0, __spreadArray([], __read(otherSources)));
|
4563
|
+
}
|
4469
4564
|
function concatMap(project, resultSelector) {
|
4470
4565
|
return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);
|
4471
4566
|
}
|
@@ -4525,145 +4620,27 @@ function tap(observerOrNext, error2, complete) {
|
|
4525
4620
|
}));
|
4526
4621
|
}) : identity;
|
4527
4622
|
}
|
4528
|
-
|
4529
|
-
|
4530
|
-
|
4531
|
-
|
4532
|
-
}
|
4533
|
-
return input == null ? void 0 : input[lang];
|
4534
|
-
};
|
4535
|
-
function translateObject(obj) {
|
4536
|
-
return Object.entries(obj).reduce((out, [key, value]) => {
|
4537
|
-
out[key] = localizeText(value);
|
4538
|
-
return out;
|
4539
|
-
}, {});
|
4540
|
-
}
|
4541
|
-
const noop = (..._args) => {
|
4542
|
-
};
|
4543
|
-
const toArray$1 = (input) => Array.isArray(input) ? input : [input];
|
4544
|
-
const urlMakerFactory = ({ document: { baseURI }, location: { href } }) => (input) => new URL(input, new URL(baseURI, href));
|
4545
|
-
const toURL = (urlMaker, info) => {
|
4546
|
-
let url = info;
|
4547
|
-
if (!(info instanceof URL)) {
|
4548
|
-
url = urlMaker(typeof info === "string" ? info : info.url);
|
4549
|
-
}
|
4550
|
-
return url;
|
4551
|
-
};
|
4552
|
-
const trimLocationOrigin = (origin, url) => {
|
4553
|
-
const { href, origin: linkOrigin } = url;
|
4554
|
-
if (origin === linkOrigin) {
|
4555
|
-
return href.substring(origin.length);
|
4556
|
-
}
|
4557
|
-
return href;
|
4558
|
-
};
|
4559
|
-
const getElement = (document2, context, nth = 0) => {
|
4560
|
-
const { selectors } = context;
|
4561
|
-
return document2.querySelector(selectors[nth]);
|
4562
|
-
};
|
4563
|
-
function getElementBySelector(selector) {
|
4564
|
-
return document.querySelector(selector);
|
4565
|
-
}
|
4566
|
-
const unfocus = (element, mapping) => {
|
4567
|
-
const originalStyle = mapping.get(element);
|
4568
|
-
if (originalStyle) {
|
4569
|
-
const { css, rest, subscription } = originalStyle;
|
4570
|
-
rest.forEach((el) => {
|
4571
|
-
var _a2;
|
4572
|
-
return (_a2 = el.__unfocus_handler) == null ? void 0 : _a2.call(el);
|
4573
|
-
});
|
4574
|
-
subscription.unsubscribe();
|
4575
|
-
originalStyle.elementToFocus.forEach((el, idx) => {
|
4576
|
-
Object.assign(el.style, css[idx]);
|
4577
|
-
});
|
4578
|
-
}
|
4579
|
-
mapping.delete(element);
|
4580
|
-
};
|
4581
|
-
const noUndefined = (input) => input !== void 0;
|
4582
|
-
function focus(document2, obs$, mode$) {
|
4583
|
-
const stylesMap = /* @__PURE__ */ new Map();
|
4584
|
-
const getBySelector = getElementBySelector.bind(document2);
|
4585
|
-
const subscription = obs$.pipe(
|
4586
|
-
pairwise(),
|
4587
|
-
tap(([current]) => {
|
4588
|
-
var _a2;
|
4589
|
-
if (current !== void 0) {
|
4590
|
-
const prev = getElement(document2, current);
|
4591
|
-
if (prev !== null) {
|
4592
|
-
(_a2 = prev.__unfocus_handler) == null ? void 0 : _a2.call(prev);
|
4593
|
-
unfocus(prev, stylesMap);
|
4594
|
-
}
|
4595
|
-
}
|
4596
|
-
}),
|
4597
|
-
map(([, next]) => next),
|
4598
|
-
filter(noUndefined),
|
4599
|
-
map((next) => {
|
4600
|
-
const [first, ...rest] = next.selectors;
|
4601
|
-
const otherElements = rest.reduce((arr, selector) => {
|
4602
|
-
var _a2;
|
4603
|
-
const el = getBySelector(selector);
|
4604
|
-
if (el) {
|
4605
|
-
arr.push(el);
|
4606
|
-
const result = (_a2 = el.__focus_handler) == null ? void 0 : _a2.call(el);
|
4607
|
-
if (result && "then" in result) {
|
4608
|
-
result.catch(noop);
|
4609
|
-
}
|
4610
|
-
}
|
4611
|
-
return arr;
|
4612
|
-
}, []);
|
4613
|
-
return { first, next, otherElements };
|
4614
|
-
}),
|
4615
|
-
map((next) => ({ ...next, firstElement: getBySelector(next.first) })),
|
4616
|
-
filter((next) => next.firstElement !== null),
|
4617
|
-
map((next) => {
|
4618
|
-
var _a2, _b;
|
4619
|
-
return { ...next, focus: (_b = (_a2 = next.firstElement).__focus_handler) == null ? void 0 : _b.call(_a2) };
|
4620
|
-
}),
|
4621
|
-
concatMap(({ focus: focusPromise, ...rest }) => {
|
4622
|
-
const promise = focusPromise && "then" in focusPromise ? focusPromise : Promise.resolve(focusPromise != null ? focusPromise : rest.firstElement);
|
4623
|
-
return promise.then((focusElement) => ({ focus: focusElement, ...rest })).catch(() => ({ focus: void 0, ...rest }));
|
4624
|
-
})
|
4625
|
-
).subscribe(({ otherElements, next, firstElement, focus: focusContext }) => {
|
4626
|
-
const cssKeys = Object.keys(next.style);
|
4627
|
-
const stylePendingChanges = new Subscription();
|
4628
|
-
const elementToFocus = toArray$1(focusContext != null ? focusContext : firstElement).filter(Boolean);
|
4629
|
-
const initialStyles = { css: [], elementToFocus, rest: otherElements, subscription: stylePendingChanges };
|
4630
|
-
const styles = cssKeys.reduce((acc, key) => {
|
4631
|
-
elementToFocus.forEach((el, idx) => {
|
4632
|
-
var _a2;
|
4633
|
-
acc.css[idx] = Object.assign((_a2 = acc.css[idx]) != null ? _a2 : {}, { [key]: el.style[key] });
|
4634
|
-
});
|
4635
|
-
return acc;
|
4636
|
-
}, initialStyles);
|
4637
|
-
stylePendingChanges.add(mode$.pipe(filter((val) => val === "select"), take(1)).subscribe(() => {
|
4638
|
-
elementToFocus.forEach((el) => {
|
4639
|
-
Object.assign(el.style, next.style);
|
4640
|
-
});
|
4641
|
-
}));
|
4642
|
-
stylesMap.set(firstElement, styles);
|
4643
|
-
});
|
4644
|
-
return () => subscription.unsubscribe();
|
4645
|
-
}
|
4646
|
-
var __defProp$4 = Object.defineProperty;
|
4647
|
-
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4648
|
-
var __publicField$4 = (obj, key, value) => {
|
4649
|
-
__defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
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);
|
4650
4627
|
return value;
|
4651
4628
|
};
|
4652
4629
|
let Lexer$1 = class Lexer {
|
4653
4630
|
constructor(input) {
|
4654
|
-
__publicField$
|
4655
|
-
__publicField$
|
4656
|
-
__publicField$
|
4657
|
-
__publicField$
|
4631
|
+
__publicField$5(this, "_input");
|
4632
|
+
__publicField$5(this, "_length");
|
4633
|
+
__publicField$5(this, "_idx", 0);
|
4634
|
+
__publicField$5(
|
4658
4635
|
this,
|
4659
4636
|
"_mode",
|
4660
4637
|
0
|
4661
4638
|
/* Literal */
|
4662
4639
|
);
|
4663
|
-
__publicField$
|
4664
|
-
__publicField$
|
4665
|
-
__publicField$
|
4666
|
-
__publicField$
|
4640
|
+
__publicField$5(this, "_literals", []);
|
4641
|
+
__publicField$5(this, "_variables", []);
|
4642
|
+
__publicField$5(this, "_braketCount", 0);
|
4643
|
+
__publicField$5(this, "_done", false);
|
4667
4644
|
this._input = input;
|
4668
4645
|
this._length = input.length;
|
4669
4646
|
}
|
@@ -4764,28 +4741,30 @@ function parse(input, context, preserveUnknown = false) {
|
|
4764
4741
|
return acc;
|
4765
4742
|
}
|
4766
4743
|
const compileObject = (obj, context) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, parse(value, context)]));
|
4767
|
-
var __defProp$
|
4768
|
-
var __defNormalProp$
|
4769
|
-
var __publicField$
|
4770
|
-
__defNormalProp$
|
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);
|
4771
4748
|
return value;
|
4772
4749
|
};
|
4773
4750
|
const MIA_PREVIEW_ID = "__mia_preview_id";
|
4774
4751
|
const OVERLAY_Z_INDEX = 1e6;
|
4775
4752
|
const keys = {
|
4776
|
-
"click-element":
|
4777
|
-
"ctrl-space":
|
4753
|
+
"click-element": 1,
|
4754
|
+
"ctrl-space": 1,
|
4778
4755
|
"focus-element": 0,
|
4779
|
-
mousedown:
|
4756
|
+
mousedown: 1,
|
4780
4757
|
mousemove: 1,
|
4781
4758
|
"new-configuration": 0,
|
4782
|
-
notification:
|
4783
|
-
options:
|
4784
|
-
"request-resource":
|
4785
|
-
"
|
4786
|
-
|
4787
|
-
|
4788
|
-
|
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 */
|
4789
4768
|
};
|
4790
4769
|
const isValidKey = (type) => Object.keys(keys).includes(type);
|
4791
4770
|
function isInstanceMessage(input, signature) {
|
@@ -4825,10 +4804,10 @@ const generateDarkColorHex = () => {
|
|
4825
4804
|
};
|
4826
4805
|
class PostChannel {
|
4827
4806
|
constructor(handler2) {
|
4828
|
-
__publicField$
|
4829
|
-
__publicField$
|
4830
|
-
__publicField$
|
4831
|
-
__publicField$
|
4807
|
+
__publicField$4(this, "__instance");
|
4808
|
+
__publicField$4(this, "__handler");
|
4809
|
+
__publicField$4(this, "__window");
|
4810
|
+
__publicField$4(this, "__randomColor");
|
4832
4811
|
this.__instance = "";
|
4833
4812
|
this.__handler = handler2;
|
4834
4813
|
this.__window = window;
|
@@ -4845,6 +4824,7 @@ class PostChannel {
|
|
4845
4824
|
const hasTop = this.__window.top !== this.__window;
|
4846
4825
|
console.groupCollapsed(`%c Msg from ${this.__window.origin} ${hasTop ? "(inner)" : "(top)"} `, Object.entries(style).map(([key, val]) => `${key}: ${val}`).join("; "));
|
4847
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);
|
4848
4828
|
console.log(message.content);
|
4849
4829
|
console.groupEnd();
|
4850
4830
|
}
|
@@ -4863,16 +4843,260 @@ class PostChannel {
|
|
4863
4843
|
this.__window !== to && this.postMessage(to, message, origin);
|
4864
4844
|
}
|
4865
4845
|
recv(window2, from2 = null) {
|
4866
|
-
const
|
4846
|
+
const listener = ({ data, source }) => {
|
4867
4847
|
if ((from2 === null || source === from2) && isInstanceMessage(data, this.__instance)) {
|
4868
4848
|
const message = unsign(this.__instance, data);
|
4869
4849
|
this.__handler(message);
|
4870
4850
|
}
|
4871
4851
|
};
|
4872
|
-
window2.addEventListener("message",
|
4873
|
-
return () => window2.removeEventListener("message",
|
4852
|
+
window2.addEventListener("message", listener);
|
4853
|
+
return () => window2.removeEventListener("message", listener);
|
4874
4854
|
}
|
4875
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
|
+
}
|
4876
5100
|
var t;
|
4877
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}*(?:[^
|
4878
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) => {
|
@@ -5326,7 +5550,7 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
5326
5550
|
})).then(() => baseModule());
|
5327
5551
|
};
|
5328
5552
|
function error(message, ...args) {
|
5329
|
-
__vitePreload(() => import("./errors-5a0ccde7.js"), true ? [] : void 0, import.meta.url).then(({ default: errorMap }) => {
|
5553
|
+
__vitePreload(() => import("./assets/errors-5a0ccde7.js"), true ? [] : void 0, import.meta.url).then(({ default: errorMap }) => {
|
5330
5554
|
const handler2 = errorMap[message];
|
5331
5555
|
handler2 ? console.error(handler2(...args)) : console.error(...args);
|
5332
5556
|
}).catch((err) => {
|
@@ -5340,12 +5564,12 @@ function dynamicImportError(name) {
|
|
5340
5564
|
error("0", name, err.message);
|
5341
5565
|
};
|
5342
5566
|
}
|
5343
|
-
const logger = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
5567
|
+
const logger$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
5344
5568
|
__proto__: null,
|
5345
5569
|
dynamicImportError,
|
5346
5570
|
error
|
5347
5571
|
}, Symbol.toStringTag, { value: "Module" }));
|
5348
|
-
var logger_default = logger;
|
5572
|
+
var logger_default = logger$1;
|
5349
5573
|
var __defProp$2 = Object.defineProperty;
|
5350
5574
|
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
5351
5575
|
var __publicField$2 = (obj, key, value) => {
|
@@ -5571,60 +5795,6 @@ async function render(config2, container, context = {}) {
|
|
5571
5795
|
return null;
|
5572
5796
|
});
|
5573
5797
|
}
|
5574
|
-
function registerChannels() {
|
5575
|
-
return {
|
5576
|
-
configuration: new ReplaySubject(),
|
5577
|
-
focus: new BehaviorSubject(void 0),
|
5578
|
-
infos: new ReplaySubject(),
|
5579
|
-
mocks: new ReplaySubject(),
|
5580
|
-
mode: new BehaviorSubject("select"),
|
5581
|
-
notification: new ReplaySubject(),
|
5582
|
-
updated: new Subject(),
|
5583
|
-
uppercaseTags: /* @__PURE__ */ new Set()
|
5584
|
-
};
|
5585
|
-
}
|
5586
|
-
const nextMode = (mode) => {
|
5587
|
-
let next = 0;
|
5588
|
-
const currentValue = mode.getValue();
|
5589
|
-
if (currentValue === "interact") {
|
5590
|
-
next = "select";
|
5591
|
-
} else if (currentValue === "select") {
|
5592
|
-
next = "interact";
|
5593
|
-
}
|
5594
|
-
mode.next(next);
|
5595
|
-
return next;
|
5596
|
-
};
|
5597
|
-
const subjects = registerChannels();
|
5598
|
-
function listener(message) {
|
5599
|
-
switch (message.type) {
|
5600
|
-
case "options": {
|
5601
|
-
const { content: { disableOverlay, redirectTo, timeout } } = message;
|
5602
|
-
if (disableOverlay) {
|
5603
|
-
Object.defineProperty(this.window, "__BACKOFFICE_CONFIGURATOR_DISABLE_OVERLAY__", { value: true });
|
5604
|
-
subjects.mode.next("interact");
|
5605
|
-
}
|
5606
|
-
if (timeout !== void 0) {
|
5607
|
-
Object.defineProperty(this.window, "__BACKOFFICE_CONFIGURATOR_PREVIEW_TIMEOUT__", { value: timeout });
|
5608
|
-
}
|
5609
|
-
const { window: { history } } = this;
|
5610
|
-
redirectTo && history.pushState(history.state, "", redirectTo);
|
5611
|
-
break;
|
5612
|
-
}
|
5613
|
-
case "ctrl-space":
|
5614
|
-
nextMode(subjects.mode);
|
5615
|
-
break;
|
5616
|
-
case "new-configuration":
|
5617
|
-
subjects.configuration.next({ ...message.content, type: "reset" });
|
5618
|
-
break;
|
5619
|
-
case "update":
|
5620
|
-
subjects.configuration.next({ ...message.content, type: "update" });
|
5621
|
-
break;
|
5622
|
-
case "focus-element":
|
5623
|
-
subjects.focus.next(message.content);
|
5624
|
-
break;
|
5625
|
-
}
|
5626
|
-
}
|
5627
|
-
const postChannel = new PostChannel(listener);
|
5628
5798
|
const fromErrorToNotification = (error2) => {
|
5629
5799
|
var _a2;
|
5630
5800
|
return {
|
@@ -5760,7 +5930,9 @@ const getPreviewContainer = (frame, root) => {
|
|
5760
5930
|
let container = root.firstElementChild;
|
5761
5931
|
if (container === null) {
|
5762
5932
|
container = document2.createElement("div");
|
5763
|
-
container.style.height = "
|
5933
|
+
container.style.height = "100%";
|
5934
|
+
container.style.width = "100%";
|
5935
|
+
container.style.overflow = "auto";
|
5764
5936
|
container.style.display = "flex";
|
5765
5937
|
root.appendChild(container);
|
5766
5938
|
}
|
@@ -6152,9 +6324,8 @@ function appendOverlay(self2, mode$) {
|
|
6152
6324
|
}
|
6153
6325
|
const appendRenderRoot = (document2) => {
|
6154
6326
|
const renderRoot = document2.createElement("div");
|
6155
|
-
renderRoot.style.display = "flex";
|
6156
|
-
renderRoot.style.flexDirection = "column";
|
6157
6327
|
renderRoot.style.height = "inherit";
|
6328
|
+
renderRoot.style.width = "inherit";
|
6158
6329
|
document2.body.appendChild(renderRoot);
|
6159
6330
|
return renderRoot;
|
6160
6331
|
};
|
@@ -6211,7 +6382,10 @@ const addInfoFactory = (channels) => (info) => {
|
|
6211
6382
|
};
|
6212
6383
|
const run = (frame, renderRoot, channels) => {
|
6213
6384
|
const queue = new Queue();
|
6214
|
-
const subscription = channels.configuration.
|
6385
|
+
const subscription = channels.configuration.pipe(
|
6386
|
+
combineLatestWith(subjects.swReady.pipe(take(1))),
|
6387
|
+
map(([next]) => next)
|
6388
|
+
).subscribe((next) => {
|
6215
6389
|
const { configuration } = next;
|
6216
6390
|
const { content } = configuration;
|
6217
6391
|
let done;
|
@@ -6297,11 +6471,51 @@ function createComposerApplication(self2, channels) {
|
|
6297
6471
|
sandboxedWindow
|
6298
6472
|
};
|
6299
6473
|
}
|
6300
|
-
|
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) => {
|
6301
6506
|
postChannel.window = self2;
|
6507
|
+
serviceWorkerChannel.window = self2;
|
6508
|
+
return registerServiceWorker(self2);
|
6302
6509
|
};
|
6303
|
-
function registerSenders(chs) {
|
6510
|
+
function registerSenders(chs, sw) {
|
6304
6511
|
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
|
+
}
|
6305
6519
|
subscription.add(
|
6306
6520
|
chs.updated.subscribe(() => {
|
6307
6521
|
postChannel.send(window.parent, {
|
@@ -6357,10 +6571,20 @@ function registerCleanups(window2, fns) {
|
|
6357
6571
|
fns.forEach((fn) => fn());
|
6358
6572
|
});
|
6359
6573
|
}
|
6360
|
-
((self2) => {
|
6361
|
-
init(self2);
|
6574
|
+
(async (self2) => {
|
6575
|
+
const sw = await init(self2);
|
6576
|
+
let serviceWorkerChannelCleanup = noop;
|
6362
6577
|
const postChannelCleanup = postChannel.recv(self2, self2.top);
|
6363
|
-
|
6578
|
+
if (sw) {
|
6579
|
+
const swCleanup = serviceWorkerChannel.recv();
|
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);
|
6364
6588
|
const listenerCleanup = registerEventListeners(
|
6365
6589
|
self2,
|
6366
6590
|
{ handler: ctrlSpaceFactory(subjects), type: "keydown" },
|
@@ -6378,7 +6602,10 @@ function registerCleanups(window2, fns) {
|
|
6378
6602
|
composerApplicationCleanup,
|
6379
6603
|
listenerCleanup,
|
6380
6604
|
senderCleanup,
|
6605
|
+
serviceWorkerChannelCleanup,
|
6381
6606
|
postChannelCleanup
|
6382
6607
|
]
|
6383
6608
|
);
|
6384
|
-
})(window)
|
6609
|
+
})(window).catch((error2) => {
|
6610
|
+
throw error2;
|
6611
|
+
});
|