@telia-ace/alliance-ui 1.0.4-next.1 → 1.0.5-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +3 -3
  3. package/chunks/check-circle-filled-42095247.js.map +1 -1
  4. package/chunks/chevron-down-50d47dd6.js.map +1 -1
  5. package/chunks/chevron-right-788ce8a9.js.map +1 -1
  6. package/chunks/close-ac6e4f1c.js.map +1 -1
  7. package/chunks/error-filled-8de50bdd.js.map +1 -1
  8. package/chunks/getSvgContent-f2389ce0.js.map +1 -1
  9. package/chunks/{index-629ecbb8.js → index-17652cf7.js} +15 -6
  10. package/chunks/{index-629ecbb8.js.map → index-17652cf7.js.map} +1 -1
  11. package/chunks/{stringCombiner-67bee7be.js → stringCombiner-10b57054.js} +7 -2
  12. package/chunks/{stringCombiner-67bee7be.js.map → stringCombiner-10b57054.js.map} +1 -1
  13. package/chunks/telia-button-ef4894d0.js +108 -0
  14. package/chunks/telia-button-ef4894d0.js.map +1 -0
  15. package/chunks/{telia-button-text2-c070e5fa.js → telia-button-text2-e1510558.js} +4 -4
  16. package/chunks/{telia-button-text2-c070e5fa.js.map → telia-button-text2-e1510558.js.map} +1 -1
  17. package/chunks/{telia-card-frame2-e5f8bb1f.js → telia-card-frame2-2d46eef6.js} +3 -3
  18. package/chunks/{telia-card-frame2-e5f8bb1f.js.map → telia-card-frame2-2d46eef6.js.map} +1 -1
  19. package/chunks/{telia-divider-644c043b.js → telia-divider-7f90475d.js} +3 -3
  20. package/chunks/{telia-divider-644c043b.js.map → telia-divider-7f90475d.js.map} +1 -1
  21. package/chunks/{telia-field-assistive-text2-a7ada9a5.js → telia-field-assistive-text2-fd970326.js} +3 -3
  22. package/chunks/{telia-field-assistive-text2-a7ada9a5.js.map → telia-field-assistive-text2-fd970326.js.map} +1 -1
  23. package/chunks/{telia-field-error2-341030c7.js → telia-field-error2-63eae7b3.js} +4 -4
  24. package/chunks/{telia-field-error2-341030c7.js.map → telia-field-error2-63eae7b3.js.map} +1 -1
  25. package/chunks/{telia-field-valid2-663bc79f.js → telia-field-valid2-bda898b1.js} +4 -4
  26. package/chunks/{telia-field-valid2-663bc79f.js.map → telia-field-valid2-bda898b1.js.map} +1 -1
  27. package/chunks/{telia-heading2-de9de777.js → telia-heading2-5fdf4c16.js} +3 -3
  28. package/chunks/{telia-heading2-de9de777.js.map → telia-heading2-5fdf4c16.js.map} +1 -1
  29. package/chunks/{telia-icon2-9c59983c.js → telia-icon2-34bf5aef.js} +8 -3
  30. package/chunks/{telia-icon2-9c59983c.js.map → telia-icon2-34bf5aef.js.map} +1 -1
  31. package/chunks/{telia-label2-92041936.js → telia-label2-4d674e5e.js} +3 -3
  32. package/chunks/{telia-label2-92041936.js.map → telia-label2-4d674e5e.js.map} +1 -1
  33. package/chunks/{telia-link2-d0077a7e.js → telia-link2-7769b385.js} +4 -4
  34. package/chunks/{telia-link2-d0077a7e.js.map → telia-link2-7769b385.js.map} +1 -1
  35. package/chunks/{telia-navigation-button2-4686098e.js → telia-navigation-button2-a0b24d67.js} +4 -4
  36. package/chunks/{telia-navigation-button2-4686098e.js.map → telia-navigation-button2-a0b24d67.js.map} +1 -1
  37. package/chunks/telia-style-link2-bbd8d17a.js +55 -0
  38. package/chunks/telia-style-link2-bbd8d17a.js.map +1 -0
  39. package/chunks/{telia-style-navigation-item2-fe0721bb.js → telia-style-navigation-item2-58683cd9.js} +3 -3
  40. package/chunks/{telia-style-navigation-item2-fe0721bb.js.map → telia-style-navigation-item2-58683cd9.js.map} +1 -1
  41. package/chunks/{telia-tab-header2-a4329adf.js → telia-tab-header2-bd04582d.js} +23 -15
  42. package/chunks/telia-tab-header2-bd04582d.js.map +1 -0
  43. package/chunks/{telia-visually-hidden2-9e970a02.js → telia-visually-hidden2-71416262.js} +3 -3
  44. package/chunks/{telia-visually-hidden2-9e970a02.js.map → telia-visually-hidden2-71416262.js.map} +1 -1
  45. package/chunks/{telia-vst2-5b28f085.js → telia-vst2-1a7f7bd6.js} +2 -2
  46. package/chunks/{telia-vst2-5b28f085.js.map → telia-vst2-1a7f7bd6.js.map} +1 -1
  47. package/chunks/uniqueId-0daf01ec.js.map +1 -1
  48. package/chunks/variables-03fe2cd9.js.map +1 -1
  49. package/components/alliance-object-list/alliance-object-list.stories.d.ts +6 -0
  50. package/components/alliance-paginator/alliance-paginator-button.d.ts +1 -0
  51. package/components/alliance-paginator/alliance-paginator.d.ts +2 -0
  52. package/components/alliance-paginator/alliance-paginator.stories.d.ts +6 -0
  53. package/components/alliance-paginator/get-pagination.d.ts +7 -1
  54. package/components/alliance-paginator/index.d.ts +1 -0
  55. package/components/index.js +199 -138
  56. package/components/index.js.map +1 -1
  57. package/package.json +20 -8
  58. package/voca/components/telia-accordion-item.js +6 -3
  59. package/voca/components/telia-accordion-item.js.map +1 -1
  60. package/voca/components/telia-accordion.js +32 -21
  61. package/voca/components/telia-accordion.js.map +1 -1
  62. package/voca/components/telia-badge.js +2 -2
  63. package/voca/components/telia-badge.js.map +1 -1
  64. package/voca/components/telia-button-text.js +4 -4
  65. package/voca/components/telia-button.js +4 -4
  66. package/voca/components/telia-card-frame-link.js +5 -5
  67. package/voca/components/telia-card-frame-link.js.map +1 -1
  68. package/voca/components/telia-card-frame.js +3 -3
  69. package/voca/components/telia-checkbox.js +8 -8
  70. package/voca/components/telia-checkbox.js.map +1 -1
  71. package/voca/components/telia-chip-choice.js +2 -2
  72. package/voca/components/telia-chip-choice.js.map +1 -1
  73. package/voca/components/telia-chip-filter.js +3 -3
  74. package/voca/components/telia-chip-filter.js.map +1 -1
  75. package/voca/components/telia-col.js +3 -3
  76. package/voca/components/telia-col.js.map +1 -1
  77. package/voca/components/telia-color-dot.js +2 -2
  78. package/voca/components/telia-color-dot.js.map +1 -1
  79. package/voca/components/telia-cta-link.js +3 -3
  80. package/voca/components/telia-cta-link.js.map +1 -1
  81. package/voca/components/telia-date-picker.js +34 -11
  82. package/voca/components/telia-date-picker.js.map +1 -1
  83. package/voca/components/telia-divider.js +3 -3
  84. package/voca/components/telia-field-assistive-text.js +3 -3
  85. package/voca/components/telia-field-error.js +4 -4
  86. package/voca/components/telia-field-valid.js +4 -4
  87. package/voca/components/telia-fieldset.js +2 -2
  88. package/voca/components/telia-fieldset.js.map +1 -1
  89. package/voca/components/telia-focus-trap.js +11 -2
  90. package/voca/components/telia-focus-trap.js.map +1 -1
  91. package/voca/components/telia-form.js +3 -2
  92. package/voca/components/telia-form.js.map +1 -1
  93. package/voca/components/telia-grid.js +2 -2
  94. package/voca/components/telia-grid.js.map +1 -1
  95. package/voca/components/telia-heading.js +3 -3
  96. package/voca/components/telia-icon.js +3 -3
  97. package/voca/components/telia-image.js +2 -2
  98. package/voca/components/telia-image.js.map +1 -1
  99. package/voca/components/telia-label.js +3 -3
  100. package/voca/components/telia-link-image.js +5 -5
  101. package/voca/components/telia-link-image.js.map +1 -1
  102. package/voca/components/telia-link.js +4 -4
  103. package/voca/components/telia-list.js +6 -2
  104. package/voca/components/telia-list.js.map +1 -1
  105. package/voca/components/telia-logo.js +2 -2
  106. package/voca/components/telia-logo.js.map +1 -1
  107. package/voca/components/telia-navigation-button.js +4 -4
  108. package/voca/components/telia-navigation-dropdown.js +22 -5
  109. package/voca/components/telia-navigation-dropdown.js.map +1 -1
  110. package/voca/components/telia-navigation-link.js +3 -3
  111. package/voca/components/telia-navigation-link.js.map +1 -1
  112. package/voca/components/telia-notification.js +10 -5
  113. package/voca/components/telia-notification.js.map +1 -1
  114. package/voca/components/telia-overlay.js +2 -2
  115. package/voca/components/telia-overlay.js.map +1 -1
  116. package/voca/components/telia-p.js +2 -2
  117. package/voca/components/telia-p.js.map +1 -1
  118. package/voca/components/telia-pictogram.js +22 -2
  119. package/voca/components/telia-pictogram.js.map +1 -1
  120. package/voca/components/telia-radio-button.js +16 -16
  121. package/voca/components/telia-radio-button.js.map +1 -1
  122. package/voca/components/telia-row.js +2 -2
  123. package/voca/components/telia-row.js.map +1 -1
  124. package/voca/components/telia-select.js +8 -8
  125. package/voca/components/telia-select.js.map +1 -1
  126. package/voca/components/telia-skeleton.js +2 -2
  127. package/voca/components/telia-skeleton.js.map +1 -1
  128. package/voca/components/telia-status-badge.js +3 -3
  129. package/voca/components/telia-status-badge.js.map +1 -1
  130. package/voca/components/telia-style-link.js +3 -3
  131. package/voca/components/telia-style-navigation-item.js +3 -3
  132. package/voca/components/telia-tab-content.js +1 -1
  133. package/voca/components/telia-tab-content.js.map +1 -1
  134. package/voca/components/telia-tab-header.js +4 -4
  135. package/voca/components/telia-tab.js +70 -65
  136. package/voca/components/telia-tab.js.map +1 -1
  137. package/voca/components/telia-text-input.js +26 -10
  138. package/voca/components/telia-text-input.js.map +1 -1
  139. package/voca/components/telia-text-spacing.js +2 -2
  140. package/voca/components/telia-text-spacing.js.map +1 -1
  141. package/voca/components/telia-textarea.js +9 -9
  142. package/voca/components/telia-textarea.js.map +1 -1
  143. package/voca/components/telia-toggle.js +3 -3
  144. package/voca/components/telia-toggle.js.map +1 -1
  145. package/voca/components/telia-visually-hidden.js +3 -3
  146. package/voca/foundations/index.js +19 -19
  147. package/voca/foundations/index.js.map +1 -1
  148. package/voca/icons/index.js.map +1 -1
  149. package/chunks/telia-button-a8a03bcb.js +0 -105
  150. package/chunks/telia-button-a8a03bcb.js.map +0 -1
  151. package/chunks/telia-style-link2-e6b7be00.js +0 -55
  152. package/chunks/telia-style-link2-e6b7be00.js.map +0 -1
  153. package/chunks/telia-tab-header2-a4329adf.js.map +0 -1
