@sbb-esta/lyne-elements-dev 5.0.0-next.1-dev.1777366078 → 5.0.0-next.1-dev.1777448509

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/card/card/card.component.js +1 -1
  2. package/card.component-BcHiYB03.js +61 -0
  3. package/card.js +1 -1
  4. package/card.pure.js +1 -1
  5. package/core/styles/core.scss +8 -33
  6. package/core/styles/mixins/card.scss +5 -3
  7. package/core/styles/mixins/typo.scss +13 -31
  8. package/core.css +3 -22
  9. package/custom-elements.json +1466 -1466
  10. package/development/card/card/card.component.js +1 -1
  11. package/development/{card.component-B2cQYSCD.js → card.component-CpOdKJJ0.js} +2 -2
  12. package/development/card.js +1 -1
  13. package/development/card.pure.js +1 -1
  14. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  15. package/development/dialog-title.component-CnIk_xMF.js +29 -0
  16. package/development/dialog.js +1 -1
  17. package/development/dialog.pure.js +1 -1
  18. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  19. package/development/{file-selector-dropzone.component-DMNom2OW.js → file-selector-dropzone.component-DvIIHINv.js} +2 -2
  20. package/development/file-selector.js +1 -1
  21. package/development/file-selector.pure.js +1 -1
  22. package/development/journey-header/journey-header.component.js +1 -1
  23. package/development/journey-header.component-Dvqw7fug.js +150 -0
  24. package/development/journey-header.js +1 -1
  25. package/development/journey-header.pure.js +1 -1
  26. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  27. package/development/navigation-section.component-DBINlaTX.js +346 -0
  28. package/development/navigation.js +1 -1
  29. package/development/navigation.pure.js +1 -1
  30. package/development/teaser/teaser.component.js +1 -1
  31. package/development/teaser-product/common/teaser-product-common.js +1 -1
  32. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  33. package/development/teaser-product-common-Q9KK6514.js +78 -0
  34. package/development/teaser-product.component-C5wV0a_c.js +44 -0
  35. package/development/teaser-product.js +2 -2
  36. package/development/teaser-product.pure.js +2 -2
  37. package/development/teaser.component-8cqR7wx4.js +116 -0
  38. package/development/teaser.js +1 -1
  39. package/development/teaser.pure.js +1 -1
  40. package/development/title/title-base.js +1 -1
  41. package/development/title/title.component.js +1 -1
  42. package/development/title-base-QBLTDdVa.js +102 -0
  43. package/development/title.component-DeSXwF7P.js +71 -0
  44. package/development/title.js +2 -2
  45. package/development/title.pure.js +2 -2
  46. package/development/toast/toast.component.js +1 -1
  47. package/development/toast.component-CrjaQMNl.js +268 -0
  48. package/development/toast.js +1 -1
  49. package/development/toast.pure.js +1 -1
  50. package/dialog/dialog-title/dialog-title.component.js +1 -1
  51. package/dialog-title.component-Cm-QxTF7.js +17 -0
  52. package/dialog.js +1 -1
  53. package/dialog.pure.js +1 -1
  54. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  55. package/{file-selector-dropzone.component-CWwpvAVD.js → file-selector-dropzone.component-DYLTIaiE.js} +1 -1
  56. package/file-selector.js +1 -1
  57. package/file-selector.pure.js +1 -1
  58. package/journey-header/journey-header.component.js +1 -1
  59. package/{journey-header.component-DU09Hyme.js → journey-header.component-DPqv2v3z.js} +1 -1
  60. package/journey-header.js +1 -1
  61. package/journey-header.pure.js +1 -1
  62. package/navigation/navigation-section/navigation-section.component.js +1 -1
  63. package/{navigation-section.component-K4Pa53K7.js → navigation-section.component-BkhBZ4vH.js} +1 -1
  64. package/navigation.js +1 -1
  65. package/navigation.pure.js +1 -1
  66. package/off-brand-theme.css +3 -22
  67. package/package.json +2 -2
  68. package/safety-theme.css +3 -22
  69. package/standard-theme.css +3 -22
  70. package/teaser/teaser.component.js +1 -1
  71. package/teaser-product/common/teaser-product-common.js +1 -1
  72. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  73. package/{teaser-product-common-Kz3ApcVE.js → teaser-product-common-DvenwiUs.js} +1 -1
  74. package/{teaser-product.component-C7KoSqcP.js → teaser-product.component-tut8eGiy.js} +1 -1
  75. package/teaser-product.js +2 -2
  76. package/teaser-product.pure.js +2 -2
  77. package/{teaser.component-B2y2AlAx.js → teaser.component-Bf74T58g.js} +1 -1
  78. package/teaser.js +1 -1
  79. package/teaser.pure.js +1 -1
  80. package/title/title-base.js +1 -1
  81. package/title/title.component.js +1 -1
  82. package/{title-base-B43-Q_7r.js → title-base-CBTQR0xw.js} +1 -1
  83. package/{title.component-DXJHJ6p6.js → title.component-DzmgLLrE.js} +2 -2
  84. package/title.js +2 -2
  85. package/title.pure.js +2 -2
  86. package/toast/toast.component.js +1 -1
  87. package/{toast.component-2hmfUgsX.js → toast.component-dNIDSiAM.js} +1 -1
  88. package/toast.js +1 -1
  89. package/toast.pure.js +1 -1
  90. package/card.component-DZrNg3sQ.js +0 -61
  91. package/development/dialog-title.component-CNMzIUB2.js +0 -29
  92. package/development/journey-header.component-D8o3F1Su.js +0 -150
  93. package/development/navigation-section.component-t36xyaq4.js +0 -346
  94. package/development/teaser-product-common-DasV_SDa.js +0 -78
  95. package/development/teaser-product.component-CB6fOX7T.js +0 -44
  96. package/development/teaser.component-C7uXEaPK.js +0 -116
  97. package/development/title-base-DKVyL7TQ.js +0 -102
  98. package/development/title.component-BEEzA9cF.js +0 -71
  99. package/development/toast.component-DvVY7zpe.js +0 -268
  100. package/dialog-title.component-CRGqiwZu.js +0 -17
