@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776760633 → 5.0.0-next-dev.1776866482
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/{block-link-common-CDrCAdGP.js → block-link-common-CiqQc2Rs.js} +1 -1
- package/core/styles/core.scss +11 -0
- package/core/styles/mixins/helpers.scss +3 -3
- package/core/styles/mixins/panel.scss +5 -1
- package/core.css +38 -0
- package/custom-elements.json +1630 -1291
- package/development/{block-link-common-CwurjMj1.js → block-link-common-B9Vx8CTp.js} +2 -2
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/{form-field.component-BHMh3V6s.js → form-field.component-M0wf8ZR8.js} +2 -2
- package/development/form-field.js +1 -1
- package/development/form-field.pure.js +1 -1
- package/development/link/common/block-link-common.js +1 -1
- package/development/link.js +1 -1
- package/development/link.pure.js +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/{slider.component-ZBdkbZei.js → slider.component-CXrGIpkh.js} +2 -2
- package/development/slider.js +1 -1
- package/development/slider.pure.js +1 -1
- package/development/step-label.component-BTXuaONx.js +126 -0
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper.js +1 -1
- package/development/stepper.pure.js +1 -1
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/teaser-hero.component-De621iKn.js +100 -0
- package/development/teaser-hero.js +1 -1
- package/development/teaser-hero.pure.js +1 -1
- package/development/teaser-panel/teaser-panel.component.d.ts +19 -0
- package/development/teaser-panel/teaser-panel.component.d.ts.map +1 -0
- package/development/teaser-panel/teaser-panel.component.js +2 -0
- package/development/teaser-panel.component-CjSrfJYG.js +32 -0
- package/development/teaser-panel.d.ts +2 -0
- package/development/teaser-panel.d.ts.map +1 -0
- package/development/teaser-panel.js +9 -0
- package/development/teaser-panel.pure.d.ts +3 -0
- package/development/teaser-panel.pure.d.ts.map +1 -0
- package/development/teaser-panel.pure.js +2 -0
- package/development/teaser-product/common/teaser-product-common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/development/{teaser-product-common-DhbAGnQN.js → teaser-product-common-DasV_SDa.js} +1 -1
- package/development/{teaser-product.component-C3PZbA5W.js → teaser-product.component-CB6fOX7T.js} +1 -1
- package/development/teaser-product.js +2 -2
- package/development/teaser-product.pure.js +2 -2
- package/development/{teaser.component-BJso_6lz.js → teaser.component-DwM26tMt.js} +1 -1
- package/development/teaser.js +1 -1
- package/development/teaser.pure.js +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/{time-input.component-BWMBV6fm.js → time-input.component-x-QOtbwE.js} +1 -1
- package/development/time-input.js +1 -1
- package/development/time-input.pure.js +1 -1
- package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/development/{timetable-form-details.component-C8EdT4rZ.js → timetable-form-details.component-B7mwIQoz.js} +1 -1
- package/development/{timetable-form-field.component-CoANLGWk.js → timetable-form-field.component-BIpoMaJW.js} +1 -1
- package/development/{timetable-form-swap-button.component-_EUhzoww.js → timetable-form-swap-button.component-DM7UFhGh.js} +1 -1
- package/development/{timetable-form.component-DLjBbFRv.js → timetable-form.component-BBkeono7.js} +1 -1
- package/development/timetable-form.js +4 -4
- package/development/timetable-form.pure.js +4 -4
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/development/{timetable-occupancy-icon.component-DXFUx67a.js → timetable-occupancy-icon.component-CRayfWIo.js} +1 -1
- package/development/timetable-occupancy-icon.js +1 -1
- package/development/timetable-occupancy-icon.pure.js +1 -1
- package/development/{timetable-occupancy.component-By7X3Sj2.js → timetable-occupancy.component-D6BIvkpY.js} +1 -1
- package/development/timetable-occupancy.js +1 -1
- package/development/timetable-occupancy.pure.js +1 -1
- package/development/title/title-base.js +1 -1
- package/development/title/title.component.js +1 -1
- package/development/{title-base-Bc3biGfy.js → title-base-CWLTIRh_.js} +1 -1
- package/development/{title.component-B7rIqG0N.js → title.component-TCKohHBO.js} +2 -2
- package/development/title.js +2 -2
- package/development/title.pure.js +2 -2
- package/development/toast/toast.component.js +1 -1
- package/development/{toast.component-lPPTFudM.js → toast.component-CZL72aVO.js} +1 -1
- package/development/toast.js +1 -1
- package/development/toast.pure.js +1 -1
- package/development/toggle/toggle/toggle.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/toggle-check.component-LYr7DJj1.js +156 -0
- package/development/toggle-check.js +1 -1
- package/development/toggle-check.pure.js +1 -1
- package/development/{toggle-option.component-DscH6K3b.js → toggle-option.component-DRAJ11fp.js} +1 -1
- package/development/{toggle.component-Dap1d4rK.js → toggle.component-BeHHTgRh.js} +1 -1
- package/development/toggle.js +2 -2
- package/development/toggle.pure.js +2 -2
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/{tooltip.component-lvElko6C.js → tooltip.component-BV0yBh9f.js} +1 -1
- package/development/tooltip.js +1 -1
- package/development/tooltip.pure.js +1 -1
- package/development/train/train/train.component.js +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/development/train/train-formation/train-formation.component.js +1 -1
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/{train-blocked-passage.component-C6XmqBo_.js → train-blocked-passage.component-Bh2dR1gn.js} +1 -1
- package/development/{train-formation.component-BoQcwy6n.js → train-formation.component-Dm0t9N_h.js} +1 -1
- package/development/{train-wagon.component-zQVbqhIL.js → train-wagon.component-X0XSMLK_.js} +1 -1
- package/development/{train.component-D5Z4vgej.js → train.component-BvbNBkZF.js} +1 -1
- package/development/train.js +4 -4
- package/development/train.pure.js +4 -4
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/development/{visual-checkbox.component-jRksxrOu.js → visual-checkbox.component-DJ30EugM.js} +1 -1
- package/development/visual-checkbox.js +1 -1
- package/development/visual-checkbox.pure.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/{form-field.component-D8qiPCgJ.js → form-field.component-DbV7fMoe.js} +1 -1
- package/form-field.js +1 -1
- package/form-field.pure.js +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/link/common/block-link-common.js +1 -1
- package/link.js +1 -1
- package/link.pure.js +1 -1
- package/off-brand-theme.css +38 -0
- package/package.json +12 -2
- package/safety-theme.css +38 -0
- package/slider/slider.component.js +1 -1
- package/{slider.component-B3V7sjSF.js → slider.component-DfMkuXac.js} +1 -1
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/standard-theme.css +38 -0
- package/step-label.component-CbtQ7MvH.js +77 -0
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper.js +1 -1
- package/stepper.pure.js +1 -1
- package/teaser/teaser.component.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/teaser-hero.component-BUhWjc2i.js +80 -0
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/teaser-panel/teaser-panel.component.js +2 -0
- package/teaser-panel.component-C4auDYCc.js +21 -0
- package/teaser-panel.js +6 -0
- package/teaser-panel.pure.js +2 -0
- package/teaser-product/common/teaser-product-common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product.js +2 -2
- package/teaser-product.pure.js +2 -2
- package/teaser.js +1 -1
- package/teaser.pure.js +1 -1
- package/time-input/time-input.component.js +1 -1
- package/time-input.js +1 -1
- package/time-input.pure.js +1 -1
- package/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/timetable-form.js +4 -4
- package/timetable-form.pure.js +4 -4
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/timetable-occupancy-icon.js +1 -1
- package/timetable-occupancy-icon.pure.js +1 -1
- package/timetable-occupancy.js +1 -1
- package/timetable-occupancy.pure.js +1 -1
- package/title/title-base.js +1 -1
- package/title/title.component.js +1 -1
- package/{title.component-7zqQqbRJ.js → title.component-CjDkG7gT.js} +1 -1
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/toast.component.js +1 -1
- package/toast.js +1 -1
- package/toast.pure.js +1 -1
- package/toggle/toggle/toggle.component.js +1 -1
- package/toggle/toggle-option/toggle-option.component.js +1 -1
- package/toggle-check/toggle-check.component.js +1 -1
- package/toggle-check.component-WVQ4NM-R.js +116 -0
- package/toggle-check.js +1 -1
- package/toggle-check.pure.js +1 -1
- package/toggle.js +2 -2
- package/toggle.pure.js +2 -2
- package/tooltip/tooltip.component.js +1 -1
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/train/train.component.js +1 -1
- package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/train/train-formation/train-formation.component.js +1 -1
- package/train/train-wagon/train-wagon.component.js +1 -1
- package/train.js +4 -4
- package/train.pure.js +4 -4
- package/visual-checkbox/visual-checkbox.component.js +1 -1
- package/visual-checkbox.js +1 -1
- package/visual-checkbox.pure.js +1 -1
- package/development/step-label.component-B7M9Yqyz.js +0 -126
- package/development/teaser-hero.component-7KeR7bPf.js +0 -101
- package/development/toggle-check.component-CuODx4cx.js +0 -156
- package/step-label.component-BXg13qOD.js +0 -77
- package/teaser-hero.component-CLuVP2ba.js +0 -81
- package/toggle-check.component-DkOBgRQM.js +0 -116
- /package/{teaser-product-common-B8NakRRV.js → teaser-product-common-Kz3ApcVE.js} +0 -0
- /package/{teaser-product.component-Dqapk40c.js → teaser-product.component-C7KoSqcP.js} +0 -0
- /package/{teaser.component-BaxumXCl.js → teaser.component-Bl_Myx2h.js} +0 -0
- /package/{time-input.component-N0DexLd9.js → time-input.component-BVoO7JLV.js} +0 -0
- /package/{timetable-form-details.component-CIY5ZAQJ.js → timetable-form-details.component-BQmF3WLu.js} +0 -0
- /package/{timetable-form-field.component-LuzgeDdh.js → timetable-form-field.component-DrQuTOJr.js} +0 -0
- /package/{timetable-form-swap-button.component-BT36u2L9.js → timetable-form-swap-button.component-C9dU9vDV.js} +0 -0
- /package/{timetable-form.component-YNDnJnkX.js → timetable-form.component-AbZF15Tg.js} +0 -0
- /package/{timetable-occupancy-icon.component-DPNwMhLs.js → timetable-occupancy-icon.component-B6pF-j0D.js} +0 -0
- /package/{timetable-occupancy.component-BbHtiw_F.js → timetable-occupancy.component-CLpJ-rjI.js} +0 -0
- /package/{title-base-Cbe4eNS1.js → title-base-HD0z6npS.js} +0 -0
- /package/{toast.component-ccBpQmCC.js → toast.component-DzsaWxPV.js} +0 -0
- /package/{toggle-option.component-BiyjKQB1.js → toggle-option.component-DeePQ-NW.js} +0 -0
- /package/{toggle.component-CVbRdQDM.js → toggle.component-D7X0E_hM.js} +0 -0
- /package/{tooltip.component-Do4V1jGd.js → tooltip.component-BCRFxBuV.js} +0 -0
- /package/{train-blocked-passage.component-EET0Kobk.js → train-blocked-passage.component-DIh8dbU9.js} +0 -0
- /package/{train-formation.component-B8IFJ_7b.js → train-formation.component-DS4EDwPY.js} +0 -0
- /package/{train-wagon.component-CLMLEf6I.js → train-wagon.component-CZiVPOaZ.js} +0 -0
- /package/{train.component-D_ysGCwu.js → train.component-DuFi_iBX.js} +0 -0
- /package/{visual-checkbox.component-CdqoYyEe.js → visual-checkbox.component-BsjmJgcn.js} +0 -0
|
@@ -5,7 +5,7 @@ import { SbbDisabledMixin, SbbElement, SbbFormAssociatedMixin, SbbReadonlyMixin,
|
|
|
5
5
|
import { SbbIconElement } from "./icon.pure.js";
|
|
6
6
|
import { ref } from "lit/directives/ref.js";
|
|
7
7
|
//#region src/elements/slider/slider.scss?inline
|
|
8
|
-
var slider_default = "@charset \"UTF-8\";\n:host {\n --_sbb-slider-value-fraction: 0;\n outline: none !important;\n display: inline-block;\n min-width: var(--sbb-slider-min-width);\n width: min(var(--sbb-slider-width), 100%);\n}\n\n:host(:disabled) {\n --sbb-slider-icon-color: var(--sbb-color-graphite);\n --sbb-slider-icon-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));\n --sbb-slider-knob-border-color: var(--sbb-border-color-5);\n --sbb-slider-knob-border-size: var(--sbb-border-width-2x);\n --sbb-slider-knob-border-style: dashed;\n}\n\n:host([readonly]) {\n --sbb-slider-icon-color: var(--sbb-color-5);\n --sbb-slider-knob-border-color: var(--sbb-slider-selected-line-disabled-color);\n}\n\n:host(:disabled),\n:host([readonly]) {\n --sbb-slider-line-color: var(--sbb-slider-line-disabled-color);\n --sbb-slider-selected-line-color: var(--sbb-slider-selected-line-disabled-color);\n}\n@media (forced-colors: active) {\n :host(:disabled),\n :host([readonly]) {\n --sbb-slider-icon-color: GrayText;\n --sbb-slider-selected-line-disabled-color: GrayText;\n --sbb-slider-line-disabled-color: GrayText;\n }\n}\n\n.sbb-slider__height-container {\n display: flex;\n flex-direction: column;\n}\n.sbb-slider__height-container::before {\n content: \"\";\n user-select: none;\n width: 0;\n height: 0;\n}\n\n.sbb-slider__wrapper {\n display: flex;\n gap: var(--sbb-slider-gap);\n padding-block: var(--sbb-slider-padding-block);\n color: var(--sbb-slider-icon-color);\n}\n\n.sbb-slider__container {\n position: relative;\n min-height: var(--sbb-size-icon-ui-small);\n flex-grow: 1;\n}\n\n.sbb-slider__range-input {\n position: absolute;\n width: 100%;\n inset: 0;\n opacity: 0;\n margin: 0;\n}\n\n.sbb-slider__line {\n position: absolute;\n top: 50%;\n
|
|
8
|
+
var slider_default = "@charset \"UTF-8\";\n:host {\n --_sbb-slider-value-fraction: 0;\n outline: none !important;\n display: inline-block;\n min-width: var(--sbb-slider-min-width);\n width: min(var(--sbb-slider-width), 100%);\n}\n\n:host(:disabled) {\n --sbb-slider-icon-color: var(--sbb-color-graphite);\n --sbb-slider-icon-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));\n --sbb-slider-knob-border-color: var(--sbb-border-color-5);\n --sbb-slider-knob-border-size: var(--sbb-border-width-2x);\n --sbb-slider-knob-border-style: dashed;\n}\n\n:host([readonly]) {\n --sbb-slider-icon-color: var(--sbb-color-5);\n --sbb-slider-knob-border-color: var(--sbb-slider-selected-line-disabled-color);\n}\n\n:host(:disabled),\n:host([readonly]) {\n --sbb-slider-line-color: var(--sbb-slider-line-disabled-color);\n --sbb-slider-selected-line-color: var(--sbb-slider-selected-line-disabled-color);\n}\n@media (forced-colors: active) {\n :host(:disabled),\n :host([readonly]) {\n --sbb-slider-icon-color: GrayText;\n --sbb-slider-selected-line-disabled-color: GrayText;\n --sbb-slider-line-disabled-color: GrayText;\n }\n}\n\n.sbb-slider__height-container {\n display: flex;\n flex-direction: column;\n}\n.sbb-slider__height-container::before {\n content: \"\";\n user-select: none;\n width: 0;\n height: 0;\n}\n\n.sbb-slider__wrapper {\n display: flex;\n gap: var(--sbb-slider-gap);\n padding-block: var(--sbb-slider-padding-block);\n color: var(--sbb-slider-icon-color);\n}\n\n.sbb-slider__container {\n position: relative;\n min-height: var(--sbb-size-icon-ui-small);\n flex-grow: 1;\n}\n\n.sbb-slider__range-input {\n position: absolute;\n width: 100%;\n inset: 0;\n opacity: 0;\n margin: 0;\n}\n\n.sbb-slider__line {\n position: absolute;\n top: 50%;\n translate: 0 -50%;\n height: var(--sbb-slider-line-height);\n width: 100%;\n background-color: var(--sbb-slider-line-color);\n border-radius: var(--sbb-slider-line-height);\n overflow: hidden;\n pointer-events: none;\n}\n\n.sbb-slider__selected-line {\n position: relative;\n height: 100%;\n background-color: var(--sbb-slider-selected-line-color);\n width: calc(var(--_sbb-slider-value-fraction) * 100%);\n}\n\n.sbb-slider__knob {\n position: absolute;\n top: 50%;\n translate: 0 -50%;\n box-shadow: var(--sbb-box-shadow-level-5-hard);\n width: var(--sbb-slider-knob-size);\n height: var(--sbb-slider-knob-size);\n inset-inline-start: calc(var(--_sbb-slider-value-fraction) * 100% - var(--sbb-slider-knob-size) * var(--_sbb-slider-value-fraction));\n transition-property: width, height;\n transition-duration: var(--sbb-disable-animation-duration, var(--sbb-animation-duration-1x));\n transition-timing-function: ease-in;\n background-color: var(--sbb-slider-knob-color);\n border: var(--sbb-slider-knob-border-size) var(--sbb-slider-knob-border-style) var(--sbb-slider-knob-border-color);\n border-radius: 50%;\n pointer-events: none;\n}\n:host(:focus-visible) .sbb-slider__knob {\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 --sbb-slider-knob-size: var(--sbb-slider-knob-size-active);\n}\n:host(:not(:is(:disabled, [readonly]))) .sbb-slider__range-input:active ~ .sbb-slider__knob {\n --sbb-slider-knob-size: var(--sbb-slider-knob-size-active);\n}";
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/elements/slider/slider.component.ts
|
|
11
11
|
/**
|
|
@@ -343,4 +343,4 @@ var SbbSliderElement = (() => {
|
|
|
343
343
|
//#endregion
|
|
344
344
|
export { SbbSliderElement as t };
|
|
345
345
|
|
|
346
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC1aQmRrYlplaS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvc2xpZGVyL3NsaWRlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb246IDA7XG5cbiAgLy8gVXNlICFpbXBvcnRhbnQgaGVyZSB0byBub3QgaW50ZXJmZXJlIHdpdGggRmlyZWZveCBmb2N1cyByaW5nIGRlZmluaXRpb25cbiAgLy8gd2hpY2ggYXBwZWFycyBpbiBub3JtYWxpemUgQ1NTIG9mIHNldmVyYWwgZnJhbWV3b3Jrcy5cbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNsaWRlci1taW4td2lkdGgpO1xuICB3aWR0aDogbWluKHZhcigtLXNiYi1zbGlkZXItd2lkdGgpLCAxMDAlKTtcbn1cblxuOmhvc3QoOmRpc2FibGVkKSB7XG4gIC0tc2JiLXNsaWRlci1pY29uLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSksIHZhcigtLXNiYi1jb2xvci1zbW9rZSkpO1xuICAtLXNiYi1zbGlkZXIta25vYi1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItNSk7XG4gIC0tc2JiLXNsaWRlci1rbm9iLWJvcmRlci1zaXplOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTJ4KTtcbiAgLS1zYmItc2xpZGVyLWtub2ItYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG5cbjpob3N0KFtyZWFkb25seV0pIHtcbiAgLS1zYmItc2xpZGVyLWljb24tY29sb3I6IHZhcigtLXNiYi1jb2xvci01KTtcbiAgLS1zYmItc2xpZGVyLWtub2ItYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItc2xpZGVyLXNlbGVjdGVkLWxpbmUtZGlzYWJsZWQtY29sb3IpO1xufVxuXG46aG9zdCg6ZGlzYWJsZWQpLFxuOmhvc3QoW3JlYWRvbmx5XSkge1xuICAtLXNiYi1zbGlkZXItbGluZS1jb2xvcjogdmFyKC0tc2JiLXNsaWRlci1saW5lLWRpc2FibGVkLWNvbG9yKTtcbiAgLS1zYmItc2xpZGVyLXNlbGVjdGVkLWxpbmUtY29sb3I6IHZhcigtLXNiYi1zbGlkZXItc2VsZWN0ZWQtbGluZS1kaXNhYmxlZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXNsaWRlci1pY29uLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi1zbGlkZXItc2VsZWN0ZWQtbGluZS1kaXNhYmxlZC1jb2xvcjogR3JheVRleHQ7XG4gICAgLS1zYmItc2xpZGVyLWxpbmUtZGlzYWJsZWQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbi5zYmItc2xpZGVyX19oZWlnaHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSBzYmIuemVyby13aWR0aC1zcGFjZTtcbn1cblxuLnNiYi1zbGlkZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNiYi1zbGlkZXItZ2FwKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNsaWRlci1wYWRkaW5nLWJsb2NrKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zbGlkZXItaWNvbi1jb2xvcik7XG59XG5cbi5zYmItc2xpZGVyX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5zYmItc2xpZGVyX19yYW5nZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGluc2V0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5zYmItc2xpZGVyX19saW5lIHtcbiAgQGluY2x1ZGUgc2JiLmFic29sdXRlLWNlbnRlci15O1xuXG4gIGhlaWdodDogdmFyKC0tc2JiLXNsaWRlci1saW5lLWhlaWdodCk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2xpZGVyLWxpbmUtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItc2xpZGVyLWxpbmUtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zYmItc2xpZGVyX19zZWxlY3RlZC1saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zbGlkZXItc2VsZWN0ZWQtbGluZS1jb2xvcik7XG4gIHdpZHRoOiBjYWxjKHZhcigtLV9zYmItc2xpZGVyLXZhbHVlLWZyYWN0aW9uKSAqIDEwMCUpO1xufVxuXG4uc2JiLXNsaWRlcl9fa25vYiB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteTtcblxuICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LWhhcmQpO1xuICB3aWR0aDogdmFyKC0tc2JiLXNsaWRlci1rbm9iLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zbGlkZXIta25vYi1zaXplKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgIGNhbGModmFyKC0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb24pICogMTAwJSkgLSB2YXIoLS1zYmItc2xpZGVyLWtub2Itc2l6ZSkgKlxuICAgICAgdmFyKC0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb24pXG4gICk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbiwgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0xeCkpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNsaWRlci1rbm9iLWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItc2xpZGVyLWtub2ItYm9yZGVyLXNpemUpIHZhcigtLXNiYi1zbGlkZXIta25vYi1ib3JkZXItc3R5bGUpXG4gICAgdmFyKC0tc2JiLXNsaWRlci1rbm9iLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgLS1zYmItc2xpZGVyLWtub2Itc2l6ZTogdmFyKC0tc2JiLXNsaWRlci1rbm9iLXNpemUtYWN0aXZlKTtcbiAgfVxuXG4gIC8vIHNsaWRlciBrbm9iIHJlc2l6ZSBvbiBjbGljayAoYWN0aXZlIC8gZm9jdXMpXG4gIDpob3N0KDpub3QoOmlzKDpkaXNhYmxlZCwgW3JlYWRvbmx5XSkpKSAuc2JiLXNsaWRlcl9fcmFuZ2UtaW5wdXQ6YWN0aXZlIH4gJiB7XG4gICAgLS1zYmItc2xpZGVyLWtub2Itc2l6ZTogdmFyKC0tc2JiLXNsaWRlci1rbm9iLXNpemUtYWN0aXZlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGZvcmNlVHlwZSxcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBob3N0QXR0cmlidXRlcyxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbiAgU2JiUmVhZG9ubHlNaXhpbixcbn0gZnJvbSAnLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uL2ljb24ucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NsaWRlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW5wdXQga25vYiB0aGF0IGNhbiBiZSBtb3ZlZCBpbiBhIHJhbmdlLlxuICpcbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0XG5AaG9zdEF0dHJpYnV0ZXMoe1xuICB0YWJpbmRleDogJzAnLFxufSlcbmNsYXNzIFNiYlNsaWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJSZWFkb25seU1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2xpZGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1NiYkljb25FbGVtZW50XTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3NsaWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LlxuICAgKiBJZiBubyB2YWx1ZSBpcyBwcm92aWRlZCwgZGVmYXVsdCBpcyB0aGUgbWlkZGxlIHBvaW50IGJldHdlZW4gbWluIGFuZCBtYXguXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2lzVmFsaWROdW1iZXIodmFsdWUpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2JvdW5kQmV0d2Vlbk1pbk1heCh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVZhbHVlTm93ID0gdGhpcy52YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/IHRoaXMuX2RlZmF1bHRWYWx1ZSgpO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogTnVtZXJpYyB2YWx1ZSBmb3IgdGhlIGlubmVyIEhUTUxJbnB1dEVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3ZhbHVlLWFzLW51bWJlcicsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNOdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU/LnRvU3RyaW5nKCkgPz8gbnVsbDtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlQXNOdW1iZXIoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBNaW5pbXVtIGFjY2VwdGFibGUgdmFsdWUgZm9yIHRoZSBpbm5lciBIVE1MSW5wdXRFbGVtZW50LiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG1pbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkTnVtYmVyKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21pbiA9IHZhbHVlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFWYWx1ZU1pbiA9IHRoaXMubWluO1xuICAgIGNvbnN0IGJvdW5kVmFsdWUgPSB0aGlzLl9ib3VuZEJldHdlZW5NaW5NYXgodGhpcy52YWx1ZSk7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IGJvdW5kVmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBib3VuZFZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IG1pbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9taW47XG4gIH1cbiAgcHJpdmF0ZSBfbWluOiBzdHJpbmcgPSAnMCc7XG5cbiAgLyoqIE1heGltdW0gYWNjZXB0YWJsZSB2YWx1ZSBmb3IgdGhlIGlubmVyIEhUTUxJbnB1dEVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbWF4KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWROdW1iZXIodmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbWF4ID0gdmFsdWU7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVZhbHVlTWF4ID0gdGhpcy5tYXg7XG4gICAgY29uc3QgYm91bmRWYWx1ZSA9IHRoaXMuX2JvdW5kQmV0d2Vlbk1pbk1heCh0aGlzLnZhbHVlKTtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gYm91bmRWYWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGJvdW5kVmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgbWF4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX21heDtcbiAgfVxuICBwcml2YXRlIF9tYXg6IHN0cmluZyA9ICcxMDAnO1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBpY29uIGF0IGNvbXBvbmVudCdzIHN0YXJ0LCB3aGljaCB3aWxsIGJlIGZvcndhcmQgdG8gdGhlIG5lc3RlZCBgc2JiLWljb25gLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc3RhcnQtaWNvbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIHN0YXJ0SWNvbjogc3RyaW5nID0gJyc7XG5cbiAgLyoqIE5hbWUgb2YgdGhlIGljb24gYXQgY29tcG9uZW50J3MgZW5kLCB3aGljaCB3aWxsIGJlIGZvcndhcmQgdG8gdGhlIG5lc3RlZCBgc2JiLWljb25gLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZW5kLWljb24nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBlbmRJY29uOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogRm9ybSB0eXBlIG9mIGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0ICdyYW5nZSdcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAncmFuZ2UnO1xuICB9XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaW5uZXIgSFRNTElucHV0RWxlbWVudCB3aXRoIHR5cGU9J3JhbmdlJy4gKi9cbiAgcHJpdmF0ZSBfcmFuZ2VJbnB1dCE6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5ZG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlYWRPbmx5JykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZWFkT25seSA9IEJvb2xlYW4odGhpcy5yZWFkT25seSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb24nLCB0aGlzLl92YWx1ZUZyYWN0aW9uKCkudG9TdHJpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlc2V0IHZhbHVlIGlzIHRoZSBhdHRyaWJ1dGUgdmFsdWUgKHRoZSBzZXR1cCB2YWx1ZSkuIElmIG5vdCBwcmVzZW50LCBjYWxjdWxhdGVzIHRoZSBkZWZhdWx0LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gdGhpcy5fZGVmYXVsdFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHN0YXRlIGFzIHN0cmluZyB8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogIElmIG5vIHZhbHVlIGlzIHByb3ZpZGVkLCBkZWZhdWx0IGlzIHRoZSBtaWRkbGUgcG9pbnQgYmV0d2VlbiBtaW4gYW5kIG1heFxuICAgKiAgKHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW5wdXQvcmFuZ2UjdmFsdWUpXG4gICAqL1xuICBwcml2YXRlIF9kZWZhdWx0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKCt0aGlzLm1pbiArICgrdGhpcy5tYXggLSArdGhpcy5taW4pIC8gMikudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWROdW1iZXIodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2YWx1ZSBpcyBzdHJpbmcge1xuICAgIHJldHVybiAhIXZhbHVlICYmICFpc05hTihOdW1iZXIodmFsdWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0cmFpbnMgdGhlIHZhbHVlIGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4XG4gICAqL1xuICBwcml2YXRlIF9ib3VuZEJldHdlZW5NaW5NYXgodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGgubWF4KCt0aGlzLm1pbiwgTWF0aC5taW4oK3RoaXMubWF4LCArdmFsdWUpKS50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVGcmFjdGlvbigpOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZUFzTnVtYmVyITtcbiAgICBjb25zdCBtaW4gPSArdGhpcy5taW47XG4gICAgY29uc3QgbWF4ID0gK3RoaXMubWF4O1xuXG4gICAgY29uc3QgbWF0aEZyYWN0aW9uOiBudW1iZXIgPSAodmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbik7XG4gICAgcmV0dXJuIGlzTmFOKG1hdGhGcmFjdGlvbikgPyAwIDogTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgbWF0aEZyYWN0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ1RhYicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnSG9tZScpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQudmFsdWUgPSB0aGlzLm1pbjtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VuZCcpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQudmFsdWUgPSB0aGlzLm1heDtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgdGhpcy5fcmFuZ2VJbnB1dC5zdGVwRG93bigpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQuc3RlcFVwKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdQYWdlRG93bicpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQuc3RlcERvd24oKCt0aGlzLm1heCAtICt0aGlzLm1pbikgLyAxMCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdQYWdlVXAnKSB7XG4gICAgICB0aGlzLl9yYW5nZUlucHV0LnN0ZXBVcCgoK3RoaXMubWF4IC0gK3RoaXMubWluKSAvIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFdlIGhhdmUgdG8gbWFudWFsbHkgZmlyZSBldmVudHMgYmVjYXVzZSBwcm9ncmFtbWF0aWMgY2hhbmdlcyBkb24ndCB0cmlnZ2VyIHRoZW1cbiAgICB0aGlzLl9yYW5nZUlucHV0LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pLFxuICAgICk7XG4gICAgdGhpcy5fcmFuZ2VJbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIC8qKiBFbWl0cyB0aGUgY2hhbmdlIGV2ZW50LiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAqIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkXG4gICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcblxuICAgIC8qKlxuICAgICAqIERlcHJlY2F0ZWQuIE1pcnJvcnMgY2hhbmdlIGV2ZW50IGZvciBSZWFjdC4gV2lsbCBiZSByZW1vdmVkIG9uY2UgUmVhY3QgcHJvcGVybHkgc3VwcG9ydHMgY2hhbmdlIGV2ZW50cy5cbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2RpZENoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2xpZGVyX19oZWlnaHQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2xpZGVyX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInByZWZpeFwiPlxuICAgICAgICAgICAgJHt0aGlzLnN0YXJ0SWNvbiA/IGh0bWxgPHNiYi1pY29uIG5hbWU9XCIke3RoaXMuc3RhcnRJY29ufVwiPjwvc2JiLWljb24+YCA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9zbG90PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2xpZGVyX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgbWluPSR7dGhpcy5taW59XG4gICAgICAgICAgICAgIG1heD0ke3RoaXMubWF4fVxuICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkIHx8IHRoaXMucmVhZE9ubHl9XG4gICAgICAgICAgICAgIHZhbHVlPSR7dGhpcy52YWx1ZSB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1zbGlkZXJfX3JhbmdlLWlucHV0XCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgICAgICAgQGNoYW5nZT0keygpID0+IHRoaXMuX2Rpc3BhdGNoQ2hhbmdlRXZlbnQoKX1cbiAgICAgICAgICAgICAgQGlucHV0PSR7KCkgPT4gKHRoaXMudmFsdWUgPSB0aGlzLl9yYW5nZUlucHV0LnZhbHVlKX1cbiAgICAgICAgICAgICAgJHtyZWYoKGlucHV0PzogRWxlbWVudCkgPT4gKHRoaXMuX3JhbmdlSW5wdXQgPSBpbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50KSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zbGlkZXJfX2xpbmVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zbGlkZXJfX3NlbGVjdGVkLWxpbmVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zbGlkZXJfX2tub2JcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3VmZml4XCI+XG4gICAgICAgICAgICAke3RoaXMuZW5kSWNvbiA/IGh0bWxgPHNiYi1pY29uIG5hbWU9XCIke3RoaXMuZW5kSWNvbn1cIj48L3NiYi1pY29uPmAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2xpZGVyJzogU2JiU2xpZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQ3NDTSwwQkFBZ0I7eUJBSHJCLGVBQWUsRUFDZCxVQUFVLEtBQ1gsQ0FBQyxDQUFBOzs7O21CQUM2QixpQkFDN0IsaUJBQWlCLHVCQUF1QixXQUFXLENBQUMsQ0FDckQ7Ozs7Ozs7Ozs7OztzQ0FGOEIsWUFFOUI7Ozs7Ozs0QkFhRSxVQUFVLENBQUE7b0NBZVYsU0FBUztJQUFFLFdBQVc7SUFBbUIsTUFBTTtJQUFRLENBQUMsQ0FBQTswQkFTeEQsVUFBVSxDQUFB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
|
|
346
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC1DWHJHSXBraC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvc2xpZGVyL3NsaWRlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb246IDA7XG5cbiAgLy8gVXNlICFpbXBvcnRhbnQgaGVyZSB0byBub3QgaW50ZXJmZXJlIHdpdGggRmlyZWZveCBmb2N1cyByaW5nIGRlZmluaXRpb25cbiAgLy8gd2hpY2ggYXBwZWFycyBpbiBub3JtYWxpemUgQ1NTIG9mIHNldmVyYWwgZnJhbWV3b3Jrcy5cbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNsaWRlci1taW4td2lkdGgpO1xuICB3aWR0aDogbWluKHZhcigtLXNiYi1zbGlkZXItd2lkdGgpLCAxMDAlKTtcbn1cblxuOmhvc3QoOmRpc2FibGVkKSB7XG4gIC0tc2JiLXNsaWRlci1pY29uLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSksIHZhcigtLXNiYi1jb2xvci1zbW9rZSkpO1xuICAtLXNiYi1zbGlkZXIta25vYi1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItNSk7XG4gIC0tc2JiLXNsaWRlci1rbm9iLWJvcmRlci1zaXplOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTJ4KTtcbiAgLS1zYmItc2xpZGVyLWtub2ItYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG5cbjpob3N0KFtyZWFkb25seV0pIHtcbiAgLS1zYmItc2xpZGVyLWljb24tY29sb3I6IHZhcigtLXNiYi1jb2xvci01KTtcbiAgLS1zYmItc2xpZGVyLWtub2ItYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItc2xpZGVyLXNlbGVjdGVkLWxpbmUtZGlzYWJsZWQtY29sb3IpO1xufVxuXG46aG9zdCg6ZGlzYWJsZWQpLFxuOmhvc3QoW3JlYWRvbmx5XSkge1xuICAtLXNiYi1zbGlkZXItbGluZS1jb2xvcjogdmFyKC0tc2JiLXNsaWRlci1saW5lLWRpc2FibGVkLWNvbG9yKTtcbiAgLS1zYmItc2xpZGVyLXNlbGVjdGVkLWxpbmUtY29sb3I6IHZhcigtLXNiYi1zbGlkZXItc2VsZWN0ZWQtbGluZS1kaXNhYmxlZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXNsaWRlci1pY29uLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi1zbGlkZXItc2VsZWN0ZWQtbGluZS1kaXNhYmxlZC1jb2xvcjogR3JheVRleHQ7XG4gICAgLS1zYmItc2xpZGVyLWxpbmUtZGlzYWJsZWQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbi5zYmItc2xpZGVyX19oZWlnaHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSBzYmIuemVyby13aWR0aC1zcGFjZTtcbn1cblxuLnNiYi1zbGlkZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNiYi1zbGlkZXItZ2FwKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNsaWRlci1wYWRkaW5nLWJsb2NrKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zbGlkZXItaWNvbi1jb2xvcik7XG59XG5cbi5zYmItc2xpZGVyX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5zYmItc2xpZGVyX19yYW5nZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGluc2V0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5zYmItc2xpZGVyX19saW5lIHtcbiAgQGluY2x1ZGUgc2JiLmFic29sdXRlLWNlbnRlci15O1xuXG4gIGhlaWdodDogdmFyKC0tc2JiLXNsaWRlci1saW5lLWhlaWdodCk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2xpZGVyLWxpbmUtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItc2xpZGVyLWxpbmUtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zYmItc2xpZGVyX19zZWxlY3RlZC1saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zbGlkZXItc2VsZWN0ZWQtbGluZS1jb2xvcik7XG4gIHdpZHRoOiBjYWxjKHZhcigtLV9zYmItc2xpZGVyLXZhbHVlLWZyYWN0aW9uKSAqIDEwMCUpO1xufVxuXG4uc2JiLXNsaWRlcl9fa25vYiB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteTtcblxuICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LWhhcmQpO1xuICB3aWR0aDogdmFyKC0tc2JiLXNsaWRlci1rbm9iLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zbGlkZXIta25vYi1zaXplKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgIGNhbGModmFyKC0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb24pICogMTAwJSkgLSB2YXIoLS1zYmItc2xpZGVyLWtub2Itc2l6ZSkgKlxuICAgICAgdmFyKC0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb24pXG4gICk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbiwgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0xeCkpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNsaWRlci1rbm9iLWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItc2xpZGVyLWtub2ItYm9yZGVyLXNpemUpIHZhcigtLXNiYi1zbGlkZXIta25vYi1ib3JkZXItc3R5bGUpXG4gICAgdmFyKC0tc2JiLXNsaWRlci1rbm9iLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgLS1zYmItc2xpZGVyLWtub2Itc2l6ZTogdmFyKC0tc2JiLXNsaWRlci1rbm9iLXNpemUtYWN0aXZlKTtcbiAgfVxuXG4gIC8vIHNsaWRlciBrbm9iIHJlc2l6ZSBvbiBjbGljayAoYWN0aXZlIC8gZm9jdXMpXG4gIDpob3N0KDpub3QoOmlzKDpkaXNhYmxlZCwgW3JlYWRvbmx5XSkpKSAuc2JiLXNsaWRlcl9fcmFuZ2UtaW5wdXQ6YWN0aXZlIH4gJiB7XG4gICAgLS1zYmItc2xpZGVyLWtub2Itc2l6ZTogdmFyKC0tc2JiLXNsaWRlci1rbm9iLXNpemUtYWN0aXZlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGZvcmNlVHlwZSxcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBob3N0QXR0cmlidXRlcyxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbiAgU2JiUmVhZG9ubHlNaXhpbixcbn0gZnJvbSAnLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uL2ljb24ucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NsaWRlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW5wdXQga25vYiB0aGF0IGNhbiBiZSBtb3ZlZCBpbiBhIHJhbmdlLlxuICpcbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0XG5AaG9zdEF0dHJpYnV0ZXMoe1xuICB0YWJpbmRleDogJzAnLFxufSlcbmNsYXNzIFNiYlNsaWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJSZWFkb25seU1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2xpZGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1NiYkljb25FbGVtZW50XTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3NsaWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LlxuICAgKiBJZiBubyB2YWx1ZSBpcyBwcm92aWRlZCwgZGVmYXVsdCBpcyB0aGUgbWlkZGxlIHBvaW50IGJldHdlZW4gbWluIGFuZCBtYXguXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2lzVmFsaWROdW1iZXIodmFsdWUpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2JvdW5kQmV0d2Vlbk1pbk1heCh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVZhbHVlTm93ID0gdGhpcy52YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/IHRoaXMuX2RlZmF1bHRWYWx1ZSgpO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogTnVtZXJpYyB2YWx1ZSBmb3IgdGhlIGlubmVyIEhUTUxJbnB1dEVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3ZhbHVlLWFzLW51bWJlcicsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNOdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU/LnRvU3RyaW5nKCkgPz8gbnVsbDtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlQXNOdW1iZXIoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBNaW5pbXVtIGFjY2VwdGFibGUgdmFsdWUgZm9yIHRoZSBpbm5lciBIVE1MSW5wdXRFbGVtZW50LiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG1pbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkTnVtYmVyKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21pbiA9IHZhbHVlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFWYWx1ZU1pbiA9IHRoaXMubWluO1xuICAgIGNvbnN0IGJvdW5kVmFsdWUgPSB0aGlzLl9ib3VuZEJldHdlZW5NaW5NYXgodGhpcy52YWx1ZSk7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IGJvdW5kVmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBib3VuZFZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IG1pbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9taW47XG4gIH1cbiAgcHJpdmF0ZSBfbWluOiBzdHJpbmcgPSAnMCc7XG5cbiAgLyoqIE1heGltdW0gYWNjZXB0YWJsZSB2YWx1ZSBmb3IgdGhlIGlubmVyIEhUTUxJbnB1dEVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbWF4KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWROdW1iZXIodmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbWF4ID0gdmFsdWU7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVZhbHVlTWF4ID0gdGhpcy5tYXg7XG4gICAgY29uc3QgYm91bmRWYWx1ZSA9IHRoaXMuX2JvdW5kQmV0d2Vlbk1pbk1heCh0aGlzLnZhbHVlKTtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gYm91bmRWYWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGJvdW5kVmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgbWF4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX21heDtcbiAgfVxuICBwcml2YXRlIF9tYXg6IHN0cmluZyA9ICcxMDAnO1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBpY29uIGF0IGNvbXBvbmVudCdzIHN0YXJ0LCB3aGljaCB3aWxsIGJlIGZvcndhcmQgdG8gdGhlIG5lc3RlZCBgc2JiLWljb25gLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc3RhcnQtaWNvbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIHN0YXJ0SWNvbjogc3RyaW5nID0gJyc7XG5cbiAgLyoqIE5hbWUgb2YgdGhlIGljb24gYXQgY29tcG9uZW50J3MgZW5kLCB3aGljaCB3aWxsIGJlIGZvcndhcmQgdG8gdGhlIG5lc3RlZCBgc2JiLWljb25gLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZW5kLWljb24nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBlbmRJY29uOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogRm9ybSB0eXBlIG9mIGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0ICdyYW5nZSdcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAncmFuZ2UnO1xuICB9XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaW5uZXIgSFRNTElucHV0RWxlbWVudCB3aXRoIHR5cGU9J3JhbmdlJy4gKi9cbiAgcHJpdmF0ZSBfcmFuZ2VJbnB1dCE6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5ZG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlYWRPbmx5JykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZWFkT25seSA9IEJvb2xlYW4odGhpcy5yZWFkT25seSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tX3NiYi1zbGlkZXItdmFsdWUtZnJhY3Rpb24nLCB0aGlzLl92YWx1ZUZyYWN0aW9uKCkudG9TdHJpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlc2V0IHZhbHVlIGlzIHRoZSBhdHRyaWJ1dGUgdmFsdWUgKHRoZSBzZXR1cCB2YWx1ZSkuIElmIG5vdCBwcmVzZW50LCBjYWxjdWxhdGVzIHRoZSBkZWZhdWx0LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gdGhpcy5fZGVmYXVsdFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHN0YXRlIGFzIHN0cmluZyB8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogIElmIG5vIHZhbHVlIGlzIHByb3ZpZGVkLCBkZWZhdWx0IGlzIHRoZSBtaWRkbGUgcG9pbnQgYmV0d2VlbiBtaW4gYW5kIG1heFxuICAgKiAgKHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW5wdXQvcmFuZ2UjdmFsdWUpXG4gICAqL1xuICBwcml2YXRlIF9kZWZhdWx0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKCt0aGlzLm1pbiArICgrdGhpcy5tYXggLSArdGhpcy5taW4pIC8gMikudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWROdW1iZXIodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2YWx1ZSBpcyBzdHJpbmcge1xuICAgIHJldHVybiAhIXZhbHVlICYmICFpc05hTihOdW1iZXIodmFsdWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0cmFpbnMgdGhlIHZhbHVlIGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4XG4gICAqL1xuICBwcml2YXRlIF9ib3VuZEJldHdlZW5NaW5NYXgodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGgubWF4KCt0aGlzLm1pbiwgTWF0aC5taW4oK3RoaXMubWF4LCArdmFsdWUpKS50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVGcmFjdGlvbigpOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZUFzTnVtYmVyITtcbiAgICBjb25zdCBtaW4gPSArdGhpcy5taW47XG4gICAgY29uc3QgbWF4ID0gK3RoaXMubWF4O1xuXG4gICAgY29uc3QgbWF0aEZyYWN0aW9uOiBudW1iZXIgPSAodmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbik7XG4gICAgcmV0dXJuIGlzTmFOKG1hdGhGcmFjdGlvbikgPyAwIDogTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgbWF0aEZyYWN0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJ1RhYicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnSG9tZScpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQudmFsdWUgPSB0aGlzLm1pbjtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VuZCcpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQudmFsdWUgPSB0aGlzLm1heDtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgdGhpcy5fcmFuZ2VJbnB1dC5zdGVwRG93bigpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQuc3RlcFVwKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdQYWdlRG93bicpIHtcbiAgICAgIHRoaXMuX3JhbmdlSW5wdXQuc3RlcERvd24oKCt0aGlzLm1heCAtICt0aGlzLm1pbikgLyAxMCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdQYWdlVXAnKSB7XG4gICAgICB0aGlzLl9yYW5nZUlucHV0LnN0ZXBVcCgoK3RoaXMubWF4IC0gK3RoaXMubWluKSAvIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFdlIGhhdmUgdG8gbWFudWFsbHkgZmlyZSBldmVudHMgYmVjYXVzZSBwcm9ncmFtbWF0aWMgY2hhbmdlcyBkb24ndCB0cmlnZ2VyIHRoZW1cbiAgICB0aGlzLl9yYW5nZUlucHV0LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pLFxuICAgICk7XG4gICAgdGhpcy5fcmFuZ2VJbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIC8qKiBFbWl0cyB0aGUgY2hhbmdlIGV2ZW50LiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAqIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkXG4gICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcblxuICAgIC8qKlxuICAgICAqIERlcHJlY2F0ZWQuIE1pcnJvcnMgY2hhbmdlIGV2ZW50IGZvciBSZWFjdC4gV2lsbCBiZSByZW1vdmVkIG9uY2UgUmVhY3QgcHJvcGVybHkgc3VwcG9ydHMgY2hhbmdlIGV2ZW50cy5cbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2RpZENoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2xpZGVyX19oZWlnaHQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2xpZGVyX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInByZWZpeFwiPlxuICAgICAgICAgICAgJHt0aGlzLnN0YXJ0SWNvbiA/IGh0bWxgPHNiYi1pY29uIG5hbWU9XCIke3RoaXMuc3RhcnRJY29ufVwiPjwvc2JiLWljb24+YCA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9zbG90PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2xpZGVyX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgbWluPSR7dGhpcy5taW59XG4gICAgICAgICAgICAgIG1heD0ke3RoaXMubWF4fVxuICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkIHx8IHRoaXMucmVhZE9ubHl9XG4gICAgICAgICAgICAgIHZhbHVlPSR7dGhpcy52YWx1ZSB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1zbGlkZXJfX3JhbmdlLWlucHV0XCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgICAgICAgQGNoYW5nZT0keygpID0+IHRoaXMuX2Rpc3BhdGNoQ2hhbmdlRXZlbnQoKX1cbiAgICAgICAgICAgICAgQGlucHV0PSR7KCkgPT4gKHRoaXMudmFsdWUgPSB0aGlzLl9yYW5nZUlucHV0LnZhbHVlKX1cbiAgICAgICAgICAgICAgJHtyZWYoKGlucHV0PzogRWxlbWVudCkgPT4gKHRoaXMuX3JhbmdlSW5wdXQgPSBpbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50KSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zbGlkZXJfX2xpbmVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zbGlkZXJfX3NlbGVjdGVkLWxpbmVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zbGlkZXJfX2tub2JcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3VmZml4XCI+XG4gICAgICAgICAgICAke3RoaXMuZW5kSWNvbiA/IGh0bWxgPHNiYi1pY29uIG5hbWU9XCIke3RoaXMuZW5kSWNvbn1cIj48L3NiYi1pY29uPmAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2xpZGVyJzogU2JiU2xpZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQ3NDTSwwQkFBZ0I7eUJBSHJCLGVBQWUsRUFDZCxVQUFVLEtBQ1gsQ0FBQyxDQUFBOzs7O21CQUM2QixpQkFDN0IsaUJBQWlCLHVCQUF1QixXQUFXLENBQUMsQ0FDckQ7Ozs7Ozs7Ozs7OztzQ0FGOEIsWUFFOUI7Ozs7Ozs0QkFhRSxVQUFVLENBQUE7b0NBZVYsU0FBUztJQUFFLFdBQVc7SUFBbUIsTUFBTTtJQUFRLENBQUMsQ0FBQTswQkFTeEQsVUFBVSxDQUFB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
|
package/development/slider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbSliderElement } from "./slider.component-
|
|
1
|
+
import { t as SbbSliderElement } from "./slider.component-CXrGIpkh.js";
|
|
2
2
|
export { SbbSliderElement };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { html, unsafeCSS } from "lit";
|
|
2
|
+
import { SbbButtonBaseElement, SbbDisabledMixin, SbbPropertyWatcherController, appendAriaElements, boxSizingStyles, removeAriaElements } from "./core.js";
|
|
3
|
+
import { SbbIconNameMixin } from "./icon.pure.js";
|
|
4
|
+
//#region src/elements/stepper/step-label/step-label.scss?inline
|
|
5
|
+
var step_label_default = ":host {\n --sbb-step-label-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-m);\n --_sbb-step-label-inset-inline-start: calc(var(--sbb-step-label-prefix-size) / 2);\n --_sbb-step-label-translate-y: calc(\n -50% + var(--sbb-step-label-translate-y-content-hover, 0rem)\n );\n --_sbb-step-label-prefix-inset-block-start: calc(\n 1em * (var(--sbb-typo-line-height-text) / 2) + (var(--sbb-border-width-1x) / 2) -\n (var(--sbb-step-label-prefix-size) / 2)\n );\n position: relative;\n display: flex;\n min-width: 0;\n max-width: fit-content;\n gap: var(--sbb-step-label-gap);\n cursor: var(--sbb-step-label-cursor);\n color: var(--sbb-step-label-color);\n font-size: var(--sbb-step-label-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n:host::before {\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n font-size: var(--sbb-text-font-size-xxs);\n font-weight: var(--sbb-step-label-font-weight-selected, normal);\n inset-block-start: var(--_sbb-step-label-inset-block-start);\n inset-inline-start: var(--_sbb-step-label-inset-inline-start);\n line-height: 1;\n z-index: 1;\n translate: -50% var(--_sbb-step-label-translate-y);\n transition: translate var(--sbb-step-label-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: var(--sbb-color-3);\n --sbb-step-label-font-weight-selected: bold;\n}\n@media (forced-colors: active) {\n :host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: Highlight !important;\n }\n}\n\n:host(:is(:state(size-s),[state--size-s])) {\n --sbb-step-label-gap: var(--sbb-spacing-fixed-3x);\n --sbb-step-label-prefix-size: var(--sbb-size-element-xxxs);\n --sbb-step-label-font-size: var(--sbb-text-font-size-m);\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-s);\n}\n\n:host(:disabled) {\n --sbb-step-label-color: var(--sbb-color-granite);\n --sbb-step-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));\n --sbb-step-label-prefix-border-style: dashed;\n}\n@media (forced-colors: active) {\n :host(:disabled) {\n --sbb-step-label-color: GrayText !important;\n }\n}\n\n@media (any-hover: hover) {\n :host(:hover:not(:disabled)) {\n --sbb-step-label-cursor: var(--sbb-cursor-pointer);\n --sbb-step-label-prefix-background-color: var(--sbb-background-color-3);\n --sbb-step-label-translate-y-content-hover: -0.0625rem;\n --sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1);\n }\n}\n\n:host(: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-border-radius-1x);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical])) {\n transition: margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical]):not(:first-of-type)) {\n margin-block-start: var(--sbb-spacing-fixed-6x);\n}\n\n:host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) {\n margin-block-end: var(--sbb-spacing-fixed-8x);\n}\n\n.sbb-step-label__prefix {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--sbb-step-label-prefix-size);\n height: var(--sbb-step-label-prefix-size);\n inset-block-start: var(--_sbb-step-label-prefix-inset-block-start);\n}\n.sbb-step-label__prefix::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));\n border-radius: var(--sbb-border-radius-infinity);\n border: var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);\n background-color: var(--sbb-step-label-prefix-background-color);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, inset;\n}\n\n.sbb-step-label__text {\n font-weight: bold;\n}\n:host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) .sbb-step-label__text {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n::slotted(sbb-icon),\nsbb-icon {\n z-index: 1;\n background-color: var(--sbb-step-label-prefix-background-color);\n border-radius: var(--sbb-border-radius-infinity);\n translate: 0 var(--sbb-step-label-translate-y-content-hover, 0rem);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, translate;\n}";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/elements/stepper/step-label/step-label.component.ts
|
|
8
|
+
/**
|
|
9
|
+
* Combined with a `sbb-stepper`, it displays a step's label.
|
|
10
|
+
*
|
|
11
|
+
* @slot - Use the unnamed slot to provide a label.
|
|
12
|
+
* @slot icon - Use this to display an icon in the label bubble.
|
|
13
|
+
*/
|
|
14
|
+
var SbbStepLabelElement = class extends SbbIconNameMixin(SbbDisabledMixin(SbbButtonBaseElement)) {
|
|
15
|
+
static {
|
|
16
|
+
this.elementName = "sbb-step-label";
|
|
17
|
+
}
|
|
18
|
+
static {
|
|
19
|
+
this.role = "tab";
|
|
20
|
+
}
|
|
21
|
+
static {
|
|
22
|
+
this.styles = [boxSizingStyles, unsafeCSS(step_label_default)];
|
|
23
|
+
}
|
|
24
|
+
/** The step controlled by the label. */
|
|
25
|
+
get step() {
|
|
26
|
+
return this._step;
|
|
27
|
+
}
|
|
28
|
+
get stepper() {
|
|
29
|
+
return this.closest("sbb-stepper");
|
|
30
|
+
}
|
|
31
|
+
set disabled(value) {
|
|
32
|
+
super.disabled = value;
|
|
33
|
+
this.toggleState("user-disabled", value);
|
|
34
|
+
}
|
|
35
|
+
get disabled() {
|
|
36
|
+
return super.disabled;
|
|
37
|
+
}
|
|
38
|
+
constructor() {
|
|
39
|
+
super();
|
|
40
|
+
this._step = null;
|
|
41
|
+
this.addEventListener?.("click", () => {
|
|
42
|
+
const stepper = this.stepper;
|
|
43
|
+
if (stepper && this.step && this._isNotDeactivatedByLinearMode(this.step)) stepper.selected = this.step;
|
|
44
|
+
});
|
|
45
|
+
this.addController(new SbbPropertyWatcherController(this, () => this.stepper, {
|
|
46
|
+
orientation: (s) => {
|
|
47
|
+
if (this._previousOrientation) this.internals.states.delete(`orientation-${this._previousOrientation}`);
|
|
48
|
+
this._previousOrientation = s.orientation;
|
|
49
|
+
if (this._previousOrientation) this.internals.states.add(`orientation-${this._previousOrientation}`);
|
|
50
|
+
},
|
|
51
|
+
size: (s) => {
|
|
52
|
+
if (this._previousSize) this.internals.states.delete(`size-${this._previousSize}`);
|
|
53
|
+
this._previousSize = s.size;
|
|
54
|
+
if (this._previousSize) this.internals.states.add(`size-${this._previousSize}`);
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
_isNotDeactivatedByLinearMode(step) {
|
|
59
|
+
const stepper = this.stepper;
|
|
60
|
+
if (stepper?.linear && stepper.selectedIndex !== null) {
|
|
61
|
+
const index = stepper.steps.indexOf(step);
|
|
62
|
+
return index < stepper.selectedIndex || index === stepper.selectedIndex + 1;
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
connectedCallback() {
|
|
67
|
+
super.connectedCallback();
|
|
68
|
+
this.slot ||= "step-label";
|
|
69
|
+
this.internals.ariaSelected = "false";
|
|
70
|
+
this.tabIndex = -1;
|
|
71
|
+
this._assignStep();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Selects and configures the step label.
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
select() {
|
|
78
|
+
this.tabIndex = 0;
|
|
79
|
+
this.internals.ariaSelected = "true";
|
|
80
|
+
this.internals.states.add("selected");
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Deselects and configures the step label.
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
deselect() {
|
|
87
|
+
this.tabIndex = -1;
|
|
88
|
+
this.internals.ariaSelected = "false";
|
|
89
|
+
this.internals.states.delete("selected");
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Configures the step label.
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
configure(posInSet, setSize, stepperLoaded) {
|
|
96
|
+
if (stepperLoaded) this._assignStep();
|
|
97
|
+
this.internals.ariaPosInSet = `${posInSet}`;
|
|
98
|
+
this.internals.ariaSetSize = `${setSize}`;
|
|
99
|
+
}
|
|
100
|
+
_assignStep() {
|
|
101
|
+
let nextSibling = this.nextElementSibling;
|
|
102
|
+
while (nextSibling && nextSibling.localName !== "sbb-step") nextSibling = nextSibling.nextElementSibling;
|
|
103
|
+
const value = nextSibling;
|
|
104
|
+
this.internals.ariaControlsElements = removeAriaElements(this.internals.ariaControlsElements, this._step);
|
|
105
|
+
this._step = value instanceof Element ? value : null;
|
|
106
|
+
this.internals.ariaControlsElements = appendAriaElements(this.internals.ariaControlsElements, this._step);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @internal
|
|
110
|
+
* Disables the step label and avoids setting the `disabled` state to preserve the initial
|
|
111
|
+
* disabled state in case of switching between linear and non-linear mode.
|
|
112
|
+
*/
|
|
113
|
+
disable(value) {
|
|
114
|
+
super.disabled = value;
|
|
115
|
+
}
|
|
116
|
+
render() {
|
|
117
|
+
return html`
|
|
118
|
+
<span class="sbb-step-label__prefix">${this.renderIconSlot()}</span>
|
|
119
|
+
<span class="sbb-step-label__text"><slot></slot></span>
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
//#endregion
|
|
124
|
+
export { SbbStepLabelElement as t };
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQtQlRYdWFPTnguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXk6IGNhbGMoXG4gICAgLTUwJSArIHZhcigtLXNiYi1zdGVwLWxhYmVsLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pXG4gICk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydDogY2FsYyhcbiAgICAxZW0gKiAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgLyAyKSArICh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAvIDIpIC1cbiAgICAgICh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKVxuICApO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBnYXA6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWdhcCk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzYmIuYWJzb2x1dGUtY2VudGVyLXgteTtcblxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXh4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWZvbnQtd2VpZ2h0LXNlbGVjdGVkLCBub3JtYWwpO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQpO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2xhdGU6IC01MCUgdmFyKC0tX3NiYi1zdGVwLWxhYmVsLXRyYW5zbGF0ZS15KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZm9udC13ZWlnaHQtc2VsZWN0ZWQ6IGJvbGQ7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtY29sb3I6IEhpZ2hsaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzaXplLXMpKSB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemU6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHh4cyk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1sYWJlbC1pbnNldC1ibG9jay1zdGFydC1zaXplLXMpO1xufVxuXG46aG9zdCg6ZGlzYWJsZWQpIHtcbiAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xuICAtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1ib3JkZXItc3R5bGU6IGRhc2hlZDtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogR3JheVRleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdCg6aG92ZXI6bm90KDpkaXNhYmxlZCkpIHtcbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXktY29udGVudC1ob3ZlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC0xKX07XG4gICAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZS1ncm93LWhvdmVyOiBjYWxjKHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpICogLTEpO1xuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLTF4KTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKSkge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG59XG5cbjpob3N0KDpzdGF0ZShvcmllbnRhdGlvbi12ZXJ0aWNhbCk6bm90KDpmaXJzdC1vZi10eXBlKSkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKTpzdGF0ZShvcmllbnRhdGlvbi12ZXJ0aWNhbCkpIHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtOHgpO1xufVxuXG4uc2JiLXN0ZXAtbGFiZWxfX3ByZWZpeCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc3RlcC1sYWJlbC1wcmVmaXgtaW5zZXQtYmxvY2stc3RhcnQpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiBjYWxjKHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplLWdyb3ctaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYm9yZGVyLXN0eWxlKVxuICAgICAgdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3IpO1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcC1sYWJlbF9fdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIDpob3N0KDpzdGF0ZShvcmllbnRhdGlvbi1ob3Jpem9udGFsKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xuICB9XG59XG5cbjo6c2xvdHRlZChzYmItaWNvbiksXG5zYmItaWNvbiB7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXktY29udGVudC1ob3ZlciwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDApfSk7XG4gIHRyYW5zaXRpb246IHtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNsYXRlO1xuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBhcHBlbmRBcmlhRWxlbWVudHMsXG4gIGJveFNpemluZ1N0eWxlcyxcbiAgcmVtb3ZlQXJpYUVsZW1lbnRzLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQgfSBmcm9tICcuLi9zdGVwL3N0ZXAuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcHBlckVsZW1lbnQgfSBmcm9tICcuLi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RlcC1sYWJlbC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItc3RlcHBlcmAsIGl0IGRpc3BsYXlzIGEgc3RlcCdzIGxhYmVsLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHRvIGRpc3BsYXkgYW4gaWNvbiBpbiB0aGUgbGFiZWwgYnViYmxlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcExhYmVsRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwLWxhYmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3RhYic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBUaGUgc3RlcCBjb250cm9sbGVkIGJ5IHRoZSBsYWJlbC4gKi9cbiAgcHVibGljIGdldCBzdGVwKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXA7XG4gIH1cbiAgcHJpdmF0ZSBfc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHN0ZXBwZXIoKTogU2JiU3RlcHBlckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItc3RlcHBlcicpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHN1cGVyLmRpc2FibGVkID0gdmFsdWU7XG5cbiAgICAvLyBXZSBhZGRpdGlvbmFsbHkga2VlcCB0cmFjayBvZiB0aGUgYGRpc2FibGVkYCBzdGF0ZSB0byBwcmVzZXJ2ZSB0aGUgdXNlciBjb25maWd1cmVkIGRpc2FibGVkIHN0YXRlXG4gICAgLy8gb2Ygc3RlcCBsYWJlbHMgaW4gY2FzZSBvZiBzd2l0Y2hpbmcgYmV0d2VlbiBsaW5lYXIgYW5kIG5vbi1saW5lYXIgbW9kZS5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd1c2VyLWRpc2FibGVkJywgdmFsdWUpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNPcmllbnRhdGlvbj86IHN0cmluZztcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RlcHBlciA9IHRoaXMuc3RlcHBlcjtcbiAgICAgIGlmIChzdGVwcGVyICYmIHRoaXMuc3RlcCAmJiB0aGlzLl9pc05vdERlYWN0aXZhdGVkQnlMaW5lYXJNb2RlKHRoaXMuc3RlcCkpIHtcbiAgICAgICAgc3RlcHBlci5zZWxlY3RlZCA9IHRoaXMuc3RlcDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLnN0ZXBwZXIsIHtcbiAgICAgICAgb3JpZW50YXRpb246IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYG9yaWVudGF0aW9uLSR7dGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbiA9IHMub3JpZW50YXRpb247XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYG9yaWVudGF0aW9uLSR7dGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTm90RGVhY3RpdmF0ZWRCeUxpbmVhck1vZGUoc3RlcDogU2JiU3RlcEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdGVwcGVyID0gdGhpcy5zdGVwcGVyO1xuICAgIGlmIChzdGVwcGVyPy5saW5lYXIgJiYgc3RlcHBlci5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHN0ZXBwZXIuc3RlcHMuaW5kZXhPZihzdGVwKTtcbiAgICAgIHJldHVybiBpbmRleCA8IHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCB8fCBpbmRleCA9PT0gc3RlcHBlci5zZWxlY3RlZEluZGV4ICsgMTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNsb3QgfHw9ICdzdGVwLWxhYmVsJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAnZmFsc2UnO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICB0aGlzLl9hc3NpZ25TdGVwKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9ICd0cnVlJztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdzZWxlY3RlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9ICdmYWxzZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHRoZSBzdGVwIGxhYmVsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjb25maWd1cmUocG9zSW5TZXQ6IG51bWJlciwgc2V0U2l6ZTogbnVtYmVyLCBzdGVwcGVyTG9hZGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHN0ZXBwZXJMb2FkZWQpIHtcbiAgICAgIHRoaXMuX2Fzc2lnblN0ZXAoKTtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVBvc0luU2V0ID0gYCR7cG9zSW5TZXR9YDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2V0U2l6ZSA9IGAke3NldFNpemV9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnblN0ZXAoKTogdm9pZCB7XG4gICAgbGV0IG5leHRTaWJsaW5nID0gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgd2hpbGUgKG5leHRTaWJsaW5nICYmIG5leHRTaWJsaW5nLmxvY2FsTmFtZSAhPT0gJ3NiYi1zdGVwJykge1xuICAgICAgbmV4dFNpYmxpbmcgPSBuZXh0U2libGluZy5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBuZXh0U2libGluZyBhcyBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSByZW1vdmVBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyxcbiAgICAgIHRoaXMuX3N0ZXAsXG4gICAgKTtcbiAgICB0aGlzLl9zdGVwID0gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50ID8gdmFsdWUgOiBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzID0gYXBwZW5kQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMsXG4gICAgICB0aGlzLl9zdGVwLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIERpc2FibGVzIHRoZSBzdGVwIGxhYmVsIGFuZCBhdm9pZHMgc2V0dGluZyB0aGUgYGRpc2FibGVkYCBzdGF0ZSB0byBwcmVzZXJ2ZSB0aGUgaW5pdGlhbFxuICAgKiBkaXNhYmxlZCBzdGF0ZSBpbiBjYXNlIG9mIHN3aXRjaGluZyBiZXR3ZWVuIGxpbmVhciBhbmQgbm9uLWxpbmVhciBtb2RlLlxuICAgKi9cbiAgcHVibGljIGRpc2FibGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBzdXBlci5kaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zdGVwLWxhYmVsX19wcmVmaXhcIj4ke3RoaXMucmVuZGVySWNvblNsb3QoKX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zdGVwLWxhYmVsX190ZXh0XCI+PHNsb3Q+PC9zbG90Pjwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcC1sYWJlbCc6IFNiYlN0ZXBMYWJlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQ3NCQSxJQUFhLHNCQUFiLGNBQXlDLGlCQUFpQixpQkFBaUIscUJBQXFCLENBQUMsQ0FBQTs7QUFDL0QsT0FBQSxjQUFzQjs7O0FBQ3RCLE9BQUEsT0FBTzs7O0FBQ2hCLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxtQkFBTSxDQUFDOzs7Q0FHbkYsSUFBVyxPQUFJO0FBQ2IsU0FBTyxLQUFLOztDQUlkLElBQVcsVUFBTztBQUNoQixTQUFPLEtBQUssUUFBUSxjQUFjOztDQUdwQyxJQUFvQixTQUFTLE9BQWM7QUFDekMsUUFBTSxXQUFXO0FBSWpCLE9BQUssWUFBWSxpQkFBaUIsTUFBTTs7Q0FFMUMsSUFBb0IsV0FBUTtBQUMxQixTQUFPLE1BQU07O0NBTWYsY0FBQTtBQUNFLFNBQU87QUFyQkQsT0FBQSxRQUErQjtBQXVCckMsT0FBSyxtQkFBbUIsZUFBYztHQUNwQyxNQUFNLFVBQVUsS0FBSztBQUNyQixPQUFJLFdBQVcsS0FBSyxRQUFRLEtBQUssOEJBQThCLEtBQUssS0FBSyxDQUN2RSxTQUFRLFdBQVcsS0FBSztJQUUxQjtBQUNGLE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssU0FBUztHQUN6RCxjQUFjLE1BQUs7QUFDakIsUUFBSSxLQUFLLHFCQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sZUFBZSxLQUFLLHVCQUF1QjtBQUUxRSxTQUFLLHVCQUF1QixFQUFFO0FBQzlCLFFBQUksS0FBSyxxQkFDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLGVBQWUsS0FBSyx1QkFBdUI7O0dBR3pFLE9BQU8sTUFBSztBQUNWLFFBQUksS0FBSyxjQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sUUFBUSxLQUFLLGdCQUFnQjtBQUU1RCxTQUFLLGdCQUFnQixFQUFFO0FBQ3ZCLFFBQUksS0FBSyxjQUNQLE1BQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGdCQUFnQjs7R0FHNUQsQ0FBQyxDQUNIOztDQUdLLDhCQUE4QixNQUFvQjtFQUN4RCxNQUFNLFVBQVUsS0FBSztBQUNyQixNQUFJLFNBQVMsVUFBVSxRQUFRLGtCQUFrQixNQUFNO0dBQ3JELE1BQU0sUUFBUSxRQUFRLE1BQU0sUUFBUSxLQUFLO0FBQ3pDLFVBQU8sUUFBUSxRQUFRLGlCQUFpQixVQUFVLFFBQVEsZ0JBQWdCOztBQUU1RSxTQUFPOztDQUdPLG9CQUFpQjtBQUMvQixRQUFNLG1CQUFtQjtBQUN6QixPQUFLLFNBQVM7QUFDZCxPQUFLLFVBQVUsZUFBZTtBQUM5QixPQUFLLFdBQVc7QUFDaEIsT0FBSyxhQUFhOzs7Ozs7Q0FPYixTQUFNO0FBQ1gsT0FBSyxXQUFXO0FBQ2hCLE9BQUssVUFBVSxlQUFlO0FBQzlCLE9BQUssVUFBVSxPQUFPLElBQUksV0FBVzs7Ozs7O0NBT2hDLFdBQVE7QUFDYixPQUFLLFdBQVc7QUFDaEIsT0FBSyxVQUFVLGVBQWU7QUFDOUIsT0FBSyxVQUFVLE9BQU8sT0FBTyxXQUFXOzs7Ozs7Q0FPbkMsVUFBVSxVQUFrQixTQUFpQixlQUFzQjtBQUN4RSxNQUFJLGNBQ0YsTUFBSyxhQUFhO0FBRXBCLE9BQUssVUFBVSxlQUFlLEdBQUc7QUFDakMsT0FBSyxVQUFVLGNBQWMsR0FBRzs7Q0FHMUIsY0FBVztFQUNqQixJQUFJLGNBQWMsS0FBSztBQUN2QixTQUFPLGVBQWUsWUFBWSxjQUFjLFdBQzlDLGVBQWMsWUFBWTtFQUc1QixNQUFNLFFBQVE7QUFDZCxPQUFLLFVBQVUsdUJBQXVCLG1CQUNwQyxLQUFLLFVBQVUsc0JBQ2YsS0FBSyxNQUNOO0FBQ0QsT0FBSyxRQUFRLGlCQUFpQixVQUFVLFFBQVE7QUFDaEQsT0FBSyxVQUFVLHVCQUF1QixtQkFDcEMsS0FBSyxVQUFVLHNCQUNmLEtBQUssTUFDTjs7Ozs7OztDQVFJLFFBQVEsT0FBYztBQUMzQixRQUFNLFdBQVc7O0NBR0EsU0FBTTtBQUN2QixTQUFPLElBQUk7NkNBQzhCLEtBQUssZ0JBQWdCLENBQUEifQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbStepLabelElement } from "../../step-label.component-
|
|
1
|
+
import { t as SbbStepLabelElement } from "../../step-label.component-BTXuaONx.js";
|
|
2
2
|
export { SbbStepLabelElement };
|
package/development/stepper.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbStepLabelElement } from "./step-label.component-
|
|
1
|
+
import { t as SbbStepLabelElement } from "./step-label.component-BTXuaONx.js";
|
|
2
2
|
import { t as SbbStepElement } from "./step.component-CVWxYkrv.js";
|
|
3
3
|
import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-BTwJttZt.js";
|
|
4
4
|
import "./stepper.pure.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SbbStepLabelElement } from "./step-label.component-
|
|
1
|
+
import { t as SbbStepLabelElement } from "./step-label.component-BTXuaONx.js";
|
|
2
2
|
import { t as SbbStepElement } from "./step.component-CVWxYkrv.js";
|
|
3
3
|
import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-BTwJttZt.js";
|
|
4
4
|
export { SbbStepChangeEvent, SbbStepElement, SbbStepLabelElement, SbbStepperElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTeaserElement } from "../teaser.component-
|
|
1
|
+
import { t as SbbTeaserElement } from "../teaser.component-DwM26tMt.js";
|
|
2
2
|
export { SbbTeaserElement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teaser-hero.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/teaser-hero/teaser-hero.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAI1E,OAAO,EAIL,KAAK,cAAc,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"teaser-hero.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/teaser-hero/teaser-hero.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAI1E,OAAO,EAIL,KAAK,cAAc,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAMpB;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,gBAAgC,WAAW,EAAE,MAAM,CAAqB;IACxE,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAG1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,uBAAuB;IACvB,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,OAAO,CAAC,iBAAiB;cAIN,cAAc,IAAI,cAAc;CAiBpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTeaserHeroElement } from "../teaser-hero.component-
|
|
1
|
+
import { t as SbbTeaserHeroElement } from "../teaser-hero.component-De621iKn.js";
|
|
2
2
|
export { SbbTeaserHeroElement };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { unsafeCSS } from "lit";
|
|
3
|
+
import { property } from "lit/decorators.js";
|
|
4
|
+
import { SbbLinkBaseElement, boxSizingStyles, forceType, omitEmptyConverter } from "./core.js";
|
|
5
|
+
import { html as html$1 } from "lit/static-html.js";
|
|
6
|
+
import { SbbBlockLinkStaticElement } from "./link.pure.js";
|
|
7
|
+
import { SbbTeaserPanelElement } from "./teaser-panel.pure.js";
|
|
8
|
+
//#region src/elements/teaser-hero/teaser-hero.scss?inline
|
|
9
|
+
var teaser_hero_default = ":host {\n --sbb-teaser-hero-link-font-weight: 400;\n display: block;\n position: relative;\n outline: none !important;\n}\n\n:host(:not(:is(:state(slotted),[state--slotted]), :is(:state(slotted-link-content),[state--slotted-link-content]), [link-content])) sbb-teaser-panel {\n display: none;\n}\n\n::slotted([slot=image]) {\n width: 100%;\n}\n\n.sbb-teaser-hero {\n display: block;\n text-decoration: none;\n}\n.sbb-teaser-hero: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}\n\nsbb-teaser-panel {\n position: absolute;\n}\n:host(:not(:is(:state(slotted-image),[state--slotted-image]))) sbb-teaser-panel {\n position: static;\n}\n\n.sbb-teaser-hero__panel-link {\n font-weight: var(--sbb-teaser-hero-link-font-weight);\n}\n:host(:not([href])) .sbb-teaser-hero__panel-link {\n display: none;\n}";
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/elements/teaser-hero/teaser-hero.component.ts
|
|
12
|
+
/**
|
|
13
|
+
* It displays an image and an action call within a panel.
|
|
14
|
+
*
|
|
15
|
+
* @slot - Use the unnamed slot to add text content to the panel
|
|
16
|
+
* @slot link-content - Link content of the panel
|
|
17
|
+
* @slot image - The background image that can be a `sbb-image`
|
|
18
|
+
* @slot chip - The `sbb-chip-label` component that will be displayed on top-left corner
|
|
19
|
+
*/
|
|
20
|
+
var SbbTeaserHeroElement = (() => {
|
|
21
|
+
let _classSuper = SbbLinkBaseElement;
|
|
22
|
+
let _linkContent_decorators;
|
|
23
|
+
let _linkContent_initializers = [];
|
|
24
|
+
let _linkContent_extraInitializers = [];
|
|
25
|
+
return class SbbTeaserHeroElement extends _classSuper {
|
|
26
|
+
static {
|
|
27
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
28
|
+
_linkContent_decorators = [forceType(), property({
|
|
29
|
+
attribute: "link-content",
|
|
30
|
+
reflect: true,
|
|
31
|
+
converter: omitEmptyConverter
|
|
32
|
+
})];
|
|
33
|
+
__esDecorate(this, null, _linkContent_decorators, {
|
|
34
|
+
kind: "accessor",
|
|
35
|
+
name: "linkContent",
|
|
36
|
+
static: false,
|
|
37
|
+
private: false,
|
|
38
|
+
access: {
|
|
39
|
+
has: (obj) => "linkContent" in obj,
|
|
40
|
+
get: (obj) => obj.linkContent,
|
|
41
|
+
set: (obj, value) => {
|
|
42
|
+
obj.linkContent = value;
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
metadata: _metadata
|
|
46
|
+
}, _linkContent_initializers, _linkContent_extraInitializers);
|
|
47
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
writable: true,
|
|
51
|
+
value: _metadata
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
static {
|
|
55
|
+
this.elementName = "sbb-teaser-hero";
|
|
56
|
+
}
|
|
57
|
+
static {
|
|
58
|
+
this.elementDependencies = [SbbBlockLinkStaticElement, SbbTeaserPanelElement];
|
|
59
|
+
}
|
|
60
|
+
static {
|
|
61
|
+
this.styles = [boxSizingStyles, unsafeCSS(teaser_hero_default)];
|
|
62
|
+
}
|
|
63
|
+
#linkContent_accessor_storage = __runInitializers(this, _linkContent_initializers, "");
|
|
64
|
+
/** Panel link text. */
|
|
65
|
+
get linkContent() {
|
|
66
|
+
return this.#linkContent_accessor_storage;
|
|
67
|
+
}
|
|
68
|
+
set linkContent(value) {
|
|
69
|
+
this.#linkContent_accessor_storage = value;
|
|
70
|
+
}
|
|
71
|
+
_imageSlotChanged() {
|
|
72
|
+
Array.from(this.querySelectorAll("sbb-chip-label")).forEach((c) => c.color = "charcoal");
|
|
73
|
+
}
|
|
74
|
+
renderTemplate() {
|
|
75
|
+
return html$1`
|
|
76
|
+
<slot name="image" @slotchange=${this._imageSlotChanged}></slot>
|
|
77
|
+
<sbb-teaser-panel>
|
|
78
|
+
<slot></slot>
|
|
79
|
+
<sbb-block-link-static
|
|
80
|
+
class="sbb-teaser-hero__panel-link"
|
|
81
|
+
icon-name="chevron-small-right-small"
|
|
82
|
+
icon-placement="end"
|
|
83
|
+
size="m"
|
|
84
|
+
negative
|
|
85
|
+
>
|
|
86
|
+
<slot name="link-content">${this.linkContent}</slot>
|
|
87
|
+
</sbb-block-link-static>
|
|
88
|
+
</sbb-teaser-panel>
|
|
89
|
+
`;
|
|
90
|
+
}
|
|
91
|
+
constructor() {
|
|
92
|
+
super(...arguments);
|
|
93
|
+
__runInitializers(this, _linkContent_extraInitializers);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
})();
|
|
97
|
+
//#endregion
|
|
98
|
+
export { SbbTeaserHeroElement as t };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLWhlcm8uY29tcG9uZW50LURlNjIxaUtuLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItaGVyby90ZWFzZXItaGVyby5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItaGVyby90ZWFzZXItaGVyby5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10ZWFzZXItaGVyby1saW5rLWZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEhpZGUgcGFuZWwgd2hlbiBubyBjb250ZW50IG9yIGxpbmstY29udGVudCBpcyBwcm92aWRlZC5cbjpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQpLCA6c3RhdGUoc2xvdHRlZC1saW5rLWNvbnRlbnQpLCBbbGluay1jb250ZW50XSkpIHNiYi10ZWFzZXItcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG46OnNsb3R0ZWQoW3Nsb3Q9J2ltYWdlJ10pIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zYmItdGVhc2VyLWhlcm8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG4gIH1cbn1cblxuc2JiLXRlYXNlci1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAvLyBUbyBhdm9pZCBoYXZpbmcgYSAwIGhlaWdodCBpZiB5b3Ugb25seSBzbG90dGVkIHRoZSBwYW5lbCBjb250ZW50XG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtaW1hZ2UpKSkgJiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4uc2JiLXRlYXNlci1oZXJvX19wYW5lbC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXNiYi10ZWFzZXItaGVyby1saW5rLWZvbnQtd2VpZ2h0KTtcblxuICA6aG9zdCg6bm90KFtocmVmXSkpICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGZvcmNlVHlwZSxcbiAgb21pdEVtcHR5Q29udmVydGVyLFxuICB0eXBlIFNiYkVsZW1lbnRUeXBlLFxuICBTYmJMaW5rQmFzZUVsZW1lbnQsXG59IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiQmxvY2tMaW5rU3RhdGljRWxlbWVudCB9IGZyb20gJy4uL2xpbmsucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJUZWFzZXJQYW5lbEVsZW1lbnQgfSBmcm9tICcuLi90ZWFzZXItcGFuZWwucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RlYXNlci1oZXJvLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbWFnZSBhbmQgYW4gYWN0aW9uIGNhbGwgd2l0aGluIGEgcGFuZWwuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgdGV4dCBjb250ZW50IHRvIHRoZSBwYW5lbFxuICogQHNsb3QgbGluay1jb250ZW50IC0gTGluayBjb250ZW50IG9mIHRoZSBwYW5lbFxuICogQHNsb3QgaW1hZ2UgLSBUaGUgYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNhbiBiZSBhIGBzYmItaW1hZ2VgXG4gKiBAc2xvdCBjaGlwIC0gVGhlIGBzYmItY2hpcC1sYWJlbGAgY29tcG9uZW50IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgb24gdG9wLWxlZnQgY29ybmVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUZWFzZXJIZXJvRWxlbWVudCBleHRlbmRzIFNiYkxpbmtCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGVhc2VyLWhlcm8nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiQmxvY2tMaW5rU3RhdGljRWxlbWVudCxcbiAgICBTYmJUZWFzZXJQYW5lbEVsZW1lbnQsXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBQYW5lbCBsaW5rIHRleHQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsaW5rLWNvbnRlbnQnLCByZWZsZWN0OiB0cnVlLCBjb252ZXJ0ZXI6IG9taXRFbXB0eUNvbnZlcnRlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGlua0NvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2ltYWdlU2xvdENoYW5nZWQoKTogdm9pZCB7XG4gICAgQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1jaGlwLWxhYmVsJykpLmZvckVhY2goKGMpID0+IChjLmNvbG9yID0gJ2NoYXJjb2FsJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faW1hZ2VTbG90Q2hhbmdlZH0+PC9zbG90PlxuICAgICAgPHNiYi10ZWFzZXItcGFuZWw+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPHNiYi1ibG9jay1saW5rLXN0YXRpY1xuICAgICAgICAgIGNsYXNzPVwic2JiLXRlYXNlci1oZXJvX19wYW5lbC1saW5rXCJcbiAgICAgICAgICBpY29uLW5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBpY29uLXBsYWNlbWVudD1cImVuZFwiXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgIG5lZ2F0aXZlXG4gICAgICAgID5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwibGluay1jb250ZW50XCI+JHt0aGlzLmxpbmtDb250ZW50fTwvc2xvdD5cbiAgICAgICAgPC9zYmItYmxvY2stbGluay1zdGF0aWM+XG4gICAgICA8L3NiYi10ZWFzZXItcGFuZWw+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRlYXNlci1oZXJvJzogU2JiVGVhc2VySGVyb0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3dCYSw4QkFBb0I7bUJBQVM7Ozs7Y0FBN0IsNkJBQTZCLFlBQWtCOzs7OEJBU3pELFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFnQixTQUFTO0lBQU0sV0FBVztJQUFvQixDQUFDLENBQUE7QUFDdEYsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBOzs7Ozs7Ozs7QUFWSyxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxzQkFBd0MsQ0FDN0QsMkJBQ0Esc0JBQ0Q7OztBQUNzQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsb0JBQU0sQ0FBQzs7RUFLbkYsZ0NBQUEsa0JBQUEsTUFBQSwyQkFBc0MsR0FBRTs7RUFBeEMsSUFBZ0IsY0FBVztBQUFBLFVBQUEsTUFBQTs7RUFBM0IsSUFBZ0IsWUFBVyxPQUFBO0FBQUEsU0FBQSwrQkFBQTs7RUFFbkIsb0JBQWlCO0FBQ3ZCLFNBQU0sS0FBSyxLQUFLLGlCQUFpQixpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsTUFBTyxFQUFFLFFBQVEsV0FBWTs7RUFHekUsaUJBQWM7QUFDL0IsVUFBTyxNQUFJO3VDQUN3QixLQUFLLGtCQUFpQjs7Ozs7Ozs7OztzQ0FVdkIsS0FBSyxZQUFXIn0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTeaserHeroElement } from "./teaser-hero.component-
|
|
1
|
+
import { t as SbbTeaserHeroElement } from "./teaser-hero.component-De621iKn.js";
|
|
2
2
|
export { SbbTeaserHeroElement };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CSSResultGroup, TemplateResult } from 'lit';
|
|
2
|
+
import { SbbElement } from '../core.ts';
|
|
3
|
+
/**
|
|
4
|
+
* It displays the content in a vertically centered trapezoidal shape.
|
|
5
|
+
* The component matches the parent element size and positions the panel accordingly.
|
|
6
|
+
*
|
|
7
|
+
* @slot - Use the unnamed slot to add text content to the panel
|
|
8
|
+
*/
|
|
9
|
+
export declare class SbbTeaserPanelElement extends SbbElement {
|
|
10
|
+
static readonly elementName: string;
|
|
11
|
+
static styles: CSSResultGroup;
|
|
12
|
+
protected render(): TemplateResult;
|
|
13
|
+
}
|
|
14
|
+
declare global {
|
|
15
|
+
interface HTMLElementTagNameMap {
|
|
16
|
+
'sbb-teaser-panel': SbbTeaserPanelElement;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=teaser-panel.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teaser-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/teaser-panel/teaser-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAG1E,OAAO,EAAmB,UAAU,EAAE,MAAM,YAAY,CAAC;AAIzD;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,gBAAgC,WAAW,EAAE,MAAM,CAAsB;IACzE,OAAuB,MAAM,EAAE,cAAc,CAAuC;cAEjE,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { unsafeCSS } from "lit";
|
|
2
|
+
import { SbbElement, boxSizingStyles } from "./core.js";
|
|
3
|
+
import { html as html$1 } from "lit/static-html.js";
|
|
4
|
+
//#region src/elements/teaser-panel/teaser-panel.scss?inline
|
|
5
|
+
var teaser_panel_default = ":host {\n --sbb-panel-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --_sbb-panel-height: calc(var(--sbb-panel-inner-height) + 2 * var(--sbb-panel-triangle-height));\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n inset: 0;\n min-height: var(--_sbb-panel-height);\n font-size: var(--sbb-panel-font-size);\n font-weight: var(--sbb-panel-font-weight);\n line-height: var(--sbb-panel-line-height);\n letter-spacing: var(--sbb-typo-letter-spacing-heading);\n color: var(--sbb-panel-color);\n hyphens: auto;\n}\n\n@media (any-hover: hover) {\n :host(:hover) {\n --sbb-panel-background-color: var(--sbb-panel-background-color-hover);\n }\n}\n.sbb-teaser-panel {\n position: absolute;\n top: 50%;\n translate: 0 -50%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: var(--sbb-panel-gap);\n width: var(--sbb-panel-width);\n height: var(--_sbb-panel-height);\n padding-block: var(--sbb-panel-triangle-height);\n padding-inline: var(--sbb-panel-padding-inline);\n clip-path: polygon(0 0, 100% var(--sbb-panel-triangle-height), 100% calc(100% - var(--sbb-panel-triangle-height)), 0% 100%);\n background-color: var(--sbb-panel-background-color);\n transition: background var(--sbb-panel-animation-duration) var(--sbb-panel-animation-easing);\n}";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/elements/teaser-panel/teaser-panel.component.ts
|
|
8
|
+
/**
|
|
9
|
+
* It displays the content in a vertically centered trapezoidal shape.
|
|
10
|
+
* The component matches the parent element size and positions the panel accordingly.
|
|
11
|
+
*
|
|
12
|
+
* @slot - Use the unnamed slot to add text content to the panel
|
|
13
|
+
*/
|
|
14
|
+
var SbbTeaserPanelElement = class extends SbbElement {
|
|
15
|
+
static {
|
|
16
|
+
this.elementName = "sbb-teaser-panel";
|
|
17
|
+
}
|
|
18
|
+
static {
|
|
19
|
+
this.styles = [boxSizingStyles, unsafeCSS(teaser_panel_default)];
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return html$1`
|
|
23
|
+
<span class="sbb-teaser-panel">
|
|
24
|
+
<slot></slot>
|
|
25
|
+
</span>
|
|
26
|
+
`;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { SbbTeaserPanelElement as t };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLXBhbmVsLmNvbXBvbmVudC1DalNyZkpZRy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGVhc2VyLXBhbmVsL3RlYXNlci1wYW5lbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItcGFuZWwvdGVhc2VyLXBhbmVsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNHgpXG4gICk7XG4gIC0tX3NiYi1wYW5lbC1oZWlnaHQ6IGNhbGModmFyKC0tc2JiLXBhbmVsLWlubmVyLWhlaWdodCkgKyAyICogdmFyKC0tc2JiLXBhbmVsLXRyaWFuZ2xlLWhlaWdodCkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGluc2V0OiAwO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1fc2JiLXBhbmVsLWhlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXBhbmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1zYmItcGFuZWwtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXBhbmVsLWxpbmUtaGVpZ2h0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLWhlYWRpbmcpO1xuICBjb2xvcjogdmFyKC0tc2JiLXBhbmVsLWNvbG9yKTtcbiAgaHlwaGVuczogYXV0bztcbn1cblxuQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICA6aG9zdCg6aG92ZXIpIHtcbiAgICAtLXNiYi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItcGFuZWwtYmFja2dyb3VuZC1jb2xvci1ob3Zlcik7XG4gIH1cbn1cblxuLnNiYi10ZWFzZXItcGFuZWwge1xuICBAaW5jbHVkZSBzYmIuYWJzb2x1dGUtY2VudGVyLXk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLXBhbmVsLWdhcCk7XG4gIHdpZHRoOiB2YXIoLS1zYmItcGFuZWwtd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItcGFuZWwtaGVpZ2h0KTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXBhbmVsLXRyaWFuZ2xlLWhlaWdodCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItcGFuZWwtcGFkZGluZy1pbmxpbmUpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgMCAwLFxuICAgIDEwMCUgdmFyKC0tc2JiLXBhbmVsLXRyaWFuZ2xlLWhlaWdodCksXG4gICAgMTAwJSBjYWxjKDEwMCUgLSB2YXIoLS1zYmItcGFuZWwtdHJpYW5nbGUtaGVpZ2h0KSksXG4gICAgMCUgMTAwJVxuICApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItcGFuZWwtYmFja2dyb3VuZC1jb2xvcik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tc2JiLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLXBhbmVsLWFuaW1hdGlvbi1lYXNpbmcpO1xufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMsIFNiYkVsZW1lbnQgfSBmcm9tICcuLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGVhc2VyLXBhbmVsLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyB0aGUgY29udGVudCBpbiBhIHZlcnRpY2FsbHkgY2VudGVyZWQgdHJhcGV6b2lkYWwgc2hhcGUuXG4gKiBUaGUgY29tcG9uZW50IG1hdGNoZXMgdGhlIHBhcmVudCBlbGVtZW50IHNpemUgYW5kIHBvc2l0aW9ucyB0aGUgcGFuZWwgYWNjb3JkaW5nbHkuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgdGV4dCBjb250ZW50IHRvIHRoZSBwYW5lbFxuICovXG5leHBvcnQgY2xhc3MgU2JiVGVhc2VyUGFuZWxFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGVhc2VyLXBhbmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10ZWFzZXItcGFuZWxcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10ZWFzZXItcGFuZWwnOiBTYmJUZWFzZXJQYW5lbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQ2FBLElBQWEsd0JBQWIsY0FBMkMsV0FBVTs7QUFDbkIsT0FBQSxjQUFzQjs7O0FBQy9CLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxxQkFBTSxDQUFDOztDQUVoRSxTQUFNO0FBQ3ZCLFNBQU8sTUFBSSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teaser-panel.d.ts","sourceRoot":"","sources":["../../../src/elements/teaser-panel.ts"],"names":[],"mappings":"AAGA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { t as SbbTeaserPanelElement } from "./teaser-panel.component-CjSrfJYG.js";
|
|
2
|
+
import "./teaser-panel.pure.js";
|
|
3
|
+
//#region src/elements/teaser-panel.ts
|
|
4
|
+
/** @entrypoint */
|
|
5
|
+
SbbTeaserPanelElement.define();
|
|
6
|
+
//#endregion
|
|
7
|
+
export { SbbTeaserPanelElement };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLXBhbmVsLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItcGFuZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUZWFzZXJQYW5lbEVsZW1lbnQgfSBmcm9tICcuL3RlYXNlci1wYW5lbC5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90ZWFzZXItcGFuZWwucHVyZS50cyc7XG5cblNiYlRlYXNlclBhbmVsRWxlbWVudC5kZWZpbmUoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLHNCQUFzQixRQUFRIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teaser-panel.pure.d.ts","sourceRoot":"","sources":["../../../src/elements/teaser-panel.pure.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,cAAc,0CAA0C,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "../../teaser-product-common-
|
|
1
|
+
import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "../../teaser-product-common-DasV_SDa.js";
|
|
2
2
|
export { SbbTeaserProductCommonElementMixin, teaserProductCommonStyle };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTeaserProductElement } from "../../teaser-product.component-
|
|
1
|
+
import { t as SbbTeaserProductElement } from "../../teaser-product.component-CB6fOX7T.js";
|
|
2
2
|
export { SbbTeaserProductElement };
|