@sbb-esta/lyne-elements-experimental 1.3.0 → 1.4.0
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/development/pearl-chain/pearl-chain.d.ts.map +1 -1
- package/development/pearl-chain.js +2 -2
- package/development/timetable-row/timetable-row.sample-data.d.ts +1 -2
- package/development/timetable-row/timetable-row.sample-data.d.ts.map +1 -1
- package/package.json +2 -2
- package/pearl-chain/pearl-chain.d.ts.map +1 -1
- package/pearl-chain.js +51 -51
- package/timetable-row/timetable-row.sample-data.d.ts +1 -2
- package/timetable-row/timetable-row.sample-data.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pearl-chain.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain/pearl-chain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IAC+B,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;IAE7D;;;OAGG;IACiE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE/F,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;
|
|
1
|
+
{"version":3,"file":"pearl-chain.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain/pearl-chain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IAC+B,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;IAE7D;;;OAGG;IACiE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE/F,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;CA4I5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
|
|
@@ -576,7 +576,7 @@ let SbbPearlChainElement = class extends LitElement {
|
|
|
576
576
|
const legDepartureWithDelay = { time: departure, delay: ((_g = leg.departure) == null ? void 0 : _g.delay) ?? 0 };
|
|
577
577
|
const legArrivalWithDelay = { time: arrival, delay: ((_h = leg.arrival) == null ? void 0 : _h.delay) ?? 0 };
|
|
578
578
|
const status2 = this._getStatus(now, legDepartureWithDelay, legArrivalWithDelay);
|
|
579
|
-
const legStatus = !cancelled && !skippedLeg &&
|
|
579
|
+
const legStatus = !cancelled && !skippedLeg && "sbb-pearl-chain__leg--" + status2;
|
|
580
580
|
const legStyle = () => {
|
|
581
581
|
return {
|
|
582
582
|
"--sbb-pearl-chain-leg-width": `${duration}%`,
|
|
@@ -616,4 +616,4 @@ SbbPearlChainElement = __decorateClass([
|
|
|
616
616
|
export {
|
|
617
617
|
SbbPearlChainElement
|
|
618
618
|
};
|
|
619
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0FmdGVyLm1qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0JlZm9yZS5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3BlYXJsLWNoYWluL3BlYXJsLWNoYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5tanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0FmdGVyXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBmaXJzdCBkYXRlIGFmdGVyIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBhZnRlciB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0gZGF0ZVRvQ29tcGFyZSAtIFRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICpcbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBkYXRlIGlzIGFmdGVyIHRoZSBzZWNvbmQgZGF0ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYWZ0ZXIgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQWZ0ZXIobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWZ0ZXIoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlKTtcbiAgY29uc3QgX2RhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG4gIHJldHVybiBfZGF0ZS5nZXRUaW1lKCkgPiBfZGF0ZVRvQ29tcGFyZS5nZXRUaW1lKCk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNBZnRlcjtcbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5tanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0JlZm9yZVxuICogQGNhdGVnb3J5IENvbW1vbiBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZmlyc3QgZGF0ZSBiZWZvcmUgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZmlyc3QgZGF0ZSBiZWZvcmUgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBiZWZvcmUgdGhlIG90aGVyIG9uZSB0byByZXR1cm4gdHJ1ZVxuICogQHBhcmFtIGRhdGVUb0NvbXBhcmUgLSBUaGUgZGF0ZSB0byBjb21wYXJlIHdpdGhcbiAqXG4gKiBAcmV0dXJucyBUaGUgZmlyc3QgZGF0ZSBpcyBiZWZvcmUgdGhlIHNlY29uZCBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEwIEp1bHkgMTk4OSBiZWZvcmUgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQmVmb3JlKG5ldyBEYXRlKDE5ODksIDYsIDEwKSwgbmV3IERhdGUoMTk4NywgMSwgMTEpKVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCZWZvcmUoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlKTtcbiAgY29uc3QgX2RhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG4gIHJldHVybiArX2RhdGUgPCArX2RhdGVUb0NvbXBhcmU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNCZWZvcmU7XG4iLCJpbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZUxpa2UgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgYWRkTWludXRlcywgZGlmZmVyZW5jZUluTWludXRlcywgaXNBZnRlciwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nIH0gZnJvbSAnLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuaW1wb3J0IHsgaXNSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wZWFybC1jaGFpbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG50eXBlIFN0YXR1cyA9ICdwcm9ncmVzcycgfCAnZnV0dXJlJyB8ICdwYXN0JztcbnR5cGUgVGltZSA9IHtcbiAgdGltZT86IERhdGU7XG4gIGRlbGF5OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIEl0IHZpc3VhbGx5IGRpc3BsYXlzIGpvdXJuZXkgaW5mb3JtYXRpb24uXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItcGVhcmwtY2hhaW4nKVxuZXhwb3J0IGNsYXNzIFNiYlBlYXJsQ2hhaW5FbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGxlZ3Mgb2YgdGhlIHBlYXJsLWNoYWluLlxuICAgKiBGb3JtYXQ6XG4gICAqIGB7XCJsZWdzXCI6IFt7XCJkdXJhdGlvblwiOiAyNX0sIC4uLl19YFxuICAgKiBgZHVyYXRpb25gIGluIG1pbnV0ZXMuIER1cmF0aW9uIG9mIHRoZSBsZWcgaXMgcmVsYXRpdmVcbiAgICogdG8gdGhlIHRvdGFsIHRyYXZlbCB0aW1lLiBFeGFtcGxlOiBkZXBhcnR1cmUgMTY6MzAsIGNoYW5nZSBhdCAxNjo0MCxcbiAgICogYXJyaXZhbCBhdCAxNzowMC4gU28gdGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBhIGR1cmF0aW9uIG9mIDMzLjMzJS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pIHB1YmxpYyBsZWdzPzogKExlZyB8IFB0UmlkZUxlZylbXTtcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZGlzYWJsZUFuaW1hdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS4gUmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBTYmJEYXRlTGlrZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IGRlZmF1bHREYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGVmYXVsdERhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHVibGljIGdldCBub3coKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ub3c7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10pOiBudW1iZXIge1xuICAgIHJldHVybiBsZWdzPy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBsZWcpID0+IHtcbiAgICAgIGNvbnN0IGFycml2YWxOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbD8udGltZSk7XG4gICAgICBjb25zdCBkZXBhcnR1cmVOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlPy50aW1lKTtcbiAgICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgc3VtICtcbiAgICAgICAgICBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICAgICAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbC50aW1lKSEsXG4gICAgICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdW07XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9pc0FsbENhbmNlbGxlZChsZWdzOiBQdFJpZGVMZWdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsZWdzPy5ldmVyeSgobGVnKSA9PiBsZWc/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJlbGF0aXZlRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10sIGxlZzogUHRSaWRlTGVnKTogbnVtYmVyIHtcbiAgICBjb25zdCBhcnJpdmFsTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWw/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZU5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoXG4gICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWwudGltZSkhLFxuICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFsbER1cmF0aW9ucyA9IHRoaXMuX2dldEFsbER1cmF0aW9uKGxlZ3MpO1xuXG4gICAgICBpZiAoYWxsRHVyYXRpb25zID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxMDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoZHVyYXRpb24gLyBhbGxEdXJhdGlvbnMpICogMTAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFByb2dyZXNzKG5vdzogRGF0ZSwgc3RhcnQ/OiBUaW1lLCBlbmQ/OiBUaW1lKTogbnVtYmVyIHtcbiAgICBpZiAoIXN0YXJ0Py50aW1lIHx8ICFlbmQ/LnRpbWUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gYWRkTWludXRlcyhzdGFydC50aW1lLCBzdGFydC5kZWxheSA/PyAwKTtcbiAgICBjb25zdCBlbmRXaXRoRGVsYXkgPSBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG4gICAgY29uc3QgdG90YWwgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGVuZFdpdGhEZWxheSwgc3RhcnRXaXRoRGVsYXkpO1xuICAgIGNvbnN0IHByb2dyZXNzID0gZGlmZmVyZW5jZUluTWludXRlcyhub3csIHN0YXJ0V2l0aERlbGF5KTtcblxuICAgIHJldHVybiB0b3RhbCAmJiAocHJvZ3Jlc3MgLyB0b3RhbCkgKiAxMDA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdGF0dXMobm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBTdGF0dXMge1xuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gc3RhcnQgJiYgc3RhcnQudGltZSAmJiBhZGRNaW51dGVzKHN0YXJ0LnRpbWUsIHN0YXJ0LmRlbGF5ID8/IDApO1xuICAgIGNvbnN0IGVuZFdpdGhEZWxheSA9IGVuZCAmJiBlbmQudGltZSAmJiBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG5cbiAgICBpZiAoXG4gICAgICBzdGFydFdpdGhEZWxheSAmJlxuICAgICAgaXNCZWZvcmUoc3RhcnRXaXRoRGVsYXksIG5vdykgJiZcbiAgICAgIGVuZFdpdGhEZWxheSAmJlxuICAgICAgaXNBZnRlcihlbmRXaXRoRGVsYXksIG5vdylcbiAgICApIHtcbiAgICAgIHJldHVybiAncHJvZ3Jlc3MnO1xuICAgIH0gZWxzZSBpZiAoZW5kV2l0aERlbGF5ICYmIGlzQmVmb3JlKGVuZFdpdGhEZWxheSwgbm93KSkge1xuICAgICAgcmV0dXJuICdwYXN0JztcbiAgICB9XG4gICAgcmV0dXJuICdmdXR1cmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUG9zaXRpb24obm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBUZW1wbGF0ZVJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gdGhpcy5fZ2V0UHJvZ3Jlc3Mobm93LCBzdGFydCwgZW5kKTtcbiAgICBpZiAoY3VycmVudFBvc2l0aW9uIDwgMCAmJiBjdXJyZW50UG9zaXRpb24gPiAxMDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdGF0dXNTdHlsZSA9ICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICctLXNiYi1wZWFybC1jaGFpbi1zdGF0dXMtcG9zaXRpb24nOiBgJHtjdXJyZW50UG9zaXRpb259JWAsXG4gICAgICAgIC4uLihjdXJyZW50UG9zaXRpb24gPj0gNTAgPyB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLTEwMCUpYCB9IDoge30pLFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYW5pbWF0aW9uID0gdGhpcy5kaXNhYmxlQW5pbWF0aW9uID8gJ3NiYi1wZWFybC1jaGFpbl9fcG9zaXRpb24tLW5vLWFuaW1hdGlvbicgOiAnJztcblxuICAgIHJldHVybiBodG1sYDxzcGFuXG4gICAgICBzdHlsZT0ke3N0eWxlTWFwKHN0YXR1c1N0eWxlKCkpfVxuICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3Bvc2l0aW9uICR7YW5pbWF0aW9ufVwiXG4gICAgPjwvc3Bhbj5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgbm93ID0gdGhpcy5ub3cgPz8gbmV3IERhdGUoKTtcblxuICAgIGNvbnN0IHJpZGVMZWdzOiBQdFJpZGVMZWdbXSA9IHRoaXMubGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKSBhcyBQdFJpZGVMZWdbXTtcblxuICAgIGNvbnN0IGRlcGFydHVyZVRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKHJpZGVMZWdzWzBdPy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZVdpdGhEZWxheSA9IGRlcGFydHVyZVRpbWUgJiYge1xuICAgICAgdGltZTogZGVwYXJ0dXJlVGltZSxcbiAgICAgIGRlbGF5OiByaWRlTGVnc1swXS5kZXBhcnR1cmUuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgYXJyaXZhbFRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJlxuICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhyaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXS5hcnJpdmFsPy50aW1lKTtcbiAgICBjb25zdCBhcnJpdmFsVGltZURlbGF5ID0gYXJyaXZhbFRpbWUgJiYge1xuICAgICAgdGltZTogYXJyaXZhbFRpbWUsXG4gICAgICBkZWxheTogcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV0/LmFycml2YWwuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gcmlkZUxlZ3MgJiZcbiAgICAgICAgcmlkZUxlZ3NbMF0/LnNlcnZpY2VKb3VybmV5Py5zdG9wUG9pbnRzICYmXG4gICAgICAgIHJpZGVMZWdzWzBdPy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50c1swXS5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJ1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBhcnJpdmFsTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICBjb25zdCBsYXN0TGVnID0gcmlkZUxlZ3MgJiYgcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBzdG9wcyA9IGxhc3RMZWcgJiYgbGFzdExlZy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50cztcblxuICAgICAgcmV0dXJuIHN0b3BzICYmIHN0b3BzW3N0b3BzLmxlbmd0aCAtIDFdLnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tYXJyaXZhbC1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVDYW5jZWxDbGFzcyA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiByaWRlTGVncyAmJiByaWRlTGVnc1swXT8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWRcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3QgYXJyaXZhbENhbmNlbENsYXNzID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIHJpZGVMZWdzICYmIHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZFxuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWFycml2YWwtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3Qgc3RhdHVzID1cbiAgICAgIGRlcGFydHVyZVdpdGhEZWxheSAmJlxuICAgICAgYXJyaXZhbFRpbWVEZWxheSAmJlxuICAgICAgdGhpcy5fZ2V0U3RhdHVzKG5vdywgZGVwYXJ0dXJlV2l0aERlbGF5LCBhcnJpdmFsVGltZURlbGF5KTtcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzRGVwYXJ0dXJlID1cbiAgICAgIHJpZGVMZWdzICYmIHN0YXR1cyAmJiAhZGVwYXJ0dXJlQ2FuY2VsQ2xhc3MgPyAnc2JiLXBlYXJsLWNoYWluX19idWxsZXQtLScgKyBzdGF0dXMgOiAnJztcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzQXJyaXZhbCA9XG4gICAgICByaWRlTGVncyAmJiBzdGF0dXMgJiYgIWFycml2YWxDYW5jZWxDbGFzc1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2J1bGxldC0tJyArIHRoaXMuX2dldFN0YXR1cyhub3csIHVuZGVmaW5lZCwgYXJyaXZhbFRpbWVEZWxheSlcbiAgICAgICAgOiAnJztcblxuICAgIGlmICh0aGlzLl9pc0FsbENhbmNlbGxlZChyaWRlTGVncykpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCBzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1kaXNydXB0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2xlZyBzYmItcGVhcmwtY2hhaW5fX2xlZy0tZGlzcnVwdGlvblwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wZWFybC1jaGFpblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgJHtzdGF0dXNDbGFzc0RlcGFydHVyZX0gJHtkZXBhcnR1cmVOb3RTZXJ2aWNlZH0gJHtkZXBhcnR1cmVDYW5jZWxDbGFzc31cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICAke3JpZGVMZWdzPy5tYXAoKGxlZzogUHRSaWRlTGVnLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzdG9wUG9pbnRzLCBzZXJ2aWNlQWx0ZXJhdGlvbiB9ID0gbGVnPy5zZXJ2aWNlSm91cm5leSB8fCB7fTtcblxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5fZ2V0UmVsYXRpdmVEdXJhdGlvbihyaWRlTGVncywgbGVnKTtcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmUgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgICAgICAgIGNvbnN0IGFycml2YWwgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsPy50aW1lKTtcblxuICAgICAgICAgIGNvbnN0IGlzQXJyaXZhbE5vdFNlcnZpY2VkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJztcbiAgICAgICAgICBjb25zdCBpc0Fycml2YWxQbGFubmVkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnUExBTk5FRCc7XG4gICAgICAgICAgY29uc3QgaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCA9IHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1swXT8uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCc7XG5cbiAgICAgICAgICBjb25zdCBzdG9wUG9pbnRzQmVmb3JlID0gaW5kZXggPiAwICYmIHJpZGVMZWdzW2luZGV4IC0gMV0uc2VydmljZUpvdXJuZXkuc3RvcFBvaW50cztcbiAgICAgICAgICBjb25zdCBpc0JlZm9yZUxlZ0Fycml2YWxOb3RTZXJ2aWNlZCA9XG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlICYmXG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlW3N0b3BQb2ludHNCZWZvcmUubGVuZ3RoIC0gMV0/LnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnO1xuXG4gICAgICAgICAgY29uc3Qgc2tpcHBlZExlZyA9XG4gICAgICAgICAgICBpc0Fycml2YWxOb3RTZXJ2aWNlZCB8fCAoaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCAmJiBpc0Fycml2YWxQbGFubmVkKVxuICAgICAgICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2xlZy0tc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmVTa2lwcGVkQnVsbGV0ID1cbiAgICAgICAgICAgIGlzRGVwYXJ0dXJlTm90U2VydmljZWQgfHwgaXNCZWZvcmVMZWdBcnJpdmFsTm90U2VydmljZWRcbiAgICAgICAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19zdG9wLS1kZXBhcnR1cmUtc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcblxuICAgICAgICAgIGNvbnN0IGNhbmNlbGxlZCA9IHNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWQgPyAnc2JiLXBlYXJsLWNoYWluX19sZWctLWRpc3J1cHRpb24nIDogJyc7XG5cbiAgICAgICAgICBjb25zdCBsZWdEZXBhcnR1cmVXaXRoRGVsYXkgPSB7IHRpbWU6IGRlcGFydHVyZSwgZGVsYXk6IGxlZy5kZXBhcnR1cmU/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBsZWdBcnJpdmFsV2l0aERlbGF5ID0geyB0aW1lOiBhcnJpdmFsLCBkZWxheTogbGVnLmFycml2YWw/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLl9nZXRTdGF0dXMobm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpO1xuXG4gICAgICAgICAgY29uc3QgbGVnU3RhdHVzID1cbiAgICAgICAgICAgICFjYW5jZWxsZWQgJiZcbiAgICAgICAgICAgICFza2lwcGVkTGVnICYmXG4gICAgICAgICAgICB0aGlzLl9nZXRTdGF0dXMobm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpICYmXG4gICAgICAgICAgICAnc2JiLXBlYXJsLWNoYWluX19sZWctLScgKyBzdGF0dXM7XG4gICAgICAgICAgY29uc3QgbGVnU3R5bGUgPSAoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXdpZHRoJzogYCR7ZHVyYXRpb259JWAsXG4gICAgICAgICAgICAgIC4uLihzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXN0YXR1cyc6IGAke3RoaXMuX2dldFByb2dyZXNzKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KX0lYCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBodG1sYCA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fbGVnICR7bGVnU3RhdHVzIHx8ICcnfSAke2NhbmNlbGxlZH0gJHtza2lwcGVkTGVnfVwiXG4gICAgICAgICAgICBzdHlsZT0ke3N0eWxlTWFwKGxlZ1N0eWxlKCkpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7aW5kZXggPiAwICYmIGluZGV4IDwgcmlkZUxlZ3MubGVuZ3RoXG4gICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fc3RvcCAke2RlcGFydHVyZVNraXBwZWRCdWxsZXR9XCI+PC9zcGFuPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHtzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlclBvc2l0aW9uKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KVxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfSl9XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCAke3N0YXR1c0NsYXNzQXJyaXZhbH0gJHthcnJpdmFsTm90U2VydmljZWR9ICR7YXJyaXZhbENhbmNlbENsYXNzfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGVhcmwtY2hhaW4nOiBTYmJQZWFybENoYWluRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9iIiwiX2EiLCJfZCIsIl9jIiwiX2UiLCJzdGF0dXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBc0JPLFNBQVMsUUFBUSxNQUFNLGVBQWU7QUFDM0MsUUFBTSxRQUFRLE9BQU8sSUFBSTtBQUN6QixRQUFNLGlCQUFpQixPQUFPLGFBQWE7QUFDM0MsU0FBTyxNQUFNLFFBQU8sSUFBSyxlQUFlLFFBQU87QUFDakQ7QUNKTyxTQUFTLFNBQVMsTUFBTSxlQUFlO0FBQzVDLFFBQU0sUUFBUSxPQUFPLElBQUk7QUFDekIsUUFBTSxpQkFBaUIsT0FBTyxhQUFhO0FBQzNDLFNBQU8sQ0FBQyxRQUFRLENBQUM7QUFDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNGYSxJQUFBLHVCQUFOLGNBQW1DLFdBQVc7QUFBQSxFQUE5QyxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUEyQkwsU0FBUSxPQUFvQjtBQUFBLEVBQUE7QUFBQSxFQU41QixJQUFXLElBQUksT0FB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
|
|
619
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0FmdGVyLm1qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0JlZm9yZS5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3BlYXJsLWNoYWluL3BlYXJsLWNoYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5tanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0FmdGVyXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBmaXJzdCBkYXRlIGFmdGVyIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBhZnRlciB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0gZGF0ZVRvQ29tcGFyZSAtIFRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICpcbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBkYXRlIGlzIGFmdGVyIHRoZSBzZWNvbmQgZGF0ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYWZ0ZXIgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQWZ0ZXIobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWZ0ZXIoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlKTtcbiAgY29uc3QgX2RhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG4gIHJldHVybiBfZGF0ZS5nZXRUaW1lKCkgPiBfZGF0ZVRvQ29tcGFyZS5nZXRUaW1lKCk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNBZnRlcjtcbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5tanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc0JlZm9yZVxuICogQGNhdGVnb3J5IENvbW1vbiBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZmlyc3QgZGF0ZSBiZWZvcmUgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZmlyc3QgZGF0ZSBiZWZvcmUgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBiZWZvcmUgdGhlIG90aGVyIG9uZSB0byByZXR1cm4gdHJ1ZVxuICogQHBhcmFtIGRhdGVUb0NvbXBhcmUgLSBUaGUgZGF0ZSB0byBjb21wYXJlIHdpdGhcbiAqXG4gKiBAcmV0dXJucyBUaGUgZmlyc3QgZGF0ZSBpcyBiZWZvcmUgdGhlIHNlY29uZCBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEwIEp1bHkgMTk4OSBiZWZvcmUgMTEgRmVicnVhcnkgMTk4Nz9cbiAqIGNvbnN0IHJlc3VsdCA9IGlzQmVmb3JlKG5ldyBEYXRlKDE5ODksIDYsIDEwKSwgbmV3IERhdGUoMTk4NywgMSwgMTEpKVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCZWZvcmUoZGF0ZSwgZGF0ZVRvQ29tcGFyZSkge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlKTtcbiAgY29uc3QgX2RhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGF0ZVRvQ29tcGFyZSk7XG4gIHJldHVybiArX2RhdGUgPCArX2RhdGVUb0NvbXBhcmU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNCZWZvcmU7XG4iLCJpbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZUxpa2UgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgYWRkTWludXRlcywgZGlmZmVyZW5jZUluTWludXRlcywgaXNBZnRlciwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nIH0gZnJvbSAnLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuaW1wb3J0IHsgaXNSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wZWFybC1jaGFpbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG50eXBlIFN0YXR1cyA9ICdwcm9ncmVzcycgfCAnZnV0dXJlJyB8ICdwYXN0JztcbnR5cGUgVGltZSA9IHtcbiAgdGltZT86IERhdGU7XG4gIGRlbGF5OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIEl0IHZpc3VhbGx5IGRpc3BsYXlzIGpvdXJuZXkgaW5mb3JtYXRpb24uXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItcGVhcmwtY2hhaW4nKVxuZXhwb3J0IGNsYXNzIFNiYlBlYXJsQ2hhaW5FbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGxlZ3Mgb2YgdGhlIHBlYXJsLWNoYWluLlxuICAgKiBGb3JtYXQ6XG4gICAqIGB7XCJsZWdzXCI6IFt7XCJkdXJhdGlvblwiOiAyNX0sIC4uLl19YFxuICAgKiBgZHVyYXRpb25gIGluIG1pbnV0ZXMuIER1cmF0aW9uIG9mIHRoZSBsZWcgaXMgcmVsYXRpdmVcbiAgICogdG8gdGhlIHRvdGFsIHRyYXZlbCB0aW1lLiBFeGFtcGxlOiBkZXBhcnR1cmUgMTY6MzAsIGNoYW5nZSBhdCAxNjo0MCxcbiAgICogYXJyaXZhbCBhdCAxNzowMC4gU28gdGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBhIGR1cmF0aW9uIG9mIDMzLjMzJS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pIHB1YmxpYyBsZWdzPzogKExlZyB8IFB0UmlkZUxlZylbXTtcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZGlzYWJsZUFuaW1hdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS4gUmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBTYmJEYXRlTGlrZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IGRlZmF1bHREYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGVmYXVsdERhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHVibGljIGdldCBub3coKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ub3c7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10pOiBudW1iZXIge1xuICAgIHJldHVybiBsZWdzPy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBsZWcpID0+IHtcbiAgICAgIGNvbnN0IGFycml2YWxOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbD8udGltZSk7XG4gICAgICBjb25zdCBkZXBhcnR1cmVOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlPy50aW1lKTtcbiAgICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgc3VtICtcbiAgICAgICAgICBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICAgICAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbC50aW1lKSEsXG4gICAgICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdW07XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9pc0FsbENhbmNlbGxlZChsZWdzOiBQdFJpZGVMZWdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsZWdzPy5ldmVyeSgobGVnKSA9PiBsZWc/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJlbGF0aXZlRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10sIGxlZzogUHRSaWRlTGVnKTogbnVtYmVyIHtcbiAgICBjb25zdCBhcnJpdmFsTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWw/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZU5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoXG4gICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWwudGltZSkhLFxuICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFsbER1cmF0aW9ucyA9IHRoaXMuX2dldEFsbER1cmF0aW9uKGxlZ3MpO1xuXG4gICAgICBpZiAoYWxsRHVyYXRpb25zID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxMDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoZHVyYXRpb24gLyBhbGxEdXJhdGlvbnMpICogMTAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFByb2dyZXNzKG5vdzogRGF0ZSwgc3RhcnQ/OiBUaW1lLCBlbmQ/OiBUaW1lKTogbnVtYmVyIHtcbiAgICBpZiAoIXN0YXJ0Py50aW1lIHx8ICFlbmQ/LnRpbWUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gYWRkTWludXRlcyhzdGFydC50aW1lLCBzdGFydC5kZWxheSA/PyAwKTtcbiAgICBjb25zdCBlbmRXaXRoRGVsYXkgPSBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG4gICAgY29uc3QgdG90YWwgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGVuZFdpdGhEZWxheSwgc3RhcnRXaXRoRGVsYXkpO1xuICAgIGNvbnN0IHByb2dyZXNzID0gZGlmZmVyZW5jZUluTWludXRlcyhub3csIHN0YXJ0V2l0aERlbGF5KTtcblxuICAgIHJldHVybiB0b3RhbCAmJiAocHJvZ3Jlc3MgLyB0b3RhbCkgKiAxMDA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdGF0dXMobm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBTdGF0dXMge1xuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gc3RhcnQgJiYgc3RhcnQudGltZSAmJiBhZGRNaW51dGVzKHN0YXJ0LnRpbWUsIHN0YXJ0LmRlbGF5ID8/IDApO1xuICAgIGNvbnN0IGVuZFdpdGhEZWxheSA9IGVuZCAmJiBlbmQudGltZSAmJiBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG5cbiAgICBpZiAoXG4gICAgICBzdGFydFdpdGhEZWxheSAmJlxuICAgICAgaXNCZWZvcmUoc3RhcnRXaXRoRGVsYXksIG5vdykgJiZcbiAgICAgIGVuZFdpdGhEZWxheSAmJlxuICAgICAgaXNBZnRlcihlbmRXaXRoRGVsYXksIG5vdylcbiAgICApIHtcbiAgICAgIHJldHVybiAncHJvZ3Jlc3MnO1xuICAgIH0gZWxzZSBpZiAoZW5kV2l0aERlbGF5ICYmIGlzQmVmb3JlKGVuZFdpdGhEZWxheSwgbm93KSkge1xuICAgICAgcmV0dXJuICdwYXN0JztcbiAgICB9XG4gICAgcmV0dXJuICdmdXR1cmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUG9zaXRpb24obm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBUZW1wbGF0ZVJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gdGhpcy5fZ2V0UHJvZ3Jlc3Mobm93LCBzdGFydCwgZW5kKTtcbiAgICBpZiAoY3VycmVudFBvc2l0aW9uIDwgMCAmJiBjdXJyZW50UG9zaXRpb24gPiAxMDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdGF0dXNTdHlsZSA9ICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICctLXNiYi1wZWFybC1jaGFpbi1zdGF0dXMtcG9zaXRpb24nOiBgJHtjdXJyZW50UG9zaXRpb259JWAsXG4gICAgICAgIC4uLihjdXJyZW50UG9zaXRpb24gPj0gNTAgPyB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLTEwMCUpYCB9IDoge30pLFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYW5pbWF0aW9uID0gdGhpcy5kaXNhYmxlQW5pbWF0aW9uID8gJ3NiYi1wZWFybC1jaGFpbl9fcG9zaXRpb24tLW5vLWFuaW1hdGlvbicgOiAnJztcblxuICAgIHJldHVybiBodG1sYDxzcGFuXG4gICAgICBzdHlsZT0ke3N0eWxlTWFwKHN0YXR1c1N0eWxlKCkpfVxuICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3Bvc2l0aW9uICR7YW5pbWF0aW9ufVwiXG4gICAgPjwvc3Bhbj5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgbm93ID0gdGhpcy5ub3cgPz8gbmV3IERhdGUoKTtcblxuICAgIGNvbnN0IHJpZGVMZWdzOiBQdFJpZGVMZWdbXSA9IHRoaXMubGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKSBhcyBQdFJpZGVMZWdbXTtcblxuICAgIGNvbnN0IGRlcGFydHVyZVRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKHJpZGVMZWdzWzBdPy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZVdpdGhEZWxheSA9IGRlcGFydHVyZVRpbWUgJiYge1xuICAgICAgdGltZTogZGVwYXJ0dXJlVGltZSxcbiAgICAgIGRlbGF5OiByaWRlTGVnc1swXS5kZXBhcnR1cmUuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgYXJyaXZhbFRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJlxuICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhyaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXS5hcnJpdmFsPy50aW1lKTtcbiAgICBjb25zdCBhcnJpdmFsVGltZURlbGF5ID0gYXJyaXZhbFRpbWUgJiYge1xuICAgICAgdGltZTogYXJyaXZhbFRpbWUsXG4gICAgICBkZWxheTogcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV0/LmFycml2YWwuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gcmlkZUxlZ3MgJiZcbiAgICAgICAgcmlkZUxlZ3NbMF0/LnNlcnZpY2VKb3VybmV5Py5zdG9wUG9pbnRzICYmXG4gICAgICAgIHJpZGVMZWdzWzBdPy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50c1swXS5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJ1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBhcnJpdmFsTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICBjb25zdCBsYXN0TGVnID0gcmlkZUxlZ3MgJiYgcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBzdG9wcyA9IGxhc3RMZWcgJiYgbGFzdExlZy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50cztcblxuICAgICAgcmV0dXJuIHN0b3BzICYmIHN0b3BzW3N0b3BzLmxlbmd0aCAtIDFdLnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tYXJyaXZhbC1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVDYW5jZWxDbGFzcyA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiByaWRlTGVncyAmJiByaWRlTGVnc1swXT8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWRcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3QgYXJyaXZhbENhbmNlbENsYXNzID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIHJpZGVMZWdzICYmIHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZFxuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWFycml2YWwtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3Qgc3RhdHVzID1cbiAgICAgIGRlcGFydHVyZVdpdGhEZWxheSAmJlxuICAgICAgYXJyaXZhbFRpbWVEZWxheSAmJlxuICAgICAgdGhpcy5fZ2V0U3RhdHVzKG5vdywgZGVwYXJ0dXJlV2l0aERlbGF5LCBhcnJpdmFsVGltZURlbGF5KTtcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzRGVwYXJ0dXJlID1cbiAgICAgIHJpZGVMZWdzICYmIHN0YXR1cyAmJiAhZGVwYXJ0dXJlQ2FuY2VsQ2xhc3MgPyAnc2JiLXBlYXJsLWNoYWluX19idWxsZXQtLScgKyBzdGF0dXMgOiAnJztcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzQXJyaXZhbCA9XG4gICAgICByaWRlTGVncyAmJiBzdGF0dXMgJiYgIWFycml2YWxDYW5jZWxDbGFzc1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2J1bGxldC0tJyArIHRoaXMuX2dldFN0YXR1cyhub3csIHVuZGVmaW5lZCwgYXJyaXZhbFRpbWVEZWxheSlcbiAgICAgICAgOiAnJztcblxuICAgIGlmICh0aGlzLl9pc0FsbENhbmNlbGxlZChyaWRlTGVncykpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCBzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1kaXNydXB0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2xlZyBzYmItcGVhcmwtY2hhaW5fX2xlZy0tZGlzcnVwdGlvblwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wZWFybC1jaGFpblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgJHtzdGF0dXNDbGFzc0RlcGFydHVyZX0gJHtkZXBhcnR1cmVOb3RTZXJ2aWNlZH0gJHtkZXBhcnR1cmVDYW5jZWxDbGFzc31cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICAke3JpZGVMZWdzPy5tYXAoKGxlZzogUHRSaWRlTGVnLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzdG9wUG9pbnRzLCBzZXJ2aWNlQWx0ZXJhdGlvbiB9ID0gbGVnPy5zZXJ2aWNlSm91cm5leSB8fCB7fTtcblxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5fZ2V0UmVsYXRpdmVEdXJhdGlvbihyaWRlTGVncywgbGVnKTtcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmUgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgICAgICAgIGNvbnN0IGFycml2YWwgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsPy50aW1lKTtcblxuICAgICAgICAgIGNvbnN0IGlzQXJyaXZhbE5vdFNlcnZpY2VkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJztcbiAgICAgICAgICBjb25zdCBpc0Fycml2YWxQbGFubmVkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnUExBTk5FRCc7XG4gICAgICAgICAgY29uc3QgaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCA9IHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1swXT8uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCc7XG5cbiAgICAgICAgICBjb25zdCBzdG9wUG9pbnRzQmVmb3JlID0gaW5kZXggPiAwICYmIHJpZGVMZWdzW2luZGV4IC0gMV0uc2VydmljZUpvdXJuZXkuc3RvcFBvaW50cztcbiAgICAgICAgICBjb25zdCBpc0JlZm9yZUxlZ0Fycml2YWxOb3RTZXJ2aWNlZCA9XG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlICYmXG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlW3N0b3BQb2ludHNCZWZvcmUubGVuZ3RoIC0gMV0/LnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnO1xuXG4gICAgICAgICAgY29uc3Qgc2tpcHBlZExlZyA9XG4gICAgICAgICAgICBpc0Fycml2YWxOb3RTZXJ2aWNlZCB8fCAoaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCAmJiBpc0Fycml2YWxQbGFubmVkKVxuICAgICAgICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2xlZy0tc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmVTa2lwcGVkQnVsbGV0ID1cbiAgICAgICAgICAgIGlzRGVwYXJ0dXJlTm90U2VydmljZWQgfHwgaXNCZWZvcmVMZWdBcnJpdmFsTm90U2VydmljZWRcbiAgICAgICAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19zdG9wLS1kZXBhcnR1cmUtc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcblxuICAgICAgICAgIGNvbnN0IGNhbmNlbGxlZCA9IHNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWQgPyAnc2JiLXBlYXJsLWNoYWluX19sZWctLWRpc3J1cHRpb24nIDogJyc7XG5cbiAgICAgICAgICBjb25zdCBsZWdEZXBhcnR1cmVXaXRoRGVsYXkgPSB7IHRpbWU6IGRlcGFydHVyZSwgZGVsYXk6IGxlZy5kZXBhcnR1cmU/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBsZWdBcnJpdmFsV2l0aERlbGF5ID0geyB0aW1lOiBhcnJpdmFsLCBkZWxheTogbGVnLmFycml2YWw/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLl9nZXRTdGF0dXMobm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpO1xuXG4gICAgICAgICAgY29uc3QgbGVnU3RhdHVzID0gIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZyAmJiAnc2JiLXBlYXJsLWNoYWluX19sZWctLScgKyBzdGF0dXM7XG4gICAgICAgICAgY29uc3QgbGVnU3R5bGUgPSAoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXdpZHRoJzogYCR7ZHVyYXRpb259JWAsXG4gICAgICAgICAgICAgIC4uLihzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXN0YXR1cyc6IGAke3RoaXMuX2dldFByb2dyZXNzKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KX0lYCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBodG1sYCA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fbGVnICR7bGVnU3RhdHVzIHx8ICcnfSAke2NhbmNlbGxlZH0gJHtza2lwcGVkTGVnfVwiXG4gICAgICAgICAgICBzdHlsZT0ke3N0eWxlTWFwKGxlZ1N0eWxlKCkpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7aW5kZXggPiAwICYmIGluZGV4IDwgcmlkZUxlZ3MubGVuZ3RoXG4gICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fc3RvcCAke2RlcGFydHVyZVNraXBwZWRCdWxsZXR9XCI+PC9zcGFuPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHtzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlclBvc2l0aW9uKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KVxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfSl9XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCAke3N0YXR1c0NsYXNzQXJyaXZhbH0gJHthcnJpdmFsTm90U2VydmljZWR9ICR7YXJyaXZhbENhbmNlbENsYXNzfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGVhcmwtY2hhaW4nOiBTYmJQZWFybENoYWluRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9iIiwiX2EiLCJfZCIsIl9jIiwiX2UiLCJzdGF0dXMi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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ITripItem } from '../core/timetable.js';
|
|
2
2
|
|
|
3
|
-
type DeepPartial<T> = T extends object ? {
|
|
3
|
+
export type DeepPartial<T> = T extends object ? {
|
|
4
4
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
5
5
|
} : T;
|
|
6
6
|
export declare const defaultTrip: DeepPartial<ITripItem>;
|
|
@@ -20,5 +20,4 @@ export declare const shipTrip: DeepPartial<ITripItem>;
|
|
|
20
20
|
export declare const walkTimeTrip: DeepPartial<ITripItem>;
|
|
21
21
|
export declare const extendedEnterTimeTrip: DeepPartial<ITripItem>;
|
|
22
22
|
export declare const noticesTrip: DeepPartial<ITripItem>;
|
|
23
|
-
export {};
|
|
24
23
|
//# sourceMappingURL=timetable-row.sample-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timetable-row.sample-data.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/timetable-row/timetable-row.sample-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,
|
|
1
|
+
{"version":3,"file":"timetable-row.sample-data.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/timetable-row/timetable-row.sample-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACzC;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,GACD,CAAC,CAAC;AAEN,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAoB9C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,SAAS,CA2BhD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,CAoB/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAuBrD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,SAAS,CAwB3C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,SAAS,CAkB7D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,SAAS,CAkBzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,SAAS,CAkB3D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,SAAS,CAkBhE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,SAAS,CA+DlD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,SAAS,CA8CjD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,SAAS,CA8B5C,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,SAAS,CA8B1C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,SAAS,CAuB3C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,CA0J/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,SAAS,CA4BxD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAsF9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sbb-esta/lyne-elements-experimental",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Lyne Design System",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"design system",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type": "module",
|
|
12
12
|
"customElements": "custom-elements.json",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@sbb-esta/lyne-elements": "1.
|
|
14
|
+
"@sbb-esta/lyne-elements": "1.4.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"lit": "^3.0.0"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pearl-chain.d.ts","sourceRoot":"","sources":["../../../src/elements-experimental/pearl-chain/pearl-chain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IAC+B,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;IAE7D;;;OAGG;IACiE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE/F,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;
|
|
1
|
+
{"version":3,"file":"pearl-chain.d.ts","sourceRoot":"","sources":["../../../src/elements-experimental/pearl-chain/pearl-chain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IAC+B,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;IAE7D;;;OAGG;IACiE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE/F,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;CA4I5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
|
package/pearl-chain.js
CHANGED
|
@@ -4,72 +4,72 @@ import { property as C, customElement as ie } from "lit/decorators.js";
|
|
|
4
4
|
import { styleMap as Y } from "lit/directives/style-map.js";
|
|
5
5
|
import { removeTimezoneFromISOTimeString as c } from "./core/datetime.js";
|
|
6
6
|
import { isRideLeg as se } from "./core/timetable.js";
|
|
7
|
-
import { d as
|
|
8
|
-
import { t as
|
|
9
|
-
function be(
|
|
10
|
-
const
|
|
11
|
-
return
|
|
7
|
+
import { d as g, a as m } from "./differenceInMinutes-BhHyuJc4.js";
|
|
8
|
+
import { t as f } from "./constants-DSR8hPvP.js";
|
|
9
|
+
function be(r, e) {
|
|
10
|
+
const a = f(r), t = f(e);
|
|
11
|
+
return a.getTime() > t.getTime();
|
|
12
12
|
}
|
|
13
|
-
function F(
|
|
14
|
-
const
|
|
15
|
-
return +
|
|
13
|
+
function F(r, e) {
|
|
14
|
+
const a = f(r), t = f(e);
|
|
15
|
+
return +a < +t;
|
|
16
16
|
}
|
|
17
17
|
const oe = te`*,:before,:after{box-sizing:border-box}:host{--sbb-pearl-chain-height: var(--sbb-border-width-2x);--sbb-pearl-chain-spacing-small: var(--sbb-spacing-fixed-1x);--sbb-pearl-chain-color: var(--sbb-pearl-chain-bullet-color);--sbb-pearl-chain-color-disruption: var(--sbb-pearl-chain-bullet-color-disruption);--sbb-pearl-chain-color-past: var(--sbb-pearl-chain-bullet-color-past);--sbb-pearl-chain-leg-width: 100%;--sbb-pearl-chain-bullet-size-start-end: .625rem;--sbb-pearl-chain-bullet-size-stop: .5rem;--sbb-pearl-chain-bullet-color: var(--sbb-color-charcoal);--sbb-pearl-chain-bullet-color-past: var(--sbb-color-metal);--sbb-pearl-chain-bullet-color-irrelevant: var(--sbb-color-metal);--sbb-pearl-chain-bullet-color-disruption: var(--sbb-color-red);--sbb-pearl-chain-bullet-border-width: var(--sbb-border-width-2x);--sbb-pearl-chain-bullet-animation-duration: 1.92s;--sbb-pearl-chain-bullet-animation-easing: ease-out;--sbb-pearl-chain-bullet-crossed-width: .88375rem;--sbb-pearl-chain-bullet-crossed-height: .21875rem;--sbb-pearl-chain-bullet-crossed-border-width: .09375rem;display:block}.sbb-pearl-chain{position:relative;display:flex;justify-content:space-between;flex-wrap:nowrap;color:var(--sbb-pearl-chain-color);width:100%;padding-block:calc((var(--sbb-pearl-chain-bullet-size-start-end) - var(--sbb-pearl-chain-height)) / 2);padding-inline-end:var(--sbb-pearl-chain-bullet-size-start-end)}.sbb-pearl-chain__bullet{background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%;min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);content:"";position:absolute;background-color:currentcolor;inset-block-start:0;z-index:3}@media (forced-colors: active){.sbb-pearl-chain__bullet{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__bullet:first-of-type{inset-inline-start:0}.sbb-pearl-chain__bullet:last-of-type{inset-inline-end:0}.sbb-pearl-chain__leg{flex-shrink:0;flex-grow:0;position:relative;height:var(--sbb-pearl-chain-height);border-inline-end:var(--sbb-pearl-chain-spacing-small) solid Canvas;background-color:currentcolor;width:var(--sbb-pearl-chain-leg-width);display:flex;align-items:center}@media (forced-colors: active){.sbb-pearl-chain__leg{background-color:CanvasText}.sbb-pearl-chain--past .sbb-pearl-chain__leg{background-color:GrayText}}.sbb-pearl-chain__leg:last-of-type{border:none}.sbb-pearl-chain__stop{background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%;min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas;position:relative;z-index:2}@media (forced-colors: active){.sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__bullet--future{background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%}@media (forced-colors: active){.sbb-pearl-chain__bullet--future{--sbb-pearl-chain-bullet-color: CanvasText}}.sbb-pearl-chain__leg--past,.sbb-pearl-chain--past,.sbb-pearl-chain__leg--past:after,.sbb-pearl-chain__leg--progress:after,.sbb-pearl-chain__leg--progress .sbb-pearl-chain__stop,.sbb-pearl-chain--progress,.sbb-pearl-chain__bullet--past{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past);color:var(--sbb-pearl-chain-color-past)}@media (forced-colors: active){.sbb-pearl-chain__leg--past,.sbb-pearl-chain--past,.sbb-pearl-chain__leg--past:after,.sbb-pearl-chain__leg--progress:after,.sbb-pearl-chain__leg--progress .sbb-pearl-chain__stop,.sbb-pearl-chain--progress,.sbb-pearl-chain__bullet--past{--sbb-pearl-chain-bullet-color: GrayText !important}}@media (forced-colors: active){.sbb-pearl-chain__leg--past,.sbb-pearl-chain--past,.sbb-pearl-chain__leg--past:after,.sbb-pearl-chain__leg--progress:after,.sbb-pearl-chain__leg--progress .sbb-pearl-chain__stop,.sbb-pearl-chain--progress,.sbb-pearl-chain__bullet--past{background-color:GrayText!important}}.sbb-pearl-chain__bullet--progress{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past);background:var(--sbb-pearl-chain-bullet-color)}@media (forced-colors: active){.sbb-pearl-chain__bullet--progress{--sbb-pearl-chain-bullet-color: GrayText !important}}.sbb-pearl-chain__bullet--departure-disruption,.sbb-pearl-chain--arrival-disruption,.sbb-pearl-chain--departure-disruption,.sbb-pearl-chain__leg--disruption{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-disruption);color:var(--sbb-pearl-chain-color-disruption)}@media (forced-colors: active){.sbb-pearl-chain__bullet--departure-disruption,.sbb-pearl-chain--arrival-disruption,.sbb-pearl-chain--departure-disruption,.sbb-pearl-chain__leg--disruption{--sbb-pearl-chain-bullet-color: Highlight}}@media (forced-colors: active){.sbb-pearl-chain__bullet--departure-disruption,.sbb-pearl-chain--arrival-disruption,.sbb-pearl-chain--departure-disruption,.sbb-pearl-chain__leg--disruption{color:Highlight;background:Highlight}}.sbb-pearl-chain__leg--disruption .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-disruption)}@media (forced-colors: active){.sbb-pearl-chain__leg--disruption .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: Highlight}}.sbb-pearl-chain__leg--past .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-past)}@media (forced-colors: active){.sbb-pearl-chain__leg--past .sbb-pearl-chain__stop{--sbb-pearl-chain-bullet-color: GrayText !important}}.sbb-pearl-chain__leg--disruption:after{background-color:unset;background-image:linear-gradient(to right,currentcolor 0%,currentcolor 50%,Canvas 50%);background-repeat:repeat-x;background-size:calc(2 * var(--sbb-pearl-chain-spacing-small)) var(--sbb-pearl-chain-height);inset-inline-end:var(--sbb-pearl-chain-height)}@media (forced-colors: active){.sbb-pearl-chain__leg--disruption:after{background:unset;border-block-start:.0625rem dashed Highlight;transform:translateY(.0625rem)}}.sbb-pearl-chain__leg--skipped{color:var(--sbb-pearl-chain-color-disruption)}.sbb-pearl-chain__leg--skipped:after{background-color:unset;background-image:linear-gradient(to right,currentcolor 0%,currentcolor 50%,Canvas 50%);background-repeat:repeat-x;background-size:calc(2 * var(--sbb-pearl-chain-spacing-small)) var(--sbb-pearl-chain-height);inset-inline-end:var(--sbb-pearl-chain-height)}@media (forced-colors: active){.sbb-pearl-chain__leg--skipped:after{background:unset;border-block-start:.0625rem dashed Highlight;transform:translateY(.0625rem)}}.sbb-pearl-chain__stop--departure-skipped{min-height:var(--sbb-pearl-chain-bullet-size-stop);min-width:var(--sbb-pearl-chain-bullet-size-stop);height:var(--sbb-pearl-chain-bullet-size-stop);width:var(--sbb-pearl-chain-bullet-size-stop);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain__stop--departure-skipped:before{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%) rotate(45deg);border-block-start:var(--sbb-pearl-chain-bullet-crossed-border-width) solid canvas;background:var(--sbb-pearl-chain-bullet-color-disruption);height:var(--sbb-pearl-chain-bullet-crossed-height);width:var(--sbb-pearl-chain-bullet-crossed-width)}@media (forced-colors: active){.sbb-pearl-chain__stop--departure-skipped:before{background:Highlight}}.sbb-pearl-chain--arrival-skipped,.sbb-pearl-chain--departure-skipped{min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);border:var(--sbb-pearl-chain-bullet-border-width) solid currentcolor;background:Canvas}.sbb-pearl-chain--arrival-skipped:before,.sbb-pearl-chain--departure-skipped:before{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%) rotate(45deg);border-block-start:var(--sbb-pearl-chain-bullet-crossed-border-width) solid canvas;background:var(--sbb-pearl-chain-bullet-color-disruption);height:var(--sbb-pearl-chain-bullet-crossed-height);width:var(--sbb-pearl-chain-bullet-crossed-width)}@media (forced-colors: active){.sbb-pearl-chain--arrival-skipped:before,.sbb-pearl-chain--departure-skipped:before{background:Highlight}}.sbb-pearl-chain__leg:after{content:"";position:absolute;inset-block:0;inset-inline-start:0;background-color:currentcolor;border-radius:var(--sbb-pearl-chain-height);z-index:1}@media (forced-colors: active){.sbb-pearl-chain__leg:after{background-color:CanvasText}.sbb-pearl-chain--past .sbb-pearl-chain__leg:after{background-color:GrayText}}.sbb-pearl-chain__leg:last-of-type:after{inset-inline-end:calc(-1 * var(--sbb-pearl-chain-height))}.sbb-pearl-chain__leg--progress:after{background-color:var(--sbb-pearl-chain-color-past);width:var(--sbb-pearl-chain-leg-status)}.sbb-pearl-chain__position{background:var(--sbb-pearl-chain-bullet-color);color:var(--sbb-pearl-chain-bullet-color);border-color:var(--sbb-pearl-chain-bullet-color);border-radius:100%;min-height:var(--sbb-pearl-chain-bullet-size-start-end);min-width:var(--sbb-pearl-chain-bullet-size-start-end);height:var(--sbb-pearl-chain-bullet-size-start-end);width:var(--sbb-pearl-chain-bullet-size-start-end);--sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-bullet-color-disruption);animation:pearl-chain-bullet-position-pulse var(--sbb-pearl-chain-bullet-animation-duration) var(--sbb-pearl-chain-bullet-animation-easing) infinite;position:absolute;inset-block-start:-200%;z-index:4;inset-inline-start:var(--sbb-pearl-chain-status-position)}@media (forced-colors: active){.sbb-pearl-chain__position{--sbb-pearl-chain-bullet-color: CanvasText}}@media (forced-colors: active){.sbb-pearl-chain__position{--sbb-pearl-chain-bullet-color: Highlight}}@keyframes pearl-chain-bullet-position-pulse{0%{box-shadow:0 0 0 0 var(--sbb-pearl-chain-bullet-color-disruption)}25%{box-shadow:0 0 0 0 var(--sbb-pearl-chain-bullet-color-disruption)}50%{box-shadow:0 0 0 .1875rem var(--sbb-color-red-alpha-20)}to{box-shadow:0 0 0 0 var(--sbb-pearl-chain-bullet-color-disruption)}}.sbb-pearl-chain__position--no-animation{animation:unset}.sbb-screen-reader-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`;
|
|
18
|
-
var ne = Object.defineProperty, ce = Object.getOwnPropertyDescriptor,
|
|
19
|
-
for (var l = t > 1 ? void 0 : t ? ce(e,
|
|
20
|
-
(n =
|
|
21
|
-
return t && l && ne(e,
|
|
18
|
+
var ne = Object.defineProperty, ce = Object.getOwnPropertyDescriptor, y = (r, e, a, t) => {
|
|
19
|
+
for (var l = t > 1 ? void 0 : t ? ce(e, a) : e, b = r.length - 1, n; b >= 0; b--)
|
|
20
|
+
(n = r[b]) && (l = (t ? n(e, a, l) : n(l)) || l);
|
|
21
|
+
return t && l && ne(e, a, l), l;
|
|
22
22
|
};
|
|
23
23
|
let h = class extends le {
|
|
24
24
|
constructor() {
|
|
25
25
|
super(...arguments), this._now = null;
|
|
26
26
|
}
|
|
27
|
-
set now(
|
|
28
|
-
this._now = j.getValidDateOrNull(j.deserialize(
|
|
27
|
+
set now(r) {
|
|
28
|
+
this._now = j.getValidDateOrNull(j.deserialize(r));
|
|
29
29
|
}
|
|
30
30
|
get now() {
|
|
31
31
|
return this._now;
|
|
32
32
|
}
|
|
33
|
-
_getAllDuration(
|
|
34
|
-
return
|
|
33
|
+
_getAllDuration(r) {
|
|
34
|
+
return r == null ? void 0 : r.reduce((e, a) => {
|
|
35
35
|
var b, n;
|
|
36
|
-
const t = c((b =
|
|
37
|
-
return t && l ? e +
|
|
38
|
-
c(
|
|
39
|
-
c(
|
|
36
|
+
const t = c((b = a.arrival) == null ? void 0 : b.time), l = c((n = a.departure) == null ? void 0 : n.time);
|
|
37
|
+
return t && l ? e + g(
|
|
38
|
+
c(a.arrival.time),
|
|
39
|
+
c(a.departure.time)
|
|
40
40
|
) : e;
|
|
41
41
|
}, 0);
|
|
42
42
|
}
|
|
43
|
-
_isAllCancelled(
|
|
44
|
-
return
|
|
45
|
-
var
|
|
46
|
-
return (t = (
|
|
43
|
+
_isAllCancelled(r) {
|
|
44
|
+
return r == null ? void 0 : r.every((e) => {
|
|
45
|
+
var a, t;
|
|
46
|
+
return (t = (a = e == null ? void 0 : e.serviceJourney) == null ? void 0 : a.serviceAlteration) == null ? void 0 : t.cancelled;
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
_getRelativeDuration(
|
|
49
|
+
_getRelativeDuration(r, e) {
|
|
50
50
|
var l, b;
|
|
51
|
-
const
|
|
52
|
-
if (
|
|
53
|
-
const n =
|
|
51
|
+
const a = c((l = e.arrival) == null ? void 0 : l.time), t = c((b = e.departure) == null ? void 0 : b.time);
|
|
52
|
+
if (a && t) {
|
|
53
|
+
const n = g(
|
|
54
54
|
c(e.arrival.time),
|
|
55
55
|
c(e.departure.time)
|
|
56
|
-
), u = this._getAllDuration(
|
|
56
|
+
), u = this._getAllDuration(r);
|
|
57
57
|
return u === 0 ? 100 : n / u * 100;
|
|
58
58
|
}
|
|
59
59
|
return 0;
|
|
60
60
|
}
|
|
61
|
-
_getProgress(
|
|
62
|
-
if (!(e != null && e.time) || !(
|
|
61
|
+
_getProgress(r, e, a) {
|
|
62
|
+
if (!(e != null && e.time) || !(a != null && a.time))
|
|
63
63
|
return 0;
|
|
64
|
-
const t =
|
|
64
|
+
const t = m(e.time, e.delay ?? 0), l = m(a.time, a.delay ?? 0), b = g(l, t), n = g(r, t);
|
|
65
65
|
return b && n / b * 100;
|
|
66
66
|
}
|
|
67
|
-
_getStatus(
|
|
68
|
-
const t = e && e.time &&
|
|
69
|
-
return t && F(t,
|
|
67
|
+
_getStatus(r, e, a) {
|
|
68
|
+
const t = e && e.time && m(e.time, e.delay ?? 0), l = a && a.time && m(a.time, a.delay ?? 0);
|
|
69
|
+
return t && F(t, r) && l && be(l, r) ? "progress" : l && F(l, r) ? "past" : "future";
|
|
70
70
|
}
|
|
71
|
-
_renderPosition(
|
|
72
|
-
const t = this._getProgress(
|
|
71
|
+
_renderPosition(r, e, a) {
|
|
72
|
+
const t = this._getProgress(r, e, a);
|
|
73
73
|
if (t < 0 && t > 100) return;
|
|
74
74
|
const l = () => ({
|
|
75
75
|
"--sbb-pearl-chain-status-position": `${t}%`,
|
|
@@ -82,8 +82,8 @@ let h = class extends le {
|
|
|
82
82
|
}
|
|
83
83
|
render() {
|
|
84
84
|
var P, $, A, N, E;
|
|
85
|
-
const
|
|
86
|
-
time:
|
|
85
|
+
const r = this.now ?? /* @__PURE__ */ new Date(), e = (P = this.legs) == null ? void 0 : P.filter((i) => se(i)), a = (e == null ? void 0 : e.length) && c((A = ($ = e[0]) == null ? void 0 : $.departure) == null ? void 0 : A.time), t = a && {
|
|
86
|
+
time: a,
|
|
87
87
|
delay: e[0].departure.delay ?? 0
|
|
88
88
|
}, l = (e == null ? void 0 : e.length) && c((N = e[e.length - 1].arrival) == null ? void 0 : N.time), b = l && {
|
|
89
89
|
time: l,
|
|
@@ -95,13 +95,13 @@ let h = class extends le {
|
|
|
95
95
|
var s;
|
|
96
96
|
const i = e && e[e.length - 1], o = i && ((s = i.serviceJourney) == null ? void 0 : s.stopPoints);
|
|
97
97
|
return o && o[o.length - 1].stopStatus === "NOT_SERVICED" ? "sbb-pearl-chain--arrival-skipped" : "";
|
|
98
|
-
})(),
|
|
98
|
+
})(), D = (() => {
|
|
99
99
|
var i, o, s;
|
|
100
100
|
return e && ((s = (o = (i = e[0]) == null ? void 0 : i.serviceJourney) == null ? void 0 : o.serviceAlteration) != null && s.cancelled) ? "sbb-pearl-chain--departure-disruption" : "";
|
|
101
|
-
})(),
|
|
101
|
+
})(), S = (() => {
|
|
102
102
|
var i, o, s;
|
|
103
103
|
return e && ((s = (o = (i = e[e.length - 1]) == null ? void 0 : i.serviceJourney) == null ? void 0 : o.serviceAlteration) != null && s.cancelled) ? "sbb-pearl-chain--arrival-disruption" : "";
|
|
104
|
-
})(),
|
|
104
|
+
})(), k = t && b && this._getStatus(r, t, b), L = e && k && !D ? "sbb-pearl-chain__bullet--" + k : "", X = e && k && !S ? "sbb-pearl-chain__bullet--" + this._getStatus(r, void 0, b) : "";
|
|
105
105
|
return this._isAllCancelled(e) ? d`
|
|
106
106
|
<div class="sbb-pearl-chain">
|
|
107
107
|
<span class="sbb-pearl-chain__bullet sbb-pearl-chain--departure-disruption"></span>
|
|
@@ -111,42 +111,42 @@ let h = class extends le {
|
|
|
111
111
|
` : d`
|
|
112
112
|
<div class="sbb-pearl-chain">
|
|
113
113
|
<span
|
|
114
|
-
class="sbb-pearl-chain__bullet ${L} ${n} ${
|
|
114
|
+
class="sbb-pearl-chain__bullet ${L} ${n} ${D}"
|
|
115
115
|
></span>
|
|
116
116
|
${e == null ? void 0 : e.map((i, o) => {
|
|
117
117
|
var H, J, R, I, W, G, V, B;
|
|
118
|
-
const { stopPoints: s, serviceAlteration: p } = (i == null ? void 0 : i.serviceJourney) || {}, q = this._getRelativeDuration(e, i), K = c((H = i.departure) == null ? void 0 : H.time), Q = c((J = i.arrival) == null ? void 0 : J.time), U = s && ((R = s[s.length - 1]) == null ? void 0 : R.stopStatus) === "NOT_SERVICED", Z = s && ((I = s[s.length - 1]) == null ? void 0 : I.stopStatus) === "PLANNED", O = s && ((W = s[0]) == null ? void 0 : W.stopStatus) === "NOT_SERVICED",
|
|
118
|
+
const { stopPoints: s, serviceAlteration: p } = (i == null ? void 0 : i.serviceJourney) || {}, q = this._getRelativeDuration(e, i), K = c((H = i.departure) == null ? void 0 : H.time), Q = c((J = i.arrival) == null ? void 0 : J.time), U = s && ((R = s[s.length - 1]) == null ? void 0 : R.stopStatus) === "NOT_SERVICED", Z = s && ((I = s[s.length - 1]) == null ? void 0 : I.stopStatus) === "PLANNED", O = s && ((W = s[0]) == null ? void 0 : W.stopStatus) === "NOT_SERVICED", w = o > 0 && e[o - 1].serviceJourney.stopPoints, ee = w && ((G = w[w.length - 1]) == null ? void 0 : G.stopStatus) === "NOT_SERVICED", _ = U || O && Z ? "sbb-pearl-chain__leg--skipped" : "", ae = O || ee ? "sbb-pearl-chain__stop--departure-skipped" : "", v = p != null && p.cancelled ? "sbb-pearl-chain__leg--disruption" : "", z = { time: K, delay: ((V = i.departure) == null ? void 0 : V.delay) ?? 0 }, x = { time: Q, delay: ((B = i.arrival) == null ? void 0 : B.delay) ?? 0 }, T = this._getStatus(r, z, x), re = !v && !_ && "sbb-pearl-chain__leg--" + T;
|
|
119
119
|
return d` <div
|
|
120
120
|
class="sbb-pearl-chain__leg ${re || ""} ${v} ${_}"
|
|
121
121
|
style=${Y({
|
|
122
122
|
"--sbb-pearl-chain-leg-width": `${q}%`,
|
|
123
123
|
...T === "progress" && !v && !_ ? {
|
|
124
|
-
"--sbb-pearl-chain-leg-status": `${this._getProgress(
|
|
124
|
+
"--sbb-pearl-chain-leg-status": `${this._getProgress(r, z, x)}%`
|
|
125
125
|
} : {}
|
|
126
126
|
})}
|
|
127
127
|
>
|
|
128
128
|
${o > 0 && o < e.length ? d`<span class="sbb-pearl-chain__stop ${ae}"></span>` : M}
|
|
129
|
-
${T === "progress" && !v && !_ ? this._renderPosition(
|
|
129
|
+
${T === "progress" && !v && !_ ? this._renderPosition(r, z, x) : M}
|
|
130
130
|
</div>`;
|
|
131
131
|
})}
|
|
132
132
|
<span
|
|
133
|
-
class="sbb-pearl-chain__bullet ${X} ${u} ${
|
|
133
|
+
class="sbb-pearl-chain__bullet ${X} ${u} ${S}"
|
|
134
134
|
></span>
|
|
135
135
|
</div>
|
|
136
136
|
`;
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
h.styles = oe;
|
|
140
|
-
|
|
140
|
+
y([
|
|
141
141
|
C({ type: Array })
|
|
142
142
|
], h.prototype, "legs", 2);
|
|
143
|
-
|
|
143
|
+
y([
|
|
144
144
|
C({ attribute: "disable-animation", type: Boolean })
|
|
145
145
|
], h.prototype, "disableAnimation", 2);
|
|
146
|
-
|
|
146
|
+
y([
|
|
147
147
|
C()
|
|
148
148
|
], h.prototype, "now", 1);
|
|
149
|
-
h =
|
|
149
|
+
h = y([
|
|
150
150
|
ie("sbb-pearl-chain")
|
|
151
151
|
], h);
|
|
152
152
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ITripItem } from '../core/timetable.js';
|
|
2
2
|
|
|
3
|
-
type DeepPartial<T> = T extends object ? {
|
|
3
|
+
export type DeepPartial<T> = T extends object ? {
|
|
4
4
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
5
5
|
} : T;
|
|
6
6
|
export declare const defaultTrip: DeepPartial<ITripItem>;
|
|
@@ -20,5 +20,4 @@ export declare const shipTrip: DeepPartial<ITripItem>;
|
|
|
20
20
|
export declare const walkTimeTrip: DeepPartial<ITripItem>;
|
|
21
21
|
export declare const extendedEnterTimeTrip: DeepPartial<ITripItem>;
|
|
22
22
|
export declare const noticesTrip: DeepPartial<ITripItem>;
|
|
23
|
-
export {};
|
|
24
23
|
//# sourceMappingURL=timetable-row.sample-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timetable-row.sample-data.d.ts","sourceRoot":"","sources":["../../../src/elements-experimental/timetable-row/timetable-row.sample-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,
|
|
1
|
+
{"version":3,"file":"timetable-row.sample-data.d.ts","sourceRoot":"","sources":["../../../src/elements-experimental/timetable-row/timetable-row.sample-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACzC;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,GACD,CAAC,CAAC;AAEN,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAoB9C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,SAAS,CA2BhD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,CAoB/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAuBrD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,SAAS,CAwB3C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,SAAS,CAkB7D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,SAAS,CAkBzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,SAAS,CAkB3D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,SAAS,CAkBhE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,SAAS,CA+DlD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,SAAS,CA8CjD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,SAAS,CA8B5C,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,SAAS,CA8B1C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,SAAS,CAuB3C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,CA0J/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,SAAS,CA4BxD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAsF9C,CAAC"}
|