@@ -1,116 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbLinkBaseElement, boxSizingStyles } from "./core.js";
5
- import { html as html$1 } from "lit/static-html.js";
6
- //#region src/elements/teaser/teaser.scss?inline
7
- var teaser_default = "@charset \"UTF-8\";\n:host {\n --_sbb-teaser-forced-colors-inset: calc(-1 * var(--sbb-focus-outline-offset));\n --_sbb-teaser-forced-colors-outline-offset: calc(2 * var(--sbb-focus-outline-offset));\n --_sbb-teaser-forced-colors-border-radius: calc(\n var(--sbb-teaser-border-radius) + var(--sbb-focus-outline-offset)\n );\n display: inline-block;\n outline: none !important;\n}\n@media (forced-colors: active) {\n :host {\n --sbb-teaser-description-color: LinkText;\n --sbb-title-text-color-normal-override: LinkText !important;\n }\n}\n\n:host([alignment=after]) {\n --sbb-teaser-align-items: start;\n}\n\n:host([alignment=below]) {\n --sbb-teaser-flex-direction: column;\n --sbb-teaser-align-items: baseline;\n --sbb-teaser-gap: var(--sbb-spacing-fixed-3x);\n}\n\n@media (any-hover: hover) {\n :host(:hover) {\n --sbb-teaser-scale: var(--sbb-teaser-scale-hover);\n }\n}\n.sbb-teaser__wrapper {\n display: flex;\n position: relative;\n cursor: var(--sbb-cursor-pointer);\n}\n.sbb-teaser__wrapper::before {\n content: \"​\";\n user-select: none;\n width: 0;\n height: 0;\n}\n\n.sbb-teaser {\n text-decoration: none;\n position: absolute;\n inset: 0;\n}\n.sbb-teaser:focus-visible {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n border-radius: var(--sbb-teaser-border-radius);\n}\n@media (forced-colors: active) {\n .sbb-teaser:focus-visible {\n outline-offset: var(--_sbb-teaser-forced-colors-outline-offset);\n }\n}\n@media (forced-colors: active) {\n .sbb-teaser::before {\n content: \"\";\n position: absolute;\n inset: var(--_sbb-teaser-forced-colors-inset);\n pointer-events: none;\n border-radius: var(--_sbb-teaser-forced-colors-border-radius);\n border: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n\n.sbb-teaser__container {\n display: flex;\n flex-flow: var(--sbb-teaser-flex-direction) nowrap;\n align-items: var(--sbb-teaser-align-items);\n gap: var(--sbb-teaser-gap);\n max-width: 100%;\n width: 100%;\n pointer-events: none;\n}\n\n.sbb-teaser__text {\n color: var(--sbb-teaser-description-color);\n font-size: var(--sbb-teaser-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n overflow: hidden;\n max-width: 100%;\n}\n\n::slotted([slot=image]) {\n display: block;\n width: var(--sbb-teaser-image-width);\n}\n\n.sbb-teaser__image-wrapper {\n flex-shrink: 0;\n overflow: hidden;\n border-radius: var(--sbb-teaser-border-radius);\n transition: box-shadow var(--sbb-teaser-image-animation-duration) var(--sbb-animation-easing);\n}\n:host(:not(:is(:state(slotted-image),[state--slotted-image]))) .sbb-teaser__image-wrapper {\n display: none;\n}\n@media (any-hover: hover) {\n :host(:hover) .sbb-teaser__image-wrapper {\n box-shadow: var(--sbb-box-shadow-level-9-hard);\n }\n}\n\n.sbb-teaser__description {\n display: inline-block;\n margin: 0;\n padding: 0;\n}\n\n::slotted(sbb-chip-label) {\n display: flex;\n width: fit-content;\n max-width: 100%;\n margin-block-end: var(--sbb-spacing-fixed-1x);\n}\n\n::slotted(sbb-title) {\n margin-block: 0;\n}";
8
- //#endregion
9
- //#region src/elements/teaser/teaser.component.ts
10
- /**
11
- * It displays an interactive image with caption.
12
- *
13
- * @slot image - Slot used to render the image.
14
- * @slot chip - Slot for the `sbb-chip-label` element. The slot on the `sbb-chip-label` element is automatically assigned when slotted in the unnamed slot.
15
- * @slot title - Slot for the title. For the standard `sbb-title` element, the slot is automatically assigned when slotted in the unnamed slot.
16
- * @slot - Use the unnamed slot to render the description, the sbb-title and the sbb-chip-label.
17
- */
18
- var SbbTeaserElement = (() => {
19
- let _classSuper = SbbLinkBaseElement;
20
- let _alignment_decorators;
21
- let _alignment_initializers = [];
22
- let _alignment_extraInitializers = [];
23
- return class SbbTeaserElement extends _classSuper {
24
- static {
25
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
26
- _alignment_decorators = [property({ reflect: true })];
27
- __esDecorate(this, null, _alignment_decorators, {
28
- kind: "accessor",
29
- name: "alignment",
30
- static: false,
31
- private: false,
32
- access: {
33
- has: (obj) => "alignment" in obj,
34
- get: (obj) => obj.alignment,
35
- set: (obj, value) => {
36
- obj.alignment = value;
37
- }
38
- },
39
- metadata: _metadata
40
- }, _alignment_initializers, _alignment_extraInitializers);
41
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: _metadata
46
- });
47
- }
48
- static {
49
- this.elementName = "sbb-teaser";
50
- }
51
- static {
52
- this.styles = [boxSizingStyles, unsafeCSS(teaser_default)];
53
- }
54
- #alignment_accessor_storage = __runInitializers(this, _alignment_initializers, "after-centered");
55
- /** Teaser variant - define the position and the alignment of the text block. */
56
- get alignment() {
57
- return this.#alignment_accessor_storage;
58
- }
59
- set alignment(value) {
60
- this.#alignment_accessor_storage = value;
61
- }
62
- _handleSlotchange() {
63
- const chip = Array.from(this.children).find((el) => el.localName === "sbb-chip-label");
64
- if (chip) chip.slot = "chip";
65
- const title = Array.from(this.children).find((el) => el.localName === "sbb-title");
66
- if (title) title.slot = "title";
67
- }
68
- _configureChip(event) {
69
- const chipLabel = event.target.assignedElements().find((e) => e.localName === "sbb-chip-label");
70
- if (chipLabel) {
71
- customElements.upgrade(chipLabel);
72
- chipLabel.color = "charcoal";
73
- chipLabel.size = "xxs";
74
- }
75
- }
76
- _configureTitle(event) {
77
- const title = event.target.assignedElements().find((e) => e.localName === "sbb-title");
78
- if (title) {
79
- customElements.upgrade(title);
80
- title.visualLevel = "5";
81
- }
82
- }
83
- render() {
84
- return html$1`
85
- <div class="sbb-teaser__wrapper">
86
- ${this.renderLink(html$1`<sbb-screen-reader-only>${this.accessibilityLabel}</sbb-screen-reader-only>`)}
87
- ${this.renderContent()}
88
- </div>
89
- `;
90
- }
91
- renderContent() {
92
- return html$1`
93
- <span class="sbb-teaser__container">
94
- <span class="sbb-teaser__image-wrapper">
95
- <slot name="image"></slot>
96
- </span>
97
- <span class="sbb-teaser__text">
98
- <slot name="chip" @slotchange=${this._configureChip}></slot>
99
- <slot name="title" @slotchange=${this._configureTitle}></slot>
100
- <p class="sbb-teaser__description">
101
- <slot @slotchange=${this._handleSlotchange}></slot>
102
- </p>
103
- </span>
104
- </span>
105
- `;
106
- }
107
- constructor() {
108
- super(...arguments);
109
- __runInitializers(this, _alignment_extraInitializers);
110
- }
111
- };
112
- })();
113
- //#endregion
114
- export { SbbTeaserElement as t };
115
-
116
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLmNvbXBvbmVudC1DN3VYRWFQSy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGVhc2VyL3RlYXNlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXIvdGVhc2VyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tX3NiYi10ZWFzZXItZm9yY2VkLWNvbG9ycy1pbnNldDogY2FsYygtMSAqIHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLW9mZnNldCkpO1xuICAtLV9zYmItdGVhc2VyLWZvcmNlZC1jb2xvcnMtb3V0bGluZS1vZmZzZXQ6IGNhbGMoMiAqIHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLW9mZnNldCkpO1xuICAtLV9zYmItdGVhc2VyLWZvcmNlZC1jb2xvcnMtYm9yZGVyLXJhZGl1czogY2FsYyhcbiAgICB2YXIoLS1zYmItdGVhc2VyLWJvcmRlci1yYWRpdXMpICsgdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtb2Zmc2V0KVxuICApO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRlYXNlci1kZXNjcmlwdGlvbi1jb2xvcjogTGlua1RleHQ7XG4gICAgLS1zYmItdGl0bGUtdGV4dC1jb2xvci1ub3JtYWwtb3ZlcnJpZGU6IExpbmtUZXh0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuOmhvc3QoW2FsaWdubWVudD0nYWZ0ZXInXSkge1xuICAtLXNiYi10ZWFzZXItYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG46aG9zdChbYWxpZ25tZW50PSdiZWxvdyddKSB7XG4gIC0tc2JiLXRlYXNlci1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtLXNiYi10ZWFzZXItYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAtLXNiYi10ZWFzZXItZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG59XG5cbkBpbmNsdWRlIHNiYi5ob3Zlci1tcSgkaG92ZXI6IHRydWUpIHtcbiAgOmhvc3QoOmhvdmVyKSB7XG4gICAgLS1zYmItdGVhc2VyLXNjYWxlOiB2YXIoLS1zYmItdGVhc2VyLXNjYWxlLWhvdmVyKTtcbiAgfVxufVxuXG4uc2JiLXRlYXNlcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuXG4gIEBpbmNsdWRlIHNiYi56ZXJvLXdpZHRoLXNwYWNlO1xufVxuXG4uc2JiLXRlYXNlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRlYXNlci1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8vIFdlIG1vdmUgdGhlIGZvY3VzIG91dGxpbmUgZnVydGhlciBvdXQgdG8gbm90IG92ZXJsYXAgd2l0aCB0aGUgdGVhc2VyIGJvcmRlciBpbiBmb3JjZWQgY29sb3JzXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLV9zYmItdGVhc2VyLWZvcmNlZC1jb2xvcnMtb3V0bGluZS1vZmZzZXQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogdmFyKC0tX3NiYi10ZWFzZXItZm9yY2VkLWNvbG9ycy1pbnNldCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLV9zYmItdGVhc2VyLWZvcmNlZC1jb2xvcnMtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gICAgfVxuICB9XG59XG5cbi5zYmItdGVhc2VyX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHZhcigtLXNiYi10ZWFzZXItZmxleC1kaXJlY3Rpb24pIG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLXNiYi10ZWFzZXItYWxpZ24taXRlbXMpO1xuICBnYXA6IHZhcigtLXNiYi10ZWFzZXItZ2FwKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zYmItdGVhc2VyX190ZXh0IHtcbiAgY29sb3I6IHZhcigtLXNiYi10ZWFzZXItZGVzY3JpcHRpb24tY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi10ZWFzZXItZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbjo6c2xvdHRlZChbc2xvdD0naW1hZ2UnXSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLXNiYi10ZWFzZXItaW1hZ2Utd2lkdGgpO1xufVxuXG4uc2JiLXRlYXNlcl9faW1hZ2Utd3JhcHBlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItdGVhc2VyLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi10ZWFzZXItaW1hZ2UtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pbWFnZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIDpob3N0KDpob3ZlcikgJiB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC05LWhhcmQpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG46OnNsb3R0ZWQoc2JiLWNoaXAtbGFiZWwpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuOjpzbG90dGVkKHNiYi10aXRsZSkge1xuICBtYXJnaW4tYmxvY2s6IDA7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJDaGlwTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vY2hpcC1sYWJlbC5wdXJlLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcywgU2JiTGlua0Jhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlRWxlbWVudCB9IGZyb20gJy4uL3RpdGxlLnB1cmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90ZWFzZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIGltYWdlIHdpdGggY2FwdGlvbi5cbiAqXG4gKiBAc2xvdCBpbWFnZSAtIFNsb3QgdXNlZCB0byByZW5kZXIgdGhlIGltYWdlLlxuICogQHNsb3QgY2hpcCAtIFNsb3QgZm9yIHRoZSBgc2JiLWNoaXAtbGFiZWxgIGVsZW1lbnQuIFRoZSBzbG90IG9uIHRoZSBgc2JiLWNoaXAtbGFiZWxgIGVsZW1lbnQgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB3aGVuIHNsb3R0ZWQgaW4gdGhlIHVubmFtZWQgc2xvdC5cbiAqIEBzbG90IHRpdGxlIC0gU2xvdCBmb3IgdGhlIHRpdGxlLiBGb3IgdGhlIHN0YW5kYXJkIGBzYmItdGl0bGVgIGVsZW1lbnQsIHRoZSBzbG90IGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgd2hlbiBzbG90dGVkIGluIHRoZSB1bm5hbWVkIHNsb3QuXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHJlbmRlciB0aGUgZGVzY3JpcHRpb24sIHRoZSBzYmItdGl0bGUgYW5kIHRoZSBzYmItY2hpcC1sYWJlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRlYXNlckVsZW1lbnQgZXh0ZW5kcyBTYmJMaW5rQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRlYXNlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBUZWFzZXIgdmFyaWFudCAtIGRlZmluZSB0aGUgcG9zaXRpb24gYW5kIHRoZSBhbGlnbm1lbnQgb2YgdGhlIHRleHQgYmxvY2suICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGFsaWdubWVudDogJ2FmdGVyLWNlbnRlcmVkJyB8ICdhZnRlcicgfCAnYmVsb3cnID1cbiAgICAnYWZ0ZXItY2VudGVyZWQnO1xuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpcCA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmluZCgoZWwpID0+IGVsLmxvY2FsTmFtZSA9PT0gJ3NiYi1jaGlwLWxhYmVsJyk7XG4gICAgaWYgKGNoaXApIHtcbiAgICAgIGNoaXAuc2xvdCA9ICdjaGlwJztcbiAgICB9XG5cbiAgICBjb25zdCB0aXRsZSA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmluZCgoZWwpID0+IGVsLmxvY2FsTmFtZSA9PT0gJ3NiYi10aXRsZScpO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgdGl0bGUuc2xvdCA9ICd0aXRsZSc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlQ2hpcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIGFzc2lnbmVkIGVsZW1lbnRzIGJlY2F1c2UgaW4gdGhlIGltYWdlIHNsb3QgaXQgY2FuIGhhdmUgbGFiZWxzIGFzIHdlbGwuXG4gICAgY29uc3QgY2hpcExhYmVsID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAuZmluZCgoZSk6IGUgaXMgU2JiQ2hpcExhYmVsRWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi1jaGlwLWxhYmVsJyk7XG5cbiAgICBpZiAoY2hpcExhYmVsKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKGNoaXBMYWJlbCk7XG4gICAgICBjaGlwTGFiZWwuY29sb3IgPSAnY2hhcmNvYWwnO1xuICAgICAgY2hpcExhYmVsLnNpemUgPSAneHhzJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUaXRsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0aXRsZSA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KVxuICAgICAgLmFzc2lnbmVkRWxlbWVudHMoKVxuICAgICAgLmZpbmQoKGUpOiBlIGlzIFNiYlRpdGxlRWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi10aXRsZScpO1xuXG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHRpdGxlKTtcbiAgICAgIHRpdGxlLnZpc3VhbExldmVsID0gJzUnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFdlIHJlbmRlciB0aGUgY29udGVudCBvdXRzaWRlIHRoZSBhbmNob3IgdGFnIHRvIGFsbG93IHNjcmVlbiByZWFkZXJzIHRvIG5hdmlnYXRlIHRocm91Z2ggaXRcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGVhc2VyX193cmFwcGVyXCI+XG4gICAgICAgICR7dGhpcy5yZW5kZXJMaW5rKFxuICAgICAgICAgIC8vIEZvciBTRU8sIHdlIGFkZCB0aGUgYWNjZXNzaWJpbGl0eSBoaWRkZW4gYXMgaGlkZGVuIGNvbnRlbnQgb2YgdGhlIGxpbmtcbiAgICAgICAgICBodG1sYDxzYmItc2NyZWVuLXJlYWRlci1vbmx5PiR7dGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWx9PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PmAsXG4gICAgICAgICl9XG4gICAgICAgICR7dGhpcy5yZW5kZXJDb250ZW50KCl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGVhc2VyX19jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGVhc2VyX19pbWFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImltYWdlXCI+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRlYXNlcl9fdGV4dFwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJjaGlwXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVDaGlwfT48L3Nsb3Q+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVUaXRsZX0+PC9zbG90PlxuICAgICAgICAgIDxwIGNsYXNzPVwic2JiLXRlYXNlcl9fZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10ZWFzZXInOiBTYmJUZWFzZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDa0JhLDBCQUFnQjttQkFBUzs7OztjQUF6Qix5QkFBeUIsWUFBa0I7Ozs0QkFLckQsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7QUFBQyxnQkFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxlQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVMsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFULFlBQVM7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx5QkFBQSw2QkFBQTs7Ozs7Ozs7O0FBSnRCLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsZUFBTSxDQUFDOztFQUd0RCw4QkFBQSxrQkFBQSxNQUFBLHlCQUMzQixpQkFBZ0I7O0VBRFcsSUFBZ0IsWUFBUztBQUFBLFVBQUEsTUFBQTs7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0FBQUEsU0FBQSw2QkFBQTs7RUFHOUMsb0JBQWlCO0dBQ3ZCLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFBTSxPQUFPLEdBQUcsY0FBYyxpQkFBaUI7QUFDdEYsT0FBSSxLQUNGLE1BQUssT0FBTztHQUdkLE1BQU0sUUFBUSxNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFBTSxPQUFPLEdBQUcsY0FBYyxZQUFZO0FBQ2xGLE9BQUksTUFDRixPQUFNLE9BQU87O0VBSVQsZUFBZSxPQUFZO0dBRWpDLE1BQU0sWUFBYSxNQUFNLE9BQ3RCLGtCQUFrQixDQUNsQixNQUFNLE1BQWdDLEVBQUUsY0FBYyxpQkFBaUI7QUFFMUUsT0FBSSxXQUFXO0FBQ2IsbUJBQWUsUUFBUSxVQUFVO0FBQ2pDLGNBQVUsUUFBUTtBQUNsQixjQUFVLE9BQU87OztFQUliLGdCQUFnQixPQUFZO0dBQ2xDLE1BQU0sUUFBUyxNQUFNLE9BQ2xCLGtCQUFrQixDQUNsQixNQUFNLE1BQTRCLEVBQUUsY0FBYyxZQUFZO0FBRWpFLE9BQUksT0FBTztBQUNULG1CQUFlLFFBQVEsTUFBTTtBQUM3QixVQUFNLGNBQWM7OztFQUlMLFNBQU07QUFFdkIsVUFBTyxNQUFJOztVQUVMLEtBQUssV0FFTCxNQUFJLDJCQUEyQixLQUFLLG1CQUFrQiwyQkFDdkQsQ0FBQTtVQUNDLEtBQUssZUFBZSxDQUFBOzs7O0VBS2xCLGdCQUFhO0FBQ3JCLFVBQU8sTUFBSTs7Ozs7OzBDQU0yQixLQUFLLGVBQWM7MkNBQ2xCLEtBQUssZ0JBQWU7O2dDQUUvQixLQUFLLGtCQUFpQiJ9
@@ -1,102 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbElement } from "./core.js";
5
- import { html as html$1 } from "lit/static-html.js";
6
- //#region src/elements/title/title-common.scss?inline
7
- var title_common_default = ":host {\n margin-block: var(--sbb-title-margin-block, 0);\n margin-inline: 0;\n font-family: var(--sbb-typo-font-family);\n font-weight: bold;\n font-size: var(--sbb-title-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-heading);\n line-height: var(--sbb-title-line-height, var(--sbb-typo-line-height-heading));\n --sbb-title-text-color-normal: var(--sbb-title-text-color-normal-override, var(--sbb-color-3));\n display: block;\n color: var(--sbb-title-text-color-normal);\n}\n\n:host([id]) {\n scroll-margin-block-start: var(--sbb-spacing-fixed-10x);\n}\n\n:host(:where([level=\"1\"]:not([visual-level]), [visual-level=\"1\"])) {\n --sbb-title-font-size: var(--sbb-title-font-size-level-1-lean, var(--sbb-heading-font-size-1));\n}\n\n:host(:where([level=\"2\"]:not([visual-level]), [visual-level=\"2\"])) {\n --sbb-title-font-size: var(--sbb-title-font-size-level-2-lean, var(--sbb-heading-font-size-2));\n}\n\n:host(:where([level=\"3\"]:not([visual-level]), [visual-level=\"3\"])) {\n --sbb-title-font-size: var(--sbb-title-font-size-level-3-lean, var(--sbb-heading-font-size-3));\n}\n\n:host(:where([level=\"4\"]:not([visual-level]), [visual-level=\"4\"])) {\n --sbb-title-font-size: var(--sbb-title-font-size-level-4-lean, var(--sbb-heading-font-size-4));\n}\n\n:host(:where([level=\"5\"]:not([visual-level]), [visual-level=\"5\"])) {\n --sbb-title-font-size: var(--sbb-title-font-size-level-5-lean, var(--sbb-heading-font-size-5));\n}\n\n:host(:where([level=\"6\"]:not([visual-level]), [visual-level=\"6\"])) {\n --sbb-title-font-size: var(--sbb-title-font-size-level-6-lean, var(--sbb-heading-font-size-6));\n --sbb-title-line-height: var(--sbb-typo-line-height-text);\n}";
8
- //#endregion
9
- //#region src/elements/title/title-base.ts
10
- /**
11
- * It displays a title with a heading role.
12
- */
13
- var SbbTitleBase = (() => {
14
- let _classSuper = SbbElement;
15
- let _level_decorators;
16
- let _level_initializers = [];
17
- let _level_extraInitializers = [];
18
- let _visualLevel_decorators;
19
- let _visualLevel_initializers = [];
20
- let _visualLevel_extraInitializers = [];
21
- return class SbbTitleBase extends _classSuper {
22
- static {
23
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
24
- _level_decorators = [property({ reflect: true })];
25
- _visualLevel_decorators = [property({
26
- attribute: "visual-level",
27
- reflect: true
28
- })];
29
- __esDecorate(this, null, _level_decorators, {
30
- kind: "accessor",
31
- name: "level",
32
- static: false,
33
- private: false,
34
- access: {
35
- has: (obj) => "level" in obj,
36
- get: (obj) => obj.level,
37
- set: (obj, value) => {
38
- obj.level = value;
39
- }
40
- },
41
- metadata: _metadata
42
- }, _level_initializers, _level_extraInitializers);
43
- __esDecorate(this, null, _visualLevel_decorators, {
44
- kind: "accessor",
45
- name: "visualLevel",
46
- static: false,
47
- private: false,
48
- access: {
49
- has: (obj) => "visualLevel" in obj,
50
- get: (obj) => obj.visualLevel,
51
- set: (obj, value) => {
52
- obj.visualLevel = value;
53
- }
54
- },
55
- metadata: _metadata
56
- }, _visualLevel_initializers, _visualLevel_extraInitializers);
57
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
58
- enumerable: true,
59
- configurable: true,
60
- writable: true,
61
- value: _metadata
62
- });
63
- }
64
- static {
65
- this.role = "heading";
66
- }
67
- static {
68
- this.styles = unsafeCSS(title_common_default);
69
- }
70
- #level_accessor_storage = __runInitializers(this, _level_initializers, "1");
71
- /** Title level */
72
- get level() {
73
- return this.#level_accessor_storage;
74
- }
75
- set level(value) {
76
- this.#level_accessor_storage = value;
77
- }
78
- #visualLevel_accessor_storage = (__runInitializers(this, _level_extraInitializers), __runInitializers(this, _visualLevel_initializers, null));
79
- /** Visual level for the title. */
80
- get visualLevel() {
81
- return this.#visualLevel_accessor_storage;
82
- }
83
- set visualLevel(value) {
84
- this.#visualLevel_accessor_storage = value;
85
- }
86
- willUpdate(changedProperties) {
87
- super.willUpdate(changedProperties);
88
- if (changedProperties.has("level")) this.internals.ariaLevel = this.level;
89
- }
90
- render() {
91
- return html$1`<slot></slot>`;
92
- }
93
- constructor() {
94
- super(...arguments);
95
- __runInitializers(this, _visualLevel_extraInitializers);
96
- }
97
- };
98
- })();
99
- //#endregion
100
- export { SbbTitleBase as t };
101
-
102
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtYmFzZS1ES1Z5TDdUUS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGl0bGUvdGl0bGUtY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RpdGxlL3RpdGxlLWJhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtcnVsZXM7XG5cbiAgLS1zYmItdGl0bGUtdGV4dC1jb2xvci1ub3JtYWw6IHZhcigtLXNiYi10aXRsZS10ZXh0LWNvbG9yLW5vcm1hbC1vdmVycmlkZSwgdmFyKC0tc2JiLWNvbG9yLTMpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHZhcigtLXNiYi10aXRsZS10ZXh0LWNvbG9yLW5vcm1hbCk7XG59XG5cbjpob3N0KFtpZF0pIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbC1tYXJnaW4tYmxvY2stc3RhcnQ7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzEnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPScxJ10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtMTtcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nMiddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzInXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC0yO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPSczJ106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nMyddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTM7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzQnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSc0J10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtNDtcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nNSddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzUnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC01O1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPSc2J106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nNiddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTY7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uL2NvcmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90aXRsZS1jb21tb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJUaXRsZUxldmVsID0gJzEnIHwgJzInIHwgJzMnIHwgJzQnIHwgJzUnIHwgJzYnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdGl0bGUgd2l0aCBhIGhlYWRpbmcgcm9sZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYlRpdGxlQmFzZSBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAnaGVhZGluZyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHVuc2FmZUNTUyhzdHlsZSk7XG5cbiAgLyoqIFRpdGxlIGxldmVsICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGxldmVsOiBTYmJUaXRsZUxldmVsID0gJzEnO1xuXG4gIC8qKiBWaXN1YWwgbGV2ZWwgZm9yIHRoZSB0aXRsZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndmlzdWFsLWxldmVsJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdmlzdWFsTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xldmVsJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMZXZlbCA9IHRoaXMubGV2ZWw7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lDYXNCLHNCQUFZO21CQUFTOzs7Ozs7O2NBQXJCLHFCQUFxQixZQUFVOzs7d0JBS2xELFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBOzhCQUczQixTQUFTO0lBQUUsV0FBVztJQUFnQixTQUFTO0lBQU0sQ0FBQyxDQUFBO0FBSDFCLGdCQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBO0FBSWxELGdCQUFBLE1BQUEsTUFBQSx5QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGlCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVcsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFYLGNBQVc7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwyQkFBQSwrQkFBQTs7Ozs7Ozs7O0FBUkosUUFBQSxPQUFPOzs7QUFDUCxRQUFBLFNBQXlCLFVBQVUscUJBQU07O0VBR25DLDBCQUFBLGtCQUFBLE1BQUEscUJBQXVDLElBQUc7O0VBQTFDLElBQWdCLFFBQUs7QUFBQSxVQUFBLE1BQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtBQUFBLFNBQUEseUJBQUE7O0VBSWxELGlDQUFBLGtCQUFBLE1BQUEseUJBQUEsRUFBQSxrQkFBQSxNQUFBLDJCQUFvRCxLQUFJOztFQUF4RCxJQUFnQixjQUFXO0FBQUEsVUFBQSxNQUFBOztFQUEzQixJQUFnQixZQUFXLE9BQUE7QUFBQSxTQUFBLCtCQUFBOztFQUVSLFdBQVcsbUJBQXVDO0FBQ25FLFNBQU0sV0FBVyxrQkFBa0I7QUFFbkMsT0FBSSxrQkFBa0IsSUFBSSxRQUFRLENBQ2hDLE1BQUssVUFBVSxZQUFZLEtBQUs7O0VBSWpCLFNBQU07QUFDdkIsVUFBTyxNQUFJIn0=
@@ -1,71 +0,0 @@
1
- import { t as SbbTitleBase } from "./title-base-DKVyL7TQ.js";
2
- import { __esDecorate, __runInitializers } from "tslib";
3
- import { unsafeCSS } from "lit";
4
- import { property } from "lit/decorators.js";
5
- import { SbbNegativeMixin } from "./core.js";
6
- //#region src/elements/title/title.scss?inline
7
- var title_default = ":host([negative]) {\n --sbb-title-text-color-normal: var(--sbb-color-3-negative);\n}\n\n:host(:where([level=\"1\"]:not([visual-level]), [visual-level=\"1\"])) {\n --sbb-title-margin-block: var(\n --sbb-heading-margin-block-1-lean,\n var(--sbb-heading-margin-block-1)\n );\n}\n\n:host(:where([level=\"2\"]:not([visual-level]), [visual-level=\"2\"])) {\n --sbb-title-margin-block: var(\n --sbb-heading-margin-block-2-lean,\n var(--sbb-heading-margin-block-2)\n );\n}\n\n:host(:where([level=\"3\"]:not([visual-level]), [visual-level=\"3\"])) {\n --sbb-title-margin-block: var(\n --sbb-heading-margin-block-3-lean,\n var(--sbb-heading-margin-block-3)\n );\n}\n\n:host(:where([level=\"4\"]:not([visual-level]), [visual-level=\"4\"])) {\n --sbb-title-margin-block: var(\n --sbb-heading-margin-block-4-lean,\n var(--sbb-heading-margin-block-4)\n );\n}\n\n:host(:where([level=\"5\"]:not([visual-level]), [visual-level=\"5\"])) {\n --sbb-title-margin-block: var(\n --sbb-heading-margin-block-5-lean,\n var(--sbb-heading-margin-block-5)\n );\n}\n\n:host(:where([level=\"6\"]:not([visual-level]), [visual-level=\"6\"])) {\n --sbb-title-margin-block: var(\n --sbb-heading-margin-block-6-lean,\n var(--sbb-heading-margin-block-6)\n );\n}";
8
- //#endregion
9
- //#region src/elements/title/title.component.ts
10
- /**
11
- * @slot - Use the unnamed slot for the content of the title.
12
- *
13
- * @cssprop [--sbb-title-margin-block] - Margin block of the title.
14
- */
15
- var SbbTitleElement = (() => {
16
- let _classSuper = SbbNegativeMixin(SbbTitleBase);
17
- let _visualLevel_decorators;
18
- let _visualLevel_initializers = [];
19
- let _visualLevel_extraInitializers = [];
20
- return class SbbTitleElement extends _classSuper {
21
- static {
22
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
23
- _visualLevel_decorators = [property({
24
- attribute: "visual-level",
25
- reflect: true
26
- })];
27
- __esDecorate(this, null, _visualLevel_decorators, {
28
- kind: "accessor",
29
- name: "visualLevel",
30
- static: false,
31
- private: false,
32
- access: {
33
- has: (obj) => "visualLevel" in obj,
34
- get: (obj) => obj.visualLevel,
35
- set: (obj, value) => {
36
- obj.visualLevel = value;
37
- }
38
- },
39
- metadata: _metadata
40
- }, _visualLevel_initializers, _visualLevel_extraInitializers);
41
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: _metadata
46
- });
47
- }
48
- static {
49
- this.elementName = "sbb-title";
50
- }
51
- static {
52
- this.styles = [SbbTitleBase.styles, unsafeCSS(title_default)];
53
- }
54
- #visualLevel_accessor_storage = __runInitializers(this, _visualLevel_initializers, null);
55
- /** Visual level for the title. Optional, if not set, the value of level will be used. */
56
- get visualLevel() {
57
- return this.#visualLevel_accessor_storage;
58
- }
59
- set visualLevel(value) {
60
- this.#visualLevel_accessor_storage = value;
61
- }
62
- constructor() {
63
- super(...arguments);
64
- __runInitializers(this, _visualLevel_extraInitializers);
65
- }
66
- };
67
- })();
68
- //#endregion
69
- export { SbbTitleElement as t };
70
-
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuY29tcG9uZW50LUJFRXpBOWNGLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90aXRsZS90aXRsZS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90aXRsZS90aXRsZS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLW5lZ2F0aXZlO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPScxJ106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nMSddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTEtc3BhY2luZztcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nMiddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzInXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC0yLXNwYWNpbmc7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzMnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSczJ10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtMy1zcGFjaW5nO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPSc0J106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nNCddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTQtc3BhY2luZztcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nNSddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzUnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC01LXNwYWNpbmc7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzYnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSc2J10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtNi1zcGFjaW5nO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS50cyc7XG5cbmltcG9ydCB7IFNiYlRpdGxlQmFzZSwgdHlwZSBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi90aXRsZS1iYXNlLnRzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL3RpdGxlLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IGZvciB0aGUgY29udGVudCBvZiB0aGUgdGl0bGUuXG4gKlxuICogQGNzc3Byb3AgWy0tc2JiLXRpdGxlLW1hcmdpbi1ibG9ja10gLSBNYXJnaW4gYmxvY2sgb2YgdGhlIHRpdGxlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVGl0bGVFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJUaXRsZUJhc2UpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10aXRsZSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtTYmJUaXRsZUJhc2Uuc3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVmlzdWFsIGxldmVsIGZvciB0aGUgdGl0bGUuIE9wdGlvbmFsLCBpZiBub3Qgc2V0LCB0aGUgdmFsdWUgb2YgbGV2ZWwgd2lsbCBiZSB1c2VkLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd2aXN1YWwtbGV2ZWwnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NvciB2aXN1YWxMZXZlbDogU2JiVGl0bGVMZXZlbCB8IG51bGwgPSBudWxsO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRpdGxlJzogU2JiVGl0bGVFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lDYWEseUJBQWU7bUJBQVMsaUJBQWlCLGFBQWE7Ozs7Y0FBdEQsd0JBQXdCLFlBQThCOzs7OEJBS2hFLFNBQVM7SUFBRSxXQUFXO0lBQWdCLFNBQVM7SUFBTSxDQUFDLENBQUE7QUFDdkQsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBeUI7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBOzs7Ozs7Ozs7QUFMSixRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLGFBQWEsUUFBUSxVQUFVLGNBQU0sQ0FBQzs7RUFJdkYsZ0NBQUEsa0JBQUEsTUFBQSwyQkFBNkQsS0FBSTs7RUFBakUsSUFBeUIsY0FBVztBQUFBLFVBQUEsTUFBQTs7RUFBcEMsSUFBeUIsWUFBVyxPQUFBO0FBQUEsU0FBQSwrQkFBQSJ9
@@ -1,268 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbDarkModeController, SbbLanguageController, SbbOpenCloseBaseElement, SbbReadonlyMixin, boxSizingStyles, composedPathHasAttribute, forceType, i18nCloseAlert, isZeroAnimationDuration } from "./core.js";
5
- import { SbbTransparentButtonElement } from "./button.pure.js";
6
- import { SbbDividerElement } from "./divider.pure.js";
7
- import { SbbIconNameMixin } from "./icon.pure.js";
8
- //#region src/elements/toast/toast.scss?inline
9
- var toast_default = ":host {\n --sbb-toast-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n display: none;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-toast-container-display: flex;\n display: block;\n}\n\n:host([position=bottom-left]),\n:host([position=bottom-start]) {\n --sbb-toast-horizontal-position: flex-start;\n --sbb-toast-vertical-position: flex-end;\n}\n\n:host([position=bottom-center]) {\n --sbb-toast-horizontal-position: center;\n --sbb-toast-vertical-position: flex-end;\n}\n\n:host([position=bottom-right]),\n:host([position=bottom-end]) {\n --sbb-toast-horizontal-position: flex-end;\n --sbb-toast-vertical-position: flex-end;\n}\n\n:host([position=top-left]),\n:host([position=top-start]) {\n --sbb-toast-horizontal-position: flex-start;\n --sbb-toast-vertical-position: flex-start;\n}\n\n:host([position=top-center]) {\n --sbb-toast-horizontal-position: center;\n --sbb-toast-vertical-position: flex-start;\n}\n\n:host([position=top-right]),\n:host([position=top-end]) {\n --sbb-toast-horizontal-position: flex-end;\n --sbb-toast-vertical-position: flex-start;\n}\n\n:host(:is(:state(dark),[state--dark])) {\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-default);\n}\n\n.sbb-toast__overlay-container {\n position: var(--sbb-toast-container-position);\n pointer-events: none;\n inset: 0;\n display: var(--sbb-toast-container-display, none);\n justify-content: var(--sbb-toast-horizontal-position);\n align-items: var(--sbb-toast-vertical-position);\n}\n\n.sbb-toast {\n z-index: var(--sbb-toast-z-index, var(--sbb-overlay-default-z-index));\n pointer-events: auto;\n margin: var(--sbb-toast-margin);\n border-radius: var(--sbb-toast-border-radius);\n max-width: var(--sbb-toast-max-width);\n display: flex;\n color: var(--sbb-toast-text-color);\n background-color: var(--sbb-toast-background-color);\n}\n:host(:is(:state(state-opening),[state--state-opening])) .sbb-toast {\n animation-name: open;\n animation-duration: var(--sbb-toast-animation-duration);\n animation-timing-function: var(--sbb-toast-animation-timing-function);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-toast {\n animation-name: close;\n animation-duration: var(--sbb-toast-animation-duration);\n animation-timing-function: var(--sbb-toast-animation-timing-function);\n}\n\n.sbb-toast-wrapper {\n display: flex;\n align-items: center;\n gap: var(--sbb-toast-gap);\n padding-block: var(--sbb-toast-padding-block);\n padding-inline: var(--sbb-toast-padding-inline);\n}\n\nslot:not([name=icon]),\n.sbb-toast__close {\n color-scheme: only light;\n}\n\n.sbb-toast__content {\n --sbb-title-font-size: var(--sbb-title-font-size-level-6-lean, var(--sbb-heading-font-size-6));\n --sbb-title-line-height: var(--sbb-typo-line-height-text);\n margin-block: var(--sbb-title-margin-block, 0);\n margin-inline: 0;\n font-family: var(--sbb-typo-font-family);\n font-weight: bold;\n font-size: var(--sbb-title-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-heading);\n line-height: var(--sbb-title-line-height, var(--sbb-typo-line-height-heading));\n flex: 1 1 0;\n}\n\n.sbb-toast__close {\n display: flex;\n align-items: center;\n}\n\n.sbb-toast__close-divider {\n padding-block: var(--sbb-toast-padding-block);\n}\n\n.sbb-toast__close-button {\n margin-inline: var(--sbb-spacing-responsive-xxxs);\n}\n\n@keyframes open {\n from {\n visibility: hidden;\n opacity: 0;\n translate: 0 var(--sbb-spacing-fixed-2x);\n }\n to {\n visibility: visible;\n opacity: 1;\n translate: 0;\n }\n}\n@keyframes close {\n from {\n visibility: visible;\n opacity: 1;\n translate: 0;\n }\n to {\n visibility: hidden;\n opacity: 0;\n translate: 0 var(--sbb-spacing-fixed-2x);\n }\n}";
10
- //#endregion
11
- //#region src/elements/toast/toast.component.ts
12
- var toastRefs = /* @__PURE__ */ new Set();
13
- /**
14
- * It displays a toast notification.
15
- *
16
- * @slot - Use the unnamed slot to add content to the `sbb-toast`.
17
- * @slot icon - Assign a custom icon via slot.
18
- * @slot action - Provide a custom action for this toast.
19
- * @cssprop [--sbb-toast-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
20
- * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
21
- * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
22
- */
23
- var SbbToastElement = (() => {
24
- let _classSuper = SbbIconNameMixin(SbbReadonlyMixin(SbbOpenCloseBaseElement));
25
- let _timeout_decorators;
26
- let _timeout_initializers = [];
27
- let _timeout_extraInitializers = [];
28
- let _position_decorators;
29
- let _position_initializers = [];
30
- let _position_extraInitializers = [];
31
- let _politeness_decorators;
32
- let _politeness_initializers = [];
33
- let _politeness_extraInitializers = [];
34
- return class SbbToastElement extends _classSuper {
35
- static {
36
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
37
- _timeout_decorators = [forceType(), property({ type: Number })];
38
- _position_decorators = [property({ reflect: true })];
39
- _politeness_decorators = [property()];
40
- __esDecorate(this, null, _timeout_decorators, {
41
- kind: "accessor",
42
- name: "timeout",
43
- static: false,
44
- private: false,
45
- access: {
46
- has: (obj) => "timeout" in obj,
47
- get: (obj) => obj.timeout,
48
- set: (obj, value) => {
49
- obj.timeout = value;
50
- }
51
- },
52
- metadata: _metadata
53
- }, _timeout_initializers, _timeout_extraInitializers);
54
- __esDecorate(this, null, _position_decorators, {
55
- kind: "accessor",
56
- name: "position",
57
- static: false,
58
- private: false,
59
- access: {
60
- has: (obj) => "position" in obj,
61
- get: (obj) => obj.position,
62
- set: (obj, value) => {
63
- obj.position = value;
64
- }
65
- },
66
- metadata: _metadata
67
- }, _position_initializers, _position_extraInitializers);
68
- __esDecorate(this, null, _politeness_decorators, {
69
- kind: "accessor",
70
- name: "politeness",
71
- static: false,
72
- private: false,
73
- access: {
74
- has: (obj) => "politeness" in obj,
75
- get: (obj) => obj.politeness,
76
- set: (obj, value) => {
77
- obj.politeness = value;
78
- }
79
- },
80
- metadata: _metadata
81
- }, _politeness_initializers, _politeness_extraInitializers);
82
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
83
- enumerable: true,
84
- configurable: true,
85
- writable: true,
86
- value: _metadata
87
- });
88
- }
89
- static {
90
- this.elementName = "sbb-toast";
91
- }
92
- static {
93
- this.elementDependencies = [SbbTransparentButtonElement, SbbDividerElement];
94
- }
95
- static {
96
- this.styles = [boxSizingStyles, unsafeCSS(toast_default)];
97
- }
98
- #timeout_accessor_storage;
99
- /**
100
- * The length of time in milliseconds to wait before automatically dismissing the toast.
101
- * If 0 (default), it stays open indefinitely.
102
- * From accessibility perspective, it is recommended to set a timeout of at least 20 seconds.
103
- */
104
- get timeout() {
105
- return this.#timeout_accessor_storage;
106
- }
107
- set timeout(value) {
108
- this.#timeout_accessor_storage = value;
109
- }
110
- #position_accessor_storage;
111
- /** The position where to place the toast. */
112
- get position() {
113
- return this.#position_accessor_storage;
114
- }
115
- set position(value) {
116
- this.#position_accessor_storage = value;
117
- }
118
- #politeness_accessor_storage;
119
- /**
120
- * The ARIA politeness level.
121
- * Check https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#live_regions for further info
122
- */
123
- get politeness() {
124
- return this.#politeness_accessor_storage;
125
- }
126
- set politeness(value) {
127
- this.#politeness_accessor_storage = value;
128
- }
129
- constructor() {
130
- super();
131
- this.#timeout_accessor_storage = __runInitializers(this, _timeout_initializers, 0);
132
- this.#position_accessor_storage = (__runInitializers(this, _timeout_extraInitializers), __runInitializers(this, _position_initializers, "bottom-center"));
133
- this.#politeness_accessor_storage = (__runInitializers(this, _position_extraInitializers), __runInitializers(this, _politeness_initializers, "polite"));
134
- this._closeTimeout = __runInitializers(this, _politeness_extraInitializers);
135
- this._language = new SbbLanguageController(this);
136
- this._darkModeController = new SbbDarkModeController(this, () => {
137
- this._syncSlottedElements();
138
- this.requestUpdate();
139
- });
140
- this.addEventListener?.("click", (e) => this._onClick(e));
141
- }
142
- connectedCallback() {
143
- this.popover = "manual";
144
- super.connectedCallback();
145
- toastRefs.add(this);
146
- }
147
- disconnectedCallback() {
148
- super.disconnectedCallback();
149
- clearTimeout(this._closeTimeout);
150
- toastRefs.delete(this);
151
- }
152
- willUpdate(changedProperties) {
153
- super.willUpdate(changedProperties);
154
- if (changedProperties.has("politeness")) this.internals.ariaLive = this.politeness;
155
- }
156
- /**
157
- * Open the toast.
158
- * If there are other opened toasts in the page, close them first.
159
- */
160
- open() {
161
- if (this.state === "opened" || this.state === "opening" || !this.dispatchBeforeOpenEvent()) return;
162
- this._closeOtherToasts();
163
- this.showPopover?.();
164
- this.state = "opening";
165
- if (this._isZeroAnimationDuration()) this._handleOpening();
166
- }
167
- /**
168
- * Close the toast.
169
- */
170
- close() {
171
- if (this.state === "closed" || this.state === "closing" || !this.dispatchBeforeCloseEvent()) return;
172
- clearTimeout(this._closeTimeout);
173
- this.state = "closing";
174
- if (this._isZeroAnimationDuration()) this._handleClosing();
175
- }
176
- _handleClosing() {
177
- this.state = "closed";
178
- this.hidePopover?.();
179
- this.dispatchCloseEvent();
180
- }
181
- _handleOpening() {
182
- this.state = "opened";
183
- this.dispatchOpenEvent();
184
- if (this.timeout) {
185
- const global = globalThis;
186
- const setTimeout = global[global.Zone?.__symbol__?.("setTimeout")] ?? global.setTimeout;
187
- this._closeTimeout = setTimeout(() => this.close(), this.timeout);
188
- }
189
- }
190
- _onClick(event) {
191
- const closeElement = composedPathHasAttribute(event, "sbb-toast-close", this);
192
- if (closeElement && !closeElement.hasAttribute("disabled")) this.close();
193
- }
194
- _isZeroAnimationDuration() {
195
- return isZeroAnimationDuration(this, "--sbb-toast-animation-duration");
196
- }
197
- /**
198
- * Slotted text nodes are not read correctly by screen readers on Chrome.
199
- * To address the problem, if there is at least a root text node,
200
- * we wrap the whole content in a <span> tag
201
- */
202
- _onContentSlotChange(event) {
203
- const slotNodes = event.target.assignedNodes();
204
- if (slotNodes.some((el) => el.nodeType === Node.TEXT_NODE)) {
205
- const span = document.createElement("span");
206
- this.prepend(span);
207
- span.append(...slotNodes);
208
- }
209
- this._syncSlottedElements();
210
- }
211
- _syncSlottedElements() {
212
- this.querySelectorAll("sbb-transparent-button, sbb-transparent-button-link").forEach((btn) => {
213
- btn.negative = this._isLightMode();
214
- });
215
- this.querySelectorAll("sbb-link, sbb-link-button, sbb-link-static").forEach((link) => {
216
- link.negative = this._isLightMode();
217
- });
218
- }
219
- _onToastAnimationEnd(event) {
220
- if (event.animationName === "open" && this.state === "opening") this._handleOpening();
221
- else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
222
- }
223
- /**
224
- * Since we do not stack toasts, we force the closing on other existing opened ones
225
- */
226
- _closeOtherToasts() {
227
- toastRefs.forEach((t) => {
228
- if (t.state === "opened" || t.state === "opening") t.close();
229
- });
230
- }
231
- _isLightMode() {
232
- return !this._darkModeController.matches();
233
- }
234
- render() {
235
- return html`
236
- <div class="sbb-toast__overlay-container">
237
- <div class="sbb-toast" @animationend=${this._onToastAnimationEnd}>
238
- <div class="sbb-toast-wrapper">
239
- ${this.renderIconSlot()}
240
- <div class="sbb-toast__content">
241
- <slot @slotchange=${this._onContentSlotChange}></slot>
242
- </div>
243
- <slot name="action" @slotchange=${this._syncSlottedElements}></slot>
244
- </div>
245
- <div class="sbb-toast__close">
246
- <sbb-divider
247
- class="sbb-toast__close-divider"
248
- orientation="vertical"
249
- ?negative=${this._isLightMode()}
250
- ></sbb-divider>
251
- ${!this.readOnly ? html`<sbb-transparent-button
252
- class="sbb-toast__close-button"
253
- icon-name="cross-small"
254
- ?negative=${this._isLightMode()}
255
- aria-label=${i18nCloseAlert[this._language.current]}
256
- sbb-toast-close
257
- ></sbb-transparent-button>` : nothing}
258
- </div>
259
- </div>
260
- </div>
261
- `;
262
- }
263
- };
264
- })();
265
- //#endregion
266
- export { SbbToastElement as t };
267
-
268
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LUR2Vlk3enBlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTZ4KVxuICApO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcblxuICBkaXNwbGF5OiBub25lO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAtLXNiYi10b2FzdC1jb250YWluZXItZGlzcGxheTogZmxleDtcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSdib3R0b20tbGVmdCddKSxcbjpob3N0KFtwb3NpdGlvbj0nYm90dG9tLXN0YXJ0J10pIHtcbiAgLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtZW5kO1xufVxuXG46aG9zdChbcG9zaXRpb249J2JvdHRvbS1jZW50ZXInXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBjZW50ZXI7XG4gIC0tc2JiLXRvYXN0LXZlcnRpY2FsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSdib3R0b20tcmlnaHQnXSksXG46aG9zdChbcG9zaXRpb249J2JvdHRvbS1lbmQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtZW5kO1xufVxuXG46aG9zdChbcG9zaXRpb249J3RvcC1sZWZ0J10pLFxuOmhvc3QoW3Bvc2l0aW9uPSd0b3Atc3RhcnQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LXN0YXJ0O1xuICAtLXNiYi10b2FzdC12ZXJ0aWNhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSd0b3AtY2VudGVyJ10pIHtcbiAgLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbjogY2VudGVyO1xuICAtLXNiYi10b2FzdC12ZXJ0aWNhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSd0b3AtcmlnaHQnXSksXG46aG9zdChbcG9zaXRpb249J3RvcC1lbmQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtc3RhcnQ7XG59XG5cbjpob3N0KDpzdGF0ZShkYXJrKSkge1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcbn1cblxuLnNiYi10b2FzdF9fb3ZlcmxheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXRvYXN0LWNvbnRhaW5lci1wb3NpdGlvbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXRvYXN0LWNvbnRhaW5lci1kaXNwbGF5LCBub25lKTtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbik7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb24pO1xufVxuXG4uc2JiLXRvYXN0IHtcbiAgei1pbmRleDogdmFyKC0tc2JiLXRvYXN0LXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS1zYmItdG9hc3QtbWFyZ2luKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRvYXN0LWJvcmRlci1yYWRpdXMpO1xuICBtYXgtd2lkdGg6IHZhcigtLXNiYi10b2FzdC1tYXgtd2lkdGgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogdmFyKC0tc2JiLXRvYXN0LXRleHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9hc3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b2FzdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogY2xvc2U7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b2FzdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi10b2FzdC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItdG9hc3QtZ2FwKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuc2xvdDpub3QoW25hbWU9J2ljb24nXSksXG4uc2JiLXRvYXN0X19jbG9zZSB7XG4gIC8vIEFzIHRoZSBzbG90dGVkIGNvbnRlbnQgaXMgZGlzcGxheWVkIG9uIGEgd2hpdGUgYmFja2dyb3VuZCwgd2UgbmVlZCB0byBmb3JjZSBsaWdodCBtb2RlIGZvciB0aGVtLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG59XG5cbi5zYmItdG9hc3RfX2NvbnRlbnQge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtNigkZXhjbHVkZS1zcGFjaW5nOiB0cnVlKTtcblxuICBmbGV4OiAxIDEgMDtcbn1cblxuLnNiYi10b2FzdF9fY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2JiLXRvYXN0X19jbG9zZS1kaXZpZGVyIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctYmxvY2spO1xufVxuXG4uc2JiLXRvYXN0X19jbG9zZS1idXR0b24ge1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCxcbiAgdHlwZSBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50LFxufSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGNvbXBvc2VkUGF0aEhhc0F0dHJpYnV0ZSxcbiAgZm9yY2VUeXBlLFxuICBpMThuQ2xvc2VBbGVydCxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIFNiYkRhcmtNb2RlQ29udHJvbGxlcixcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbiAgU2JiUmVhZG9ubHlNaXhpbixcbn0gZnJvbSAnLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJEaXZpZGVyRWxlbWVudCB9IGZyb20gJy4uL2RpdmlkZXIucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTGlua0J1dHRvbkVsZW1lbnQsIFNiYkxpbmtFbGVtZW50LCBTYmJMaW5rU3RhdGljRWxlbWVudCB9IGZyb20gJy4uL2xpbmsucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvYXN0LnNjc3M/aW5saW5lJztcblxudHlwZSBTYmJUb2FzdFBvc2l0aW9uVmVydGljYWwgPSAndG9wJyB8ICdib3R0b20nO1xudHlwZSBTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbCA9ICdsZWZ0JyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnZW5kJztcbmV4cG9ydCB0eXBlIFNiYlRvYXN0UG9zaXRpb24gPSBgJHtTYmJUb2FzdFBvc2l0aW9uVmVydGljYWx9LSR7U2JiVG9hc3RQb3NpdGlvbkhvcml6b250YWx9YDtcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyB0b2FzdHNcbmNvbnN0IHRvYXN0UmVmcyA9IG5ldyBTZXQ8U2JiVG9hc3RFbGVtZW50PigpO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdG9hc3RgLlxuICogQHNsb3QgaWNvbiAtIEFzc2lnbiBhIGN1c3RvbSBpY29uIHZpYSBzbG90LlxuICogQHNsb3QgYWN0aW9uIC0gUHJvdmlkZSBhIGN1c3RvbSBhY3Rpb24gZm9yIHRoaXMgdG9hc3QuXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9hc3Qtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9hc3RFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJSZWFkb25seU1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRvYXN0JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1xuICAgIFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCxcbiAgICBTYmJEaXZpZGVyRWxlbWVudCxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBkaXNtaXNzaW5nIHRoZSB0b2FzdC5cbiAgICogSWYgMCAoZGVmYXVsdCksIGl0IHN0YXlzIG9wZW4gaW5kZWZpbml0ZWx5LlxuICAgKiBGcm9tIGFjY2Vzc2liaWxpdHkgcGVyc3BlY3RpdmUsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCBhIHRpbWVvdXQgb2YgYXQgbGVhc3QgMjAgc2Vjb25kcy5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRpbWVvdXQ6IG51bWJlciA9IDA7XG5cbiAgLyoqIFRoZSBwb3NpdGlvbiB3aGVyZSB0byBwbGFjZSB0aGUgdG9hc3QuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiBTYmJUb2FzdFBvc2l0aW9uID0gJ2JvdHRvbS1jZW50ZXInO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBwb2xpdGVuZXNzIGxldmVsLlxuICAgKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BY2Nlc3NpYmlsaXR5L0FSSUEvQVJJQV9MaXZlX1JlZ2lvbnMjbGl2ZV9yZWdpb25zIGZvciBmdXJ0aGVyIGluZm9cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBwb2xpdGVuZXNzOiAncG9saXRlJyB8ICdhc3NlcnRpdmUnIHwgJ29mZicgPSAncG9saXRlJztcblxuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9kYXJrTW9kZUNvbnRyb2xsZXIgPSBuZXcgU2JiRGFya01vZGVDb250cm9sbGVyKHRoaXMsICgpID0+IHtcbiAgICB0aGlzLl9zeW5jU2xvdHRlZEVsZW1lbnRzKCk7XG4gICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQWRkIHRoaXMgdG9hc3QgdG8gdGhlIGdsb2JhbCBjb2xsZWN0aW9uXG4gICAgdG9hc3RSZWZzLmFkZCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuXG4gICAgLy8gUmVtb3ZlIHRoaXMgaW5zdGFuY2VcbiAgICB0b2FzdFJlZnMuZGVsZXRlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwb2xpdGVuZXNzJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gdGhpcy5wb2xpdGVuZXNzO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b2FzdC5cbiAgICogSWYgdGhlcmUgYXJlIG90aGVyIG9wZW5lZCB0b2FzdHMgaW4gdGhlIHBhZ2UsIGNsb3NlIHRoZW0gZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9zZU90aGVyVG9hc3RzKCk7XG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcblxuICAgIC8vIFN0YXJ0IHRoZSBjb3VudGRvd24gdG8gY2xvc2UgaXRcbiAgICBpZiAodGhpcy50aW1lb3V0KSB7XG4gICAgICAvLyBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vc2JiLWRlc2lnbi1zeXN0ZW1zL2x5bmUtYW5ndWxhci9pc3N1ZXMvMTkwXG4gICAgICAvLyBJZiB6b25lLmpzIGlzIGxvYWRlZCwgc2V0VGltZW91dCBpcyB3cmFwcGVkIGFuZCB0cmFja2VkIHdoaWNoIHdpbGwgbWFya1xuICAgICAgLy8gYW55dGhpbmcgaW4gQW5ndWxhciBhcyB1bnN0YWJsZSBhcyBsb25nIGFzIHNldFRpbWVvdXQgaXMgbm90IGZpbmlzaGVkLlxuICAgICAgLy8gVGhpcyBvbmx5IG5lZWRzIHRvIGJlIGZpeGVkIGluIHBsYWNlcyB3aGVyZSB3ZSBhY3R1YWxseSB3YW50IHRvIHdhaXQgYVxuICAgICAgLy8gc3BlY2lmaWMgYW1vdW50IG9mIHRpbWUgd2l0aG91dCBhbiBpbnRlcmFjdGlvbiAoZS5nLiBmb3IgdGhpcyBjYXNlKS5cbiAgICAgIGNvbnN0IGdsb2JhbCA9IGdsb2JhbFRoaXMgYXMgYW55O1xuICAgICAgY29uc3Qgc2V0VGltZW91dDogdHlwZW9mIGdsb2JhbFRoaXMuc2V0VGltZW91dCA9XG4gICAgICAgIGdsb2JhbFtnbG9iYWwuWm9uZT8uX19zeW1ib2xfXz8uKCdzZXRUaW1lb3V0JykgYXMgc3RyaW5nXSA/PyBnbG9iYWwuc2V0VGltZW91dDtcblxuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMudGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHRvYXN0IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXRvYXN0LWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXRvYXN0LWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbG90dGVkIHRleHQgbm9kZXMgYXJlIG5vdCByZWFkIGNvcnJlY3RseSBieSBzY3JlZW4gcmVhZGVycyBvbiBDaHJvbWUuXG4gICAqIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIGlmIHRoZXJlIGlzIGF0IGxlYXN0IGEgcm9vdCB0ZXh0IG5vZGUsXG4gICAqIHdlIHdyYXAgdGhlIHdob2xlIGNvbnRlbnQgaW4gYSA8c3Bhbj4gdGFnXG4gICAqL1xuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICBpZiAoc2xvdE5vZGVzLnNvbWUoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpKSB7XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5wcmVwZW5kKHNwYW4pO1xuICAgICAgc3Bhbi5hcHBlbmQoLi4uc2xvdE5vZGVzKTtcbiAgICB9XG4gICAgdGhpcy5fc3luY1Nsb3R0ZWRFbGVtZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY1Nsb3R0ZWRFbGVtZW50cygpOiB2b2lkIHtcbiAgICAvLyBGb3JjZSB0aGUgdmlzdWFsIHN0YXRlIG9uIHNsb3R0ZWQgYnV0dG9uc1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbDxTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQgfCBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50PihcbiAgICAgICdzYmItdHJhbnNwYXJlbnQtYnV0dG9uLCBzYmItdHJhbnNwYXJlbnQtYnV0dG9uLWxpbmsnLFxuICAgICkuZm9yRWFjaCgoYnRuKSA9PiB7XG4gICAgICBidG4ubmVnYXRpdmUgPSB0aGlzLl9pc0xpZ2h0TW9kZSgpO1xuICAgIH0pO1xuXG4gICAgLy8gRm9yY2UgbmVnYXRpdmUgb24gc2xvdHRlZCBsaW5rc1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbDxTYmJMaW5rRWxlbWVudCB8IFNiYkxpbmtCdXR0b25FbGVtZW50IHwgU2JiTGlua1N0YXRpY0VsZW1lbnQ+KFxuICAgICAgJ3NiYi1saW5rLCBzYmItbGluay1idXR0b24sIHNiYi1saW5rLXN0YXRpYycsXG4gICAgKS5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLm5lZ2F0aXZlID0gdGhpcy5faXNMaWdodE1vZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25Ub2FzdEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBPbiB0b2FzdCBvcGVuZWRcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2luY2Ugd2UgZG8gbm90IHN0YWNrIHRvYXN0cywgd2UgZm9yY2UgdGhlIGNsb3Npbmcgb24gb3RoZXIgZXhpc3Rpbmcgb3BlbmVkIG9uZXNcbiAgICovXG4gIHByaXZhdGUgX2Nsb3NlT3RoZXJUb2FzdHMoKTogdm9pZCB7XG4gICAgdG9hc3RSZWZzLmZvckVhY2goKHQpID0+IHtcbiAgICAgIGlmICh0LnN0YXRlID09PSAnb3BlbmVkJyB8fCB0LnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgICAgdC5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNMaWdodE1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9kYXJrTW9kZUNvbnRyb2xsZXIubWF0Y2hlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0X19vdmVybGF5LWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0XCIgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uVG9hc3RBbmltYXRpb25FbmR9PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3Qtd3JhcHBlclwiPlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlckljb25TbG90KCl9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0X19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fb25Db250ZW50U2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYWN0aW9uXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jU2xvdHRlZEVsZW1lbnRzfT48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fY2xvc2VcIj5cbiAgICAgICAgICAgIDxzYmItZGl2aWRlclxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi10b2FzdF9fY2xvc2UtZGl2aWRlclwiXG4gICAgICAgICAgICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLl9pc0xpZ2h0TW9kZSgpfVxuICAgICAgICAgICAgPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAkeyF0aGlzLnJlYWRPbmx5XG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLXRyYW5zcGFyZW50LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLl9pc0xpZ2h0TW9kZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZUFsZXJ0W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgc2JiLXRvYXN0LWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9hc3QnOiBTYmJUb2FzdEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7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