@telia-ace/alliance-ui 1.0.8-next.1 → 1.0.9-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 +16 -0
- package/chunks/{alliance-modal-20f50b87.js → alliance-modal-06ec7d6a.js} +4 -4
- package/chunks/{alliance-modal-20f50b87.js.map → alliance-modal-06ec7d6a.js.map} +1 -1
- package/chunks/{alliance-paginator-button-25709222.js → alliance-paginator-button-4cc1a5cf.js} +3 -3
- package/chunks/{alliance-paginator-button-25709222.js.map → alliance-paginator-button-4cc1a5cf.js.map} +1 -1
- package/chunks/{alliance-table-row-21cc74e0.js → alliance-table-row-ec104b1e.js} +6 -6
- package/chunks/{alliance-table-row-21cc74e0.js.map → alliance-table-row-ec104b1e.js.map} +1 -1
- 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-7d423291.js.map +1 -1
- package/chunks/close-ac6e4f1c.js.map +1 -1
- package/chunks/error-9925a844.js +7 -0
- package/chunks/error-9925a844.js.map +1 -0
- package/chunks/error-filled-8de50bdd.js.map +1 -1
- package/chunks/getSvgContent-f2389ce0.js.map +1 -1
- package/chunks/index-d925c796.js.map +1 -1
- package/chunks/{query-assigned-elements-4285356d.js → query-assigned-elements-024d0918.js} +93 -95
- package/chunks/query-assigned-elements-024d0918.js.map +1 -0
- package/chunks/{repeat-bf84f01f.js → repeat-8189924a.js} +47 -47
- package/chunks/{repeat-bf84f01f.js.map → repeat-8189924a.js.map} +1 -1
- package/chunks/stringCombiner-10b57054.js.map +1 -1
- package/chunks/telia-button2-7783c019.js.map +1 -1
- package/chunks/telia-card-frame2-340f3315.js +39 -0
- package/chunks/telia-card-frame2-340f3315.js.map +1 -0
- package/chunks/telia-field-assistive-text2-173ba2fb.js.map +1 -1
- package/chunks/telia-field-error2-75dc8ceb.js.map +1 -1
- package/chunks/telia-field-valid2-0f6759ac.js.map +1 -1
- package/chunks/telia-heading2-38ae44ae.js.map +1 -1
- package/chunks/telia-icon2-d0e7c715.js.map +1 -1
- package/chunks/telia-label2-f4c1eb47.js.map +1 -1
- package/chunks/{telia-link2-4999bc77.js → telia-link2-9d6a1240.js} +2 -2
- package/chunks/{telia-link2-4999bc77.js.map → telia-link2-9d6a1240.js.map} +1 -1
- package/chunks/telia-navigation-button2-b6b0d39c.js.map +1 -1
- package/chunks/telia-style-link2-bb7bfd94.js +56 -0
- package/chunks/telia-style-link2-bb7bfd94.js.map +1 -0
- package/chunks/telia-style-navigation-item2-b2eaedc2.js.map +1 -1
- package/chunks/telia-tab-header2-73ec5e07.js +98 -0
- package/chunks/telia-tab-header2-73ec5e07.js.map +1 -0
- package/chunks/telia-visually-hidden2-9015e8cd.js.map +1 -1
- package/chunks/telia-vst2-dfb33a56.js.map +1 -1
- package/chunks/uniqueId-0daf01ec.js.map +1 -1
- package/components/alliance-modal.js +4 -4
- package/components/alliance-paginator.js +3 -3
- package/components/alliance-table.js +2 -2
- package/components/index.js +6 -6
- package/package.json +9 -10
- package/voca/components/telia-accordion-item.js +4 -4
- package/voca/components/telia-accordion-item.js.map +1 -1
- package/voca/components/telia-accordion.js +3 -3
- package/voca/components/telia-accordion.js.map +1 -1
- package/voca/components/telia-badge.js +62 -14
- package/voca/components/telia-badge.js.map +1 -1
- package/voca/components/telia-card-frame-link.js +15 -15
- package/voca/components/telia-card-frame-link.js.map +1 -1
- package/voca/components/telia-card-frame.js +1 -1
- package/voca/components/telia-checkbox.js.map +1 -1
- package/voca/components/telia-chip-choice.js.map +1 -1
- package/voca/components/telia-chip-filter.js.map +1 -1
- package/voca/components/telia-col.js.map +1 -1
- package/voca/components/telia-color-dot.js.map +1 -1
- package/voca/components/telia-cta-link.js.map +1 -1
- package/voca/components/telia-date-picker.js +56 -42
- package/voca/components/telia-date-picker.js.map +1 -1
- package/voca/components/telia-divider.js.map +1 -1
- package/voca/components/telia-fieldset.js.map +1 -1
- package/voca/components/telia-focus-trap.js.map +1 -1
- package/voca/components/telia-form.js.map +1 -1
- package/voca/components/telia-grid.js.map +1 -1
- package/voca/components/telia-image.js.map +1 -1
- package/voca/components/telia-link-image.js +2 -2
- package/voca/components/telia-link-image.js.map +1 -1
- package/voca/components/telia-link.js +2 -2
- package/voca/components/telia-list.js.map +1 -1
- package/voca/components/telia-logo.js.map +1 -1
- package/voca/components/telia-navigation-dropdown.js.map +1 -1
- package/voca/components/telia-navigation-link.js.map +1 -1
- package/voca/components/telia-notification.js +1 -1
- package/voca/components/telia-notification.js.map +1 -1
- package/voca/components/telia-overlay.js.map +1 -1
- package/voca/components/telia-p.js.map +1 -1
- package/voca/components/telia-pictogram.js.map +1 -1
- package/voca/components/telia-radio-button.js.map +1 -1
- package/voca/components/telia-row.js.map +1 -1
- package/voca/components/telia-select.js.map +1 -1
- package/voca/components/telia-skeleton.js.map +1 -1
- package/voca/components/telia-status-badge.js +22 -21
- package/voca/components/telia-status-badge.js.map +1 -1
- package/voca/components/telia-style-link.js +1 -1
- package/voca/components/telia-tab-content.js.map +1 -1
- package/voca/components/telia-tab-header.js +1 -1
- package/voca/components/telia-tab.js +63 -53
- package/voca/components/telia-tab.js.map +1 -1
- package/voca/components/telia-text-input.js.map +1 -1
- package/voca/components/telia-text-spacing.js.map +1 -1
- package/voca/components/telia-textarea.js +1 -1
- package/voca/components/telia-textarea.js.map +1 -1
- package/voca/components/telia-toggle.js.map +1 -1
- package/voca/components/telia-voca-stats.js.map +1 -1
- package/voca/icons/index.js +1 -1
- package/voca/icons/index.js.map +1 -1
- package/chunks/query-assigned-elements-4285356d.js.map +0 -1
- package/chunks/telia-card-frame2-1ac1c9e5.js +0 -35
- package/chunks/telia-card-frame2-1ac1c9e5.js.map +0 -1
- package/chunks/telia-style-link2-0bc93885.js +0 -54
- package/chunks/telia-style-link2-0bc93885.js.map +0 -1
- package/chunks/telia-tab-header2-94c52ad6.js +0 -98
- package/chunks/telia-tab-header2-94c52ad6.js.map +0 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { p as h, H as b, c as m, h as s } from "../../chunks/index-eef143db.js";
|
|
2
|
-
import { d as
|
|
3
|
-
import { d as
|
|
4
|
-
import { d as
|
|
2
|
+
import { d as u, T as c } from "../../chunks/telia-tab-header2-73ec5e07.js";
|
|
3
|
+
import { d as f } from "../../chunks/telia-icon2-d0e7c715.js";
|
|
4
|
+
import { d as v } from "../../chunks/telia-vst2-dfb33a56.js";
|
|
5
5
|
import "../../chunks/getSvgContent-f2389ce0.js";
|
|
6
|
-
const p = '.telia-tab
|
|
6
|
+
const p = '.telia-tab{}.telia-tab telia-tab-header[active]{background-color:white}.telia-tab__wrapper{position:relative;-ms-overflow-style:none;scrollbar-width:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}.telia-tab__wrapper .telia-tab__scroll-button{color:#29003e;background-color:#ffffff;box-shadow:0 calc(0.1rem * var(--voca-rem-multiplier)) calc(0.4rem * var(--voca-rem-multiplier)) rgba(0, 0, 0, 0.1);border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.15);display:none;position:absolute;top:0;z-index:10;height:100%;padding:0;cursor:pointer}.telia-tab__wrapper .telia-tab__scroll-button:hover{box-shadow:0 calc(0.4rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier)) rgba(0, 0, 0, 0.1);border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-tab__wrapper .telia-tab__scroll-button:focus{outline:calc(0.2rem * var(--voca-rem-multiplier)) solid #0099ff;outline-offset:calc(0.2rem * var(--voca-rem-multiplier))}.telia-tab__wrapper .telia-tab__scroll-button--left{left:0}.telia-tab__wrapper .telia-tab__scroll-button--right{right:0}.telia-tab__wrapper--scroll-end .telia-tab__scroll-button--left{display:block}.telia-tab__wrapper--scroll-start .telia-tab__scroll-button--right{display:block}.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(4.8rem * 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:0;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,.telia-tab--full-width:is(.telia-tab--light) telia-tab-header,.telia-tab--full-width:is(.telia-tab--contained) telia-tab-header,.telia-tab--full-width:is(.telia-tab--contained-on-negative) 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}}', _ = /* @__PURE__ */ h(class extends b {
|
|
7
7
|
constructor() {
|
|
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 = (
|
|
9
|
-
if (
|
|
8
|
+
super(), this.__registerHost(), this.__attachShadow(), this.vocaTabChange = m(this, "vocaTabChange", 7), this.scrollClasses = {}, this.children = [], this.background = !1, this.variant = "default", this.fullWidth = !1, this.dataTrackingId = "telia-tab", this.componentClass = "telia-tab", this.activeIndex = 0, this.isKeyPress = !0, this.sideScrollAdjustmentSize = 200, this.onIntersection = (e) => {
|
|
9
|
+
if (e.every((a) => a.isIntersecting) && e.length === this.tabItems.length) {
|
|
10
10
|
this.scrollClasses = {};
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
this.scrollClasses = Object.assign(Object.assign(Object.assign({ "telia-tab__wrapper--scroll-start": !0 }, this.scrollClasses),
|
|
13
|
+
e.forEach((a) => {
|
|
14
|
+
const i = Number(a.target.children[0].getAttribute("data-index")), l = i === 0, n = i === this.tabItems.length - 1;
|
|
15
|
+
this.scrollClasses = Object.assign(Object.assign(Object.assign({ "telia-tab__wrapper--scroll-start": !0 }, this.scrollClasses), l && {
|
|
16
16
|
"telia-tab__wrapper--scroll-end": !a.isIntersecting
|
|
17
17
|
}), n && {
|
|
18
18
|
"telia-tab__wrapper--scroll-start": !a.isIntersecting
|
|
@@ -20,28 +20,28 @@ const p = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multi
|
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
handleInternalUpdate(
|
|
24
|
-
|
|
23
|
+
handleInternalUpdate(e) {
|
|
24
|
+
e.stopPropagation(), this.createChildren();
|
|
25
25
|
}
|
|
26
|
-
handleTabNavigation(
|
|
27
|
-
const { location:
|
|
28
|
-
let
|
|
29
|
-
switch (this.isKeyPress = !0,
|
|
26
|
+
handleTabNavigation(e) {
|
|
27
|
+
const { location: t, key: a } = e.detail.value, i = this.activeIndex;
|
|
28
|
+
let l;
|
|
29
|
+
switch (this.isKeyPress = !0, t > -1 && (l = t, this.isKeyPress = !1), a) {
|
|
30
30
|
case c.ArrowLeft:
|
|
31
|
-
|
|
31
|
+
i > 0 ? l = i - 1 : l = this.children.length - 1;
|
|
32
32
|
break;
|
|
33
33
|
case c.ArrowRight:
|
|
34
|
-
|
|
34
|
+
i < this.children.length - 1 ? l = i + 1 : l = 0;
|
|
35
35
|
break;
|
|
36
36
|
case c.Home:
|
|
37
|
-
|
|
37
|
+
l = 0;
|
|
38
38
|
break;
|
|
39
39
|
case c.End:
|
|
40
|
-
|
|
40
|
+
l = this.children.length - 1;
|
|
41
41
|
break;
|
|
42
42
|
}
|
|
43
|
-
this.activeIndex =
|
|
44
|
-
n.active = o ===
|
|
43
|
+
this.activeIndex = l, this.children.forEach((n, o) => {
|
|
44
|
+
n.active = o === l;
|
|
45
45
|
}), this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId }), this.createChildren();
|
|
46
46
|
}
|
|
47
47
|
handleResize() {
|
|
@@ -52,15 +52,15 @@ const p = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multi
|
|
|
52
52
|
}
|
|
53
53
|
componentDidLoad() {
|
|
54
54
|
this.tabItems = this.host.shadowRoot.querySelectorAll("telia-tab-header");
|
|
55
|
-
const
|
|
55
|
+
const e = this.host.shadowRoot.querySelector(".telia-tab__list");
|
|
56
56
|
this.observer = new IntersectionObserver(this.onIntersection, {
|
|
57
57
|
threshold: [0.99],
|
|
58
|
-
root:
|
|
59
|
-
}), this.tabItems.forEach((
|
|
58
|
+
root: e
|
|
59
|
+
}), this.tabItems.forEach((t) => this.observer.observe(t)), this.scrollToTarget(this.getActiveTabListItem());
|
|
60
60
|
}
|
|
61
61
|
disconnectedCallback() {
|
|
62
|
-
var
|
|
63
|
-
(
|
|
62
|
+
var e, t;
|
|
63
|
+
(t = (e = this.observer) === null || e === void 0 ? void 0 : e.disconnect) === null || t === void 0 || t.call(e);
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* Check if there is a pre-selected tab,
|
|
@@ -70,9 +70,9 @@ const p = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multi
|
|
|
70
70
|
findPreSelectedTab() {
|
|
71
71
|
if (this.children.length === 0)
|
|
72
72
|
return;
|
|
73
|
-
let
|
|
74
|
-
this.children.forEach((
|
|
75
|
-
|
|
73
|
+
let e = !1;
|
|
74
|
+
this.children.forEach((t, a) => {
|
|
75
|
+
e && (t.active = !1), t.active && (e = !0, this.activeIndex = a);
|
|
76
76
|
}), this.activeIndex === 0 && (this.children[this.activeIndex].active = !0);
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
@@ -80,36 +80,45 @@ const p = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multi
|
|
|
80
80
|
* @param target
|
|
81
81
|
* @private
|
|
82
82
|
*/
|
|
83
|
-
scrollToTarget(
|
|
84
|
-
var
|
|
85
|
-
if (typeof (
|
|
83
|
+
scrollToTarget(e) {
|
|
84
|
+
var t, a;
|
|
85
|
+
if (typeof (e == null ? void 0 : e.getBoundingClientRect) != "function" || typeof ((t = this.tabList) === null || t === void 0 ? void 0 : t.scroll) != "function")
|
|
86
86
|
return;
|
|
87
|
-
const
|
|
88
|
-
let d =
|
|
89
|
-
|
|
87
|
+
const i = e.getBoundingClientRect(), l = 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);
|
|
88
|
+
let d = l.left + (isNaN(o) ? 0 : o), r;
|
|
89
|
+
i.right > l.right && (r = i.left + this.tabList.scrollLeft, r = r + i.width - n + n * 0.1, r = r - d), i.left < l.left && (r = i.left + this.tabList.scrollLeft, r = r - n * 0.1, r = r - d), r !== void 0 && this.tabList.scroll({ left: r, behavior: "smooth" });
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
92
|
* Create child array
|
|
93
93
|
* @private
|
|
94
94
|
*/
|
|
95
95
|
createChildren() {
|
|
96
|
-
this.children = [], this.host.querySelectorAll("telia-tab-content").forEach((
|
|
97
|
-
|
|
96
|
+
this.children = [], this.host.querySelectorAll("telia-tab-content").forEach((t) => {
|
|
97
|
+
t.nodeName.indexOf("TELIA-TAB") > -1 && this.children.push(t);
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
getActiveTabListItem() {
|
|
101
|
-
var
|
|
102
|
-
return (
|
|
101
|
+
var e;
|
|
102
|
+
return (e = this.tabList) === null || e === void 0 ? void 0 : e.querySelector("telia-tab-header[active]");
|
|
103
|
+
}
|
|
104
|
+
handleScrollButtonClick(e) {
|
|
105
|
+
const { scrollLeft: t } = this.tabList, a = e === "left" ? -this.sideScrollAdjustmentSize : this.sideScrollAdjustmentSize;
|
|
106
|
+
this.tabList.scroll({ left: t + a, behavior: "smooth" });
|
|
107
|
+
}
|
|
108
|
+
renderScrollButton(e) {
|
|
109
|
+
return s("button", { class: `${this.componentClass}__scroll-button ${this.componentClass}__scroll-button--${e}`, onClick: () => this.handleScrollButtonClick(e) }, s("telia-icon", { size: "md", name: `chevron-${e}` }));
|
|
103
110
|
}
|
|
104
111
|
render() {
|
|
105
|
-
|
|
112
|
+
const e = {
|
|
106
113
|
"telia-tab": !0,
|
|
107
|
-
[`telia-tab--${this.variant}`]: !!this.variant
|
|
108
|
-
|
|
114
|
+
[`telia-tab--${this.variant}`]: !!this.variant,
|
|
115
|
+
["telia-tab--full-width"]: this.fullWidth
|
|
116
|
+
};
|
|
117
|
+
return s("div", { class: e }, 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) => {
|
|
109
118
|
this.tabList = t;
|
|
110
|
-
}, class: "telia-tab__list", role: "tablist" }, this.children.map((t,
|
|
111
|
-
this.scrollToTarget(
|
|
112
|
-
}, tabId: t.tabId, icon: t.icon, name: t.name, active: t.active, "data-testid": t.dataTestid, "data-index":
|
|
119
|
+
}, class: "telia-tab__list", role: "tablist" }, this.children.map((t, a) => s("telia-tab-header", { onFocusin: (i) => {
|
|
120
|
+
this.scrollToTarget(i.target);
|
|
121
|
+
}, tabId: t.tabId, icon: t.icon, name: t.name, active: t.active, "data-testid": t.dataTestid, "data-index": a, "is-key-press": this.isKeyPress, variant: this.variant }, t.name))), this.renderScrollButton("left"), this.renderScrollButton("right"))), s("div", { class: {
|
|
113
122
|
"telia-tab__content": !0,
|
|
114
123
|
"telia-tab__content--light-background": this.background
|
|
115
124
|
}, role: "presentation" }, s("div", { class: "telia-tab__container", role: "presentation" }, s("slot", null))));
|
|
@@ -123,28 +132,29 @@ const p = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multi
|
|
|
123
132
|
}, [1, "telia-tab", {
|
|
124
133
|
background: [4],
|
|
125
134
|
variant: [1],
|
|
135
|
+
fullWidth: [4, "full-width"],
|
|
126
136
|
scrollClasses: [32],
|
|
127
137
|
children: [32]
|
|
128
138
|
}, [[0, "vocaTabContentNameChange", "handleInternalUpdate"], [0, "vocaInternalTabNavigation", "handleTabNavigation"], [9, "resize", "handleResize"]]]);
|
|
129
|
-
function
|
|
139
|
+
function g() {
|
|
130
140
|
if (typeof customElements > "u")
|
|
131
141
|
return;
|
|
132
|
-
["telia-tab", "telia-icon", "telia-tab-header", "telia-vst"].forEach((
|
|
133
|
-
switch (
|
|
142
|
+
["telia-tab", "telia-icon", "telia-tab-header", "telia-vst"].forEach((t) => {
|
|
143
|
+
switch (t) {
|
|
134
144
|
case "telia-tab":
|
|
135
|
-
customElements.get(
|
|
145
|
+
customElements.get(t) || customElements.define(t, _);
|
|
136
146
|
break;
|
|
137
147
|
case "telia-icon":
|
|
138
|
-
customElements.get(
|
|
148
|
+
customElements.get(t) || f();
|
|
139
149
|
break;
|
|
140
150
|
case "telia-tab-header":
|
|
141
|
-
customElements.get(
|
|
151
|
+
customElements.get(t) || u();
|
|
142
152
|
break;
|
|
143
153
|
case "telia-vst":
|
|
144
|
-
customElements.get(
|
|
154
|
+
customElements.get(t) || v();
|
|
145
155
|
break;
|
|
146
156
|
}
|
|
147
157
|
});
|
|
148
158
|
}
|
|
149
|
-
|
|
159
|
+
g();
|
|
150
160
|
//# sourceMappingURL=telia-tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-tab.js","sources":["../../../../node_modules/.pnpm/@teliads+components@20.0.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(4.8rem * 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 handleInternalUpdate(e) {\n e.stopPropagation();\n this.createChildren();\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, \"vocaTabContentNameChange\", \"handleInternalUpdate\"], [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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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"telia-tab.js","sources":["../../../../node_modules/.pnpm/@teliads+components@21.3.1/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 telia-tab-header[active]{background-color:white}.telia-tab__wrapper{position:relative;-ms-overflow-style:none;scrollbar-width:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}.telia-tab__wrapper .telia-tab__scroll-button{color:#29003e;background-color:#ffffff;box-shadow:0 calc(0.1rem * var(--voca-rem-multiplier)) calc(0.4rem * var(--voca-rem-multiplier)) rgba(0, 0, 0, 0.1);border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.15);display:none;position:absolute;top:0;z-index:10;height:100%;padding:0;cursor:pointer}.telia-tab__wrapper .telia-tab__scroll-button:hover{box-shadow:0 calc(0.4rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier)) rgba(0, 0, 0, 0.1);border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-tab__wrapper .telia-tab__scroll-button:focus{outline:calc(0.2rem * var(--voca-rem-multiplier)) solid #0099ff;outline-offset:calc(0.2rem * var(--voca-rem-multiplier))}.telia-tab__wrapper .telia-tab__scroll-button--left{left:0}.telia-tab__wrapper .telia-tab__scroll-button--right{right:0}.telia-tab__wrapper--scroll-end .telia-tab__scroll-button--left{display:block}.telia-tab__wrapper--scroll-start .telia-tab__scroll-button--right{display:block}.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(4.8rem * 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:0;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,.telia-tab--full-width:is(.telia-tab--light) telia-tab-header,.telia-tab--full-width:is(.telia-tab--contained) telia-tab-header,.telia-tab--full-width:is(.telia-tab--contained-on-negative) 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 /** Controls wether the tabs should fill the entire available width */\n this.fullWidth = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-tab';\n this.componentClass = 'telia-tab';\n this.activeIndex = 0;\n this.isKeyPress = true;\n this.sideScrollAdjustmentSize = 200;\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 handleInternalUpdate(e) {\n e.stopPropagation();\n this.createChildren();\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 handleScrollButtonClick(side) {\n const { scrollLeft } = this.tabList;\n const modifier = side === 'left'\n ? -this.sideScrollAdjustmentSize\n : this.sideScrollAdjustmentSize;\n this.tabList.scroll({ left: scrollLeft + modifier, behavior: 'smooth' });\n }\n renderScrollButton(side) {\n return (h(\"button\", { class: `${this.componentClass}__scroll-button ${this.componentClass}__scroll-button--${side}`, onClick: () => this.handleScrollButtonClick(side) }, h(\"telia-icon\", { size: \"md\", name: `chevron-${side}` })));\n }\n render() {\n const classNames = {\n 'telia-tab': true,\n [`telia-tab--${this.variant}`]: !!this.variant,\n [`telia-tab--full-width`]: this.fullWidth,\n };\n return (h(\"div\", { class: classNames }, 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 })), this.renderScrollButton('left'), this.renderScrollButton('right'))), 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 \"fullWidth\": [4, \"full-width\"],\n \"scrollClasses\": [32],\n \"children\": [32]\n }, [[0, \"vocaTabContentNameChange\", \"handleInternalUpdate\"], [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","location","key","currentIndex","nextIndex","TabNavigationTypes","child","index","tablist","el","_a","_b","activePreSet","target","targetRect","wrapperRect","wrapperWidth","wrapperOffset","offset","left","node","side","scrollLeft","modifier","h","classNames","e","defineCustomElement$1","tagName","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-text-input.js","sources":["../../../../node_modules/.pnpm/@teliads+components@20.0.0/node_modules/@teliads/components/dist/components/telia-text-input2.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$6 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$5 } from './telia-field-error2.js';\nimport { d as defineCustomElement$4 } from './telia-field-valid2.js';\nimport { d as defineCustomElement$3 } from './telia-icon2.js';\nimport { d as defineCustomElement$2 } from './telia-label2.js';\nimport { d as defineCustomElement$1 } 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 rgba(0, 0, 0, 0.3);border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;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;color:rgba(0, 0, 0, 0.85);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 rgba(0, 0, 0, 0.3)}.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 rgba(0, 0, 0, 0.3)}.telia-text-input__input:read-only{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:rgba(0, 0, 0, 0.05)}.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 rgba(0, 0, 0, 0.15);background-color:rgba(0, 0, 0, 0.1);color:rgba(0, 0, 0, 0.4);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:rgba(0, 0, 0, 0.4);cursor:not-allowed}.telia-text-input__input:disabled~.telia-text-input__additional{color:rgba(0, 0, 0, 0.4)}.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 #e4175c}.telia-text-input__input--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-text-input__input--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #e4175c;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 = /*@__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 }, placeholder: this.placeholder, 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 \"placeholder\": [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() {\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);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-error\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"telia-field-valid\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { TeliaTextInput as T, defineCustomElement as d };\n"],"names":["TextFieldTypes","teliaTextInputCss","TeliaTextInput","proxyCustomElement","HTMLElement","createEvent","uniqueId","_a","message","_b","errorMessageIsSet","requiredInUse","patternInUse","minlengthInUse","generalErrorInUse","emailErrorInUse","_c","value","showError","showAdditional","describedBy","stringCombiner","showValidIcon","h","event","ref","defineCustomElement","tagName","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2","defineCustomElement$1"],"mappings":";;;;;;;;;;;;AAYA,MAAMA,IAAiB;AAAA,EACrB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AACZ,GAEMC,IAAoB,0kIAEpBC,IAA+B,gBAAAC,EAAmB,cAAcC,EAAY;AAAA,EAChF,cAAc;AACZ,aACA,KAAK,eAAc,GACnB,KAAK,cAAcC,EAAY,MAAM,eAAe,CAAC,GAErD,KAAK,OAAOL,EAAe,MAE3B,KAAK,QAAQ,IAEb,KAAK,eAAeM,EAAS,YAAY,GAEzC,KAAK,UAAUA,EAAS,OAAO,GAE/B,KAAK,UAAUA,EAAS,OAAO,GAE/B,KAAK,WAAW,IAEhB,KAAK,WAAW,IAEhB,KAAK,WAAW,IAEhB,KAAK,gBAAgB,IAErB,KAAK,iBAAiB,oBAItB,KAAK,UAAU,IAIf,KAAK,QAAQ,IAIb,KAAK,aAAa,IAIlB,KAAK,oBAAoB,IACzB,KAAK,mBAAmB,MAAM;AAE5B,WAAK,aAAa,KAAK,eAAe,KAAK,aAAa,QAAQ,KAAK;AAAA,IAC3E,GAKI,KAAK,sBAAsB,MACrB,KAAK,UACQ,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,EACxC,KAAK,KAAK,UAAU,IAE7B,IAET,KAAK,2BAA2B,MACtB,KAAK,WAAW,SAAS,KAAK,KAAK,WAAW,SAAS,KAAK,WAMtE,KAAK,qBAAqB,MAAM;AAC9B,UAAIC;AACJ,cAAQA,IAAK,KAAK,kBAAkB,QAAQA,MAAO,SAAS,SAASA,EAAG,SAAS;AAAA,IACvF,GAII,KAAK,qBAAqB,CAAAC,MAAW;AACnC,UAAID;AACJ,OAACA,IAAK,KAAK,kBAAkB,QAAQA,MAAO,UAAkBA,EAAG,kBAAkBC,CAAO,GAC1F,KAAK,oBAAoBA;AAAA,IAC/B,GAII,KAAK,iBAAiB,MACb,KAAK,WAAW,WAAW,GAEpC,KAAK,mBAAmB,MAAM;AAC5B,UAAID,GAAIE;AACR,YAAMC,IAAoB,CAAC,EAAG,GAAAH,IAAK,KAAK,uBAAuB,QAAQA,MAAO,WAAkBA,EAAG,SAC7FI,IAAgB,KAAK,UACrBC,IAAe,CAAC,CAAC,KAAK,SACtBC,IAAiB,KAAK,WACtBC,IAAoB,CAAC,EAAG,GAAAL,IAAK,KAAK,kBAAkB,QAAQA,MAAO,WAAkBA,EAAG,SACxFM,IAAkB,CAAC,CAAC,KAAK,qBAAqB,KAAK,SAAS;AAClE,UAAID,GAAmB;AACrB,aAAK,mBAAmB,KAAK,YAAY,GACzC,KAAK,UAAU;AAEf;AAAA;AA+BF,UA7BIF,KAAgB,CAAC,KAAK,oBACpB,KAAK,WACL,KAAK,uBACP,CAAC,KAAK,yBACN,KAAK,mBAAmB,KAAK,mBAAmB,GAGhDC,KACE,KAAK,WACL,KAAK,yBACP,KAAK,yBAAwB,KAC7B,KAAK,mBAAmB,KAAK,qBAAqB,GAGlDF,MAKEI,KAAmB,KAAK,mBAAkB,KAAM,KAAK,WACvD,KAAK,mBAAmB,KAAK,iBAAiB,GAE5C,KAAK,WACL,KAAK,wBACP,KAAK,eAAc,KACnB,KAAK,mBAAmB,KAAK,oBAAoB,IAIjDL,GAAmB;AAOrB,YANIE,KAAgB,CAAC,KAAK,oBAAqB,KAE3CC,KAAkB,KAAK,yBAA0B,KAEjDF,KAAiB,KAAK,eAAgB,KAEtCI,KAAmB,KAAK,mBAAoB;AAC9C;AACF,aAAK,mBAAmB,EAAE;AAAA;AAAA,IAElC;AAAA,EACG;AAAA;AAAA;AAAA;AAAA,EAID,MAAM,aAAa;AACjB,SAAK,aAAa;EACnB;AAAA,EACD,oBAAoB;AAClB,SAAK,iBAAgB,GACrB,KAAK,iBAAgB;AAAA,EACtB;AAAA,EACD,sBAAsB;AACpB,SAAK,iBAAgB;AAAA,EACtB;AAAA,EACD,qBAAqB;AAGnB,QAAIR,GAAIE,GAAIO;AAEZ,IAAI,KAAK,iBAAkB,GAAAT,IAAK,KAAK,kBAAkB,QAAQA,MAAO,WAAkBA,EAAG,wBACxFE,IAAK,KAAK,kBAAkB,QAAQA,MAAO,UAAkBA,EAAG,kBAAkB,KAAK,iBAAiB,IAEvG,KAAK,cACNO,IAAK,KAAK,kBAAkB,QAAQA,MAAO,UAAkBA,EAAG,aAAa,QAAQ,KAAK,QAAQ;AAAA,EAEtG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,sBAAsBC,GAAO;AAC3B,SAAK,aAAaA,GAClB,KAAK,iBAAgB;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASD,UAAU;AACR,WAAQ,CAAC,KAAK,gBACZ,CAAC,KAAK,eAAgB,KACtB,CAAC,KAAK,yBAA0B,KAChC,CAAC,KAAK,mBAAoB,KAC1B,KAAK,oBAAmB;AAAA,EAC3B;AAAA,EACD,SAAS;AACP,UAAMC,IAAY,KAAK,WAAW,CAAC,CAAC,KAAK,kBAAkB,QACrDC,IAAiB,CAAC,CAAC,KAAK,YACxBC,IAAcC,EAAe;AAAA,MACjC,CAAC,KAAK,YAAY,GAAGF;AAAA,MACrB,CAAC,KAAK,OAAO,GAAG,KAAK,kBAAkB;AAAA,IAC7C,CAAK,GACKG,IAAgB,KAAK,iBAAiB,KAAK,SAAS,KAAK;AAC/D,WAAQC,EAAE,OAAO,EAAE,OAAO,mBAAkB,GAAIA,EAAE,SAAS,EAAE,OAAO;AAAA,MAChE,2BAA2B;AAAA,MAC3B,oCAAoC,KAAK;AAAA,MACzC,uCAAuCD;AAAA,IAC/C,GAAS,aAAa,KAAK,aAAa,MAAM,KAAK,MAAM,IAAI,KAAK,SAAS,oBAAoBF,GAAa,WAAW,KAAK,WAAW,WAAW,KAAK,WAAW,UAAU,KAAK,UAAU,UAAU,KAAK,UAAU,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,UAAU,CAAAI,MAAS;AAEnQ,WAAK,YAAY,KAAKA,CAAK;AAAA,IAC5B,GAAE,SAAS,MAAM;AAChB,WAAK,QAAQ,IACb,KAAK,iBAAgB,GACrB,KAAK,iBAAgB;AAAA,IACtB,GAAE,WAAW,KAAK,WAAW,MAAM,KAAK,MAAM,cAAc,KAAK,cAAc,UAAU,KAAK,UAAU,QAAQ,MAAM;AACrH,WAAK,UAAU,IACf,KAAK,iBAAgB;AAAA,IACtB,GAAE,KAAK,CAAAC,MAAQ,KAAK,eAAeA,GAAM,SAAS,KAAK,SAAS,WAAW,CAAAD,MAAS;AACnF,MAAAA,EAAM,eAAc,GACpB,KAAK,UAAU,IACf,KAAK,iBAAgB;AAAA,IAC7B,GAAS,MAAM,KAAK,SAAU,CAAA,GAAGF,KAAkBC,EAAE,OAAO,EAAE,OAAO,yCAA0C,GAAEA,EAAE,qBAAqB,EAAE,OAAO,gCAAgC,CAAC,GAAIA,EAAE,eAAe,EAAE,OAAO,2BAA2B,SAAS,KAAK,QAAO,GAAI,KAAK,YAAYA,EAAE,QAAQ,EAAE,eAAe,OAAM,GAAI,IAAI,GAAG,KAAK,KAAK,GAAGJ,KAAmBI,EAAE,8BAA8B,EAAE,OAAO,gCAAgC,IAAI,KAAK,aAAY,GAAI,KAAK,UAAU,GAAIL,KAAcK,EAAE,qBAAqB,EAAE,IAAI,KAAK,SAAS,OAAO,0BAA2B,GAAE,KAAK,iBAAiB,GAAIA,EAAE,aAAa,EAAE,gBAAgB,KAAK,eAAgB,CAAA,CAAC;AAAA,EACjoB;AAAA,EACD,WAAW,WAAW;AAAE,WAAO;AAAA,MAC7B,OAAS,CAAC,uBAAuB;AAAA,IACrC;AAAA,EAAM;AAAA,EACJ,WAAW,QAAQ;AAAE,WAAOtB;AAAA,EAAoB;AAClD,GAAG,CAAC,GAAG,oBAAoB;AAAA,EACvB,YAAc,CAAC,GAAG,aAAa;AAAA,EAC/B,UAAY,CAAC,GAAG,WAAW;AAAA,EAC3B,MAAQ,CAAC,CAAC;AAAA,EACV,OAAS,CAAC,CAAC;AAAA,EACX,OAAS,CAAC,CAAC;AAAA,EACX,aAAe,CAAC,CAAC;AAAA,EACjB,MAAQ,CAAC,CAAC;AAAA,EACV,YAAc,CAAC,CAAC;AAAA,EAChB,cAAgB,CAAC,GAAG,eAAe;AAAA,EACnC,SAAW,CAAC,GAAG,UAAU;AAAA,EACzB,SAAW,CAAC,GAAG,UAAU;AAAA,EACzB,UAAY,CAAC,CAAC;AAAA,EACd,WAAa,CAAC,CAAC;AAAA,EACf,WAAa,CAAC,CAAC;AAAA,EACf,UAAY,CAAC,CAAC;AAAA,EACd,WAAa,CAAC,CAAC;AAAA,EACf,MAAQ,CAAC,CAAC;AAAA,EACV,cAAgB,CAAC,CAAC;AAAA,EAClB,UAAY,CAAC,CAAC;AAAA,EACd,sBAAwB,CAAC,GAAG,wBAAwB;AAAA,EACpD,mBAAqB,CAAC,GAAG,qBAAqB;AAAA,EAC9C,uBAAyB,CAAC,GAAG,yBAAyB;AAAA,EACtD,eAAiB,CAAC,GAAG,iBAAiB;AAAA,EACtC,SAAW,CAAC,CAAC;AAAA,EACb,qBAAuB,CAAC,GAAG,uBAAuB;AAAA,EAClD,cAAgB,CAAC,GAAG,eAAe;AAAA,EACnC,SAAW,CAAC,EAAE;AAAA,EACd,OAAS,CAAC,EAAE;AAAA,EACZ,YAAc,CAAC,EAAE;AAAA,EACjB,mBAAqB,CAAC,EAAE;AAAA,EACxB,YAAc,CAAC,EAAE;AAClB,CAAA,CAAC;AACJ,SAASyB,IAAsB;AAC7B,MAAI,OAAO,iBAAmB;AAC5B;AAGF,EADmB,CAAC,oBAAoB,8BAA8B,qBAAqB,qBAAqB,cAAc,eAAe,WAAW,EAC7I,QAAQ,CAAAC,MAAW;AAAE,YAAQA,GAAO;AAAA,MAC7C,KAAK;AACH,QAAK,eAAe,IAAIA,CAAO,KAC7B,eAAe,OAAOA,GAASzB,CAAc;AAE/C;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIyB,CAAO,KAC7BC;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAID,CAAO,KAC7BE;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIF,CAAO,KAC7BG;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIH,CAAO,KAC7BI;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIJ,CAAO,KAC7BK;AAEF;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIL,CAAO,KAC7BM;AAEF;AAAA,IACH;AAAA,EAAA,CAAE;AACL;AACAP,EAAqB;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"telia-text-input.js","sources":["../../../../node_modules/.pnpm/@teliads+components@21.3.1/node_modules/@teliads/components/dist/components/telia-text-input2.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$6 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$5 } from './telia-field-error2.js';\nimport { d as defineCustomElement$4 } from './telia-field-valid2.js';\nimport { d as defineCustomElement$3 } from './telia-icon2.js';\nimport { d as defineCustomElement$2 } from './telia-label2.js';\nimport { d as defineCustomElement$1 } 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 rgba(0, 0, 0, 0.3);border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;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;color:rgba(0, 0, 0, 0.85);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 rgba(0, 0, 0, 0.3)}.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 rgba(0, 0, 0, 0.3)}.telia-text-input__input:read-only{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:rgba(0, 0, 0, 0.05)}.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 rgba(0, 0, 0, 0.15);background-color:rgba(0, 0, 0, 0.1);color:rgba(0, 0, 0, 0.4);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:rgba(0, 0, 0, 0.4);cursor:not-allowed}.telia-text-input__input:disabled~.telia-text-input__additional{color:rgba(0, 0, 0, 0.4)}.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 #e4175c}.telia-text-input__input--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-text-input__input--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #e4175c;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 = /*@__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 }, placeholder: this.placeholder, 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 \"placeholder\": [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() {\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);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-error\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"telia-field-valid\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { TeliaTextInput as T, defineCustomElement as d };\n"],"names":["TextFieldTypes","teliaTextInputCss","TeliaTextInput","proxyCustomElement","HTMLElement","createEvent","uniqueId","_a","message","_b","errorMessageIsSet","requiredInUse","patternInUse","minlengthInUse","generalErrorInUse","emailErrorInUse","_c","value","showError","showAdditional","describedBy","stringCombiner","showValidIcon","h","event","ref","defineCustomElement","tagName","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2","defineCustomElement$1"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-text-spacing.js","sources":["../../../../node_modules/.pnpm/@teliads+components@
|
|
1
|
+
{"version":3,"file":"telia-text-spacing.js","sources":["../../../../node_modules/.pnpm/@teliads+components@21.3.1/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;","x_google_ignoreList":[0]}
|
|
@@ -47,7 +47,7 @@ const x = '.telia-textarea{display:flex;flex-direction:column}.telia-textarea__t
|
|
|
47
47
|
return a("div", { class: "telia-textarea" }, a("textarea", { class: {
|
|
48
48
|
"telia-textarea__textarea": !0,
|
|
49
49
|
"telia-textarea__textarea--touched": !!this.touched
|
|
50
|
-
}, "aria-describedby": r, disabled: this.disabled, id: this.inputId, maxlength: this.maxlength, minlength: this.minlength, name: this.name, ref: (i) => this.textAreaElement = i, required: this.required, rows: this.rows, spellcheck: this.spellcheck, onInput: () => {
|
|
50
|
+
}, "aria-describedby": r, disabled: this.disabled, id: this.inputId, value: this.value, maxlength: this.maxlength, minlength: this.minlength, name: this.name, ref: (i) => this.textAreaElement = i, required: this.required, rows: this.rows, spellcheck: this.spellcheck, onInput: () => {
|
|
51
51
|
this.updateInputValue(), this.updateErrorState();
|
|
52
52
|
}, onBlur: () => {
|
|
53
53
|
this.touched = !0, this.updateErrorState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telia-textarea.js","sources":["../../../../node_modules/.pnpm/@teliads+components@20.0.0/node_modules/@teliads/components/dist/components/telia-textarea.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';\nimport { u as uniqueId } from './uniqueId.js';\nimport { s as stringCombiner } from './stringCombiner.js';\nimport { d as defineCustomElement$6 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$5 } from './telia-field-error2.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\nconst teliaTextareaCss = \".telia-textarea{display:flex;flex-direction:column}.telia-textarea__textarea{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3);border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;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;color:rgba(0, 0, 0, 0.85);display:block;margin:0;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier));width:100%;margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:2}.telia-textarea__textarea: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-textarea__textarea:hover:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-textarea__textarea: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-textarea__textarea:focus:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-textarea__textarea:disabled{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.15);background-color:rgba(0, 0, 0, 0.1);color:rgba(0, 0, 0, 0.4);cursor:not-allowed;-webkit-text-fill-color:#606064}.telia-textarea__textarea:disabled:hover{padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-textarea__textarea:disabled~telia-label .telia-label{color:rgba(0, 0, 0, 0.4);cursor:not-allowed}.telia-textarea__textarea:disabled~.telia-textarea__additional{color:rgba(0, 0, 0, 0.4)}.telia-textarea__textarea:invalid{box-shadow:none}.telia-textarea__textarea--touched:invalid{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #e4175c}.telia-textarea__textarea--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-textarea__textarea--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #e4175c;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-textarea__additional{order:4}.telia-textarea__error{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:5}\";\n\nconst TeliaTextArea = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /** Additional description id */\n this.additionalId = uniqueId('additional');\n /** Disabled state */\n this.disabled = false;\n /** Error description id */\n this.errorId = uniqueId('error');\n /** Textarea input element id */\n this.inputId = uniqueId('textareaId');\n /** Required state */\n this.required = false;\n /** Textarea rows */\n this.rows = 4;\n /** Checks if textarea will be checked for spelling errors */\n this.spellcheck = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-textarea';\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.textAreaElement\n ? this.textAreaElement.value\n : this.value;\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 /**\n * Check if input value is empty, so required should be triggered.\n */\n this.isValueLessThanMinlength = () => {\n return this.inputValue.length < this.minlength;\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.textAreaElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(message);\n this.errorMessageState = message;\n };\n this.updateErrorState = () => {\n var _a, _b, _c;\n const errorMessageIsSet = !!((_a = this.errorMessageState) === null || _a === void 0 ? void 0 : _a.length);\n const requiredInUse = this.required;\n const generalErrorInUse = !!((_b = this.errorMessage) === null || _b === void 0 ? void 0 : _b.length);\n const minlengthInUse = this.minlength;\n const minlengthErrorMessageIsSet = !!((_c = this.minlengthErrorMessage) === null || _c === void 0 ? void 0 : _c.length);\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 (requiredInUse) {\n if (this.touched &&\n !!this.requiredErrorMessage &&\n this.isValueMissing()) {\n this.updateErrorMessage(this.requiredErrorMessage);\n }\n }\n if (minlengthInUse) {\n if (this.touched &&\n !!this.minlengthErrorMessage &&\n this.isValueLessThanMinlength()) {\n this.updateErrorMessage(this.minlengthErrorMessage);\n }\n }\n // Clean error message if needed\n if (errorMessageIsSet || minlengthErrorMessageIsSet) {\n if (generalErrorInUse)\n return;\n if (requiredInUse && this.isValueMissing())\n return;\n if (minlengthInUse && this.isValueLessThanMinlength())\n return;\n this.updateErrorMessage('');\n }\n };\n /**\n * Input has been blurred at least once.\n */\n this.touched = false;\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.textAreaElement && ((_a = this.textAreaElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity)) {\n (_b = this.textAreaElement) === null || _b === void 0 ? void 0 : _b.setCustomValidity(this.errorMessageState);\n }\n if (this.htmlForm) {\n (_c = this.textAreaElement) === null || _c === void 0 ? void 0 : _c.setAttribute('form', this.htmlForm);\n }\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 return (h(\"div\", { class: \"telia-textarea\" }, h(\"textarea\", { class: {\n 'telia-textarea__textarea': true,\n 'telia-textarea__textarea--touched': !!this.touched,\n }, \"aria-describedby\": describedBy, disabled: this.disabled, id: this.inputId, maxlength: this.maxlength, minlength: this.minlength, name: this.name, ref: ref => (this.textAreaElement = ref), required: this.required, rows: this.rows, spellcheck: this.spellcheck, onInput: () => {\n this.updateInputValue();\n this.updateErrorState();\n }, onBlur: () => {\n this.touched = true;\n this.updateErrorState();\n }, onInvalid: event => {\n event.preventDefault();\n this.touched = true;\n this.updateErrorState();\n }, form: this.htmlForm }, this.value), h(\"telia-label\", { class: \"telia-textarea__label\", htmlFor: this.inputId }, this.required && h(\"span\", { \"aria-hidden\": \"true\" }, '* '), this.label), showAdditional && (h(\"telia-field-assistive-text\", { class: \"telia-textarea__additional\", id: this.additionalId }, this.additional)), showError && (h(\"telia-field-error\", { id: this.errorId, class: \"telia-textarea__error\" }, this.errorMessageState)), h(\"telia-vst\", { dataTrackingId: this.dataTrackingId })));\n }\n static get style() { return teliaTextareaCss; }\n}, [0, \"telia-textarea\", {\n \"additional\": [1],\n \"htmlForm\": [1, \"html-form\"],\n \"additionalId\": [1, \"additional-id\"],\n \"dataTestid\": [1, \"data-testid\"],\n \"disabled\": [4],\n \"errorId\": [1, \"error-id\"],\n \"inputId\": [1, \"input-id\"],\n \"label\": [1],\n \"minlength\": [2],\n \"maxlength\": [2],\n \"name\": [1],\n \"required\": [4],\n \"rows\": [2],\n \"spellcheck\": [4],\n \"value\": [1],\n \"errorMessage\": [1, \"error-message\"],\n \"minlengthErrorMessage\": [1, \"minlength-error-message\"],\n \"requiredErrorMessage\": [1, \"required-error-message\"],\n \"inputValue\": [32],\n \"errorMessageState\": [32],\n \"touched\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-textarea\", \"telia-field-assistive-text\", \"telia-field-error\", \"telia-icon\", \"telia-label\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-textarea\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextArea);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-error\":\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 TeliaTextarea = TeliaTextArea;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTextarea, defineCustomElement };\n"],"names":["teliaTextareaCss","TeliaTextArea","proxyCustomElement","HTMLElement","uniqueId","message","_a","_b","_c","errorMessageIsSet","requiredInUse","generalErrorInUse","minlengthInUse","minlengthErrorMessageIsSet","showError","showAdditional","describedBy","stringCombiner","h","ref","event","defineCustomElement$1","tagName","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"telia-textarea.js","sources":["../../../../node_modules/.pnpm/@teliads+components@21.3.1/node_modules/@teliads/components/dist/components/telia-textarea.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';\nimport { u as uniqueId } from './uniqueId.js';\nimport { s as stringCombiner } from './stringCombiner.js';\nimport { d as defineCustomElement$6 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$5 } from './telia-field-error2.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\nconst teliaTextareaCss = \".telia-textarea{display:flex;flex-direction:column}.telia-textarea__textarea{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3);border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;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;color:rgba(0, 0, 0, 0.85);display:block;margin:0;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier));width:100%;margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:2}.telia-textarea__textarea: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-textarea__textarea:hover:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-textarea__textarea: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-textarea__textarea:focus:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-textarea__textarea:disabled{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.15);background-color:rgba(0, 0, 0, 0.1);color:rgba(0, 0, 0, 0.4);cursor:not-allowed;-webkit-text-fill-color:#606064}.telia-textarea__textarea:disabled:hover{padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-textarea__textarea:disabled~telia-label .telia-label{color:rgba(0, 0, 0, 0.4);cursor:not-allowed}.telia-textarea__textarea:disabled~.telia-textarea__additional{color:rgba(0, 0, 0, 0.4)}.telia-textarea__textarea:invalid{box-shadow:none}.telia-textarea__textarea--touched:invalid{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #e4175c}.telia-textarea__textarea--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid rgba(0, 0, 0, 0.3)}.telia-textarea__textarea--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #e4175c;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-textarea__additional{order:4}.telia-textarea__error{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:5}\";\n\nconst TeliaTextArea = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /** Additional description id */\n this.additionalId = uniqueId('additional');\n /** Disabled state */\n this.disabled = false;\n /** Error description id */\n this.errorId = uniqueId('error');\n /** Textarea input element id */\n this.inputId = uniqueId('textareaId');\n /** Required state */\n this.required = false;\n /** Textarea rows */\n this.rows = 4;\n /** Checks if textarea will be checked for spelling errors */\n this.spellcheck = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-textarea';\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.textAreaElement\n ? this.textAreaElement.value\n : this.value;\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 /**\n * Check if input value is empty, so required should be triggered.\n */\n this.isValueLessThanMinlength = () => {\n return this.inputValue.length < this.minlength;\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.textAreaElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(message);\n this.errorMessageState = message;\n };\n this.updateErrorState = () => {\n var _a, _b, _c;\n const errorMessageIsSet = !!((_a = this.errorMessageState) === null || _a === void 0 ? void 0 : _a.length);\n const requiredInUse = this.required;\n const generalErrorInUse = !!((_b = this.errorMessage) === null || _b === void 0 ? void 0 : _b.length);\n const minlengthInUse = this.minlength;\n const minlengthErrorMessageIsSet = !!((_c = this.minlengthErrorMessage) === null || _c === void 0 ? void 0 : _c.length);\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 (requiredInUse) {\n if (this.touched &&\n !!this.requiredErrorMessage &&\n this.isValueMissing()) {\n this.updateErrorMessage(this.requiredErrorMessage);\n }\n }\n if (minlengthInUse) {\n if (this.touched &&\n !!this.minlengthErrorMessage &&\n this.isValueLessThanMinlength()) {\n this.updateErrorMessage(this.minlengthErrorMessage);\n }\n }\n // Clean error message if needed\n if (errorMessageIsSet || minlengthErrorMessageIsSet) {\n if (generalErrorInUse)\n return;\n if (requiredInUse && this.isValueMissing())\n return;\n if (minlengthInUse && this.isValueLessThanMinlength())\n return;\n this.updateErrorMessage('');\n }\n };\n /**\n * Input has been blurred at least once.\n */\n this.touched = false;\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.textAreaElement && ((_a = this.textAreaElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity)) {\n (_b = this.textAreaElement) === null || _b === void 0 ? void 0 : _b.setCustomValidity(this.errorMessageState);\n }\n if (this.htmlForm) {\n (_c = this.textAreaElement) === null || _c === void 0 ? void 0 : _c.setAttribute('form', this.htmlForm);\n }\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 return (h(\"div\", { class: \"telia-textarea\" }, h(\"textarea\", { class: {\n 'telia-textarea__textarea': true,\n 'telia-textarea__textarea--touched': !!this.touched,\n }, \"aria-describedby\": describedBy, disabled: this.disabled, id: this.inputId, value: this.value, maxlength: this.maxlength, minlength: this.minlength, name: this.name, ref: ref => (this.textAreaElement = ref), required: this.required, rows: this.rows, spellcheck: this.spellcheck, onInput: () => {\n this.updateInputValue();\n this.updateErrorState();\n }, onBlur: () => {\n this.touched = true;\n this.updateErrorState();\n }, onInvalid: event => {\n event.preventDefault();\n this.touched = true;\n this.updateErrorState();\n }, form: this.htmlForm }, this.value), h(\"telia-label\", { class: \"telia-textarea__label\", htmlFor: this.inputId }, this.required && h(\"span\", { \"aria-hidden\": \"true\" }, '* '), this.label), showAdditional && (h(\"telia-field-assistive-text\", { class: \"telia-textarea__additional\", id: this.additionalId }, this.additional)), showError && (h(\"telia-field-error\", { id: this.errorId, class: \"telia-textarea__error\" }, this.errorMessageState)), h(\"telia-vst\", { dataTrackingId: this.dataTrackingId })));\n }\n static get style() { return teliaTextareaCss; }\n}, [0, \"telia-textarea\", {\n \"additional\": [1],\n \"htmlForm\": [1, \"html-form\"],\n \"additionalId\": [1, \"additional-id\"],\n \"dataTestid\": [1, \"data-testid\"],\n \"disabled\": [4],\n \"errorId\": [1, \"error-id\"],\n \"inputId\": [1, \"input-id\"],\n \"label\": [1],\n \"minlength\": [2],\n \"maxlength\": [2],\n \"name\": [1],\n \"required\": [4],\n \"rows\": [2],\n \"spellcheck\": [4],\n \"value\": [1],\n \"errorMessage\": [1, \"error-message\"],\n \"minlengthErrorMessage\": [1, \"minlength-error-message\"],\n \"requiredErrorMessage\": [1, \"required-error-message\"],\n \"inputValue\": [32],\n \"errorMessageState\": [32],\n \"touched\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-textarea\", \"telia-field-assistive-text\", \"telia-field-error\", \"telia-icon\", \"telia-label\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-textarea\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextArea);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-error\":\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 TeliaTextarea = TeliaTextArea;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTextarea, defineCustomElement };\n"],"names":["teliaTextareaCss","TeliaTextArea","proxyCustomElement","HTMLElement","uniqueId","message","_a","_b","_c","errorMessageIsSet","requiredInUse","generalErrorInUse","minlengthInUse","minlengthErrorMessageIsSet","showError","showAdditional","describedBy","stringCombiner","h","ref","event","defineCustomElement$1","tagName","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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","x_google_ignoreList":[0]}
|