@@ -1,67 +1,69 @@
1
- import { p as d, H as h, c as m, h as s } from "../../chunks/index-629ecbb8.js";
2
- import { T as o, d as b } from "../../chunks/telia-tab-header2-a4329adf.js";
3
- import { d as p } from "../../chunks/telia-icon2-9c59983c.js";
4
- import { d as _ } from "../../chunks/telia-vst2-5b28f085.js";
1
+ import { p as h, H as b, c as m, h as s } from "../../chunks/index-17652cf7.js";
2
+ import { T as c, d as v } from "../../chunks/telia-tab-header2-bd04582d.js";
3
+ import { d as g } from "../../chunks/telia-icon2-34bf5aef.js";
4
+ import { d as f } from "../../chunks/telia-vst2-1a7f7bd6.js";
5
5
  import "../../chunks/getSvgContent-f2389ce0.js";
6
- const f = '.telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-rem-multiplier)) calc(0.2rem * var(--voca-rem-multiplier)) calc(0.4rem * var(--voca-rem-multiplier)) calc(0.2rem * var(--voca-rem-multiplier))}.telia-tab__header:last-child{margin-right:calc(0.4rem * var(--voca-rem-multiplier))}.telia-tab__header--active{background-color:#ffffff;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--has-scroll .telia-tab__list{overflow-y:auto}.telia-tab__wrapper--is-scrolled{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--is-scrolled .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll_end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll_end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll_start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;max-width:100%;min-width:100%;overflow-y:visible;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow:hidden}}.telia-tab__list::before{content:"small";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:"medium"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:"large"}}.telia-tab__list__container{display:inline-flex;flex-grow:1;margin:0 0 0 calc(-1 * calc(0.2rem * var(--voca-rem-multiplier)));padding:0}@media (any-pointer: coarse){.telia-tab__list__container{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(1.6rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(1.6rem * var(--voca-rem-multiplier)));}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(2.4rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(2.4rem * var(--voca-rem-multiplier)))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(4.8rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(4.8rem * var(--voca-rem-multiplier)))}}.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(4.8rem * var(--voca-rem-multiplier))}}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:"";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__header--active,.telia-tab--light-wide .telia-tab__header--active{background-color:transparent}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide .telia-tab__header,.telia-tab--light-wide .telia-tab__header{flex-basis:auto;flex-grow:1;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}', g = /* @__PURE__ */ d(class extends h {
6
+ const u = '.telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0;}.telia-tab telia-tab-header[active]{background-color:white;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--scroll-end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll-end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll-start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;gap:calc(0.4rem * var(--voca-rem-multiplier));max-width:100%;min-width:100%;overflow:auto;padding:0;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__list::before{content:"small";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:"medium"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:"large"}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--light,.telia-tab--light-wide{}.telia-tab--light telia-tab-header[active],.telia-tab--light-wide telia-tab-header[active]{background-color:transparent}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{gap:0;position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:"";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide telia-tab-header,.telia-tab--light-wide telia-tab-header{flex-basis:auto;flex-grow:1;flex-shrink:0;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}', p = /* @__PURE__ */ h(class extends b {
7
7
  constructor() {
8
- super(), this.__registerHost(), this.__attachShadow(), this.vocaTabChange = m(this, "vocaTabChange", 7), this.scrollClasses = " ", this.children = [], this.background = !1, this.variant = "default", this.dataTrackingId = "telia-tab", this.activeIndex = 0, this.wrapperClass = "telia-tab__wrapper", this.isKeyPress = !0, this.preventScrollLoop = !1, this.onIntersection = (t) => {
9
- let e = !1, a = !1;
10
- t.every((l) => l.isIntersecting) && t.length === this.tabItems.length && (this.scrollClasses = " ", e = !0), t.forEach((l) => {
11
- if (l.isIntersecting) {
12
- let i = Number(l.target.children[0].getAttribute("data-index"));
13
- i === 0 && l.target.classList.contains("telia-tab__header--active") && (a = !0), i === 0 || i === 1 ? this.scrollClasses = this.wrapperClass + "--scroll_start " + this.wrapperClass + "--has-scroll" : i === this.tabItems.length - 1 ? this.scrollClasses = this.wrapperClass + "--scroll_end " + this.wrapperClass + "--has-scroll" : this.scrollClasses != this.wrapperClass + "--is-scrolled " + this.wrapperClass + "--has-scroll" && (a ? this.calculateScroll() : this.scrollClasses = this.wrapperClass + "--is-scrolled " + this.wrapperClass + "--has-scroll");
14
- }
15
- }), e && this.calculateScroll();
8
+ super(), this.__registerHost(), this.__attachShadow(), this.vocaTabChange = m(this, "vocaTabChange", 7), this.scrollClasses = {}, this.children = [], this.background = !1, this.variant = "default", this.dataTrackingId = "telia-tab", this.activeIndex = 0, this.isKeyPress = !0, this.onIntersection = (t) => {
9
+ if (t.every((a) => a.isIntersecting) && t.length === this.tabItems.length) {
10
+ this.scrollClasses = {};
11
+ return;
12
+ }
13
+ t.forEach((a) => {
14
+ const l = Number(a.target.children[0].getAttribute("data-index")), i = l === 0, n = l === this.tabItems.length - 1;
15
+ this.scrollClasses = Object.assign(Object.assign(Object.assign({ "telia-tab__wrapper--scroll-start": !0 }, this.scrollClasses), i && {
16
+ "telia-tab__wrapper--scroll-end": !a.isIntersecting
17
+ }), n && {
18
+ "telia-tab__wrapper--scroll-start": !a.isIntersecting
19
+ });
20
+ });
16
21
  };
17
22
  }
18
23
  handleTabNavigation(t) {
19
24
  const { location: e, key: a } = t.detail.value, l = this.activeIndex;
20
25
  let i;
21
26
  switch (this.isKeyPress = !0, e > -1 && (i = e, this.isKeyPress = !1), a) {
22
- case o.ArrowLeft:
27
+ case c.ArrowLeft:
23
28
  l > 0 ? i = l - 1 : i = this.children.length - 1;
24
29
  break;
25
- case o.ArrowRight:
30
+ case c.ArrowRight:
26
31
  l < this.children.length - 1 ? i = l + 1 : i = 0;
27
32
  break;
28
- case o.Home:
33
+ case c.Home:
29
34
  i = 0;
30
35
  break;
31
- case o.End:
36
+ case c.End:
32
37
  i = this.children.length - 1;
33
38
  break;
34
39
  }
35
- this.activeIndex = i, this.children.forEach((c, n) => {
36
- c.active = n === i;
40
+ this.activeIndex = i, this.children.forEach((n, o) => {
41
+ n.active = o === i;
37
42
  }), this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId }), this.createChildren();
38
43
  }
39
44
  handleResize() {
40
- this.setBreakpointAndGridPadding(), this.calculateScroll();
45
+ this.scrollToTarget(this.getActiveTabListItem());
41
46
  }
42
47
  componentWillLoad() {
43
48
  this.createChildren(), this.findPreSelectedTab();
44
49
  }
45
50
  componentDidLoad() {
46
- this.tabItems = this.host.shadowRoot.querySelectorAll(".telia-tab__header"), this.observer = new IntersectionObserver(this.onIntersection, {
47
- threshold: [0.75]
48
- }), this.tabItems.forEach((t) => this.observer.observe(t)), this.setGridPadding(), this.setBreakpointAndGridPadding(), this.calculateScroll();
49
- }
50
- componentDidUpdate() {
51
- this.preventScrollLoop || this.scrollToTarget(this.getActiveTabListItem());
51
+ this.tabItems = this.host.shadowRoot.querySelectorAll("telia-tab-header");
52
+ const t = this.host.shadowRoot.querySelector(".telia-tab__list");
53
+ this.observer = new IntersectionObserver(this.onIntersection, {
54
+ threshold: [0.99],
55
+ root: t
56
+ }), this.tabItems.forEach((e) => this.observer.observe(e)), this.scrollToTarget(this.getActiveTabListItem());
52
57
  }
53
58
  disconnectedCallback() {
54
- this.observer !== null && this.observer.disconnect();
55
- }
56
- setGridPadding() {
57
- this.gridPadding = 2;
58
- }
59
- setBreakpointAndGridPadding() {
60
- if (this.tabList === void 0)
61
- return;
62
- const t = window.getComputedStyle(this.tabList, ":before").getPropertyValue("content").replace(/\"/g, "");
63
- t != this.breakPoint && (this.breakPoint = t, this.setGridPadding());
64
- }
59
+ var t, e;
60
+ (e = (t = this.observer) === null || t === void 0 ? void 0 : t.disconnect) === null || e === void 0 || e.call(t);
61
+ }
62
+ /**
63
+ * Check if there is a pre-selected tab,
64
+ * else set first tab as pre-selected
65
+ * @private
66
+ */
65
67
  findPreSelectedTab() {
66
68
  if (this.children.length === 0)
67
69
  return;
@@ -70,47 +72,50 @@ const f = '.telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-re
70
72
  t && (e.active = !1), e.active && (t = !0, this.activeIndex = a);
71
73
  }), this.activeIndex === 0 && (this.children[this.activeIndex].active = !0);
72
74
  }
75
+ /**
76
+ * Will scroll tab list to keyboard focused tab header
77
+ * @param target
78
+ * @private
79
+ */
73
80
  scrollToTarget(t) {
74
- var e;
75
- if (this.tabList.scroll == null)
81
+ var e, a;
82
+ if (typeof (t == null ? void 0 : t.getBoundingClientRect) != "function" || typeof ((e = this.tabList) === null || e === void 0 ? void 0 : e.scroll) != "function")
76
83
  return;
77
- const a = t.getBoundingClientRect(), l = this.tabList.getBoundingClientRect(), i = this.tabList.clientWidth, c = parseInt((e = getComputedStyle(this.tabList)["border-width-left"]) === null || e === void 0 ? void 0 : e.split("px")[0], 10);
78
- let n = l.left + (isNaN(c) ? 0 : c), r;
79
- a.right > l.right && (r = a.left + this.tabList.scrollLeft, r = r + a.width - i + i * 0.1, r = r - n), a.left < l.left && (r = a.left + this.tabList.scrollLeft, r = r - i * 0.1, r = r - n), r !== void 0 && this.tabList.scroll({ left: r, behavior: "smooth" });
80
- }
84
+ const l = t.getBoundingClientRect(), i = this.tabList.getBoundingClientRect(), n = this.tabList.clientWidth, o = parseInt((a = getComputedStyle(this.tabList)["border-width-left"]) === null || a === void 0 ? void 0 : a.split("px")[0], 10);
85
+ let d = i.left + (isNaN(o) ? 0 : o), r;
86
+ l.right > i.right && (r = l.left + this.tabList.scrollLeft, r = r + l.width - n + n * 0.1, r = r - d), l.left < i.left && (r = l.left + this.tabList.scrollLeft, r = r - n * 0.1, r = r - d), r !== void 0 && this.tabList.scroll({ left: r, behavior: "smooth" });
87
+ }
88
+ /**
89
+ * Create child array
90
+ * @private
91
+ */
81
92
  createChildren() {
82
93
  this.children = [], this.host.querySelectorAll("telia-tab-content").forEach((e) => {
83
94
  e.nodeName.indexOf("TELIA-TAB") > -1 && this.children.push(e);
84
95
  });
85
96
  }
86
97
  getActiveTabListItem() {
87
- return this.tabList.querySelector(".telia-tab__header--active");
88
- }
89
- calculateScroll() {
90
- this.scrollToTarget(this.getActiveTabListItem());
91
- let t = this.host.shadowRoot.querySelector(".telia-tab__list__container"), e = this.host.shadowRoot.querySelector(".telia-tab__wrapper");
92
- t.scrollWidth > e.offsetWidth + this.gridPadding ? this.scrollClasses = this.wrapperClass + "--scroll_start " + this.wrapperClass + "--has-scroll" : t.scrollWidth === e.offsetWidth + this.gridPadding && (this.scrollClasses = " ");
98
+ var t;
99
+ return (t = this.tabList) === null || t === void 0 ? void 0 : t.querySelector("telia-tab-header[active]");
93
100
  }
94
101
  render() {
95
- const t = {
102
+ return s("div", { class: {
96
103
  "telia-tab": !0,
97
104
  [`telia-tab--${this.variant}`]: !!this.variant
98
- }, e = {
105
+ } }, s("telia-vst", { dataTrackingId: this.dataTrackingId }), s("div", { class: "telia-tab__container" }, s("div", { class: Object.assign({ "telia-tab__wrapper": !0 }, this.scrollClasses) }, s("div", { ref: (t) => {
106
+ this.tabList = t;
107
+ }, class: "telia-tab__list", role: "tablist" }, this.children.map((t, e) => s("telia-tab-header", { onFocusin: (a) => {
108
+ this.scrollToTarget(a.target);
109
+ }, tabId: t.tabId, icon: t.icon, name: t.name, active: t.active, "data-testid": t.dataTestid, "data-index": e, "is-key-press": this.isKeyPress, variant: this.variant }, t.name))))), s("div", { class: {
99
110
  "telia-tab__content": !0,
100
111
  "telia-tab__content--light-background": this.background
101
- };
102
- return s("div", { class: t }, s("telia-vst", { dataTrackingId: this.dataTrackingId }), s("div", { class: "telia-tab__container" }, s("div", { class: this.wrapperClass + " " + this.scrollClasses }, s("div", { ref: (a) => this.tabList = a, class: "telia-tab__list", role: "tablist" }, s("ul", { class: "telia-tab__list__container", role: "presentation" }, this.children.map((a, l) => s("li", { role: "presentation", class: {
103
- "telia-tab__header": !0,
104
- "telia-tab__header--active": a.active
105
- }, onFocusin: (i) => {
106
- this.scrollToTarget(i.target);
107
- } }, s("telia-tab-header", { tabId: a.tabId, icon: a.icon, name: a.name, active: a.active, "data-testid": a.dataTestid, "data-index": l, "is-key-press": this.isKeyPress, variant: this.variant }, a.name))))))), s("div", { class: e, role: "presentation" }, s("div", { class: "telia-tab__container", role: "presentation" }, s("slot", null))));
112
+ }, role: "presentation" }, s("div", { class: "telia-tab__container", role: "presentation" }, s("slot", null))));
108
113
  }
109
114
  get host() {
110
115
  return this;
111
116
  }
112
117
  static get style() {
113
- return f;
118
+ return u;
114
119
  }
115
120
  }, [1, "telia-tab", {
116
121
  background: [4],
@@ -118,25 +123,25 @@ const f = '.telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-re
118
123
  scrollClasses: [32],
119
124
  children: [32]
120
125
  }, [[0, "vocaInternalTabNavigation", "handleTabNavigation"], [9, "resize", "handleResize"]]]);
