@telia-ace/alliance-ui 1.0.4-next.1 → 1.0.5-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +3 -3
- package/chunks/check-circle-filled-42095247.js.map +1 -1
- package/chunks/chevron-down-50d47dd6.js.map +1 -1
- package/chunks/chevron-right-788ce8a9.js.map +1 -1
- package/chunks/close-ac6e4f1c.js.map +1 -1
- package/chunks/error-filled-8de50bdd.js.map +1 -1
- package/chunks/getSvgContent-f2389ce0.js.map +1 -1
- package/chunks/{index-629ecbb8.js → index-17652cf7.js} +15 -6
- package/chunks/{index-629ecbb8.js.map → index-17652cf7.js.map} +1 -1
- package/chunks/{stringCombiner-67bee7be.js → stringCombiner-10b57054.js} +7 -2
- package/chunks/{stringCombiner-67bee7be.js.map → stringCombiner-10b57054.js.map} +1 -1
- package/chunks/telia-button-ef4894d0.js +108 -0
- package/chunks/telia-button-ef4894d0.js.map +1 -0
- package/chunks/{telia-button-text2-c070e5fa.js → telia-button-text2-e1510558.js} +4 -4
- package/chunks/{telia-button-text2-c070e5fa.js.map → telia-button-text2-e1510558.js.map} +1 -1
- package/chunks/{telia-card-frame2-e5f8bb1f.js → telia-card-frame2-2d46eef6.js} +3 -3
- package/chunks/{telia-card-frame2-e5f8bb1f.js.map → telia-card-frame2-2d46eef6.js.map} +1 -1
- package/chunks/{telia-divider-644c043b.js → telia-divider-7f90475d.js} +3 -3
- package/chunks/{telia-divider-644c043b.js.map → telia-divider-7f90475d.js.map} +1 -1
- package/chunks/{telia-field-assistive-text2-a7ada9a5.js → telia-field-assistive-text2-fd970326.js} +3 -3
- package/chunks/{telia-field-assistive-text2-a7ada9a5.js.map → telia-field-assistive-text2-fd970326.js.map} +1 -1
- package/chunks/{telia-field-error2-341030c7.js → telia-field-error2-63eae7b3.js} +4 -4
- package/chunks/{telia-field-error2-341030c7.js.map → telia-field-error2-63eae7b3.js.map} +1 -1
- package/chunks/{telia-field-valid2-663bc79f.js → telia-field-valid2-bda898b1.js} +4 -4
- package/chunks/{telia-field-valid2-663bc79f.js.map → telia-field-valid2-bda898b1.js.map} +1 -1
- package/chunks/{telia-heading2-de9de777.js → telia-heading2-5fdf4c16.js} +3 -3
- package/chunks/{telia-heading2-de9de777.js.map → telia-heading2-5fdf4c16.js.map} +1 -1
- package/chunks/{telia-icon2-9c59983c.js → telia-icon2-34bf5aef.js} +8 -3
- package/chunks/{telia-icon2-9c59983c.js.map → telia-icon2-34bf5aef.js.map} +1 -1
- package/chunks/{telia-label2-92041936.js → telia-label2-4d674e5e.js} +3 -3
- package/chunks/{telia-label2-92041936.js.map → telia-label2-4d674e5e.js.map} +1 -1
- package/chunks/{telia-link2-d0077a7e.js → telia-link2-7769b385.js} +4 -4
- package/chunks/{telia-link2-d0077a7e.js.map → telia-link2-7769b385.js.map} +1 -1
- package/chunks/{telia-navigation-button2-4686098e.js → telia-navigation-button2-a0b24d67.js} +4 -4
- package/chunks/{telia-navigation-button2-4686098e.js.map → telia-navigation-button2-a0b24d67.js.map} +1 -1
- package/chunks/telia-style-link2-bbd8d17a.js +55 -0
- package/chunks/telia-style-link2-bbd8d17a.js.map +1 -0
- package/chunks/{telia-style-navigation-item2-fe0721bb.js → telia-style-navigation-item2-58683cd9.js} +3 -3
- package/chunks/{telia-style-navigation-item2-fe0721bb.js.map → telia-style-navigation-item2-58683cd9.js.map} +1 -1
- package/chunks/{telia-tab-header2-a4329adf.js → telia-tab-header2-bd04582d.js} +23 -15
- package/chunks/telia-tab-header2-bd04582d.js.map +1 -0
- package/chunks/{telia-visually-hidden2-9e970a02.js → telia-visually-hidden2-71416262.js} +3 -3
- package/chunks/{telia-visually-hidden2-9e970a02.js.map → telia-visually-hidden2-71416262.js.map} +1 -1
- package/chunks/{telia-vst2-5b28f085.js → telia-vst2-1a7f7bd6.js} +2 -2
- package/chunks/{telia-vst2-5b28f085.js.map → telia-vst2-1a7f7bd6.js.map} +1 -1
- package/chunks/uniqueId-0daf01ec.js.map +1 -1
- package/chunks/variables-03fe2cd9.js.map +1 -1
- package/components/alliance-object-list/alliance-object-list.stories.d.ts +6 -0
- package/components/alliance-paginator/alliance-paginator-button.d.ts +1 -0
- package/components/alliance-paginator/alliance-paginator.d.ts +2 -0
- package/components/alliance-paginator/alliance-paginator.stories.d.ts +6 -0
- package/components/alliance-paginator/get-pagination.d.ts +7 -1
- package/components/alliance-paginator/index.d.ts +1 -0
- package/components/index.js +199 -138
- package/components/index.js.map +1 -1
- package/package.json +20 -8
- package/voca/components/telia-accordion-item.js +6 -3
- package/voca/components/telia-accordion-item.js.map +1 -1
- package/voca/components/telia-accordion.js +32 -21
- package/voca/components/telia-accordion.js.map +1 -1
- package/voca/components/telia-badge.js +2 -2
- package/voca/components/telia-badge.js.map +1 -1
- package/voca/components/telia-button-text.js +4 -4
- package/voca/components/telia-button.js +4 -4
- package/voca/components/telia-card-frame-link.js +5 -5
- package/voca/components/telia-card-frame-link.js.map +1 -1
- package/voca/components/telia-card-frame.js +3 -3
- package/voca/components/telia-checkbox.js +8 -8
- package/voca/components/telia-checkbox.js.map +1 -1
- package/voca/components/telia-chip-choice.js +2 -2
- package/voca/components/telia-chip-choice.js.map +1 -1
- package/voca/components/telia-chip-filter.js +3 -3
- package/voca/components/telia-chip-filter.js.map +1 -1
- package/voca/components/telia-col.js +3 -3
- package/voca/components/telia-col.js.map +1 -1
- package/voca/components/telia-color-dot.js +2 -2
- package/voca/components/telia-color-dot.js.map +1 -1
- package/voca/components/telia-cta-link.js +3 -3
- package/voca/components/telia-cta-link.js.map +1 -1
- package/voca/components/telia-date-picker.js +34 -11
- package/voca/components/telia-date-picker.js.map +1 -1
- package/voca/components/telia-divider.js +3 -3
- package/voca/components/telia-field-assistive-text.js +3 -3
- package/voca/components/telia-field-error.js +4 -4
- package/voca/components/telia-field-valid.js +4 -4
- package/voca/components/telia-fieldset.js +2 -2
- package/voca/components/telia-fieldset.js.map +1 -1
- package/voca/components/telia-focus-trap.js +11 -2
- package/voca/components/telia-focus-trap.js.map +1 -1
- package/voca/components/telia-form.js +3 -2
- package/voca/components/telia-form.js.map +1 -1
- package/voca/components/telia-grid.js +2 -2
- package/voca/components/telia-grid.js.map +1 -1
- package/voca/components/telia-heading.js +3 -3
- package/voca/components/telia-icon.js +3 -3
- package/voca/components/telia-image.js +2 -2
- package/voca/components/telia-image.js.map +1 -1
- package/voca/components/telia-label.js +3 -3
- package/voca/components/telia-link-image.js +5 -5
- package/voca/components/telia-link-image.js.map +1 -1
- package/voca/components/telia-link.js +4 -4
- package/voca/components/telia-list.js +6 -2
- package/voca/components/telia-list.js.map +1 -1
- package/voca/components/telia-logo.js +2 -2
- package/voca/components/telia-logo.js.map +1 -1
- package/voca/components/telia-navigation-button.js +4 -4
- package/voca/components/telia-navigation-dropdown.js +22 -5
- package/voca/components/telia-navigation-dropdown.js.map +1 -1
- package/voca/components/telia-navigation-link.js +3 -3
- package/voca/components/telia-navigation-link.js.map +1 -1
- package/voca/components/telia-notification.js +10 -5
- package/voca/components/telia-notification.js.map +1 -1
- package/voca/components/telia-overlay.js +2 -2
- package/voca/components/telia-overlay.js.map +1 -1
- package/voca/components/telia-p.js +2 -2
- package/voca/components/telia-p.js.map +1 -1
- package/voca/components/telia-pictogram.js +22 -2
- package/voca/components/telia-pictogram.js.map +1 -1
- package/voca/components/telia-radio-button.js +16 -16
- package/voca/components/telia-radio-button.js.map +1 -1
- package/voca/components/telia-row.js +2 -2
- package/voca/components/telia-row.js.map +1 -1
- package/voca/components/telia-select.js +8 -8
- package/voca/components/telia-select.js.map +1 -1
- package/voca/components/telia-skeleton.js +2 -2
- package/voca/components/telia-skeleton.js.map +1 -1
- package/voca/components/telia-status-badge.js +3 -3
- package/voca/components/telia-status-badge.js.map +1 -1
- package/voca/components/telia-style-link.js +3 -3
- package/voca/components/telia-style-navigation-item.js +3 -3
- package/voca/components/telia-tab-content.js +1 -1
- package/voca/components/telia-tab-content.js.map +1 -1
- package/voca/components/telia-tab-header.js +4 -4
- package/voca/components/telia-tab.js +70 -65
- package/voca/components/telia-tab.js.map +1 -1
- package/voca/components/telia-text-input.js +26 -10
- package/voca/components/telia-text-input.js.map +1 -1
- package/voca/components/telia-text-spacing.js +2 -2
- package/voca/components/telia-text-spacing.js.map +1 -1
- package/voca/components/telia-textarea.js +9 -9
- package/voca/components/telia-textarea.js.map +1 -1
- package/voca/components/telia-toggle.js +3 -3
- package/voca/components/telia-toggle.js.map +1 -1
- package/voca/components/telia-visually-hidden.js +3 -3
- package/voca/foundations/index.js +19 -19
- package/voca/foundations/index.js.map +1 -1
- package/voca/icons/index.js.map +1 -1
- package/chunks/telia-button-a8a03bcb.js +0 -105
- package/chunks/telia-button-a8a03bcb.js.map +0 -1
- package/chunks/telia-style-link2-e6b7be00.js +0 -55
- package/chunks/telia-style-link2-e6b7be00.js.map +0 -1
- package/chunks/telia-tab-header2-a4329adf.js.map +0 -1
|
@@ -1,67 +1,69 @@
|
|
|
1
|
-
import { p as
|
|
2
|
-
import { T as
|
|
3
|
-
import { d as
|
|
4
|
-
import { d as
|
|
1
|
+
import { p as h, H as b, c as m, h as s } from "../../chunks/index-17652cf7.js";
|
|
2
|
+
import { T as c, d as v } from "../../chunks/telia-tab-header2-bd04582d.js";
|
|
3
|
+
import { d as g } from "../../chunks/telia-icon2-34bf5aef.js";
|
|
4
|
+
import { d as f } from "../../chunks/telia-vst2-1a7f7bd6.js";
|
|
5
5
|
import "../../chunks/getSvgContent-f2389ce0.js";
|
|
6
|
-
const
|
|
6
|
+
const u = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0;}.telia-tab telia-tab-header[active]{background-color:white;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--scroll-end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll-end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll-start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;gap:calc(0.4rem * var(--voca-rem-multiplier));max-width:100%;min-width:100%;overflow:auto;padding:0;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__list::before{content:"small";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:"medium"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:"large"}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--light,.telia-tab--light-wide{}.telia-tab--light telia-tab-header[active],.telia-tab--light-wide telia-tab-header[active]{background-color:transparent}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{gap:0;position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:"";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide telia-tab-header,.telia-tab--light-wide telia-tab-header{flex-basis:auto;flex-grow:1;flex-shrink:0;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}', p = /* @__PURE__ */ h(class extends b {
|
|
7
7
|
constructor() {
|
|
8
|
-
super(), this.__registerHost(), this.__attachShadow(), this.vocaTabChange = m(this, "vocaTabChange", 7), this.scrollClasses =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
super(), this.__registerHost(), this.__attachShadow(), this.vocaTabChange = m(this, "vocaTabChange", 7), this.scrollClasses = {}, this.children = [], this.background = !1, this.variant = "default", this.dataTrackingId = "telia-tab", this.activeIndex = 0, this.isKeyPress = !0, this.onIntersection = (t) => {
|
|
9
|
+
if (t.every((a) => a.isIntersecting) && t.length === this.tabItems.length) {
|
|
10
|
+
this.scrollClasses = {};
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
t.forEach((a) => {
|
|
14
|
+
const l = Number(a.target.children[0].getAttribute("data-index")), i = l === 0, n = l === this.tabItems.length - 1;
|
|
15
|
+
this.scrollClasses = Object.assign(Object.assign(Object.assign({ "telia-tab__wrapper--scroll-start": !0 }, this.scrollClasses), i && {
|
|
16
|
+
"telia-tab__wrapper--scroll-end": !a.isIntersecting
|
|
17
|
+
}), n && {
|
|
18
|
+
"telia-tab__wrapper--scroll-start": !a.isIntersecting
|
|
19
|
+
});
|
|
20
|
+
});
|
|
16
21
|
};
|
|
17
22
|
}
|
|
18
23
|
handleTabNavigation(t) {
|
|
19
24
|
const { location: e, key: a } = t.detail.value, l = this.activeIndex;
|
|
20
25
|
let i;
|
|
21
26
|
switch (this.isKeyPress = !0, e > -1 && (i = e, this.isKeyPress = !1), a) {
|
|
22
|
-
case
|
|
27
|
+
case c.ArrowLeft:
|
|
23
28
|
l > 0 ? i = l - 1 : i = this.children.length - 1;
|
|
24
29
|
break;
|
|
25
|
-
case
|
|
30
|
+
case c.ArrowRight:
|
|
26
31
|
l < this.children.length - 1 ? i = l + 1 : i = 0;
|
|
27
32
|
break;
|
|
28
|
-
case
|
|
33
|
+
case c.Home:
|
|
29
34
|
i = 0;
|
|
30
35
|
break;
|
|
31
|
-
case
|
|
36
|
+
case c.End:
|
|
32
37
|
i = this.children.length - 1;
|
|
33
38
|
break;
|
|
34
39
|
}
|
|
35
|
-
this.activeIndex = i, this.children.forEach((
|
|
36
|
-
|
|
40
|
+
this.activeIndex = i, this.children.forEach((n, o) => {
|
|
41
|
+
n.active = o === i;
|
|
37
42
|
}), this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId }), this.createChildren();
|
|
38
43
|
}
|
|
39
44
|
handleResize() {
|
|
40
|
-
this.
|
|
45
|
+
this.scrollToTarget(this.getActiveTabListItem());
|
|
41
46
|
}
|
|
42
47
|
componentWillLoad() {
|
|
43
48
|
this.createChildren(), this.findPreSelectedTab();
|
|
44
49
|
}
|
|
45
50
|
componentDidLoad() {
|
|
46
|
-
this.tabItems = this.host.shadowRoot.querySelectorAll("
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this.
|
|
51
|
+
this.tabItems = this.host.shadowRoot.querySelectorAll("telia-tab-header");
|
|
52
|
+
const t = this.host.shadowRoot.querySelector(".telia-tab__list");
|
|
53
|
+
this.observer = new IntersectionObserver(this.onIntersection, {
|
|
54
|
+
threshold: [0.99],
|
|
55
|
+
root: t
|
|
56
|
+
}), this.tabItems.forEach((e) => this.observer.observe(e)), this.scrollToTarget(this.getActiveTabListItem());
|
|
52
57
|
}
|
|
53
58
|
disconnectedCallback() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const t = window.getComputedStyle(this.tabList, ":before").getPropertyValue("content").replace(/\"/g, "");
|
|
63
|
-
t != this.breakPoint && (this.breakPoint = t, this.setGridPadding());
|
|
64
|
-
}
|
|
59
|
+
var t, e;
|
|
60
|
+
(e = (t = this.observer) === null || t === void 0 ? void 0 : t.disconnect) === null || e === void 0 || e.call(t);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if there is a pre-selected tab,
|
|
64
|
+
* else set first tab as pre-selected
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
65
67
|
findPreSelectedTab() {
|
|
66
68
|
if (this.children.length === 0)
|
|
67
69
|
return;
|
|
@@ -70,47 +72,50 @@ const f = '.telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-re
|
|
|
70
72
|
t && (e.active = !1), e.active && (t = !0, this.activeIndex = a);
|
|
71
73
|
}), this.activeIndex === 0 && (this.children[this.activeIndex].active = !0);
|
|
72
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Will scroll tab list to keyboard focused tab header
|
|
77
|
+
* @param target
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
73
80
|
scrollToTarget(t) {
|
|
74
|
-
var e;
|
|
75
|
-
if (this.tabList.scroll
|
|
81
|
+
var e, a;
|
|
82
|
+
if (typeof (t == null ? void 0 : t.getBoundingClientRect) != "function" || typeof ((e = this.tabList) === null || e === void 0 ? void 0 : e.scroll) != "function")
|
|
76
83
|
return;
|
|
77
|
-
const
|
|
78
|
-
let
|
|
79
|
-
|
|
80
|
-
}
|
|
84
|
+
const l = t.getBoundingClientRect(), i = this.tabList.getBoundingClientRect(), n = this.tabList.clientWidth, o = parseInt((a = getComputedStyle(this.tabList)["border-width-left"]) === null || a === void 0 ? void 0 : a.split("px")[0], 10);
|
|
85
|
+
let d = i.left + (isNaN(o) ? 0 : o), r;
|
|
86
|
+
l.right > i.right && (r = l.left + this.tabList.scrollLeft, r = r + l.width - n + n * 0.1, r = r - d), l.left < i.left && (r = l.left + this.tabList.scrollLeft, r = r - n * 0.1, r = r - d), r !== void 0 && this.tabList.scroll({ left: r, behavior: "smooth" });
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Create child array
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
81
92
|
createChildren() {
|
|
82
93
|
this.children = [], this.host.querySelectorAll("telia-tab-content").forEach((e) => {
|
|
83
94
|
e.nodeName.indexOf("TELIA-TAB") > -1 && this.children.push(e);
|
|
84
95
|
});
|
|
85
96
|
}
|
|
86
97
|
getActiveTabListItem() {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
calculateScroll() {
|
|
90
|
-
this.scrollToTarget(this.getActiveTabListItem());
|
|
91
|
-
let t = this.host.shadowRoot.querySelector(".telia-tab__list__container"), e = this.host.shadowRoot.querySelector(".telia-tab__wrapper");
|
|
92
|
-
t.scrollWidth > e.offsetWidth + this.gridPadding ? this.scrollClasses = this.wrapperClass + "--scroll_start " + this.wrapperClass + "--has-scroll" : t.scrollWidth === e.offsetWidth + this.gridPadding && (this.scrollClasses = " ");
|
|
98
|
+
var t;
|
|
99
|
+
return (t = this.tabList) === null || t === void 0 ? void 0 : t.querySelector("telia-tab-header[active]");
|
|
93
100
|
}
|
|
94
101
|
render() {
|
|
95
|
-
|
|
102
|
+
return s("div", { class: {
|
|
96
103
|
"telia-tab": !0,
|
|
97
104
|
[`telia-tab--${this.variant}`]: !!this.variant
|
|
98
|
-
},
|
|
105
|
+
} }, s("telia-vst", { dataTrackingId: this.dataTrackingId }), s("div", { class: "telia-tab__container" }, s("div", { class: Object.assign({ "telia-tab__wrapper": !0 }, this.scrollClasses) }, s("div", { ref: (t) => {
|
|
106
|
+
this.tabList = t;
|
|
107
|
+
}, class: "telia-tab__list", role: "tablist" }, this.children.map((t, e) => s("telia-tab-header", { onFocusin: (a) => {
|
|
108
|
+
this.scrollToTarget(a.target);
|
|
109
|
+
}, tabId: t.tabId, icon: t.icon, name: t.name, active: t.active, "data-testid": t.dataTestid, "data-index": e, "is-key-press": this.isKeyPress, variant: this.variant }, t.name))))), s("div", { class: {
|
|
99
110
|
"telia-tab__content": !0,
|
|
100
111
|
"telia-tab__content--light-background": this.background
|
|
101
|
-
};
|
|
102
|
-
return s("div", { class: t }, s("telia-vst", { dataTrackingId: this.dataTrackingId }), s("div", { class: "telia-tab__container" }, s("div", { class: this.wrapperClass + " " + this.scrollClasses }, s("div", { ref: (a) => this.tabList = a, class: "telia-tab__list", role: "tablist" }, s("ul", { class: "telia-tab__list__container", role: "presentation" }, this.children.map((a, l) => s("li", { role: "presentation", class: {
|
|
103
|
-
"telia-tab__header": !0,
|
|
104
|
-
"telia-tab__header--active": a.active
|
|
105
|
-
}, onFocusin: (i) => {
|
|
106
|
-
this.scrollToTarget(i.target);
|
|
107
|
-
} }, s("telia-tab-header", { tabId: a.tabId, icon: a.icon, name: a.name, active: a.active, "data-testid": a.dataTestid, "data-index": l, "is-key-press": this.isKeyPress, variant: this.variant }, a.name))))))), s("div", { class: e, role: "presentation" }, s("div", { class: "telia-tab__container", role: "presentation" }, s("slot", null))));
|
|
112
|
+
}, role: "presentation" }, s("div", { class: "telia-tab__container", role: "presentation" }, s("slot", null))));
|
|
108
113
|
}
|
|
109
114
|
get host() {
|
|
110
115
|
return this;
|
|
111
116
|
}
|
|
112
117
|
static get style() {
|
|
113
|
-
return
|
|
118
|
+
return u;
|
|
114
119
|
}
|
|
115
120
|
}, [1, "telia-tab", {
|
|
116
121
|
background: [4],
|
|
@@ -118,25 +123,25 @@ const f = '.telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-re
|
|
|
118
123
|
scrollClasses: [32],
|
|
119
124
|
children: [32]
|
|
120
125
|
}, [[0, "vocaInternalTabNavigation", "handleTabNavigation"], [9, "resize", "handleResize"]]]);
|
|
121
|
-
function
|
|
126
|
+
function _() {
|
|
122
127
|
if (typeof customElements > "u")
|
|
123
128
|
return;
|
|
124
129
|
["telia-tab", "telia-icon", "telia-tab-header", "telia-vst"].forEach((e) => {
|
|
125
130
|
switch (e) {
|
|
126
131
|
case "telia-tab":
|
|
127
|
-
customElements.get(e) || customElements.define(e,
|
|
132
|
+
customElements.get(e) || customElements.define(e, p);
|
|
128
133
|
break;
|
|
129
134
|
case "telia-icon":
|
|
130
|
-
customElements.get(e) ||
|
|
135
|
+
customElements.get(e) || g();
|
|
131
136
|
break;
|
|
132
137
|
case "telia-tab-header":
|
|
133
|
-
customElements.get(e) ||
|
|
138
|
+
customElements.get(e) || v();
|
|
134
139
|
break;
|
|
135
140
|
case "telia-vst":
|
|
136
|
-
customElements.get(e) ||
|
|
141
|
+
customElements.get(e) || f();
|
|
137
142
|
break;
|
|
138
143
|
}
|
|
139
144
|
});
|
|
140
145
|
}
|
|
141
|
-
|
|
146
|
+
_();
|
|
142
147
|
//# sourceMappingURL=telia-tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-tab.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.3.3/node_modules/@teliads/components/dist/components/telia-tab.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { d as defineCustomElement$3, T as TabNavigationTypes } from './telia-tab-header2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\nconst teliaTabCss = \".telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-rem-multiplier)) calc(0.2rem * var(--voca-rem-multiplier)) calc(0.4rem * var(--voca-rem-multiplier)) calc(0.2rem * var(--voca-rem-multiplier))}.telia-tab__header:last-child{margin-right:calc(0.4rem * var(--voca-rem-multiplier))}.telia-tab__header--active{background-color:#ffffff;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--has-scroll .telia-tab__list{overflow-y:auto}.telia-tab__wrapper--is-scrolled{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--is-scrolled .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll_end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll_end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll_start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;max-width:100%;min-width:100%;overflow-y:visible;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow:hidden}}.telia-tab__list::before{content:\\\"small\\\";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:\\\"medium\\\"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:\\\"large\\\"}}.telia-tab__list__container{display:inline-flex;flex-grow:1;margin:0 0 0 calc(-1 * calc(0.2rem * var(--voca-rem-multiplier)));padding:0}@media (any-pointer: coarse){.telia-tab__list__container{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(1.6rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(1.6rem * var(--voca-rem-multiplier)));}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(2.4rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(2.4rem * var(--voca-rem-multiplier)))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(4.8rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(4.8rem * var(--voca-rem-multiplier)))}}.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(4.8rem * var(--voca-rem-multiplier))}}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:\\\"\\\";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__header--active,.telia-tab--light-wide .telia-tab__header--active{background-color:transparent}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide .telia-tab__header,.telia-tab--light-wide .telia-tab__header{flex-basis:auto;flex-grow:1;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}\";\n\nconst TeliaTab$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.vocaTabChange = createEvent(this, \"vocaTabChange\", 7);\n /** State scroll used for toggeling horizontal scroll shadow */\n this.scrollClasses = ' ';\n /** Array of slotted children */\n this.children = [];\n /** sets background on content */\n this.background = false;\n /** variant */\n this.variant = 'default';\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-tab';\n this.activeIndex = 0;\n this.wrapperClass = 'telia-tab__wrapper';\n this.isKeyPress = true;\n /**\n * Because the component effectively reloads directly after\n * first load, we need to scroll to the active tab in the componentDidUpdate\n * hook. This can create an infinite loop unless prevented by this property\n * that is set to true when/if user scrolls.\n */\n this.preventScrollLoop = false;\n this.onIntersection = (entries) => {\n let allTabItemsIsVisible = false;\n let firstTabItemIsActiveInScope = false;\n // If all entries are visible\n if (entries.every(entry => entry.isIntersecting) &&\n entries.length === this.tabItems.length) {\n this.scrollClasses = ' ';\n allTabItemsIsVisible = true;\n }\n entries.forEach(entry => {\n // if entry is visible\n if (entry.isIntersecting) {\n let entryIndex = Number(entry.target.children[0].getAttribute('data-index'));\n if (entryIndex === 0 &&\n entry.target.classList.contains('telia-tab__header--active')) {\n // 0 = first tabItem\n firstTabItemIsActiveInScope = true;\n }\n if (entryIndex === 0 || entryIndex === 1) {\n this.scrollClasses =\n this.wrapperClass +\n '--scroll_start' +\n ' ' +\n this.wrapperClass +\n '--has-scroll';\n }\n else if (entryIndex === this.tabItems.length - 1) {\n this.scrollClasses =\n this.wrapperClass +\n '--scroll_end' +\n ' ' +\n this.wrapperClass +\n '--has-scroll';\n }\n else if (this.scrollClasses !=\n this.wrapperClass +\n '--is-scrolled' +\n ' ' +\n this.wrapperClass +\n '--has-scroll') {\n if (firstTabItemIsActiveInScope) {\n this.calculateScroll();\n }\n else {\n this.scrollClasses =\n this.wrapperClass +\n '--is-scrolled' +\n ' ' +\n this.wrapperClass +\n '--has-scroll';\n }\n }\n }\n });\n if (allTabItemsIsVisible) {\n this.calculateScroll();\n }\n };\n }\n handleTabNavigation(e) {\n const { location, key } = e.detail.value;\n const currentIndex = this.activeIndex;\n let nextIndex;\n this.isKeyPress = true;\n if (location > -1) {\n nextIndex = location;\n this.isKeyPress = false;\n }\n switch (key) {\n case TabNavigationTypes.ArrowLeft:\n if (currentIndex > 0) {\n nextIndex = currentIndex - 1;\n }\n else {\n nextIndex = this.children.length - 1;\n }\n break;\n case TabNavigationTypes.ArrowRight:\n if (currentIndex < this.children.length - 1) {\n nextIndex = currentIndex + 1;\n }\n else {\n nextIndex = 0;\n }\n break;\n case TabNavigationTypes.Home:\n nextIndex = 0;\n break;\n case TabNavigationTypes.End:\n nextIndex = this.children.length - 1;\n break;\n }\n this.activeIndex = nextIndex;\n this.children.forEach((child, index) => {\n child.active = index === nextIndex;\n });\n this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId });\n this.createChildren();\n }\n handleResize() {\n this.setBreakpointAndGridPadding();\n this.calculateScroll();\n }\n componentWillLoad() {\n this.createChildren();\n this.findPreSelectedTab();\n }\n componentDidLoad() {\n this.tabItems = this.host.shadowRoot.querySelectorAll('.telia-tab__header');\n this.observer = new IntersectionObserver(this.onIntersection, {\n threshold: [0.75],\n });\n this.tabItems.forEach(el => this.observer.observe(el));\n this.setGridPadding();\n this.setBreakpointAndGridPadding();\n this.calculateScroll();\n }\n componentDidUpdate() {\n if (!this.preventScrollLoop) {\n this.scrollToTarget(this.getActiveTabListItem());\n }\n }\n disconnectedCallback() {\n // if we have an intersection observer, disconnect it\n if (this.observer !== null) {\n this.observer.disconnect();\n }\n }\n /**\n * Gets and sets current grid padding, used for calculation of scroll\n * @private\n */\n setGridPadding() {\n this.gridPadding = 2; // = telia-tab__list__container margin left -2, missing 2 px, Needs to be investigated why it is even needed since the last commit changes.\n }\n /**\n * Get current breakpoint from style. It is important to\n * call calculateScroll after this method is called,\n * or it may not have desired effect.\n * @private\n */\n setBreakpointAndGridPadding() {\n if (this.tabList === undefined) {\n return;\n }\n const currentBreakpoint = window\n .getComputedStyle(this.tabList, ':before')\n .getPropertyValue('content')\n .replace(/\\\"/g, '');\n if (currentBreakpoint != this.breakPoint) {\n this.breakPoint = currentBreakpoint;\n this.setGridPadding();\n }\n }\n /**\n * Check if there is a pre-selected tab,\n * else set first tab as pre-selected\n * @private\n */\n findPreSelectedTab() {\n if (this.children.length === 0)\n return;\n /**\n * flag to indicate that an active tab\n * was found on render\n */\n let activePreSet = false;\n this.children.forEach((child, index) => {\n if (activePreSet) {\n /**\n * since flag is true\n * all other tabs should\n * be set to not active\n */\n child.active = false;\n }\n if (child.active) {\n activePreSet = true;\n this.activeIndex = index;\n }\n });\n if (this.activeIndex === 0) {\n this.children[this.activeIndex].active = true;\n }\n }\n /**\n * Will scroll tab list to keyboard focused tab header\n * @param target\n * @private\n */\n scrollToTarget(target) {\n var _a;\n /**\n * scroll may not be available in\n * test runner, so check existence\n * before proceeding.\n */\n if (this.tabList.scroll == null) {\n return;\n }\n const targetRect = target.getBoundingClientRect();\n const wrapperRect = this.tabList.getBoundingClientRect();\n const wrapperWidth = this.tabList.clientWidth;\n const wrapperOffset = parseInt((_a = getComputedStyle(this.tabList)['border-width-left']) === null || _a === void 0 ? void 0 : _a.split('px')[0], 10);\n let offset = wrapperRect.left + (isNaN(wrapperOffset) ? 0 : wrapperOffset);\n let left;\n //Handle forward navigation\n if (targetRect.right > wrapperRect.right) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left + targetRect.width - wrapperWidth + wrapperWidth * 0.1;\n left = left - offset;\n }\n //Handle backwards navigation\n if (targetRect.left < wrapperRect.left) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left - wrapperWidth * 0.1;\n left = left - offset;\n }\n if (left !== undefined) {\n this.tabList.scroll({ left: left, behavior: 'smooth' });\n }\n }\n /**\n * Create child array\n * @private\n */\n createChildren() {\n this.children = [];\n let slotted = this.host.querySelectorAll('telia-tab-content');\n slotted.forEach(node => {\n if (node.nodeName.indexOf('TELIA-TAB') > -1) {\n this.children.push(node);\n }\n });\n }\n getActiveTabListItem() {\n return this.tabList.querySelector('.telia-tab__header--active');\n }\n /**\n * Checks if there is a scroll in tab list and sets relevant class\n * @private\n */\n calculateScroll() {\n this.scrollToTarget(this.getActiveTabListItem());\n let headerContainer = this.host.shadowRoot.querySelector('.telia-tab__list__container');\n let headerWrapper = this.host.shadowRoot.querySelector('.telia-tab__wrapper');\n if (headerContainer.scrollWidth >\n headerWrapper.offsetWidth + this.gridPadding) {\n this.scrollClasses =\n this.wrapperClass +\n '--scroll_start ' +\n this.wrapperClass +\n '--has-scroll';\n }\n else if (headerContainer.scrollWidth ===\n headerWrapper.offsetWidth + this.gridPadding) {\n this.scrollClasses = ' ';\n }\n }\n render() {\n const tabClasses = {\n 'telia-tab': true,\n [`telia-tab--${this.variant}`]: !!this.variant,\n };\n const contentClasses = {\n 'telia-tab__content': true,\n 'telia-tab__content--light-background': this.background,\n };\n return (h(\"div\", { class: tabClasses }, h(\"telia-vst\", { dataTrackingId: this.dataTrackingId }), h(\"div\", { class: \"telia-tab__container\" }, h(\"div\", { class: this.wrapperClass + ' ' + this.scrollClasses }, h(\"div\", { ref: el => (this.tabList = el), class: \"telia-tab__list\", role: \"tablist\" }, h(\"ul\", { class: \"telia-tab__list__container\", role: \"presentation\" }, this.children.map((child, index) => {\n return (h(\"li\", { role: \"presentation\", class: {\n 'telia-tab__header': true,\n 'telia-tab__header--active': child.active,\n }, onFocusin: e => {\n this.scrollToTarget(e.target);\n } }, h(\"telia-tab-header\", { tabId: child.tabId, icon: child.icon, name: child.name, active: child.active, \"data-testid\": child.dataTestid, \"data-index\": index, \"is-key-press\": this.isKeyPress, variant: this.variant }, child.name)));\n }))))), h(\"div\", { class: contentClasses, role: \"presentation\" }, h(\"div\", { class: \"telia-tab__container\", role: \"presentation\" }, h(\"slot\", null)))));\n }\n get host() { return this; }\n static get style() { return teliaTabCss; }\n}, [1, \"telia-tab\", {\n \"background\": [4],\n \"variant\": [1],\n \"scrollClasses\": [32],\n \"children\": [32]\n }, [[0, \"vocaInternalTabNavigation\", \"handleTabNavigation\"], [9, \"resize\", \"handleResize\"]]]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-tab\", \"telia-icon\", \"telia-tab-header\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-tab\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTab$1);\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-tab-header\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTab = TeliaTab$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTab, defineCustomElement };\n"],"names":["teliaTabCss","TeliaTab$1","proxyCustomElement","HTMLElement","createEvent","entries","allTabItemsIsVisible","firstTabItemIsActiveInScope","entry","entryIndex","e","location","key","currentIndex","nextIndex","TabNavigationTypes","child","index","el","currentBreakpoint","activePreSet","target","_a","targetRect","wrapperRect","wrapperWidth","wrapperOffset","offset","left","node","headerContainer","headerWrapper","tabClasses","contentClasses","h","defineCustomElement$1","tagName","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":";;;;;AAKA,MAAMA,IAAc,i3KAEdC,IAA2B,gBAAAC,EAAmB,cAAcC,EAAY;AAAA,EAC5E,cAAc;AACZ,aACA,KAAK,eAAc,GACnB,KAAK,eAAc,GACnB,KAAK,gBAAgBC,EAAY,MAAM,iBAAiB,CAAC,GAEzD,KAAK,gBAAgB,KAErB,KAAK,WAAW,IAEhB,KAAK,aAAa,IAElB,KAAK,UAAU,WAEf,KAAK,iBAAiB,aACtB,KAAK,cAAc,GACnB,KAAK,eAAe,sBACpB,KAAK,aAAa,IAOlB,KAAK,oBAAoB,IACzB,KAAK,iBAAiB,CAACC,MAAY;AACjC,UAAIC,IAAuB,IACvBC,IAA8B;AAElC,MAAIF,EAAQ,MAAM,CAAAG,MAASA,EAAM,cAAc,KAC7CH,EAAQ,WAAW,KAAK,SAAS,WACjC,KAAK,gBAAgB,KACrBC,IAAuB,KAEzBD,EAAQ,QAAQ,CAAAG,MAAS;AAEvB,YAAIA,EAAM,gBAAgB;AACxB,cAAIC,IAAa,OAAOD,EAAM,OAAO,SAAS,GAAG,aAAa,YAAY,CAAC;AAC3E,UAAIC,MAAe,KACjBD,EAAM,OAAO,UAAU,SAAS,2BAA2B,MAE3DD,IAA8B,KAE5BE,MAAe,KAAKA,MAAe,IACrC,KAAK,gBACH,KAAK,eACH,oBAEA,KAAK,eACL,iBAEGA,MAAe,KAAK,SAAS,SAAS,IAC7C,KAAK,gBACH,KAAK,eACH,kBAEA,KAAK,eACL,iBAEG,KAAK,iBACZ,KAAK,eACH,mBAEA,KAAK,eACL,mBACEF,IACF,KAAK,gBAAe,IAGpB,KAAK,gBACH,KAAK,eACH,mBAEA,KAAK,eACL;AAAA,QAGT;AAAA,MACT,CAAO,GACGD,KACF,KAAK,gBAAe;AAAA,IAE5B;AAAA,EACG;AAAA,EACD,oBAAoBI,GAAG;AACrB,UAAM,EAAE,UAAAC,GAAU,KAAAC,EAAG,IAAKF,EAAE,OAAO,OAC7BG,IAAe,KAAK;AAC1B,QAAIC;AAMJ,YALA,KAAK,aAAa,IACdH,IAAW,OACbG,IAAYH,GACZ,KAAK,aAAa,KAEZC,GAAG;AAAA,MACT,KAAKG,EAAmB;AACtB,QAAIF,IAAe,IACjBC,IAAYD,IAAe,IAG3BC,IAAY,KAAK,SAAS,SAAS;AAErC;AAAA,MACF,KAAKC,EAAmB;AACtB,QAAIF,IAAe,KAAK,SAAS,SAAS,IACxCC,IAAYD,IAAe,IAG3BC,IAAY;AAEd;AAAA,MACF,KAAKC,EAAmB;AACtB,QAAAD,IAAY;AACZ;AAAA,MACF,KAAKC,EAAmB;AACtB,QAAAD,IAAY,KAAK,SAAS,SAAS;AACnC;AAAA,IACH;AACD,SAAK,cAAcA,GACnB,KAAK,SAAS,QAAQ,CAACE,GAAOC,MAAU;AACtC,MAAAD,EAAM,SAASC,MAAUH;AAAA,IAC/B,CAAK,GACD,KAAK,cAAc,KAAK,EAAE,OAAO,KAAK,SAAS,KAAK,aAAa,MAAO,CAAA,GACxE,KAAK,eAAc;AAAA,EACpB;AAAA,EACD,eAAe;AACb,SAAK,4BAA2B,GAChC,KAAK,gBAAe;AAAA,EACrB;AAAA,EACD,oBAAoB;AAClB,SAAK,eAAc,GACnB,KAAK,mBAAkB;AAAA,EACxB;AAAA,EACD,mBAAmB;AACjB,SAAK,WAAW,KAAK,KAAK,WAAW,iBAAiB,oBAAoB,GAC1E,KAAK,WAAW,IAAI,qBAAqB,KAAK,gBAAgB;AAAA,MAC5D,WAAW,CAAC,IAAI;AAAA,IACtB,CAAK,GACD,KAAK,SAAS,QAAQ,CAAAI,MAAM,KAAK,SAAS,QAAQA,CAAE,CAAC,GACrD,KAAK,eAAc,GACnB,KAAK,4BAA2B,GAChC,KAAK,gBAAe;AAAA,EACrB;AAAA,EACD,qBAAqB;AACnB,IAAK,KAAK,qBACR,KAAK,eAAe,KAAK,qBAAsB,CAAA;AAAA,EAElD;AAAA,EACD,uBAAuB;AAErB,IAAI,KAAK,aAAa,QACpB,KAAK,SAAS;EAEjB;AAAA,EAKD,iBAAiB;AACf,SAAK,cAAc;AAAA,EACpB;AAAA,EAOD,8BAA8B;AAC5B,QAAI,KAAK,YAAY;AACnB;AAEF,UAAMC,IAAoB,OACvB,iBAAiB,KAAK,SAAS,SAAS,EACxC,iBAAiB,SAAS,EAC1B,QAAQ,OAAO,EAAE;AACpB,IAAIA,KAAqB,KAAK,eAC5B,KAAK,aAAaA,GAClB,KAAK,eAAc;AAAA,EAEtB;AAAA,EAMD,qBAAqB;AACnB,QAAI,KAAK,SAAS,WAAW;AAC3B;AAKF,QAAIC,IAAe;AACnB,SAAK,SAAS,QAAQ,CAACJ,GAAOC,MAAU;AACtC,MAAIG,MAMFJ,EAAM,SAAS,KAEbA,EAAM,WACRI,IAAe,IACf,KAAK,cAAcH;AAAA,IAE3B,CAAK,GACG,KAAK,gBAAgB,MACvB,KAAK,SAAS,KAAK,aAAa,SAAS;AAAA,EAE5C;AAAA,EAMD,eAAeI,GAAQ;AACrB,QAAIC;AAMJ,QAAI,KAAK,QAAQ,UAAU;AACzB;AAEF,UAAMC,IAAaF,EAAO,yBACpBG,IAAc,KAAK,QAAQ,sBAAqB,GAChDC,IAAe,KAAK,QAAQ,aAC5BC,IAAgB,UAAUJ,IAAK,iBAAiB,KAAK,OAAO,EAAE,0BAA0B,QAAQA,MAAO,SAAS,SAASA,EAAG,MAAM,IAAI,EAAE,IAAI,EAAE;AACpJ,QAAIK,IAASH,EAAY,QAAQ,MAAME,CAAa,IAAI,IAAIA,IACxDE;AAEJ,IAAIL,EAAW,QAAQC,EAAY,UACjCI,IAAOL,EAAW,OAAO,KAAK,QAAQ,YACtCK,IAAOA,IAAOL,EAAW,QAAQE,IAAeA,IAAe,KAC/DG,IAAOA,IAAOD,IAGZJ,EAAW,OAAOC,EAAY,SAChCI,IAAOL,EAAW,OAAO,KAAK,QAAQ,YACtCK,IAAOA,IAAOH,IAAe,KAC7BG,IAAOA,IAAOD,IAEZC,MAAS,UACX,KAAK,QAAQ,OAAO,EAAE,MAAMA,GAAM,UAAU,SAAQ,CAAE;AAAA,EAEzD;AAAA,EAKD,iBAAiB;AACf,SAAK,WAAW,IACF,KAAK,KAAK,iBAAiB,mBAAmB,EACpD,QAAQ,CAAAC,MAAQ;AACtB,MAAIA,EAAK,SAAS,QAAQ,WAAW,IAAI,MACvC,KAAK,SAAS,KAAKA,CAAI;AAAA,IAE/B,CAAK;AAAA,EACF;AAAA,EACD,uBAAuB;AACrB,WAAO,KAAK,QAAQ,cAAc,4BAA4B;AAAA,EAC/D;AAAA,EAKD,kBAAkB;AAChB,SAAK,eAAe,KAAK,qBAAsB,CAAA;AAC/C,QAAIC,IAAkB,KAAK,KAAK,WAAW,cAAc,6BAA6B,GAClFC,IAAgB,KAAK,KAAK,WAAW,cAAc,qBAAqB;AAC5E,IAAID,EAAgB,cAClBC,EAAc,cAAc,KAAK,cACjC,KAAK,gBACH,KAAK,eACH,oBACA,KAAK,eACL,iBAEGD,EAAgB,gBACvBC,EAAc,cAAc,KAAK,gBACjC,KAAK,gBAAgB;AAAA,EAExB;AAAA,EACD,SAAS;AACP,UAAMC,IAAa;AAAA,MACjB,aAAa;AAAA,MACb,CAAC,cAAc,KAAK,YAAY,CAAC,CAAC,KAAK;AAAA,IAC7C,GACUC,IAAiB;AAAA,MACrB,sBAAsB;AAAA,MACtB,wCAAwC,KAAK;AAAA,IACnD;AACI,WAAQC,EAAE,OAAO,EAAE,OAAOF,EAAY,GAAEE,EAAE,aAAa,EAAE,gBAAgB,KAAK,eAAc,CAAE,GAAGA,EAAE,OAAO,EAAE,OAAO,uBAAsB,GAAIA,EAAE,OAAO,EAAE,OAAO,KAAK,eAAe,MAAM,KAAK,iBAAiBA,EAAE,OAAO,EAAE,KAAK,CAAAhB,MAAO,KAAK,UAAUA,GAAK,OAAO,mBAAmB,MAAM,UAAS,GAAIgB,EAAE,MAAM,EAAE,OAAO,8BAA8B,MAAM,kBAAkB,KAAK,SAAS,IAAI,CAAClB,GAAOC,MAC9XiB,EAAE,MAAM,EAAE,MAAM,gBAAgB,OAAO;AAAA,MAC3C,qBAAqB;AAAA,MACrB,6BAA6BlB,EAAM;AAAA,IAC7C,GAAW,WAAW,CAAAN,MAAK;AACjB,WAAK,eAAeA,EAAE,MAAM;AAAA,IAC7B,EAAA,GAAIwB,EAAE,oBAAoB,EAAE,OAAOlB,EAAM,OAAO,MAAMA,EAAM,MAAM,MAAMA,EAAM,MAAM,QAAQA,EAAM,QAAQ,eAAeA,EAAM,YAAY,cAAcC,GAAO,gBAAgB,KAAK,YAAY,SAAS,KAAK,QAAO,GAAID,EAAM,IAAI,CAAC,CACzO,CAAC,CAAC,CAAC,CAAC,GAAGkB,EAAE,OAAO,EAAE,OAAOD,GAAgB,MAAM,kBAAkBC,EAAE,OAAO,EAAE,OAAO,wBAAwB,MAAM,eAAc,GAAIA,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAA,EACtJ;AAAA,EACD,IAAI,OAAO;AAAE,WAAO;AAAA,EAAO;AAAA,EAC3B,WAAW,QAAQ;AAAE,WAAOlC;AAAA,EAAc;AAC5C,GAAG,CAAC,GAAG,aAAa;AAAA,EAChB,YAAc,CAAC,CAAC;AAAA,EAChB,SAAW,CAAC,CAAC;AAAA,EACb,eAAiB,CAAC,EAAE;AAAA,EACpB,UAAY,CAAC,EAAE;AAChB,GAAE,CAAC,CAAC,GAAG,6BAA6B,qBAAqB,GAAG,CAAC,GAAG,UAAU,cAAc,CAAC,CAAC,CAAC;AAC9F,SAASmC,IAAwB;AAC/B,MAAI,OAAO,iBAAmB;AAC5B;AAGF,EADmB,CAAC,aAAa,cAAc,oBAAoB,WAAW,EACnE,QAAQ,CAAAC,MAAW;AAAE,YAAQA,GAAO;AAAA,MAC7C,KAAK;AACH,QAAK,eAAe,IAAIA,CAAO,KAC7B,eAAe,OAAOA,GAASnC,CAAU;AAE3C;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAImC,CAAO,KAC7BC;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAID,CAAO,KAC7BE;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIF,CAAO,KAC7BG;AAEF;AAAA,IACH;AAAA,EAAA,CAAE;AACL;AACAJ,EAAuB;"}
|
|
1
|
+
{"version":3,"file":"telia-tab.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.6.0/node_modules/@teliads/components/dist/components/telia-tab.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { d as defineCustomElement$3, T as TabNavigationTypes } from './telia-tab-header2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\nconst teliaTabCss = \".telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0;}.telia-tab telia-tab-header[active]{background-color:white;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--scroll-end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll-end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll-start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;gap:calc(0.4rem * var(--voca-rem-multiplier));max-width:100%;min-width:100%;overflow:auto;padding:0;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__list::before{content:\\\"small\\\";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:\\\"medium\\\"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:\\\"large\\\"}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--light,.telia-tab--light-wide{}.telia-tab--light telia-tab-header[active],.telia-tab--light-wide telia-tab-header[active]{background-color:transparent}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{gap:0;position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:\\\"\\\";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide telia-tab-header,.telia-tab--light-wide telia-tab-header{flex-basis:auto;flex-grow:1;flex-shrink:0;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}\";\n\nconst TeliaTab$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.vocaTabChange = createEvent(this, \"vocaTabChange\", 7);\n /** State scroll used for toggling horizontal scroll shadow */\n this.scrollClasses = {};\n /** Array of slotted children */\n this.children = [];\n /** sets background on content */\n this.background = false;\n /** variant */\n this.variant = 'default';\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-tab';\n this.activeIndex = 0;\n this.isKeyPress = true;\n this.onIntersection = (entries) => {\n const allEntriesVisible = entries.every(entry => entry.isIntersecting) &&\n entries.length === this.tabItems.length;\n if (allEntriesVisible) {\n this.scrollClasses = {};\n return;\n }\n entries.forEach(entry => {\n const entryIndex = Number(entry.target.children[0].getAttribute('data-index'));\n const isStartEntry = entryIndex === 0;\n const isLastEntry = entryIndex === this.tabItems.length - 1;\n this.scrollClasses = Object.assign(Object.assign(Object.assign({ 'telia-tab__wrapper--scroll-start': true }, this.scrollClasses), (isStartEntry && {\n 'telia-tab__wrapper--scroll-end': !entry.isIntersecting,\n })), (isLastEntry && {\n 'telia-tab__wrapper--scroll-start': !entry.isIntersecting,\n }));\n });\n };\n }\n handleTabNavigation(e) {\n const { location, key } = e.detail.value;\n const currentIndex = this.activeIndex;\n let nextIndex;\n this.isKeyPress = true;\n if (location > -1) {\n nextIndex = location;\n this.isKeyPress = false;\n }\n switch (key) {\n case TabNavigationTypes.ArrowLeft:\n if (currentIndex > 0) {\n nextIndex = currentIndex - 1;\n }\n else {\n nextIndex = this.children.length - 1;\n }\n break;\n case TabNavigationTypes.ArrowRight:\n if (currentIndex < this.children.length - 1) {\n nextIndex = currentIndex + 1;\n }\n else {\n nextIndex = 0;\n }\n break;\n case TabNavigationTypes.Home:\n nextIndex = 0;\n break;\n case TabNavigationTypes.End:\n nextIndex = this.children.length - 1;\n break;\n }\n this.activeIndex = nextIndex;\n this.children.forEach((child, index) => {\n child.active = index === nextIndex;\n });\n this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId });\n this.createChildren();\n }\n handleResize() {\n this.scrollToTarget(this.getActiveTabListItem());\n }\n componentWillLoad() {\n this.createChildren();\n this.findPreSelectedTab();\n }\n componentDidLoad() {\n this.tabItems = this.host.shadowRoot.querySelectorAll('telia-tab-header');\n const tablist = this.host.shadowRoot.querySelector('.telia-tab__list');\n this.observer = new IntersectionObserver(this.onIntersection, {\n threshold: [0.99],\n root: tablist,\n });\n this.tabItems.forEach(el => this.observer.observe(el));\n this.scrollToTarget(this.getActiveTabListItem());\n }\n disconnectedCallback() {\n var _a, _b;\n // if we have an intersection observer, disconnect it\n (_b = (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n /**\n * Check if there is a pre-selected tab,\n * else set first tab as pre-selected\n * @private\n */\n findPreSelectedTab() {\n if (this.children.length === 0)\n return;\n /**\n * flag to indicate that an active tab\n * was found on render\n */\n let activePreSet = false;\n this.children.forEach((child, index) => {\n if (activePreSet) {\n /**\n * since flag is true\n * all other tabs should\n * be set to not active\n */\n child.active = false;\n }\n if (child.active) {\n activePreSet = true;\n this.activeIndex = index;\n }\n });\n if (this.activeIndex === 0) {\n this.children[this.activeIndex].active = true;\n }\n }\n /**\n * Will scroll tab list to keyboard focused tab header\n * @param target\n * @private\n */\n scrollToTarget(target) {\n var _a, _b;\n /**\n * scroll may not be available in test runner, so check existence before\n * proceeding. We can't use scrollIntoView() because Safari doesn't support\n * it fully.\n */\n if (typeof (target === null || target === void 0 ? void 0 : target.getBoundingClientRect) !== 'function' ||\n typeof ((_a = this.tabList) === null || _a === void 0 ? void 0 : _a.scroll) !== 'function') {\n return;\n }\n const targetRect = target.getBoundingClientRect();\n const wrapperRect = this.tabList.getBoundingClientRect();\n const wrapperWidth = this.tabList.clientWidth;\n const wrapperOffset = parseInt((_b = getComputedStyle(this.tabList)['border-width-left']) === null || _b === void 0 ? void 0 : _b.split('px')[0], 10);\n let offset = wrapperRect.left + (isNaN(wrapperOffset) ? 0 : wrapperOffset);\n let left;\n //Handle forward navigation\n if (targetRect.right > wrapperRect.right) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left + targetRect.width - wrapperWidth + wrapperWidth * 0.1;\n left = left - offset;\n }\n //Handle backwards navigation\n if (targetRect.left < wrapperRect.left) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left - wrapperWidth * 0.1;\n left = left - offset;\n }\n if (left !== undefined) {\n this.tabList.scroll({ left: left, behavior: 'smooth' });\n }\n }\n /**\n * Create child array\n * @private\n */\n createChildren() {\n this.children = [];\n let slotted = this.host.querySelectorAll('telia-tab-content');\n slotted.forEach(node => {\n if (node.nodeName.indexOf('TELIA-TAB') > -1) {\n this.children.push(node);\n }\n });\n }\n getActiveTabListItem() {\n var _a;\n return (_a = this.tabList) === null || _a === void 0 ? void 0 : _a.querySelector('telia-tab-header[active]');\n }\n render() {\n return (h(\"div\", { class: {\n 'telia-tab': true,\n [`telia-tab--${this.variant}`]: !!this.variant,\n } }, h(\"telia-vst\", { dataTrackingId: this.dataTrackingId }), h(\"div\", { class: \"telia-tab__container\" }, h(\"div\", { class: Object.assign({ 'telia-tab__wrapper': true }, this.scrollClasses) }, h(\"div\", { ref: el => {\n this.tabList = el;\n }, class: \"telia-tab__list\", role: \"tablist\" }, this.children.map((child, index) => {\n return (h(\"telia-tab-header\", { onFocusin: e => {\n this.scrollToTarget(e.target);\n }, tabId: child.tabId, icon: child.icon, name: child.name, active: child.active, \"data-testid\": child.dataTestid, \"data-index\": index, \"is-key-press\": this.isKeyPress, variant: this.variant }, child.name));\n })))), h(\"div\", { class: {\n 'telia-tab__content': true,\n 'telia-tab__content--light-background': this.background,\n }, role: \"presentation\" }, h(\"div\", { class: \"telia-tab__container\", role: \"presentation\" }, h(\"slot\", null)))));\n }\n get host() { return this; }\n static get style() { return teliaTabCss; }\n}, [1, \"telia-tab\", {\n \"background\": [4],\n \"variant\": [1],\n \"scrollClasses\": [32],\n \"children\": [32]\n }, [[0, \"vocaInternalTabNavigation\", \"handleTabNavigation\"], [9, \"resize\", \"handleResize\"]]]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-tab\", \"telia-icon\", \"telia-tab-header\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-tab\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTab$1);\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-tab-header\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTab = TeliaTab$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTab, defineCustomElement };\n"],"names":["teliaTabCss","TeliaTab$1","proxyCustomElement","HTMLElement","createEvent","entries","entry","entryIndex","isStartEntry","isLastEntry","e","location","key","currentIndex","nextIndex","TabNavigationTypes","child","index","tablist","el","_a","_b","activePreSet","target","targetRect","wrapperRect","wrapperWidth","wrapperOffset","offset","left","node","h","defineCustomElement$1","tagName","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { p as c, H as d, c as m, h as i } from "../../chunks/index-
|
|
1
|
+
import { p as c, H as d, c as m, h as i } from "../../chunks/index-17652cf7.js";
|
|
2
2
|
import { u as s } from "../../chunks/uniqueId-0daf01ec.js";
|
|
3
|
-
import { s as p } from "../../chunks/stringCombiner-
|
|
4
|
-
import { d as h } from "../../chunks/telia-field-assistive-text2-
|
|
5
|
-
import { d as v } from "../../chunks/telia-field-error2-
|
|
6
|
-
import { d as g } from "../../chunks/telia-field-valid2-
|
|
7
|
-
import { d as f } from "../../chunks/telia-icon2-
|
|
8
|
-
import { d as _ } from "../../chunks/telia-label2-
|
|
9
|
-
import { d as x } from "../../chunks/telia-vst2-
|
|
3
|
+
import { s as p } from "../../chunks/stringCombiner-10b57054.js";
|
|
4
|
+
import { d as h } from "../../chunks/telia-field-assistive-text2-fd970326.js";
|
|
5
|
+
import { d as v } from "../../chunks/telia-field-error2-63eae7b3.js";
|
|
6
|
+
import { d as g } from "../../chunks/telia-field-valid2-bda898b1.js";
|
|
7
|
+
import { d as f } from "../../chunks/telia-icon2-34bf5aef.js";
|
|
8
|
+
import { d as _ } from "../../chunks/telia-label2-4d674e5e.js";
|
|
9
|
+
import { d as x } from "../../chunks/telia-vst2-1a7f7bd6.js";
|
|
10
10
|
import "../../chunks/error-filled-8de50bdd.js";
|
|
11
11
|
import "../../chunks/check-circle-filled-42095247.js";
|
|
12
12
|
import "../../chunks/getSvgContent-f2389ce0.js";
|
|
@@ -34,13 +34,16 @@ const b = {
|
|
|
34
34
|
this.updateErrorMessage(this.errorMessage), this.touched = !0;
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
if (r && !this.isValueMissing() && this.touched &&
|
|
37
|
+
if (r && !this.isValueMissing() && this.touched && this.patternErrorMessage && !this.isValuePatternValid() && this.updateErrorMessage(this.patternErrorMessage), n && this.touched && this.minlengthErrorMessage && this.isValueLessThanMinlength() && this.updateErrorMessage(this.minlengthErrorMessage), l && (o && this.isValueTypeInvalid() && this.touched && this.updateErrorMessage(this.emailErrorMessage), this.touched && this.requiredErrorMessage && this.isValueMissing() && this.updateErrorMessage(this.requiredErrorMessage)), a) {
|
|
38
38
|
if (r && !this.isValuePatternValid() || n && this.isValueLessThanMinlength() || l && this.isValueMissing() || o && this.isValueTypeInvalid())
|
|
39
39
|
return;
|
|
40
40
|
this.updateErrorMessage("");
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Sets focus on input
|
|
46
|
+
*/
|
|
44
47
|
async focusInput() {
|
|
45
48
|
this.inputElement.focus();
|
|
46
49
|
}
|
|
@@ -52,11 +55,24 @@ const b = {
|
|
|
52
55
|
}
|
|
53
56
|
componentDidRender() {
|
|
54
57
|
var t, e, a;
|
|
55
|
-
this.inputElement && ((t = this.inputElement) === null || t === void 0
|
|
58
|
+
this.inputElement && (!((t = this.inputElement) === null || t === void 0) && t.setCustomValidity) && ((e = this.inputElement) === null || e === void 0 || e.setCustomValidity(this.errorMessageState)), this.htmlForm && ((a = this.inputElement) === null || a === void 0 || a.setAttribute("form", this.htmlForm));
|
|
56
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Watch if value attributes changes after initial load.
|
|
62
|
+
* Needed for prefilling functionality to work with input validations.
|
|
63
|
+
* @param value value attribute
|
|
64
|
+
*/
|
|
57
65
|
componentValueChanged(t) {
|
|
58
66
|
this.inputValue = t, this.updateErrorState();
|
|
59
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* This method is used to determine
|
|
70
|
+
* if a 'valid icon' can be shown to the user.
|
|
71
|
+
* Given the complexity of the validation logic
|
|
72
|
+
* in this component, using this method
|
|
73
|
+
* to determine 'validity' in a general sense
|
|
74
|
+
* should be carefully considered and tested.
|
|
75
|
+
*/
|
|
60
76
|
isValid() {
|
|
61
77
|
return !this.errorMessage && !this.isValueMissing() && !this.isValueLessThanMinlength() && !this.isValueTypeInvalid() && this.isValuePatternValid();
|
|
62
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-text-input.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.3.3/node_modules/@teliads/components/dist/components/telia-text-input.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { u as uniqueId } from './uniqueId.js';\nimport { s as stringCombiner } from './stringCombiner.js';\nimport { d as defineCustomElement$7 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$6 } from './telia-field-error2.js';\nimport { d as defineCustomElement$5 } from './telia-field-valid2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$3 } from './telia-label2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\n// Create a const where all members have a readonly value\n// and literal type by using const assertion.\nconst TextFieldTypes = {\n text: 'text',\n number: 'number',\n email: 'email',\n tel: 'tel',\n search: 'search',\n password: 'password',\n};\n\nconst teliaTextInputCss = \".telia-text-input{display:flex;flex-direction:column}.telia-text-input__input{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90;border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;color:#222222;font-family:\\\"TeliaSans\\\", Helvetica, Arial, \\\"Lucida Grande\\\", sans-serif;font-weight:normal;font-size:calc(1.6rem * var(--voca-rem-multiplier));line-height:1.5;-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;margin:0;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier));width:100%;height:calc(4.6rem * var(--voca-rem-multiplier));margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:2}.telia-text-input__input:required{box-shadow:none}.telia-text-input__input[type=search]{-webkit-appearance:textfield;outline-offset:calc(-0.2rem * var(--voca-rem-multiplier))}.telia-text-input__input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.telia-text-input__input[type=number]~.telia-text-input__valid-icon-container,.telia-text-input__input[type=search]~.telia-text-input__valid-icon-container{margin:calc(-1 * (4.6rem * var(--voca-rem-multiplier))) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - (3.2rem * var(--voca-rem-multiplier)));width:0}.telia-text-input__input:hover{border:calc(0.2rem * var(--voca-rem-multiplier)) solid #29003e;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__input:hover:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:focus{outline:solid calc(0.3rem * var(--voca-rem-multiplier)) #0099ff;outline-offset:calc(0.2rem * var(--voca-rem-multiplier));padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:focus:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:read-only{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#e8e8ed}.telia-text-input__input:read-only:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#dcdce1;color:#606064;cursor:not-allowed;-webkit-text-fill-color:#606064}.telia-text-input__input:disabled:hover{padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled~telia-label .telia-label{color:#606064;cursor:not-allowed}.telia-text-input__input:disabled~.telia-text-input__additional{color:#b0b0b5}.telia-text-input__input:invalid{box-shadow:none}.telia-text-input__input--icon-shown{padding:calc(1rem * var(--voca-rem-multiplier)) calc(4.5rem * var(--voca-rem-multiplier)) calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input--touched:invalid{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #be0040}.telia-text-input__input--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #be0040;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__valid-icon-container{align-items:center;display:flex;flex-direction:row;height:calc(4.6rem * var(--voca-rem-multiplier));justify-content:flex-end;margin:calc(calc(4.6rem * var(--voca-rem-multiplier)) * -1) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - calc(1.2rem * var(--voca-rem-multiplier)));order:3}.telia-text-input__additional{order:4}.telia-text-input__error{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:5}\";\n\nconst TeliaTextInput$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.valueChange = createEvent(this, \"valueChange\", 7);\n /** Type of input as a string */\n this.type = TextFieldTypes.text;\n /** Value of input */\n this.value = '';\n /** Additional description id */\n this.additionalId = uniqueId('additional');\n /** Input element id */\n this.inputId = uniqueId('input');\n /** Error description id */\n this.errorId = uniqueId('error');\n /** Disabled state */\n this.disabled = false;\n /** Readonly state */\n this.readonly = false;\n /** Field needs to be filled, so it can be submitted */\n this.required = false;\n /** Show valid icon when value passes all validations. Use sparingly. */\n this.showValidIcon = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-text-input';\n /**\n * Input has been blurred at least once.\n */\n this.touched = false;\n /**\n * Input has received data at least once.\n */\n this.dirty = false;\n /**\n * Real time value of input\n */\n this.inputValue = '';\n /**\n * Error message\n */\n this.errorMessageState = '';\n this.updateInputValue = () => {\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n this.inputValue = this.inputElement ? this.inputElement.value : this.value;\n };\n /**\n * Check if input value state is valid with given pattern. This is\n * imitating native input validation.\n */\n this.isValuePatternValid = () => {\n if (this.pattern) {\n const regexp = new RegExp('^(?:' + this.pattern + ')$');\n return regexp.test(this.inputValue);\n }\n return true;\n };\n this.isValueLessThanMinlength = () => {\n return (this.inputValue.length > 0 && this.inputValue.length < this.minlength);\n };\n /**\n * Check if validation failed due to type mismatch.\n * Type mismatch is set to true when email, url, ... field type built-in validation triggers\n */\n this.isValueTypeInvalid = () => {\n var _a;\n return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.validity.typeMismatch;\n };\n /**\n * Update error message and keep native input error message in sync.\n */\n this.updateErrorMessage = message => {\n var _a;\n (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(message);\n this.errorMessageState = message;\n };\n /**\n * Check if input value is empty, so required should be triggered.\n */\n this.isValueMissing = () => {\n return this.inputValue.length === 0;\n };\n this.updateErrorState = () => {\n var _a, _b;\n const errorMessageIsSet = !!((_a = this.errorMessageState) === null || _a === void 0 ? void 0 : _a.length);\n const requiredInUse = this.required;\n const patternInUse = !!this.pattern;\n const minlengthInUse = this.minlength;\n const generalErrorInUse = !!((_b = this.errorMessage) === null || _b === void 0 ? void 0 : _b.length);\n const emailErrorInUse = !!this.emailErrorMessage && this.type === 'email';\n if (generalErrorInUse) {\n this.updateErrorMessage(this.errorMessage);\n this.touched = true;\n // General error message overrides other errors, so exit here.\n return;\n }\n if (patternInUse && !this.isValueMissing()) {\n if (this.touched &&\n !!this.patternErrorMessage &&\n !this.isValuePatternValid()) {\n this.updateErrorMessage(this.patternErrorMessage);\n }\n }\n if (minlengthInUse) {\n if (this.touched &&\n !!this.minlengthErrorMessage &&\n this.isValueLessThanMinlength()) {\n this.updateErrorMessage(this.minlengthErrorMessage);\n }\n }\n if (requiredInUse) {\n /**\n * Follow HTML5 input ways of working,\n * email field is validated only if type is email and required is set to true\n */\n if (emailErrorInUse && this.isValueTypeInvalid() && this.touched) {\n this.updateErrorMessage(this.emailErrorMessage);\n }\n if (this.touched &&\n !!this.requiredErrorMessage &&\n this.isValueMissing()) {\n this.updateErrorMessage(this.requiredErrorMessage);\n }\n }\n // Clean error message if needed\n if (errorMessageIsSet) {\n if (patternInUse && !this.isValuePatternValid())\n return;\n if (minlengthInUse && this.isValueLessThanMinlength())\n return;\n if (requiredInUse && this.isValueMissing())\n return;\n if (emailErrorInUse && this.isValueTypeInvalid())\n return;\n this.updateErrorMessage('');\n }\n };\n }\n /**\n * Sets focus on input\n */\n async focusInput() {\n this.inputElement.focus();\n }\n componentWillLoad() {\n this.updateInputValue();\n this.updateErrorState();\n }\n componentWillUpdate() {\n this.updateErrorState();\n }\n componentDidRender() {\n // This check is for Stencil unit tests. Input element is mocked,\n // but setCustomValidity method is not. It is undefined.\n var _a, _b, _c;\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n if (this.inputElement && ((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity)) {\n (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.setCustomValidity(this.errorMessageState);\n }\n if (this.htmlForm) {\n (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.setAttribute('form', this.htmlForm);\n }\n }\n /**\n * Watch if value attributes changes after initial load.\n * Needed for prefilling functionality to work with input validations.\n * @param value value attribute\n */\n componentValueChanged(value) {\n this.inputValue = value;\n this.updateErrorState();\n }\n /**\n * This method is used to determine\n * if a 'valid icon' can be shown to the user.\n * Given the complexity of the validation logic\n * in this component, using this method\n * to determine 'validity' in a general sense\n * should be carefully considered and tested.\n */\n isValid() {\n return (!this.errorMessage &&\n !this.isValueMissing() &&\n !this.isValueLessThanMinlength() &&\n !this.isValueTypeInvalid() &&\n this.isValuePatternValid());\n }\n render() {\n const showError = this.touched && !!this.errorMessageState.length;\n const showAdditional = !!this.additional;\n const describedBy = stringCombiner({\n [this.additionalId]: showAdditional,\n [this.errorId]: this.errorMessageState.length,\n });\n const showValidIcon = this.showValidIcon && this.dirty && this.isValid();\n return (h(\"div\", { class: \"telia-text-input\" }, h(\"input\", { class: {\n 'telia-text-input__input': true,\n 'telia-text-input__input--touched': this.touched,\n 'telia-text-input__input--icon-shown': showValidIcon,\n }, type: this.type, id: this.inputId, \"aria-describedby\": describedBy, minlength: this.minlength, maxlength: this.maxlength, disabled: this.disabled, readonly: this.readonly, value: this.value, name: this.name, onChange: event => {\n /** valueChange is deprecated, will be removed in the future releases. */\n this.valueChange.emit(event);\n }, onInput: () => {\n this.dirty = true;\n this.updateInputValue();\n this.updateErrorState();\n }, inputmode: this.inputmode, list: this.list, autocomplete: this.autocomplete, required: this.required, onBlur: () => {\n this.touched = true;\n this.updateErrorState();\n }, ref: ref => (this.inputElement = ref), pattern: this.pattern, onInvalid: event => {\n event.preventDefault();\n this.touched = true;\n this.updateErrorState();\n }, form: this.htmlForm }), showValidIcon && (h(\"div\", { class: \"telia-text-input__valid-icon-container\" }, h(\"telia-field-valid\", { class: \"telia-text-input__valid-icon\" }))), h(\"telia-label\", { class: \"telia-text-input__label\", htmlFor: this.inputId }, this.required && h(\"span\", { \"aria-hidden\": \"true\" }, '* '), this.label), showAdditional && (h(\"telia-field-assistive-text\", { class: \"telia-text-input__additional\", id: this.additionalId }, this.additional)), showError && (h(\"telia-field-error\", { id: this.errorId, class: \"telia-text-input__error\" }, this.errorMessageState)), h(\"telia-vst\", { dataTrackingId: this.dataTrackingId })));\n }\n static get watchers() { return {\n \"value\": [\"componentValueChanged\"]\n }; }\n static get style() { return teliaTextInputCss; }\n}, [0, \"telia-text-input\", {\n \"dataTestid\": [1, \"data-testid\"],\n \"htmlForm\": [1, \"html-form\"],\n \"type\": [1],\n \"label\": [1],\n \"value\": [1],\n \"name\": [1],\n \"additional\": [1],\n \"additionalId\": [1, \"additional-id\"],\n \"inputId\": [1, \"input-id\"],\n \"errorId\": [1, \"error-id\"],\n \"disabled\": [4],\n \"minlength\": [2],\n \"maxlength\": [2],\n \"readonly\": [4],\n \"inputmode\": [1],\n \"list\": [1],\n \"autocomplete\": [1],\n \"required\": [4],\n \"requiredErrorMessage\": [1, \"required-error-message\"],\n \"emailErrorMessage\": [1, \"email-error-message\"],\n \"minlengthErrorMessage\": [1, \"minlength-error-message\"],\n \"showValidIcon\": [4, \"show-valid-icon\"],\n \"pattern\": [1],\n \"patternErrorMessage\": [1, \"pattern-error-message\"],\n \"errorMessage\": [1, \"error-message\"],\n \"touched\": [32],\n \"dirty\": [32],\n \"inputValue\": [32],\n \"errorMessageState\": [32],\n \"focusInput\": [64]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-text-input\", \"telia-field-assistive-text\", \"telia-field-error\", \"telia-field-valid\", \"telia-icon\", \"telia-label\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-text-input\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextInput$1);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"telia-field-error\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-valid\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTextInput = TeliaTextInput$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTextInput, defineCustomElement };\n"],"names":["TextFieldTypes","teliaTextInputCss","TeliaTextInput$1","proxyCustomElement","HTMLElement","createEvent","uniqueId","_a","message","_b","errorMessageIsSet","requiredInUse","patternInUse","minlengthInUse","generalErrorInUse","emailErrorInUse","_c","value","showError","showAdditional","describedBy","stringCombiner","showValidIcon","h","event","ref","defineCustomElement$1","tagName","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telia-text-input.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.6.0/node_modules/@teliads/components/dist/components/telia-text-input.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { u as uniqueId } from './uniqueId.js';\nimport { s as stringCombiner } from './stringCombiner.js';\nimport { d as defineCustomElement$7 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$6 } from './telia-field-error2.js';\nimport { d as defineCustomElement$5 } from './telia-field-valid2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$3 } from './telia-label2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\n// Create a const where all members have a readonly value\n// and literal type by using const assertion.\nconst TextFieldTypes = {\n text: 'text',\n number: 'number',\n email: 'email',\n tel: 'tel',\n search: 'search',\n password: 'password',\n};\n\nconst teliaTextInputCss = \".telia-text-input{display:flex;flex-direction:column}.telia-text-input__input{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90;border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;color:#222222;font-family:\\\"TeliaSans\\\", Helvetica, Arial, \\\"Lucida Grande\\\", sans-serif;font-weight:normal;font-size:calc(1.6rem * var(--voca-rem-multiplier));line-height:1.5;-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;margin:0;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier));width:100%;height:calc(4.6rem * var(--voca-rem-multiplier));margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:2}.telia-text-input__input:required{box-shadow:none}.telia-text-input__input[type=search]{-webkit-appearance:textfield;outline-offset:calc(-0.2rem * var(--voca-rem-multiplier))}.telia-text-input__input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.telia-text-input__input[type=number]~.telia-text-input__valid-icon-container,.telia-text-input__input[type=search]~.telia-text-input__valid-icon-container{margin:calc(-1 * (4.6rem * var(--voca-rem-multiplier))) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - (3.2rem * var(--voca-rem-multiplier)));width:0}.telia-text-input__input:hover{border:calc(0.2rem * var(--voca-rem-multiplier)) solid #29003e;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__input:hover:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:focus{outline:solid calc(0.3rem * var(--voca-rem-multiplier)) #0099ff;outline-offset:calc(0.2rem * var(--voca-rem-multiplier));padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:focus:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:read-only{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#e8e8ed}.telia-text-input__input:read-only:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#dcdce1;color:#606064;cursor:not-allowed;-webkit-text-fill-color:#606064}.telia-text-input__input:disabled:hover{padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled~telia-label .telia-label{color:#606064;cursor:not-allowed}.telia-text-input__input:disabled~.telia-text-input__additional{color:#b0b0b5}.telia-text-input__input:invalid{box-shadow:none}.telia-text-input__input--icon-shown{padding:calc(1rem * var(--voca-rem-multiplier)) calc(4.5rem * var(--voca-rem-multiplier)) calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input--touched:invalid{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #be0040}.telia-text-input__input--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #be0040;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__valid-icon-container{align-items:center;display:flex;flex-direction:row;height:calc(4.6rem * var(--voca-rem-multiplier));justify-content:flex-end;margin:calc(calc(4.6rem * var(--voca-rem-multiplier)) * -1) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - calc(1.2rem * var(--voca-rem-multiplier)));order:3}.telia-text-input__additional{order:4}.telia-text-input__error{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:5}\";\n\nconst TeliaTextInput$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.valueChange = createEvent(this, \"valueChange\", 7);\n /** Type of input as a string */\n this.type = TextFieldTypes.text;\n /** Value of input */\n this.value = '';\n /** Additional description id */\n this.additionalId = uniqueId('additional');\n /** Input element id */\n this.inputId = uniqueId('input');\n /** Error description id */\n this.errorId = uniqueId('error');\n /** Disabled state */\n this.disabled = false;\n /** Readonly state */\n this.readonly = false;\n /** Field needs to be filled, so it can be submitted */\n this.required = false;\n /** Show valid icon when value passes all validations. Use sparingly. */\n this.showValidIcon = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-text-input';\n /**\n * Input has been blurred at least once.\n */\n this.touched = false;\n /**\n * Input has received data at least once.\n */\n this.dirty = false;\n /**\n * Real time value of input\n */\n this.inputValue = '';\n /**\n * Error message\n */\n this.errorMessageState = '';\n this.updateInputValue = () => {\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n this.inputValue = this.inputElement ? this.inputElement.value : this.value;\n };\n /**\n * Check if input value state is valid with given pattern. This is\n * imitating native input validation.\n */\n this.isValuePatternValid = () => {\n if (this.pattern) {\n const regexp = new RegExp('^(?:' + this.pattern + ')$');\n return regexp.test(this.inputValue);\n }\n return true;\n };\n this.isValueLessThanMinlength = () => {\n return (this.inputValue.length > 0 && this.inputValue.length < this.minlength);\n };\n /**\n * Check if validation failed due to type mismatch.\n * Type mismatch is set to true when email, url, ... field type built-in validation triggers\n */\n this.isValueTypeInvalid = () => {\n var _a;\n return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.validity.typeMismatch;\n };\n /**\n * Update error message and keep native input error message in sync.\n */\n this.updateErrorMessage = message => {\n var _a;\n (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(message);\n this.errorMessageState = message;\n };\n /**\n * Check if input value is empty, so required should be triggered.\n */\n this.isValueMissing = () => {\n return this.inputValue.length === 0;\n };\n this.updateErrorState = () => {\n var _a, _b;\n const errorMessageIsSet = !!((_a = this.errorMessageState) === null || _a === void 0 ? void 0 : _a.length);\n const requiredInUse = this.required;\n const patternInUse = !!this.pattern;\n const minlengthInUse = this.minlength;\n const generalErrorInUse = !!((_b = this.errorMessage) === null || _b === void 0 ? void 0 : _b.length);\n const emailErrorInUse = !!this.emailErrorMessage && this.type === 'email';\n if (generalErrorInUse) {\n this.updateErrorMessage(this.errorMessage);\n this.touched = true;\n // General error message overrides other errors, so exit here.\n return;\n }\n if (patternInUse && !this.isValueMissing()) {\n if (this.touched &&\n !!this.patternErrorMessage &&\n !this.isValuePatternValid()) {\n this.updateErrorMessage(this.patternErrorMessage);\n }\n }\n if (minlengthInUse) {\n if (this.touched &&\n !!this.minlengthErrorMessage &&\n this.isValueLessThanMinlength()) {\n this.updateErrorMessage(this.minlengthErrorMessage);\n }\n }\n if (requiredInUse) {\n /**\n * Follow HTML5 input ways of working,\n * email field is validated only if type is email and required is set to true\n */\n if (emailErrorInUse && this.isValueTypeInvalid() && this.touched) {\n this.updateErrorMessage(this.emailErrorMessage);\n }\n if (this.touched &&\n !!this.requiredErrorMessage &&\n this.isValueMissing()) {\n this.updateErrorMessage(this.requiredErrorMessage);\n }\n }\n // Clean error message if needed\n if (errorMessageIsSet) {\n if (patternInUse && !this.isValuePatternValid())\n return;\n if (minlengthInUse && this.isValueLessThanMinlength())\n return;\n if (requiredInUse && this.isValueMissing())\n return;\n if (emailErrorInUse && this.isValueTypeInvalid())\n return;\n this.updateErrorMessage('');\n }\n };\n }\n /**\n * Sets focus on input\n */\n async focusInput() {\n this.inputElement.focus();\n }\n componentWillLoad() {\n this.updateInputValue();\n this.updateErrorState();\n }\n componentWillUpdate() {\n this.updateErrorState();\n }\n componentDidRender() {\n // This check is for Stencil unit tests. Input element is mocked,\n // but setCustomValidity method is not. It is undefined.\n var _a, _b, _c;\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n if (this.inputElement && ((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity)) {\n (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.setCustomValidity(this.errorMessageState);\n }\n if (this.htmlForm) {\n (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.setAttribute('form', this.htmlForm);\n }\n }\n /**\n * Watch if value attributes changes after initial load.\n * Needed for prefilling functionality to work with input validations.\n * @param value value attribute\n */\n componentValueChanged(value) {\n this.inputValue = value;\n this.updateErrorState();\n }\n /**\n * This method is used to determine\n * if a 'valid icon' can be shown to the user.\n * Given the complexity of the validation logic\n * in this component, using this method\n * to determine 'validity' in a general sense\n * should be carefully considered and tested.\n */\n isValid() {\n return (!this.errorMessage &&\n !this.isValueMissing() &&\n !this.isValueLessThanMinlength() &&\n !this.isValueTypeInvalid() &&\n this.isValuePatternValid());\n }\n render() {\n const showError = this.touched && !!this.errorMessageState.length;\n const showAdditional = !!this.additional;\n const describedBy = stringCombiner({\n [this.additionalId]: showAdditional,\n [this.errorId]: this.errorMessageState.length,\n });\n const showValidIcon = this.showValidIcon && this.dirty && this.isValid();\n return (h(\"div\", { class: \"telia-text-input\" }, h(\"input\", { class: {\n 'telia-text-input__input': true,\n 'telia-text-input__input--touched': this.touched,\n 'telia-text-input__input--icon-shown': showValidIcon,\n }, type: this.type, id: this.inputId, \"aria-describedby\": describedBy, minlength: this.minlength, maxlength: this.maxlength, disabled: this.disabled, readonly: this.readonly, value: this.value, name: this.name, onChange: event => {\n /** valueChange is deprecated, will be removed in the future releases. */\n this.valueChange.emit(event);\n }, onInput: () => {\n this.dirty = true;\n this.updateInputValue();\n this.updateErrorState();\n }, inputmode: this.inputmode, list: this.list, autocomplete: this.autocomplete, required: this.required, onBlur: () => {\n this.touched = true;\n this.updateErrorState();\n }, ref: ref => (this.inputElement = ref), pattern: this.pattern, onInvalid: event => {\n event.preventDefault();\n this.touched = true;\n this.updateErrorState();\n }, form: this.htmlForm }), showValidIcon && (h(\"div\", { class: \"telia-text-input__valid-icon-container\" }, h(\"telia-field-valid\", { class: \"telia-text-input__valid-icon\" }))), h(\"telia-label\", { class: \"telia-text-input__label\", htmlFor: this.inputId }, this.required && h(\"span\", { \"aria-hidden\": \"true\" }, '* '), this.label), showAdditional && (h(\"telia-field-assistive-text\", { class: \"telia-text-input__additional\", id: this.additionalId }, this.additional)), showError && (h(\"telia-field-error\", { id: this.errorId, class: \"telia-text-input__error\" }, this.errorMessageState)), h(\"telia-vst\", { dataTrackingId: this.dataTrackingId })));\n }\n static get watchers() { return {\n \"value\": [\"componentValueChanged\"]\n }; }\n static get style() { return teliaTextInputCss; }\n}, [0, \"telia-text-input\", {\n \"dataTestid\": [1, \"data-testid\"],\n \"htmlForm\": [1, \"html-form\"],\n \"type\": [1],\n \"label\": [1],\n \"value\": [1],\n \"name\": [1],\n \"additional\": [1],\n \"additionalId\": [1, \"additional-id\"],\n \"inputId\": [1, \"input-id\"],\n \"errorId\": [1, \"error-id\"],\n \"disabled\": [4],\n \"minlength\": [2],\n \"maxlength\": [2],\n \"readonly\": [4],\n \"inputmode\": [1],\n \"list\": [1],\n \"autocomplete\": [1],\n \"required\": [4],\n \"requiredErrorMessage\": [1, \"required-error-message\"],\n \"emailErrorMessage\": [1, \"email-error-message\"],\n \"minlengthErrorMessage\": [1, \"minlength-error-message\"],\n \"showValidIcon\": [4, \"show-valid-icon\"],\n \"pattern\": [1],\n \"patternErrorMessage\": [1, \"pattern-error-message\"],\n \"errorMessage\": [1, \"error-message\"],\n \"touched\": [32],\n \"dirty\": [32],\n \"inputValue\": [32],\n \"errorMessageState\": [32],\n \"focusInput\": [64]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-text-input\", \"telia-field-assistive-text\", \"telia-field-error\", \"telia-field-valid\", \"telia-icon\", \"telia-label\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-text-input\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextInput$1);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"telia-field-error\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-valid\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTextInput = TeliaTextInput$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTextInput, defineCustomElement };\n"],"names":["TextFieldTypes","teliaTextInputCss","TeliaTextInput$1","proxyCustomElement","HTMLElement","createEvent","uniqueId","_a","message","_b","errorMessageIsSet","requiredInUse","patternInUse","minlengthInUse","generalErrorInUse","emailErrorInUse","_c","value","showError","showAdditional","describedBy","stringCombiner","showValidIcon","h","event","ref","defineCustomElement$1","tagName","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { p as a, H as i, h as e, a as l } from "../../chunks/index-
|
|
2
|
-
import { d as n } from "../../chunks/telia-vst2-
|
|
1
|
+
import { p as a, H as i, h as e, a as l } from "../../chunks/index-17652cf7.js";
|
|
2
|
+
import { d as n } from "../../chunks/telia-vst2-1a7f7bd6.js";
|
|
3
3
|
const r = ".telia-text-spacing .telia-p--subsection,.telia-text-spacing .telia-heading--subsection-100{margin-bottom:calc(0.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-100,.telia-text-spacing .telia-p--additional-100,.telia-text-spacing .telia-heading--title-100,.telia-text-spacing .telia-heading--title-200,.telia-text-spacing .telia-heading--title-300{margin-bottom:calc(0.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-200{margin-bottom:calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price,.telia-text-spacing .telia-p--paragraph-100,.telia-text-spacing .telia-p--paragraph-200{margin-bottom:calc(1.6rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-100{margin-top:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-200{margin-top:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-300{margin-top:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-400,.telia-text-spacing .telia-heading--title-500{margin-bottom:calc(2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-600,.telia-text-spacing .telia-heading--title-700,.telia-text-spacing .telia-heading--display-100,.telia-text-spacing .telia-heading--display-200{margin-bottom:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-100{margin-bottom:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-200{margin-bottom:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing *>:last-child,.telia-text-spacing>:last-child{margin-bottom:0}", c = /* @__PURE__ */ a(class extends i {
|
|
4
4
|
constructor() {
|
|
5
5
|
super(), this.__registerHost(), this.dataTrackingId = "telia-text-spacing";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-text-spacing.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.
|
|
1
|
+
{"version":3,"file":"telia-text-spacing.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.6.0/node_modules/@teliads/components/dist/components/telia-text-spacing2.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { d as defineCustomElement$1 } from './telia-vst2.js';\n\nconst teliaTextSpacingCss = \".telia-text-spacing .telia-p--subsection,.telia-text-spacing .telia-heading--subsection-100{margin-bottom:calc(0.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-100,.telia-text-spacing .telia-p--additional-100,.telia-text-spacing .telia-heading--title-100,.telia-text-spacing .telia-heading--title-200,.telia-text-spacing .telia-heading--title-300{margin-bottom:calc(0.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-200{margin-bottom:calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price,.telia-text-spacing .telia-p--paragraph-100,.telia-text-spacing .telia-p--paragraph-200{margin-bottom:calc(1.6rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-100{margin-top:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-200{margin-top:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-300{margin-top:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-400,.telia-text-spacing .telia-heading--title-500{margin-bottom:calc(2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-600,.telia-text-spacing .telia-heading--title-700,.telia-text-spacing .telia-heading--display-100,.telia-text-spacing .telia-heading--display-200{margin-bottom:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-100{margin-bottom:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-200{margin-bottom:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing *>:last-child,.telia-text-spacing>:last-child{margin-bottom:0}\";\n\nconst TeliaTextSpacing = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-text-spacing';\n }\n render() {\n return (h(Host, { class: \"telia-text-spacing\" }, h(\"telia-vst\", { dataTrackingId: this.dataTrackingId }), h(\"slot\", null)));\n }\n static get style() { return teliaTextSpacingCss; }\n}, [4, \"telia-text-spacing\"]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-text-spacing\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-text-spacing\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextSpacing);\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { TeliaTextSpacing as T, defineCustomElement as d };\n"],"names":["teliaTextSpacingCss","TeliaTextSpacing","proxyCustomElement","HTMLElement","h","Host","defineCustomElement","tagName","defineCustomElement$1"],"mappings":";;AAGA,MAAMA,IAAsB,wlEAEtBC,IAAiC,gBAAAC,EAAmB,cAAcC,EAAY;AAAA,EAClF,cAAc;AACZ,aACA,KAAK,eAAc,GAEnB,KAAK,iBAAiB;AAAA,EACvB;AAAA,EACD,SAAS;AACP,WAAQC,EAAEC,GAAM,EAAE,OAAO,qBAAoB,GAAID,EAAE,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,GAAGA,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC1H;AAAA,EACD,WAAW,QAAQ;AAAE,WAAOJ;AAAA,EAAsB;AACpD,GAAG,CAAC,GAAG,oBAAoB,CAAC;AAC5B,SAASM,IAAsB;AAC7B,MAAI,OAAO,iBAAmB;AAC5B;AAGF,EADmB,CAAC,sBAAsB,WAAW,EAC1C,QAAQ,CAAAC,MAAW;AAAE,YAAQA,GAAO;AAAA,MAC7C,KAAK;AACH,QAAK,eAAe,IAAIA,CAAO,KAC7B,eAAe,OAAOA,GAASN,CAAgB;AAEjD;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIM,CAAO,KAC7BC;AAEF;AAAA,IACH;AAAA,EAAA,CAAE;AACL;AACAF,EAAqB;"}
|