121
- function v() {
126
+ function _() {
122
127
  if (typeof customElements > "u")
123
128
  return;
124
129
  ["telia-tab", "telia-icon", "telia-tab-header", "telia-vst"].forEach((e) => {
125
130
  switch (e) {
126
131
  case "telia-tab":
127
- customElements.get(e) || customElements.define(e, g);
132
+ customElements.get(e) || customElements.define(e, p);
128
133
  break;
129
134
  case "telia-icon":
130
- customElements.get(e) || p();
135
+ customElements.get(e) || g();
131
136
  break;
132
137
  case "telia-tab-header":
133
- customElements.get(e) || b();
138
+ customElements.get(e) || v();
134
139
  break;
135
140
  case "telia-vst":
136
- customElements.get(e) || _();
141
+ customElements.get(e) || f();
137
142
  break;
138
143
  }
139
144
  });
140
145
  }
141
- v();
146
+ _();
142
147
  //# sourceMappingURL=telia-tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telia-tab.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.3.3/node_modules/@teliads/components/dist/components/telia-tab.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { d as defineCustomElement$3, T as TabNavigationTypes } from './telia-tab-header2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\nconst teliaTabCss = \".telia-tab__header{list-style:none;margin:calc(0.4rem * var(--voca-rem-multiplier)) calc(0.2rem * var(--voca-rem-multiplier)) calc(0.4rem * var(--voca-rem-multiplier)) calc(0.2rem * var(--voca-rem-multiplier))}.telia-tab__header:last-child{margin-right:calc(0.4rem * var(--voca-rem-multiplier))}.telia-tab__header--active{background-color:#ffffff;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--has-scroll .telia-tab__list{overflow-y:auto}.telia-tab__wrapper--is-scrolled{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--is-scrolled .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll_end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll_end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll_start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;max-width:100%;min-width:100%;overflow-y:visible;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow:hidden}}.telia-tab__list::before{content:\\\"small\\\";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:\\\"medium\\\"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:\\\"large\\\"}}.telia-tab__list__container{display:inline-flex;flex-grow:1;margin:0 0 0 calc(-1 * calc(0.2rem * var(--voca-rem-multiplier)));padding:0}@media (any-pointer: coarse){.telia-tab__list__container{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(1.6rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(1.6rem * var(--voca-rem-multiplier)));}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(2.4rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(2.4rem * var(--voca-rem-multiplier)))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__wrapper--has-scroll{margin-left:calc(-1 * calc(4.8rem * var(--voca-rem-multiplier)));margin-right:calc(-1 * calc(4.8rem * var(--voca-rem-multiplier)))}}.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__wrapper--has-scroll .telia-tab__header:first-child{margin-left:calc(4.8rem * var(--voca-rem-multiplier))}}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:\\\"\\\";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__header--active,.telia-tab--light-wide .telia-tab__header--active{background-color:transparent}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide .telia-tab__header,.telia-tab--light-wide .telia-tab__header{flex-basis:auto;flex-grow:1;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}\";\n\nconst TeliaTab$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.vocaTabChange = createEvent(this, \"vocaTabChange\", 7);\n /** State scroll used for toggeling horizontal scroll shadow */\n this.scrollClasses = ' ';\n /** Array of slotted children */\n this.children = [];\n /** sets background on content */\n this.background = false;\n /** variant */\n this.variant = 'default';\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-tab';\n this.activeIndex = 0;\n this.wrapperClass = 'telia-tab__wrapper';\n this.isKeyPress = true;\n /**\n * Because the component effectively reloads directly after\n * first load, we need to scroll to the active tab in the componentDidUpdate\n * hook. This can create an infinite loop unless prevented by this property\n * that is set to true when/if user scrolls.\n */\n this.preventScrollLoop = false;\n this.onIntersection = (entries) => {\n let allTabItemsIsVisible = false;\n let firstTabItemIsActiveInScope = false;\n // If all entries are visible\n if (entries.every(entry => entry.isIntersecting) &&\n entries.length === this.tabItems.length) {\n this.scrollClasses = ' ';\n allTabItemsIsVisible = true;\n }\n entries.forEach(entry => {\n // if entry is visible\n if (entry.isIntersecting) {\n let entryIndex = Number(entry.target.children[0].getAttribute('data-index'));\n if (entryIndex === 0 &&\n entry.target.classList.contains('telia-tab__header--active')) {\n // 0 = first tabItem\n firstTabItemIsActiveInScope = true;\n }\n if (entryIndex === 0 || entryIndex === 1) {\n this.scrollClasses =\n this.wrapperClass +\n '--scroll_start' +\n ' ' +\n this.wrapperClass +\n '--has-scroll';\n }\n else if (entryIndex === this.tabItems.length - 1) {\n this.scrollClasses =\n this.wrapperClass +\n '--scroll_end' +\n ' ' +\n this.wrapperClass +\n '--has-scroll';\n }\n else if (this.scrollClasses !=\n this.wrapperClass +\n '--is-scrolled' +\n ' ' +\n this.wrapperClass +\n '--has-scroll') {\n if (firstTabItemIsActiveInScope) {\n this.calculateScroll();\n }\n else {\n this.scrollClasses =\n this.wrapperClass +\n '--is-scrolled' +\n ' ' +\n this.wrapperClass +\n '--has-scroll';\n }\n }\n }\n });\n if (allTabItemsIsVisible) {\n this.calculateScroll();\n }\n };\n }\n handleTabNavigation(e) {\n const { location, key } = e.detail.value;\n const currentIndex = this.activeIndex;\n let nextIndex;\n this.isKeyPress = true;\n if (location > -1) {\n nextIndex = location;\n this.isKeyPress = false;\n }\n switch (key) {\n case TabNavigationTypes.ArrowLeft:\n if (currentIndex > 0) {\n nextIndex = currentIndex - 1;\n }\n else {\n nextIndex = this.children.length - 1;\n }\n break;\n case TabNavigationTypes.ArrowRight:\n if (currentIndex < this.children.length - 1) {\n nextIndex = currentIndex + 1;\n }\n else {\n nextIndex = 0;\n }\n break;\n case TabNavigationTypes.Home:\n nextIndex = 0;\n break;\n case TabNavigationTypes.End:\n nextIndex = this.children.length - 1;\n break;\n }\n this.activeIndex = nextIndex;\n this.children.forEach((child, index) => {\n child.active = index === nextIndex;\n });\n this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId });\n this.createChildren();\n }\n handleResize() {\n this.setBreakpointAndGridPadding();\n this.calculateScroll();\n }\n componentWillLoad() {\n this.createChildren();\n this.findPreSelectedTab();\n }\n componentDidLoad() {\n this.tabItems = this.host.shadowRoot.querySelectorAll('.telia-tab__header');\n this.observer = new IntersectionObserver(this.onIntersection, {\n threshold: [0.75],\n });\n this.tabItems.forEach(el => this.observer.observe(el));\n this.setGridPadding();\n this.setBreakpointAndGridPadding();\n this.calculateScroll();\n }\n componentDidUpdate() {\n if (!this.preventScrollLoop) {\n this.scrollToTarget(this.getActiveTabListItem());\n }\n }\n disconnectedCallback() {\n // if we have an intersection observer, disconnect it\n if (this.observer !== null) {\n this.observer.disconnect();\n }\n }\n /**\n * Gets and sets current grid padding, used for calculation of scroll\n * @private\n */\n setGridPadding() {\n this.gridPadding = 2; // = telia-tab__list__container margin left -2, missing 2 px, Needs to be investigated why it is even needed since the last commit changes.\n }\n /**\n * Get current breakpoint from style. It is important to\n * call calculateScroll after this method is called,\n * or it may not have desired effect.\n * @private\n */\n setBreakpointAndGridPadding() {\n if (this.tabList === undefined) {\n return;\n }\n const currentBreakpoint = window\n .getComputedStyle(this.tabList, ':before')\n .getPropertyValue('content')\n .replace(/\\\"/g, '');\n if (currentBreakpoint != this.breakPoint) {\n this.breakPoint = currentBreakpoint;\n this.setGridPadding();\n }\n }\n /**\n * Check if there is a pre-selected tab,\n * else set first tab as pre-selected\n * @private\n */\n findPreSelectedTab() {\n if (this.children.length === 0)\n return;\n /**\n * flag to indicate that an active tab\n * was found on render\n */\n let activePreSet = false;\n this.children.forEach((child, index) => {\n if (activePreSet) {\n /**\n * since flag is true\n * all other tabs should\n * be set to not active\n */\n child.active = false;\n }\n if (child.active) {\n activePreSet = true;\n this.activeIndex = index;\n }\n });\n if (this.activeIndex === 0) {\n this.children[this.activeIndex].active = true;\n }\n }\n /**\n * Will scroll tab list to keyboard focused tab header\n * @param target\n * @private\n */\n scrollToTarget(target) {\n var _a;\n /**\n * scroll may not be available in\n * test runner, so check existence\n * before proceeding.\n */\n if (this.tabList.scroll == null) {\n return;\n }\n const targetRect = target.getBoundingClientRect();\n const wrapperRect = this.tabList.getBoundingClientRect();\n const wrapperWidth = this.tabList.clientWidth;\n const wrapperOffset = parseInt((_a = getComputedStyle(this.tabList)['border-width-left']) === null || _a === void 0 ? void 0 : _a.split('px')[0], 10);\n let offset = wrapperRect.left + (isNaN(wrapperOffset) ? 0 : wrapperOffset);\n let left;\n //Handle forward navigation\n if (targetRect.right > wrapperRect.right) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left + targetRect.width - wrapperWidth + wrapperWidth * 0.1;\n left = left - offset;\n }\n //Handle backwards navigation\n if (targetRect.left < wrapperRect.left) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left - wrapperWidth * 0.1;\n left = left - offset;\n }\n if (left !== undefined) {\n this.tabList.scroll({ left: left, behavior: 'smooth' });\n }\n }\n /**\n * Create child array\n * @private\n */\n createChildren() {\n this.children = [];\n let slotted = this.host.querySelectorAll('telia-tab-content');\n slotted.forEach(node => {\n if (node.nodeName.indexOf('TELIA-TAB') > -1) {\n this.children.push(node);\n }\n });\n }\n getActiveTabListItem() {\n return this.tabList.querySelector('.telia-tab__header--active');\n }\n /**\n * Checks if there is a scroll in tab list and sets relevant class\n * @private\n */\n calculateScroll() {\n this.scrollToTarget(this.getActiveTabListItem());\n let headerContainer = this.host.shadowRoot.querySelector('.telia-tab__list__container');\n let headerWrapper = this.host.shadowRoot.querySelector('.telia-tab__wrapper');\n if (headerContainer.scrollWidth >\n headerWrapper.offsetWidth + this.gridPadding) {\n this.scrollClasses =\n this.wrapperClass +\n '--scroll_start ' +\n this.wrapperClass +\n '--has-scroll';\n }\n else if (headerContainer.scrollWidth ===\n headerWrapper.offsetWidth + this.gridPadding) {\n this.scrollClasses = ' ';\n }\n }\n render() {\n const tabClasses = {\n 'telia-tab': true,\n [`telia-tab--${this.variant}`]: !!this.variant,\n };\n const contentClasses = {\n 'telia-tab__content': true,\n 'telia-tab__content--light-background': this.background,\n };\n return (h(\"div\", { class: tabClasses }, h(\"telia-vst\", { dataTrackingId: this.dataTrackingId }), h(\"div\", { class: \"telia-tab__container\" }, h(\"div\", { class: this.wrapperClass + ' ' + this.scrollClasses }, h(\"div\", { ref: el => (this.tabList = el), class: \"telia-tab__list\", role: \"tablist\" }, h(\"ul\", { class: \"telia-tab__list__container\", role: \"presentation\" }, this.children.map((child, index) => {\n return (h(\"li\", { role: \"presentation\", class: {\n 'telia-tab__header': true,\n 'telia-tab__header--active': child.active,\n }, onFocusin: e => {\n this.scrollToTarget(e.target);\n } }, h(\"telia-tab-header\", { tabId: child.tabId, icon: child.icon, name: child.name, active: child.active, \"data-testid\": child.dataTestid, \"data-index\": index, \"is-key-press\": this.isKeyPress, variant: this.variant }, child.name)));\n }))))), h(\"div\", { class: contentClasses, role: \"presentation\" }, h(\"div\", { class: \"telia-tab__container\", role: \"presentation\" }, h(\"slot\", null)))));\n }\n get host() { return this; }\n static get style() { return teliaTabCss; }\n}, [1, \"telia-tab\", {\n \"background\": [4],\n \"variant\": [1],\n \"scrollClasses\": [32],\n \"children\": [32]\n }, [[0, \"vocaInternalTabNavigation\", \"handleTabNavigation\"], [9, \"resize\", \"handleResize\"]]]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-tab\", \"telia-icon\", \"telia-tab-header\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-tab\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTab$1);\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-tab-header\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTab = TeliaTab$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTab, defineCustomElement };\n"],"names":["teliaTabCss","TeliaTab$1","proxyCustomElement","HTMLElement","createEvent","entries","allTabItemsIsVisible","firstTabItemIsActiveInScope","entry","entryIndex","e","location","key","currentIndex","nextIndex","TabNavigationTypes","child","index","el","currentBreakpoint","activePreSet","target","_a","targetRect","wrapperRect","wrapperWidth","wrapperOffset","offset","left","node","headerContainer","headerWrapper","tabClasses","contentClasses","h","defineCustomElement$1","tagName","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
1
+ {"version":3,"file":"telia-tab.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.6.0/node_modules/@teliads/components/dist/components/telia-tab.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { d as defineCustomElement$3, T as TabNavigationTypes } from './telia-tab-header2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\nconst teliaTabCss = \".telia-tab telia-tab-header{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0;}.telia-tab telia-tab-header[active]{background-color:white;margin-bottom:0}.telia-tab__wrapper{position:relative;}@media (any-pointer: coarse){.telia-tab__wrapper{-ms-overflow-style:none;}.telia-tab__wrapper ::-webkit-scrollbar{display:none;}}.telia-tab__wrapper--scroll-end{-webkit-mask-image:none;mask-image:none}.telia-tab__wrapper--scroll-end .telia-tab__list{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__wrapper--scroll-start{-webkit-mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)));mask-image:linear-gradient(to left, rgba(0, 0, 0, 0) 0, black calc(5.9rem * var(--voca-rem-multiplier)))}.telia-tab__list{display:inline-flex;gap:calc(0.4rem * var(--voca-rem-multiplier));max-width:100%;min-width:100%;overflow:auto;padding:0;position:relative}@media (any-pointer: coarse){.telia-tab__list{overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;}}.telia-tab__list::before{content:\\\"small\\\";display:none}@media screen and (min-width: 37.5em){.telia-tab__list::before{content:\\\"medium\\\"}}@media screen and (min-width: 64em){.telia-tab__list::before{content:\\\"large\\\"}}.telia-tab__content{background-color:#ffffff;padding:calc(1.6rem * var(--voca-rem-multiplier)) 0}.telia-tab__content--light-background{background-color:#ffffff}.telia-tab__content .telia-tab__container{padding:0 calc(1.6rem * var(--voca-rem-multiplier))}@media screen and (min-width: 37.5em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab__content .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}.telia-tab--default .telia-tab__container{box-sizing:border-box;display:block;margin-left:auto;margin-right:auto;max-width:calc(144rem * var(--voca-rem-multiplier));padding:0 calc(1.6rem * var(--voca-rem-multiplier));width:100%}@media screen and (min-width: 37.5em){.telia-tab--default .telia-tab__container{padding:0 calc(2.4rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 64em){.telia-tab--default .telia-tab__container{padding:0 calc(4.8rem * var(--voca-rem-multiplier))}}@media screen and (min-width: 90em){.telia-tab--default .telia-tab__container{padding:0 calc(6.4rem * var(--voca-rem-multiplier))}}.telia-tab--light,.telia-tab--light-wide{}.telia-tab--light telia-tab-header[active],.telia-tab--light-wide telia-tab-header[active]{background-color:transparent}.telia-tab--light .telia-tab__list,.telia-tab--light-wide .telia-tab__list{gap:0;position:static;width:100%}.telia-tab--light .telia-tab__list::after,.telia-tab--light-wide .telia-tab__list::after{background-color:#c8c8cd;bottom:calc(0.2rem * var(--voca-rem-multiplier));content:\\\"\\\";display:block;height:calc(0.2rem * var(--voca-rem-multiplier));left:0;position:absolute;right:0;width:100%}.telia-tab--light .telia-tab__content,.telia-tab--light-wide .telia-tab__content{background-color:transparent}.telia-tab--wide telia-tab-header,.telia-tab--light-wide telia-tab-header{flex-basis:auto;flex-grow:1;flex-shrink:0;min-width:fit-content;width:calc(17.7rem * var(--voca-rem-multiplier))}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}\";\n\nconst TeliaTab$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.vocaTabChange = createEvent(this, \"vocaTabChange\", 7);\n /** State scroll used for toggling horizontal scroll shadow */\n this.scrollClasses = {};\n /** Array of slotted children */\n this.children = [];\n /** sets background on content */\n this.background = false;\n /** variant */\n this.variant = 'default';\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-tab';\n this.activeIndex = 0;\n this.isKeyPress = true;\n this.onIntersection = (entries) => {\n const allEntriesVisible = entries.every(entry => entry.isIntersecting) &&\n entries.length === this.tabItems.length;\n if (allEntriesVisible) {\n this.scrollClasses = {};\n return;\n }\n entries.forEach(entry => {\n const entryIndex = Number(entry.target.children[0].getAttribute('data-index'));\n const isStartEntry = entryIndex === 0;\n const isLastEntry = entryIndex === this.tabItems.length - 1;\n this.scrollClasses = Object.assign(Object.assign(Object.assign({ 'telia-tab__wrapper--scroll-start': true }, this.scrollClasses), (isStartEntry && {\n 'telia-tab__wrapper--scroll-end': !entry.isIntersecting,\n })), (isLastEntry && {\n 'telia-tab__wrapper--scroll-start': !entry.isIntersecting,\n }));\n });\n };\n }\n handleTabNavigation(e) {\n const { location, key } = e.detail.value;\n const currentIndex = this.activeIndex;\n let nextIndex;\n this.isKeyPress = true;\n if (location > -1) {\n nextIndex = location;\n this.isKeyPress = false;\n }\n switch (key) {\n case TabNavigationTypes.ArrowLeft:\n if (currentIndex > 0) {\n nextIndex = currentIndex - 1;\n }\n else {\n nextIndex = this.children.length - 1;\n }\n break;\n case TabNavigationTypes.ArrowRight:\n if (currentIndex < this.children.length - 1) {\n nextIndex = currentIndex + 1;\n }\n else {\n nextIndex = 0;\n }\n break;\n case TabNavigationTypes.Home:\n nextIndex = 0;\n break;\n case TabNavigationTypes.End:\n nextIndex = this.children.length - 1;\n break;\n }\n this.activeIndex = nextIndex;\n this.children.forEach((child, index) => {\n child.active = index === nextIndex;\n });\n this.vocaTabChange.emit({ value: this.children[this.activeIndex].tabId });\n this.createChildren();\n }\n handleResize() {\n this.scrollToTarget(this.getActiveTabListItem());\n }\n componentWillLoad() {\n this.createChildren();\n this.findPreSelectedTab();\n }\n componentDidLoad() {\n this.tabItems = this.host.shadowRoot.querySelectorAll('telia-tab-header');\n const tablist = this.host.shadowRoot.querySelector('.telia-tab__list');\n this.observer = new IntersectionObserver(this.onIntersection, {\n threshold: [0.99],\n root: tablist,\n });\n this.tabItems.forEach(el => this.observer.observe(el));\n this.scrollToTarget(this.getActiveTabListItem());\n }\n disconnectedCallback() {\n var _a, _b;\n // if we have an intersection observer, disconnect it\n (_b = (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n /**\n * Check if there is a pre-selected tab,\n * else set first tab as pre-selected\n * @private\n */\n findPreSelectedTab() {\n if (this.children.length === 0)\n return;\n /**\n * flag to indicate that an active tab\n * was found on render\n */\n let activePreSet = false;\n this.children.forEach((child, index) => {\n if (activePreSet) {\n /**\n * since flag is true\n * all other tabs should\n * be set to not active\n */\n child.active = false;\n }\n if (child.active) {\n activePreSet = true;\n this.activeIndex = index;\n }\n });\n if (this.activeIndex === 0) {\n this.children[this.activeIndex].active = true;\n }\n }\n /**\n * Will scroll tab list to keyboard focused tab header\n * @param target\n * @private\n */\n scrollToTarget(target) {\n var _a, _b;\n /**\n * scroll may not be available in test runner, so check existence before\n * proceeding. We can't use scrollIntoView() because Safari doesn't support\n * it fully.\n */\n if (typeof (target === null || target === void 0 ? void 0 : target.getBoundingClientRect) !== 'function' ||\n typeof ((_a = this.tabList) === null || _a === void 0 ? void 0 : _a.scroll) !== 'function') {\n return;\n }\n const targetRect = target.getBoundingClientRect();\n const wrapperRect = this.tabList.getBoundingClientRect();\n const wrapperWidth = this.tabList.clientWidth;\n const wrapperOffset = parseInt((_b = getComputedStyle(this.tabList)['border-width-left']) === null || _b === void 0 ? void 0 : _b.split('px')[0], 10);\n let offset = wrapperRect.left + (isNaN(wrapperOffset) ? 0 : wrapperOffset);\n let left;\n //Handle forward navigation\n if (targetRect.right > wrapperRect.right) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left + targetRect.width - wrapperWidth + wrapperWidth * 0.1;\n left = left - offset;\n }\n //Handle backwards navigation\n if (targetRect.left < wrapperRect.left) {\n left = targetRect.left + this.tabList.scrollLeft;\n left = left - wrapperWidth * 0.1;\n left = left - offset;\n }\n if (left !== undefined) {\n this.tabList.scroll({ left: left, behavior: 'smooth' });\n }\n }\n /**\n * Create child array\n * @private\n */\n createChildren() {\n this.children = [];\n let slotted = this.host.querySelectorAll('telia-tab-content');\n slotted.forEach(node => {\n if (node.nodeName.indexOf('TELIA-TAB') > -1) {\n this.children.push(node);\n }\n });\n }\n getActiveTabListItem() {\n var _a;\n return (_a = this.tabList) === null || _a === void 0 ? void 0 : _a.querySelector('telia-tab-header[active]');\n }\n render() {\n return (h(\"div\", { class: {\n 'telia-tab': true,\n [`telia-tab--${this.variant}`]: !!this.variant,\n } }, h(\"telia-vst\", { dataTrackingId: this.dataTrackingId }), h(\"div\", { class: \"telia-tab__container\" }, h(\"div\", { class: Object.assign({ 'telia-tab__wrapper': true }, this.scrollClasses) }, h(\"div\", { ref: el => {\n this.tabList = el;\n }, class: \"telia-tab__list\", role: \"tablist\" }, this.children.map((child, index) => {\n return (h(\"telia-tab-header\", { onFocusin: e => {\n this.scrollToTarget(e.target);\n }, tabId: child.tabId, icon: child.icon, name: child.name, active: child.active, \"data-testid\": child.dataTestid, \"data-index\": index, \"is-key-press\": this.isKeyPress, variant: this.variant }, child.name));\n })))), h(\"div\", { class: {\n 'telia-tab__content': true,\n 'telia-tab__content--light-background': this.background,\n }, role: \"presentation\" }, h(\"div\", { class: \"telia-tab__container\", role: \"presentation\" }, h(\"slot\", null)))));\n }\n get host() { return this; }\n static get style() { return teliaTabCss; }\n}, [1, \"telia-tab\", {\n \"background\": [4],\n \"variant\": [1],\n \"scrollClasses\": [32],\n \"children\": [32]\n }, [[0, \"vocaInternalTabNavigation\", \"handleTabNavigation\"], [9, \"resize\", \"handleResize\"]]]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-tab\", \"telia-icon\", \"telia-tab-header\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-tab\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTab$1);\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-tab-header\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTab = TeliaTab$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTab, defineCustomElement };\n"],"names":["teliaTabCss","TeliaTab$1","proxyCustomElement","HTMLElement","createEvent","entries","entry","entryIndex","isStartEntry","isLastEntry","e","location","key","currentIndex","nextIndex","TabNavigationTypes","child","index","tablist","el","_a","_b","activePreSet","target","targetRect","wrapperRect","wrapperWidth","wrapperOffset","offset","left","node","h","defineCustomElement$1","tagName","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { p as c, H as d, c as m, h as i } from "../../chunks/index-629ecbb8.js";
1
+ import { p as c, H as d, c as m, h as i } from "../../chunks/index-17652cf7.js";
2
2
  import { u as s } from "../../chunks/uniqueId-0daf01ec.js";
3
- import { s as p } from "../../chunks/stringCombiner-67bee7be.js";
4
- import { d as h } from "../../chunks/telia-field-assistive-text2-a7ada9a5.js";
5
- import { d as v } from "../../chunks/telia-field-error2-341030c7.js";
6
- import { d as g } from "../../chunks/telia-field-valid2-663bc79f.js";
7
- import { d as f } from "../../chunks/telia-icon2-9c59983c.js";
8
- import { d as _ } from "../../chunks/telia-label2-92041936.js";
9
- import { d as x } from "../../chunks/telia-vst2-5b28f085.js";
3
+ import { s as p } from "../../chunks/stringCombiner-10b57054.js";
4
+ import { d as h } from "../../chunks/telia-field-assistive-text2-fd970326.js";
5
+ import { d as v } from "../../chunks/telia-field-error2-63eae7b3.js";
6
+ import { d as g } from "../../chunks/telia-field-valid2-bda898b1.js";
7
+ import { d as f } from "../../chunks/telia-icon2-34bf5aef.js";
8
+ import { d as _ } from "../../chunks/telia-label2-4d674e5e.js";
9
+ import { d as x } from "../../chunks/telia-vst2-1a7f7bd6.js";
10
10
  import "../../chunks/error-filled-8de50bdd.js";
11
11
  import "../../chunks/check-circle-filled-42095247.js";
12
12
  import "../../chunks/getSvgContent-f2389ce0.js";
@@ -34,13 +34,16 @@ const b = {
34
34
  this.updateErrorMessage(this.errorMessage), this.touched = !0;
35
35
  return;
36
36
  }
37
- if (r && !this.isValueMissing() && this.touched && !!this.patternErrorMessage && !this.isValuePatternValid() && this.updateErrorMessage(this.patternErrorMessage), n && this.touched && !!this.minlengthErrorMessage && this.isValueLessThanMinlength() && this.updateErrorMessage(this.minlengthErrorMessage), l && (o && this.isValueTypeInvalid() && this.touched && this.updateErrorMessage(this.emailErrorMessage), this.touched && !!this.requiredErrorMessage && this.isValueMissing() && this.updateErrorMessage(this.requiredErrorMessage)), a) {
37
+ if (r && !this.isValueMissing() && this.touched && this.patternErrorMessage && !this.isValuePatternValid() && this.updateErrorMessage(this.patternErrorMessage), n && this.touched && this.minlengthErrorMessage && this.isValueLessThanMinlength() && this.updateErrorMessage(this.minlengthErrorMessage), l && (o && this.isValueTypeInvalid() && this.touched && this.updateErrorMessage(this.emailErrorMessage), this.touched && this.requiredErrorMessage && this.isValueMissing() && this.updateErrorMessage(this.requiredErrorMessage)), a) {
38
38
  if (r && !this.isValuePatternValid() || n && this.isValueLessThanMinlength() || l && this.isValueMissing() || o && this.isValueTypeInvalid())
39
39
  return;
40
40
  this.updateErrorMessage("");
41
41
  }
42
42
  };
43
43
  }
44
+ /**
45
+ * Sets focus on input
46
+ */
44
47
  async focusInput() {
45
48
  this.inputElement.focus();
46
49
  }
@@ -52,11 +55,24 @@ const b = {
52
55
  }
53
56
  componentDidRender() {
54
57
  var t, e, a;
55
- this.inputElement && ((t = this.inputElement) === null || t === void 0 ? void 0 : t.setCustomValidity) && ((e = this.inputElement) === null || e === void 0 || e.setCustomValidity(this.errorMessageState)), this.htmlForm && ((a = this.inputElement) === null || a === void 0 || a.setAttribute("form", this.htmlForm));
58
+ this.inputElement && (!((t = this.inputElement) === null || t === void 0) && t.setCustomValidity) && ((e = this.inputElement) === null || e === void 0 || e.setCustomValidity(this.errorMessageState)), this.htmlForm && ((a = this.inputElement) === null || a === void 0 || a.setAttribute("form", this.htmlForm));
56
59
  }
60
+ /**
61
+ * Watch if value attributes changes after initial load.
62
+ * Needed for prefilling functionality to work with input validations.
63
+ * @param value value attribute
64
+ */
57
65
  componentValueChanged(t) {
58
66
  this.inputValue = t, this.updateErrorState();
59
67
  }
68
+ /**
69
+ * This method is used to determine
70
+ * if a 'valid icon' can be shown to the user.
71
+ * Given the complexity of the validation logic
72
+ * in this component, using this method
73
+ * to determine 'validity' in a general sense
74
+ * should be carefully considered and tested.
75
+ */
60
76
  isValid() {
61
77
  return !this.errorMessage && !this.isValueMissing() && !this.isValueLessThanMinlength() && !this.isValueTypeInvalid() && this.isValuePatternValid();
62
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telia-text-input.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.3.3/node_modules/@teliads/components/dist/components/telia-text-input.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { u as uniqueId } from './uniqueId.js';\nimport { s as stringCombiner } from './stringCombiner.js';\nimport { d as defineCustomElement$7 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$6 } from './telia-field-error2.js';\nimport { d as defineCustomElement$5 } from './telia-field-valid2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$3 } from './telia-label2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\n// Create a const where all members have a readonly value\n// and literal type by using const assertion.\nconst TextFieldTypes = {\n text: 'text',\n number: 'number',\n email: 'email',\n tel: 'tel',\n search: 'search',\n password: 'password',\n};\n\nconst teliaTextInputCss = \".telia-text-input{display:flex;flex-direction:column}.telia-text-input__input{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90;border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;color:#222222;font-family:\\\"TeliaSans\\\", Helvetica, Arial, \\\"Lucida Grande\\\", sans-serif;font-weight:normal;font-size:calc(1.6rem * var(--voca-rem-multiplier));line-height:1.5;-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;margin:0;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier));width:100%;height:calc(4.6rem * var(--voca-rem-multiplier));margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:2}.telia-text-input__input:required{box-shadow:none}.telia-text-input__input[type=search]{-webkit-appearance:textfield;outline-offset:calc(-0.2rem * var(--voca-rem-multiplier))}.telia-text-input__input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.telia-text-input__input[type=number]~.telia-text-input__valid-icon-container,.telia-text-input__input[type=search]~.telia-text-input__valid-icon-container{margin:calc(-1 * (4.6rem * var(--voca-rem-multiplier))) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - (3.2rem * var(--voca-rem-multiplier)));width:0}.telia-text-input__input:hover{border:calc(0.2rem * var(--voca-rem-multiplier)) solid #29003e;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__input:hover:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:focus{outline:solid calc(0.3rem * var(--voca-rem-multiplier)) #0099ff;outline-offset:calc(0.2rem * var(--voca-rem-multiplier));padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:focus:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:read-only{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#e8e8ed}.telia-text-input__input:read-only:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#dcdce1;color:#606064;cursor:not-allowed;-webkit-text-fill-color:#606064}.telia-text-input__input:disabled:hover{padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled~telia-label .telia-label{color:#606064;cursor:not-allowed}.telia-text-input__input:disabled~.telia-text-input__additional{color:#b0b0b5}.telia-text-input__input:invalid{box-shadow:none}.telia-text-input__input--icon-shown{padding:calc(1rem * var(--voca-rem-multiplier)) calc(4.5rem * var(--voca-rem-multiplier)) calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input--touched:invalid{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #be0040}.telia-text-input__input--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #be0040;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__valid-icon-container{align-items:center;display:flex;flex-direction:row;height:calc(4.6rem * var(--voca-rem-multiplier));justify-content:flex-end;margin:calc(calc(4.6rem * var(--voca-rem-multiplier)) * -1) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - calc(1.2rem * var(--voca-rem-multiplier)));order:3}.telia-text-input__additional{order:4}.telia-text-input__error{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:5}\";\n\nconst TeliaTextInput$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.valueChange = createEvent(this, \"valueChange\", 7);\n /** Type of input as a string */\n this.type = TextFieldTypes.text;\n /** Value of input */\n this.value = '';\n /** Additional description id */\n this.additionalId = uniqueId('additional');\n /** Input element id */\n this.inputId = uniqueId('input');\n /** Error description id */\n this.errorId = uniqueId('error');\n /** Disabled state */\n this.disabled = false;\n /** Readonly state */\n this.readonly = false;\n /** Field needs to be filled, so it can be submitted */\n this.required = false;\n /** Show valid icon when value passes all validations. Use sparingly. */\n this.showValidIcon = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-text-input';\n /**\n * Input has been blurred at least once.\n */\n this.touched = false;\n /**\n * Input has received data at least once.\n */\n this.dirty = false;\n /**\n * Real time value of input\n */\n this.inputValue = '';\n /**\n * Error message\n */\n this.errorMessageState = '';\n this.updateInputValue = () => {\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n this.inputValue = this.inputElement ? this.inputElement.value : this.value;\n };\n /**\n * Check if input value state is valid with given pattern. This is\n * imitating native input validation.\n */\n this.isValuePatternValid = () => {\n if (this.pattern) {\n const regexp = new RegExp('^(?:' + this.pattern + ')$');\n return regexp.test(this.inputValue);\n }\n return true;\n };\n this.isValueLessThanMinlength = () => {\n return (this.inputValue.length > 0 && this.inputValue.length < this.minlength);\n };\n /**\n * Check if validation failed due to type mismatch.\n * Type mismatch is set to true when email, url, ... field type built-in validation triggers\n */\n this.isValueTypeInvalid = () => {\n var _a;\n return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.validity.typeMismatch;\n };\n /**\n * Update error message and keep native input error message in sync.\n */\n this.updateErrorMessage = message => {\n var _a;\n (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(message);\n this.errorMessageState = message;\n };\n /**\n * Check if input value is empty, so required should be triggered.\n */\n this.isValueMissing = () => {\n return this.inputValue.length === 0;\n };\n this.updateErrorState = () => {\n var _a, _b;\n const errorMessageIsSet = !!((_a = this.errorMessageState) === null || _a === void 0 ? void 0 : _a.length);\n const requiredInUse = this.required;\n const patternInUse = !!this.pattern;\n const minlengthInUse = this.minlength;\n const generalErrorInUse = !!((_b = this.errorMessage) === null || _b === void 0 ? void 0 : _b.length);\n const emailErrorInUse = !!this.emailErrorMessage && this.type === 'email';\n if (generalErrorInUse) {\n this.updateErrorMessage(this.errorMessage);\n this.touched = true;\n // General error message overrides other errors, so exit here.\n return;\n }\n if (patternInUse && !this.isValueMissing()) {\n if (this.touched &&\n !!this.patternErrorMessage &&\n !this.isValuePatternValid()) {\n this.updateErrorMessage(this.patternErrorMessage);\n }\n }\n if (minlengthInUse) {\n if (this.touched &&\n !!this.minlengthErrorMessage &&\n this.isValueLessThanMinlength()) {\n this.updateErrorMessage(this.minlengthErrorMessage);\n }\n }\n if (requiredInUse) {\n /**\n * Follow HTML5 input ways of working,\n * email field is validated only if type is email and required is set to true\n */\n if (emailErrorInUse && this.isValueTypeInvalid() && this.touched) {\n this.updateErrorMessage(this.emailErrorMessage);\n }\n if (this.touched &&\n !!this.requiredErrorMessage &&\n this.isValueMissing()) {\n this.updateErrorMessage(this.requiredErrorMessage);\n }\n }\n // Clean error message if needed\n if (errorMessageIsSet) {\n if (patternInUse && !this.isValuePatternValid())\n return;\n if (minlengthInUse && this.isValueLessThanMinlength())\n return;\n if (requiredInUse && this.isValueMissing())\n return;\n if (emailErrorInUse && this.isValueTypeInvalid())\n return;\n this.updateErrorMessage('');\n }\n };\n }\n /**\n * Sets focus on input\n */\n async focusInput() {\n this.inputElement.focus();\n }\n componentWillLoad() {\n this.updateInputValue();\n this.updateErrorState();\n }\n componentWillUpdate() {\n this.updateErrorState();\n }\n componentDidRender() {\n // This check is for Stencil unit tests. Input element is mocked,\n // but setCustomValidity method is not. It is undefined.\n var _a, _b, _c;\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n if (this.inputElement && ((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity)) {\n (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.setCustomValidity(this.errorMessageState);\n }\n if (this.htmlForm) {\n (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.setAttribute('form', this.htmlForm);\n }\n }\n /**\n * Watch if value attributes changes after initial load.\n * Needed for prefilling functionality to work with input validations.\n * @param value value attribute\n */\n componentValueChanged(value) {\n this.inputValue = value;\n this.updateErrorState();\n }\n /**\n * This method is used to determine\n * if a 'valid icon' can be shown to the user.\n * Given the complexity of the validation logic\n * in this component, using this method\n * to determine 'validity' in a general sense\n * should be carefully considered and tested.\n */\n isValid() {\n return (!this.errorMessage &&\n !this.isValueMissing() &&\n !this.isValueLessThanMinlength() &&\n !this.isValueTypeInvalid() &&\n this.isValuePatternValid());\n }\n render() {\n const showError = this.touched && !!this.errorMessageState.length;\n const showAdditional = !!this.additional;\n const describedBy = stringCombiner({\n [this.additionalId]: showAdditional,\n [this.errorId]: this.errorMessageState.length,\n });\n const showValidIcon = this.showValidIcon && this.dirty && this.isValid();\n return (h(\"div\", { class: \"telia-text-input\" }, h(\"input\", { class: {\n 'telia-text-input__input': true,\n 'telia-text-input__input--touched': this.touched,\n 'telia-text-input__input--icon-shown': showValidIcon,\n }, type: this.type, id: this.inputId, \"aria-describedby\": describedBy, minlength: this.minlength, maxlength: this.maxlength, disabled: this.disabled, readonly: this.readonly, value: this.value, name: this.name, onChange: event => {\n /** valueChange is deprecated, will be removed in the future releases. */\n this.valueChange.emit(event);\n }, onInput: () => {\n this.dirty = true;\n this.updateInputValue();\n this.updateErrorState();\n }, inputmode: this.inputmode, list: this.list, autocomplete: this.autocomplete, required: this.required, onBlur: () => {\n this.touched = true;\n this.updateErrorState();\n }, ref: ref => (this.inputElement = ref), pattern: this.pattern, onInvalid: event => {\n event.preventDefault();\n this.touched = true;\n this.updateErrorState();\n }, form: this.htmlForm }), showValidIcon && (h(\"div\", { class: \"telia-text-input__valid-icon-container\" }, h(\"telia-field-valid\", { class: \"telia-text-input__valid-icon\" }))), h(\"telia-label\", { class: \"telia-text-input__label\", htmlFor: this.inputId }, this.required && h(\"span\", { \"aria-hidden\": \"true\" }, '* '), this.label), showAdditional && (h(\"telia-field-assistive-text\", { class: \"telia-text-input__additional\", id: this.additionalId }, this.additional)), showError && (h(\"telia-field-error\", { id: this.errorId, class: \"telia-text-input__error\" }, this.errorMessageState)), h(\"telia-vst\", { dataTrackingId: this.dataTrackingId })));\n }\n static get watchers() { return {\n \"value\": [\"componentValueChanged\"]\n }; }\n static get style() { return teliaTextInputCss; }\n}, [0, \"telia-text-input\", {\n \"dataTestid\": [1, \"data-testid\"],\n \"htmlForm\": [1, \"html-form\"],\n \"type\": [1],\n \"label\": [1],\n \"value\": [1],\n \"name\": [1],\n \"additional\": [1],\n \"additionalId\": [1, \"additional-id\"],\n \"inputId\": [1, \"input-id\"],\n \"errorId\": [1, \"error-id\"],\n \"disabled\": [4],\n \"minlength\": [2],\n \"maxlength\": [2],\n \"readonly\": [4],\n \"inputmode\": [1],\n \"list\": [1],\n \"autocomplete\": [1],\n \"required\": [4],\n \"requiredErrorMessage\": [1, \"required-error-message\"],\n \"emailErrorMessage\": [1, \"email-error-message\"],\n \"minlengthErrorMessage\": [1, \"minlength-error-message\"],\n \"showValidIcon\": [4, \"show-valid-icon\"],\n \"pattern\": [1],\n \"patternErrorMessage\": [1, \"pattern-error-message\"],\n \"errorMessage\": [1, \"error-message\"],\n \"touched\": [32],\n \"dirty\": [32],\n \"inputValue\": [32],\n \"errorMessageState\": [32],\n \"focusInput\": [64]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-text-input\", \"telia-field-assistive-text\", \"telia-field-error\", \"telia-field-valid\", \"telia-icon\", \"telia-label\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-text-input\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextInput$1);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"telia-field-error\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-valid\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTextInput = TeliaTextInput$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTextInput, defineCustomElement };\n"],"names":["TextFieldTypes","teliaTextInputCss","TeliaTextInput$1","proxyCustomElement","HTMLElement","createEvent","uniqueId","_a","message","_b","errorMessageIsSet","requiredInUse","patternInUse","minlengthInUse","generalErrorInUse","emailErrorInUse","_c","value","showError","showAdditional","describedBy","stringCombiner","showValidIcon","h","event","ref","defineCustomElement$1","tagName","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
1
+ {"version":3,"file":"telia-text-input.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.6.0/node_modules/@teliads/components/dist/components/telia-text-input.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';\nimport { u as uniqueId } from './uniqueId.js';\nimport { s as stringCombiner } from './stringCombiner.js';\nimport { d as defineCustomElement$7 } from './telia-field-assistive-text2.js';\nimport { d as defineCustomElement$6 } from './telia-field-error2.js';\nimport { d as defineCustomElement$5 } from './telia-field-valid2.js';\nimport { d as defineCustomElement$4 } from './telia-icon2.js';\nimport { d as defineCustomElement$3 } from './telia-label2.js';\nimport { d as defineCustomElement$2 } from './telia-vst2.js';\n\n// Create a const where all members have a readonly value\n// and literal type by using const assertion.\nconst TextFieldTypes = {\n text: 'text',\n number: 'number',\n email: 'email',\n tel: 'tel',\n search: 'search',\n password: 'password',\n};\n\nconst teliaTextInputCss = \".telia-text-input{display:flex;flex-direction:column}.telia-text-input__input{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90;border-radius:calc(0.2rem * var(--voca-rem-multiplier));background-color:#ffffff;color:#222222;font-family:\\\"TeliaSans\\\", Helvetica, Arial, \\\"Lucida Grande\\\", sans-serif;font-weight:normal;font-size:calc(1.6rem * var(--voca-rem-multiplier));line-height:1.5;-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;margin:0;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier));width:100%;height:calc(4.6rem * var(--voca-rem-multiplier));margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:2}.telia-text-input__input:required{box-shadow:none}.telia-text-input__input[type=search]{-webkit-appearance:textfield;outline-offset:calc(-0.2rem * var(--voca-rem-multiplier))}.telia-text-input__input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.telia-text-input__input[type=number]~.telia-text-input__valid-icon-container,.telia-text-input__input[type=search]~.telia-text-input__valid-icon-container{margin:calc(-1 * (4.6rem * var(--voca-rem-multiplier))) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - (3.2rem * var(--voca-rem-multiplier)));width:0}.telia-text-input__input:hover{border:calc(0.2rem * var(--voca-rem-multiplier)) solid #29003e;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__input:hover:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:focus{outline:solid calc(0.3rem * var(--voca-rem-multiplier)) #0099ff;outline-offset:calc(0.2rem * var(--voca-rem-multiplier));padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:focus:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input:read-only{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#e8e8ed}.telia-text-input__input:read-only:hover{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #c8c8cd;background-color:#dcdce1;color:#606064;cursor:not-allowed;-webkit-text-fill-color:#606064}.telia-text-input__input:disabled:hover{padding:calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input:disabled~telia-label .telia-label{color:#606064;cursor:not-allowed}.telia-text-input__input:disabled~.telia-text-input__additional{color:#b0b0b5}.telia-text-input__input:invalid{box-shadow:none}.telia-text-input__input--icon-shown{padding:calc(1rem * var(--voca-rem-multiplier)) calc(4.5rem * var(--voca-rem-multiplier)) calc(1rem * var(--voca-rem-multiplier)) calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-input__input--touched:invalid{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #be0040}.telia-text-input__input--touched:invalid:focus{border:calc(0.1rem * var(--voca-rem-multiplier)) solid #8c8c90}.telia-text-input__input--touched:invalid:hover:not(:focus){border:calc(0.2rem * var(--voca-rem-multiplier)) solid #be0040;padding:calc(calc(1rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier))) calc(calc(1.2rem * var(--voca-rem-multiplier)) - calc(0.1rem * var(--voca-rem-multiplier)))}.telia-text-input__valid-icon-container{align-items:center;display:flex;flex-direction:row;height:calc(4.6rem * var(--voca-rem-multiplier));justify-content:flex-end;margin:calc(calc(4.6rem * var(--voca-rem-multiplier)) * -1) calc(1.2rem * var(--voca-rem-multiplier)) 0 calc(100% - calc(1.2rem * var(--voca-rem-multiplier)));order:3}.telia-text-input__additional{order:4}.telia-text-input__error{margin:calc(0.4rem * var(--voca-rem-multiplier)) 0 0;order:5}\";\n\nconst TeliaTextInput$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.valueChange = createEvent(this, \"valueChange\", 7);\n /** Type of input as a string */\n this.type = TextFieldTypes.text;\n /** Value of input */\n this.value = '';\n /** Additional description id */\n this.additionalId = uniqueId('additional');\n /** Input element id */\n this.inputId = uniqueId('input');\n /** Error description id */\n this.errorId = uniqueId('error');\n /** Disabled state */\n this.disabled = false;\n /** Readonly state */\n this.readonly = false;\n /** Field needs to be filled, so it can be submitted */\n this.required = false;\n /** Show valid icon when value passes all validations. Use sparingly. */\n this.showValidIcon = false;\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-text-input';\n /**\n * Input has been blurred at least once.\n */\n this.touched = false;\n /**\n * Input has received data at least once.\n */\n this.dirty = false;\n /**\n * Real time value of input\n */\n this.inputValue = '';\n /**\n * Error message\n */\n this.errorMessageState = '';\n this.updateInputValue = () => {\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n this.inputValue = this.inputElement ? this.inputElement.value : this.value;\n };\n /**\n * Check if input value state is valid with given pattern. This is\n * imitating native input validation.\n */\n this.isValuePatternValid = () => {\n if (this.pattern) {\n const regexp = new RegExp('^(?:' + this.pattern + ')$');\n return regexp.test(this.inputValue);\n }\n return true;\n };\n this.isValueLessThanMinlength = () => {\n return (this.inputValue.length > 0 && this.inputValue.length < this.minlength);\n };\n /**\n * Check if validation failed due to type mismatch.\n * Type mismatch is set to true when email, url, ... field type built-in validation triggers\n */\n this.isValueTypeInvalid = () => {\n var _a;\n return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.validity.typeMismatch;\n };\n /**\n * Update error message and keep native input error message in sync.\n */\n this.updateErrorMessage = message => {\n var _a;\n (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(message);\n this.errorMessageState = message;\n };\n /**\n * Check if input value is empty, so required should be triggered.\n */\n this.isValueMissing = () => {\n return this.inputValue.length === 0;\n };\n this.updateErrorState = () => {\n var _a, _b;\n const errorMessageIsSet = !!((_a = this.errorMessageState) === null || _a === void 0 ? void 0 : _a.length);\n const requiredInUse = this.required;\n const patternInUse = !!this.pattern;\n const minlengthInUse = this.minlength;\n const generalErrorInUse = !!((_b = this.errorMessage) === null || _b === void 0 ? void 0 : _b.length);\n const emailErrorInUse = !!this.emailErrorMessage && this.type === 'email';\n if (generalErrorInUse) {\n this.updateErrorMessage(this.errorMessage);\n this.touched = true;\n // General error message overrides other errors, so exit here.\n return;\n }\n if (patternInUse && !this.isValueMissing()) {\n if (this.touched &&\n !!this.patternErrorMessage &&\n !this.isValuePatternValid()) {\n this.updateErrorMessage(this.patternErrorMessage);\n }\n }\n if (minlengthInUse) {\n if (this.touched &&\n !!this.minlengthErrorMessage &&\n this.isValueLessThanMinlength()) {\n this.updateErrorMessage(this.minlengthErrorMessage);\n }\n }\n if (requiredInUse) {\n /**\n * Follow HTML5 input ways of working,\n * email field is validated only if type is email and required is set to true\n */\n if (emailErrorInUse && this.isValueTypeInvalid() && this.touched) {\n this.updateErrorMessage(this.emailErrorMessage);\n }\n if (this.touched &&\n !!this.requiredErrorMessage &&\n this.isValueMissing()) {\n this.updateErrorMessage(this.requiredErrorMessage);\n }\n }\n // Clean error message if needed\n if (errorMessageIsSet) {\n if (patternInUse && !this.isValuePatternValid())\n return;\n if (minlengthInUse && this.isValueLessThanMinlength())\n return;\n if (requiredInUse && this.isValueMissing())\n return;\n if (emailErrorInUse && this.isValueTypeInvalid())\n return;\n this.updateErrorMessage('');\n }\n };\n }\n /**\n * Sets focus on input\n */\n async focusInput() {\n this.inputElement.focus();\n }\n componentWillLoad() {\n this.updateInputValue();\n this.updateErrorState();\n }\n componentWillUpdate() {\n this.updateErrorState();\n }\n componentDidRender() {\n // This check is for Stencil unit tests. Input element is mocked,\n // but setCustomValidity method is not. It is undefined.\n var _a, _b, _c;\n // eslint-disable-next-line @stencil/strict-boolean-conditions\n if (this.inputElement && ((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity)) {\n (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.setCustomValidity(this.errorMessageState);\n }\n if (this.htmlForm) {\n (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.setAttribute('form', this.htmlForm);\n }\n }\n /**\n * Watch if value attributes changes after initial load.\n * Needed for prefilling functionality to work with input validations.\n * @param value value attribute\n */\n componentValueChanged(value) {\n this.inputValue = value;\n this.updateErrorState();\n }\n /**\n * This method is used to determine\n * if a 'valid icon' can be shown to the user.\n * Given the complexity of the validation logic\n * in this component, using this method\n * to determine 'validity' in a general sense\n * should be carefully considered and tested.\n */\n isValid() {\n return (!this.errorMessage &&\n !this.isValueMissing() &&\n !this.isValueLessThanMinlength() &&\n !this.isValueTypeInvalid() &&\n this.isValuePatternValid());\n }\n render() {\n const showError = this.touched && !!this.errorMessageState.length;\n const showAdditional = !!this.additional;\n const describedBy = stringCombiner({\n [this.additionalId]: showAdditional,\n [this.errorId]: this.errorMessageState.length,\n });\n const showValidIcon = this.showValidIcon && this.dirty && this.isValid();\n return (h(\"div\", { class: \"telia-text-input\" }, h(\"input\", { class: {\n 'telia-text-input__input': true,\n 'telia-text-input__input--touched': this.touched,\n 'telia-text-input__input--icon-shown': showValidIcon,\n }, type: this.type, id: this.inputId, \"aria-describedby\": describedBy, minlength: this.minlength, maxlength: this.maxlength, disabled: this.disabled, readonly: this.readonly, value: this.value, name: this.name, onChange: event => {\n /** valueChange is deprecated, will be removed in the future releases. */\n this.valueChange.emit(event);\n }, onInput: () => {\n this.dirty = true;\n this.updateInputValue();\n this.updateErrorState();\n }, inputmode: this.inputmode, list: this.list, autocomplete: this.autocomplete, required: this.required, onBlur: () => {\n this.touched = true;\n this.updateErrorState();\n }, ref: ref => (this.inputElement = ref), pattern: this.pattern, onInvalid: event => {\n event.preventDefault();\n this.touched = true;\n this.updateErrorState();\n }, form: this.htmlForm }), showValidIcon && (h(\"div\", { class: \"telia-text-input__valid-icon-container\" }, h(\"telia-field-valid\", { class: \"telia-text-input__valid-icon\" }))), h(\"telia-label\", { class: \"telia-text-input__label\", htmlFor: this.inputId }, this.required && h(\"span\", { \"aria-hidden\": \"true\" }, '* '), this.label), showAdditional && (h(\"telia-field-assistive-text\", { class: \"telia-text-input__additional\", id: this.additionalId }, this.additional)), showError && (h(\"telia-field-error\", { id: this.errorId, class: \"telia-text-input__error\" }, this.errorMessageState)), h(\"telia-vst\", { dataTrackingId: this.dataTrackingId })));\n }\n static get watchers() { return {\n \"value\": [\"componentValueChanged\"]\n }; }\n static get style() { return teliaTextInputCss; }\n}, [0, \"telia-text-input\", {\n \"dataTestid\": [1, \"data-testid\"],\n \"htmlForm\": [1, \"html-form\"],\n \"type\": [1],\n \"label\": [1],\n \"value\": [1],\n \"name\": [1],\n \"additional\": [1],\n \"additionalId\": [1, \"additional-id\"],\n \"inputId\": [1, \"input-id\"],\n \"errorId\": [1, \"error-id\"],\n \"disabled\": [4],\n \"minlength\": [2],\n \"maxlength\": [2],\n \"readonly\": [4],\n \"inputmode\": [1],\n \"list\": [1],\n \"autocomplete\": [1],\n \"required\": [4],\n \"requiredErrorMessage\": [1, \"required-error-message\"],\n \"emailErrorMessage\": [1, \"email-error-message\"],\n \"minlengthErrorMessage\": [1, \"minlength-error-message\"],\n \"showValidIcon\": [4, \"show-valid-icon\"],\n \"pattern\": [1],\n \"patternErrorMessage\": [1, \"pattern-error-message\"],\n \"errorMessage\": [1, \"error-message\"],\n \"touched\": [32],\n \"dirty\": [32],\n \"inputValue\": [32],\n \"errorMessageState\": [32],\n \"focusInput\": [64]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-text-input\", \"telia-field-assistive-text\", \"telia-field-error\", \"telia-field-valid\", \"telia-icon\", \"telia-label\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-text-input\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextInput$1);\n }\n break;\n case \"telia-field-assistive-text\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"telia-field-error\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"telia-field-valid\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"telia-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"telia-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst TeliaTextInput = TeliaTextInput$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TeliaTextInput, defineCustomElement };\n"],"names":["TextFieldTypes","teliaTextInputCss","TeliaTextInput$1","proxyCustomElement","HTMLElement","createEvent","uniqueId","_a","message","_b","errorMessageIsSet","requiredInUse","patternInUse","minlengthInUse","generalErrorInUse","emailErrorInUse","_c","value","showError","showAdditional","describedBy","stringCombiner","showValidIcon","h","event","ref","defineCustomElement$1","tagName","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","defineCustomElement$4","defineCustomElement$3","defineCustomElement$2"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { p as a, H as i, h as e, a as l } from "../../chunks/index-629ecbb8.js";
2
- import { d as n } from "../../chunks/telia-vst2-5b28f085.js";
1
+ import { p as a, H as i, h as e, a as l } from "../../chunks/index-17652cf7.js";
2
+ import { d as n } from "../../chunks/telia-vst2-1a7f7bd6.js";
3
3
  const r = ".telia-text-spacing .telia-p--subsection,.telia-text-spacing .telia-heading--subsection-100{margin-bottom:calc(0.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-100,.telia-text-spacing .telia-p--additional-100,.telia-text-spacing .telia-heading--title-100,.telia-text-spacing .telia-heading--title-200,.telia-text-spacing .telia-heading--title-300{margin-bottom:calc(0.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-200{margin-bottom:calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price,.telia-text-spacing .telia-p--paragraph-100,.telia-text-spacing .telia-p--paragraph-200{margin-bottom:calc(1.6rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-100{margin-top:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-200{margin-top:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-300{margin-top:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-400,.telia-text-spacing .telia-heading--title-500{margin-bottom:calc(2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-600,.telia-text-spacing .telia-heading--title-700,.telia-text-spacing .telia-heading--display-100,.telia-text-spacing .telia-heading--display-200{margin-bottom:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-100{margin-bottom:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-200{margin-bottom:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing *>:last-child,.telia-text-spacing>:last-child{margin-bottom:0}", c = /* @__PURE__ */ a(class extends i {
4
4
  constructor() {
5
5
  super(), this.__registerHost(), this.dataTrackingId = "telia-text-spacing";
@@ -1 +1 @@
1
- {"version":3,"file":"telia-text-spacing.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.3.3/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;"}
1
+ {"version":3,"file":"telia-text-spacing.js","sources":["../../../../node_modules/.pnpm/@teliads+components@18.6.0/node_modules/@teliads/components/dist/components/telia-text-spacing2.js"],"sourcesContent":["import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { d as defineCustomElement$1 } from './telia-vst2.js';\n\nconst teliaTextSpacingCss = \".telia-text-spacing .telia-p--subsection,.telia-text-spacing .telia-heading--subsection-100{margin-bottom:calc(0.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-100,.telia-text-spacing .telia-p--additional-100,.telia-text-spacing .telia-heading--title-100,.telia-text-spacing .telia-heading--title-200,.telia-text-spacing .telia-heading--title-300{margin-bottom:calc(0.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--overline-200{margin-bottom:calc(1.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price,.telia-text-spacing .telia-p--paragraph-100,.telia-text-spacing .telia-p--paragraph-200{margin-bottom:calc(1.6rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-100,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-100{margin-top:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-200,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-200{margin-top:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-price+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-100+.telia-heading--title-300,.telia-text-spacing .telia-p--paragraph-200+.telia-heading--title-300{margin-top:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-400,.telia-text-spacing .telia-heading--title-500{margin-bottom:calc(2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-heading--title-600,.telia-text-spacing .telia-heading--title-700,.telia-text-spacing .telia-heading--display-100,.telia-text-spacing .telia-heading--display-200{margin-bottom:calc(2.4rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-100{margin-bottom:calc(3.2rem * var(--voca-rem-multiplier))}.telia-text-spacing .telia-p--preamble-200{margin-bottom:calc(4.8rem * var(--voca-rem-multiplier))}.telia-text-spacing *>:last-child,.telia-text-spacing>:last-child{margin-bottom:0}\";\n\nconst TeliaTextSpacing = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /** Tracking id is used to identify and count Component usage */\n this.dataTrackingId = 'telia-text-spacing';\n }\n render() {\n return (h(Host, { class: \"telia-text-spacing\" }, h(\"telia-vst\", { dataTrackingId: this.dataTrackingId }), h(\"slot\", null)));\n }\n static get style() { return teliaTextSpacingCss; }\n}, [4, \"telia-text-spacing\"]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"telia-text-spacing\", \"telia-vst\"];\n components.forEach(tagName => { switch (tagName) {\n case \"telia-text-spacing\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, TeliaTextSpacing);\n }\n break;\n case \"telia-vst\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { TeliaTextSpacing as T, defineCustomElement as d };\n"],"names":["teliaTextSpacingCss","TeliaTextSpacing","proxyCustomElement","HTMLElement","h","Host","defineCustomElement","tagName","defineCustomElement$1"],"mappings":";;AAGA,MAAMA,IAAsB,wlEAEtBC,IAAiC,gBAAAC,EAAmB,cAAcC,EAAY;AAAA,EAClF,cAAc;AACZ,aACA,KAAK,eAAc,GAEnB,KAAK,iBAAiB;AAAA,EACvB;AAAA,EACD,SAAS;AACP,WAAQC,EAAEC,GAAM,EAAE,OAAO,qBAAoB,GAAID,EAAE,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,GAAGA,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC1H;AAAA,EACD,WAAW,QAAQ;AAAE,WAAOJ;AAAA,EAAsB;AACpD,GAAG,CAAC,GAAG,oBAAoB,CAAC;AAC5B,SAASM,IAAsB;AAC7B,MAAI,OAAO,iBAAmB;AAC5B;AAGF,EADmB,CAAC,sBAAsB,WAAW,EAC1C,QAAQ,CAAAC,MAAW;AAAE,YAAQA,GAAO;AAAA,MAC7C,KAAK;AACH,QAAK,eAAe,IAAIA,CAAO,KAC7B,eAAe,OAAOA,GAASN,CAAgB;AAEjD;AAAA,MACF,KAAK;AACH,QAAK,eAAe,IAAIM,CAAO,KAC7BC;AAEF;AAAA,IACH;AAAA,EAAA,CAAE;AACL;AACAF,EAAqB;"}