@ptcwebops/ptcw-design 6.4.33-beta → 6.4.35-beta

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 (160) hide show
  1. package/dist/cjs/buying-option-cards-slider.cjs.entry.js +1 -1
  2. package/dist/cjs/event-podcast-slider-example.cjs.entry.js +1 -1
  3. package/dist/cjs/featured-events-slider-example.cjs.entry.js +1 -1
  4. package/dist/cjs/homepage-jumbotron.cjs.entry.js +1 -1
  5. package/dist/cjs/icon-asset_2.cjs.entry.js +154 -0
  6. package/dist/cjs/list-item.cjs.entry.js +52 -0
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/ptc-back-to-top.cjs.entry.js +100 -0
  9. package/dist/cjs/ptc-breadcrumb.cjs.entry.js +63 -0
  10. package/dist/cjs/ptc-button.cjs.entry.js +117 -0
  11. package/dist/cjs/ptc-card_2.cjs.entry.js +1 -1
  12. package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +1 -1
  13. package/dist/cjs/ptc-icon-card-slider-example.cjs.entry.js +1 -1
  14. package/dist/cjs/ptc-icon-component.cjs.entry.js +1 -1
  15. package/dist/cjs/ptc-para.cjs.entry.js +139 -0
  16. package/dist/cjs/ptc-picture.cjs.entry.js +185 -0
  17. package/dist/cjs/ptc-product-card.cjs.entry.js +61 -0
  18. package/dist/cjs/ptc-product-category.cjs.entry.js +20 -0
  19. package/dist/cjs/ptc-product-dropdown.cjs.entry.js +80 -0
  20. package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +28 -0
  21. package/dist/cjs/ptc-product-list.cjs.entry.js +172 -0
  22. package/dist/cjs/ptc-product-sidebar.cjs.entry.js +178 -0
  23. package/dist/cjs/ptc-readmore.cjs.entry.js +186 -0
  24. package/dist/cjs/ptc-spacer.cjs.entry.js +38 -0
  25. package/dist/cjs/ptc-title.cjs.entry.js +161 -0
  26. package/dist/cjs/ptc-tooltip.cjs.entry.js +113 -0
  27. package/dist/cjs/ptcw-design.cjs.js +1 -1
  28. package/dist/cjs/storefront-enhanced-product-list-alt-example.cjs.entry.js +1 -1
  29. package/dist/cjs/storefront-enhanced-product-list-example.cjs.entry.js +1 -1
  30. package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.css +11 -16
  31. package/dist/collection/components/organism-bundles/event-podcast-slider-example/event-podcast-slider-example.css +11 -16
  32. package/dist/collection/components/organism-bundles/featured-events-slider-example/featured-events-slider-example.css +11 -16
  33. package/dist/collection/components/organism-bundles/homepage-jumbotron/homepage-jumbotron.css +11 -16
  34. package/dist/collection/components/organism-bundles/ptc-icon-card-slider-example/ptc-icon-card-slider-example.css +11 -16
  35. package/dist/collection/components/organism-bundles/storefront-enhanced-product-list-example/storefront-enhanced-product-list-example.css +11 -16
  36. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +11 -16
  37. package/dist/collection/components/ptc-icon-component/ptc-icon-component.css +11 -16
  38. package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +4 -4
  39. package/dist/collection/components/ptc-seo-title/ptc-seo-title.js +3 -3
  40. package/dist/custom-elements/index.js +9 -9
  41. package/dist/esm/blog-detail-content_2.entry.js +1 -1
  42. package/dist/esm/blog-detail-layout.entry.js +1 -1
  43. package/dist/esm/blogs-search-section.entry.js +1 -1
  44. package/dist/esm/buying-option-cards-slider.entry.js +1 -1
  45. package/dist/esm/event-podcast-slider-example.entry.js +1 -1
  46. package/dist/esm/featured-events-slider-example.entry.js +1 -1
  47. package/dist/esm/homepage-jumbotron.entry.js +2 -2
  48. package/dist/esm/homepage-toggled-content.entry.js +1 -1
  49. package/dist/esm/icon-asset_2.entry.js +149 -0
  50. package/dist/esm/innovator-toggle-container.entry.js +1 -1
  51. package/dist/esm/{interfaces-7c0243be.js → interfaces-4caedd26.js} +1 -1
  52. package/dist/esm/list-item.entry.js +48 -0
  53. package/dist/esm/loader.js +1 -1
  54. package/dist/esm/most-popular-news.entry.js +1 -1
  55. package/dist/esm/my-component.entry.js +1 -1
  56. package/dist/esm/ptc-accordion-item.entry.js +1 -1
  57. package/dist/esm/ptc-back-to-top.entry.js +96 -0
  58. package/dist/esm/ptc-background-video.entry.js +1 -1
  59. package/dist/esm/ptc-breadcrumb.entry.js +59 -0
  60. package/dist/esm/ptc-button.entry.js +113 -0
  61. package/dist/esm/ptc-card_2.entry.js +1 -1
  62. package/dist/esm/ptc-case-studies-slider.entry.js +1 -1
  63. package/dist/esm/ptc-collapse-list.entry.js +1 -1
  64. package/dist/esm/ptc-form-checkbox_4.entry.js +1 -1
  65. package/dist/esm/ptc-homepage-image-feature.entry.js +1 -1
  66. package/dist/esm/ptc-homepage-video-background.entry.js +1 -1
  67. package/dist/esm/ptc-icon-card-slider-example.entry.js +1 -1
  68. package/dist/esm/ptc-icon-card.entry.js +1 -1
  69. package/dist/esm/ptc-icon-component.entry.js +1 -1
  70. package/dist/esm/ptc-img.entry.js +1 -1
  71. package/dist/esm/ptc-link.entry.js +1 -1
  72. package/dist/esm/ptc-media-card.entry.js +1 -1
  73. package/dist/esm/ptc-para.entry.js +135 -0
  74. package/dist/esm/ptc-picture.entry.js +181 -0
  75. package/dist/esm/ptc-pricing-packaging-table.entry.js +1 -1
  76. package/dist/esm/ptc-pricing-tabs.entry.js +1 -1
  77. package/dist/esm/ptc-product-card.entry.js +57 -0
  78. package/dist/esm/ptc-product-category.entry.js +16 -0
  79. package/dist/esm/ptc-product-dropdown.entry.js +76 -0
  80. package/dist/esm/ptc-product-highlight-card.entry.js +24 -0
  81. package/dist/esm/ptc-product-list.entry.js +168 -0
  82. package/dist/esm/ptc-product-sidebar.entry.js +174 -0
  83. package/dist/esm/ptc-readmore.entry.js +182 -0
  84. package/dist/esm/ptc-social-icons-footer.entry.js +1 -1
  85. package/dist/esm/ptc-spacer.entry.js +34 -0
  86. package/dist/esm/ptc-title.entry.js +157 -0
  87. package/dist/esm/ptc-tooltip.entry.js +109 -0
  88. package/dist/esm/ptcw-design.js +1 -1
  89. package/dist/esm/storefront-enhanced-product-list-alt-example.entry.js +1 -1
  90. package/dist/esm/storefront-enhanced-product-list-example.entry.js +1 -1
  91. package/dist/esm/{utils-a64ba942.js → utils-bdd0cc16.js} +1 -1
  92. package/dist/ptcw-design/p-00c5879b.entry.js +1 -0
  93. package/dist/ptcw-design/p-03a1e1a5.entry.js +1 -0
  94. package/dist/ptcw-design/p-068b64a1.entry.js +1 -0
  95. package/dist/ptcw-design/p-0ea22cdc.entry.js +1 -0
  96. package/dist/ptcw-design/p-183ba1ca.entry.js +1 -0
  97. package/dist/ptcw-design/p-1acd3617.entry.js +1 -0
  98. package/dist/ptcw-design/p-1b3394a7.entry.js +1 -0
  99. package/dist/ptcw-design/p-2e288e60.entry.js +1 -0
  100. package/dist/ptcw-design/{p-0824f503.entry.js → p-2efd18d8.entry.js} +1 -1
  101. package/dist/ptcw-design/{p-681d26ef.entry.js → p-2f7b6437.entry.js} +1 -1
  102. package/dist/ptcw-design/p-2f82de8f.entry.js +1 -0
  103. package/dist/ptcw-design/p-36d6e662.entry.js +1 -0
  104. package/dist/ptcw-design/p-4313edfb.entry.js +1 -0
  105. package/dist/ptcw-design/p-47aa1583.entry.js +1 -0
  106. package/dist/ptcw-design/p-5119fb48.entry.js +1 -0
  107. package/dist/ptcw-design/p-561a622f.entry.js +1 -0
  108. package/dist/ptcw-design/{p-ed49544c.entry.js → p-562a3e36.entry.js} +1 -1
  109. package/dist/ptcw-design/{p-fa045097.entry.js → p-5b00a563.entry.js} +1 -1
  110. package/dist/ptcw-design/{p-fd269576.entry.js → p-5dd9b00c.entry.js} +1 -1
  111. package/dist/ptcw-design/p-674c828e.entry.js +1 -0
  112. package/dist/ptcw-design/p-709cc1f0.entry.js +1 -0
  113. package/dist/ptcw-design/{p-ee1183b2.js → p-711bcdad.js} +1 -1
  114. package/dist/ptcw-design/p-73293d32.entry.js +1 -0
  115. package/dist/ptcw-design/{p-bdb2e42c.entry.js → p-75c8fceb.entry.js} +1 -1
  116. package/dist/ptcw-design/{p-7524411a.entry.js → p-7777753a.entry.js} +1 -1
  117. package/dist/ptcw-design/{p-a31f22a1.entry.js → p-804dac0c.entry.js} +1 -1
  118. package/dist/ptcw-design/{p-e2da8109.entry.js → p-83dabf2e.entry.js} +1 -1
  119. package/dist/ptcw-design/{p-83632220.entry.js → p-850e6e8c.entry.js} +1 -1
  120. package/dist/ptcw-design/{p-87a9a028.entry.js → p-87215e3a.entry.js} +1 -1
  121. package/dist/ptcw-design/p-87e4c337.entry.js +1 -0
  122. package/dist/ptcw-design/p-89da867f.entry.js +1 -0
  123. package/dist/ptcw-design/p-8efaac1b.entry.js +1 -0
  124. package/dist/ptcw-design/{p-769954c9.entry.js → p-91a9f126.entry.js} +1 -1
  125. package/dist/ptcw-design/{p-7398874a.entry.js → p-9df3c31f.entry.js} +1 -1
  126. package/dist/ptcw-design/{p-2fa5814b.entry.js → p-a318a793.entry.js} +1 -1
  127. package/dist/ptcw-design/p-a3ef1660.entry.js +1 -0
  128. package/dist/ptcw-design/{p-9461c4eb.entry.js → p-a81833cd.entry.js} +1 -1
  129. package/dist/ptcw-design/{p-3596ce5a.entry.js → p-b154bbdb.entry.js} +1 -1
  130. package/dist/ptcw-design/p-b1c51eb4.entry.js +1 -0
  131. package/dist/ptcw-design/{p-fb0f4459.entry.js → p-b2fcbbd8.entry.js} +1 -1
  132. package/dist/ptcw-design/{p-22cf00e7.js → p-c7e948b2.js} +1 -1
  133. package/dist/ptcw-design/p-c9762c88.entry.js +1 -0
  134. package/dist/ptcw-design/{p-1b1fd60d.entry.js → p-cf41ac32.entry.js} +1 -1
  135. package/dist/ptcw-design/{p-b9966f20.entry.js → p-d3c11c68.entry.js} +1 -1
  136. package/dist/ptcw-design/p-d428ba40.entry.js +1 -0
  137. package/dist/ptcw-design/p-e00c5964.entry.js +1 -0
  138. package/dist/ptcw-design/p-e1373325.entry.js +1 -0
  139. package/dist/ptcw-design/{p-edaf241d.entry.js → p-e65cbdb9.entry.js} +1 -1
  140. package/dist/ptcw-design/p-ec22d0b8.entry.js +1 -0
  141. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  142. package/dist/types/components.d.ts +62 -62
  143. package/package.json +101 -101
  144. package/readme.md +23 -23
  145. package/dist/cjs/icon-asset_17.cjs.entry.js +0 -1660
  146. package/dist/cjs/ptc-search-field.cjs.entry.js +0 -95
  147. package/dist/esm/icon-asset_17.entry.js +0 -1640
  148. package/dist/esm/ptc-search-field.entry.js +0 -91
  149. package/dist/ptcw-design/p-045c468a.entry.js +0 -1
  150. package/dist/ptcw-design/p-1a47d0fe.entry.js +0 -1
  151. package/dist/ptcw-design/p-4e8c1ba6.entry.js +0 -1
  152. package/dist/ptcw-design/p-5aed43be.entry.js +0 -1
  153. package/dist/ptcw-design/p-8ffdd794.entry.js +0 -1
  154. package/dist/ptcw-design/p-af46854e.entry.js +0 -1
  155. package/dist/ptcw-design/p-da4b7e23.entry.js +0 -1
  156. package/dist/ptcw-design/p-e50a5a46.entry.js +0 -1
  157. package/dist/ptcw-design/p-e69a0445.entry.js +0 -1
  158. package/dist/ptcw-design/p-e9f834fa.entry.js +0 -1
  159. package/dist/ptcw-design/p-eabf87be.entry.js +0 -1
  160. package/dist/ptcw-design/p-fe445a4a.entry.js +0 -1
@@ -0,0 +1,182 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-0bf594c4.js';
2
+
3
+ const ptcReadmoreCss = "h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card,.hyphenate-text,ptc-footer{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card,.hyphenate-text,ptc-footer{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block}.box input{opacity:0;position:absolute;pointer-events:none}.box .read-more-text{display:-webkit-box;-webkit-box-orient:vertical;margin:0;overflow:hidden;word-wrap:break-word}.box .line1{-webkit-line-clamp:1}.box .line2{-webkit-line-clamp:2}.box .line3{-webkit-line-clamp:3}.box .line4{-webkit-line-clamp:4}.box .line5{-webkit-line-clamp:5}.box .line10{-webkit-line-clamp:10}.box input~label{display:block;position:relative;cursor:pointer;right:0;margin-top:var(--ptc-element-spacing-02);font-weight:var(--ptc-font-weight-bold);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest);text-decoration-line:underline;color:var(--color-hyperlink);text-align:right;margin-right:var(--ptc-element-spacing-07)}.box input~label.left{text-align:left}.box input~label.right{text-align:right}.box input~label.center{text-align:center;margin-right:0}.box label:focus-visible{outline:none}.box label:focus-visible span{border-radius:var(--ptc-border-radius-standard);outline:5px solid var(--keyboard-nav-outline)}.box .z-auto{z-index:auto}.box .z-1{z-index:1}.box .z-2{z-index:2}.box .z-3{z-index:3}.box .z-999{z-index:999}.box input:checked+.read-more-text{-webkit-line-clamp:unset !important}.box .read-more-text:not(.truncated)~label{display:none}.box .show-less-cta{display:block !important}:host .box.add-icon .read-more-cta-label span{display:inline-block;position:relative;padding-right:var(--ptc-element-spacing-03)}:host .box.add-icon .read-more-cta-label span::after{content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2300890B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E\");width:10px;height:7px;background-size:cover;position:absolute;right:-5px;bottom:7px}:host .box.add-icon .read-more-cta-label.show-less-cta span::after{transform:rotate(180deg)}:host .box.blue .read-more-cta-label{color:var(--color-hyperlink)}:host .box.gray .read-more-cta-label{color:var(--color-gray-10)}:host .box.green .read-more-cta-label{color:var(--color-green-07)}:host .box.initial .read-more-cta-label{color:initial}:host .box.small .read-more-cta-label{font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest)}:host .box.medium .read-more-cta-label{font-size:var(--ptc-font-size-small);line-height:var(--ptc-line-height-p)}:host .box.large .read-more-cta-label{font-size:var(--ptc-font-size-large);line-height:var(--ptc-line-height-p)}:host .box.large.add-icon .read-more-cta-label span{padding-right:var(--ptc-element-spacing-04)}:host .box.large.add-icon .read-more-cta-label span::after{width:15px;height:10px}";
4
+
5
+ const PtcReadmore = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.readmoreToggle = createEvent(this, "readmoreToggle", 7);
9
+ /**
10
+ * Handle keyboard interactions
11
+ */
12
+ this.handleKeyDown = (event) => {
13
+ if (event.key !== "Enter")
14
+ return;
15
+ const checkBoxEl = this.el.shadowRoot.querySelector("#expanded");
16
+ const cta = this.el.shadowRoot.querySelector(".read-more-cta-label");
17
+ if (!checkBoxEl || !cta)
18
+ return;
19
+ checkBoxEl.checked = !checkBoxEl.checked;
20
+ const isExpanded = checkBoxEl.checked;
21
+ cta.innerHTML = `<span>${isExpanded ? this.lessText || "" : this.moreText || ""}</span>`;
22
+ cta.classList.toggle("show-less-cta", isExpanded);
23
+ if (isExpanded) {
24
+ // Focus on the first element with tabindex="-1" within 'ptc-readmore'
25
+ const firstTabIndexMinusOne = this.el.querySelector('[tabindex="-1"]');
26
+ firstTabIndexMinusOne === null || firstTabIndexMinusOne === void 0 ? void 0 : firstTabIndexMinusOne.focus();
27
+ }
28
+ else {
29
+ cta.focus();
30
+ const readMoreText = this.el.shadowRoot.querySelector(".read-more-text");
31
+ readMoreText === null || readMoreText === void 0 ? void 0 : readMoreText.classList.add("truncated");
32
+ }
33
+ this.setTabIndex();
34
+ // if lessText content is not present then add tabindex=-1 to the more/less label
35
+ if (cta.textContent == "") {
36
+ cta.setAttribute("tabindex", "-1");
37
+ }
38
+ };
39
+ this.moreText = "read more";
40
+ this.lessText = undefined;
41
+ this.readMorePosition = "right";
42
+ this.display = "inline";
43
+ this.visibleLines = "line2";
44
+ this.visibleLinesCustom = undefined;
45
+ this.zIndex = "z-auto";
46
+ this.checked = false;
47
+ this.size = "small";
48
+ this.isIcon = false;
49
+ this.color = "blue";
50
+ this.isContentSlotted = false;
51
+ }
52
+ async updateReadmoreStatus() {
53
+ setTimeout(() => {
54
+ this.addBtnTruncated();
55
+ }, 100);
56
+ }
57
+ addBtnTruncated() {
58
+ const appRoot = this.el.shadowRoot;
59
+ const ps = appRoot.querySelectorAll(".read-more-text");
60
+ ps.forEach((p) => {
61
+ // if (this.visibleCharacters){
62
+ // const truncatedText = p.textContent.slice(0, this.visibleCharacters);
63
+ // p.textContent = truncatedText;
64
+ // }
65
+ p.classList[p.scrollHeight > p.clientHeight ? "add" : "remove"]("truncated");
66
+ });
67
+ }
68
+ // Created this function to initialize the truncate function on specific elements like tabs
69
+ enableAddTruncatedClass(element) {
70
+ const allTabHeaders = document.querySelectorAll(element);
71
+ for (const element of Array.from(allTabHeaders)) {
72
+ let tabHeader = element;
73
+ if (tabHeader) {
74
+ tabHeader.addEventListener("click", () => {
75
+ setTimeout(() => {
76
+ this.addBtnTruncated();
77
+ }, 100);
78
+ });
79
+ }
80
+ }
81
+ }
82
+ componentDidLoad() {
83
+ this.addBtnTruncated();
84
+ document.addEventListener("readystatechange", () => {
85
+ if (document.readyState === "complete") {
86
+ this.addBtnTruncated();
87
+ }
88
+ });
89
+ this.enableAddTruncatedClass("tab-header");
90
+ this.enableAddTruncatedClass("ptc-ellipsis-dropdown");
91
+ this.enableAddTruncatedClass("ptc-product-card");
92
+ // added code for tabnavigation
93
+ setTimeout(() => {
94
+ this.setTabIndex();
95
+ }, 400);
96
+ }
97
+ setTabIndex() {
98
+ var _a, _b, _c;
99
+ //debugger
100
+ let links;
101
+ if (!this.isContentSlotted) {
102
+ links = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
103
+ }
104
+ else {
105
+ let slot = (_b = this.el) === null || _b === void 0 ? void 0 : _b.querySelector("slot").assignedNodes();
106
+ links =
107
+ slot[0] instanceof HTMLElement
108
+ ? slot[0].querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')
109
+ : null;
110
+ }
111
+ let bottom = 999999;
112
+ let rects = (_c = this.el.shadowRoot
113
+ .querySelector(".read-more-text")) === null || _c === void 0 ? void 0 : _c.getClientRects();
114
+ if (rects && rects.length > 0) {
115
+ bottom = rects[0].bottom;
116
+ }
117
+ if (links) {
118
+ links.forEach((link) => {
119
+ let linkRects = link.getClientRects();
120
+ if (linkRects && linkRects.length > 0) {
121
+ if (linkRects[0].top < bottom) {
122
+ link.setAttribute("tabindex", "0");
123
+ }
124
+ else {
125
+ link.setAttribute("tabindex", "-1");
126
+ }
127
+ }
128
+ });
129
+ }
130
+ }
131
+ // click event handler
132
+ handleClick(event) {
133
+ var _a;
134
+ let links = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
135
+ this.addBtnTruncated();
136
+ // check if the input box is checked
137
+ this.checked = event.target.checked;
138
+ // Getting cta element
139
+ const cta = this.el.shadowRoot.querySelector(".read-more-cta-label");
140
+ // Updating the cta text
141
+ this.checked
142
+ ? (cta.innerHTML = `<span> ${this.lessText ? this.lessText : ""} </span>`)
143
+ : (cta.innerHTML = `<span> ${this.moreText ? this.moreText : ""}</span>`);
144
+ this.checked
145
+ ? cta.classList.add("show-less-cta")
146
+ : cta.classList.remove("show-less-cta");
147
+ // Emit the state change event
148
+ this.readmoreToggle.emit({
149
+ event: event,
150
+ sender: this.el,
151
+ isExpanded: this.checked,
152
+ });
153
+ if (links) {
154
+ if (this.checked) {
155
+ links.forEach((link) => {
156
+ link.setAttribute("tabindex", "0");
157
+ });
158
+ }
159
+ else {
160
+ this.setTabIndex();
161
+ }
162
+ }
163
+ }
164
+ render() {
165
+ const classMap = this.getCssClassMap();
166
+ return (h(Host, { class: this.display }, h("div", { class: classMap }, h("input", { type: "checkbox", id: "expanded", onClick: (e) => this.handleClick(e), tabIndex: -1 }), !!this.visibleLines || !!this.visibleLinesCustom ? (h("p", { class: `read-more-text ${this.visibleLines}`, style: {
167
+ WebkitLineClamp: `${this.visibleLinesCustom}`,
168
+ } }, h("slot", null))) : null, h("label", { onKeyDown: this.handleKeyDown, htmlFor: "expanded", role: "button", class: `${this.zIndex + " " + this.readMorePosition} read-more-cta-label mf-listen`, tabIndex: 0 }, h("span", null, this.moreText)))));
169
+ }
170
+ getCssClassMap() {
171
+ return {
172
+ ["box"]: true,
173
+ [this.color]: true,
174
+ [this.size]: true,
175
+ ["add-icon"]: this.isIcon,
176
+ };
177
+ }
178
+ get el() { return getElement(this); }
179
+ };
180
+ PtcReadmore.style = ptcReadmoreCss;
181
+
182
+ export { PtcReadmore as ptc_readmore };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-0bf594c4.js';
2
- import { C as CheckDarkFocusState } from './utils-a64ba942.js';
2
+ import { C as CheckDarkFocusState } from './utils-bdd0cc16.js';
3
3
  import { f as facebookSVG, l as linkedinSVG, x as xSVG } from './x-cd64dee4.js';
4
4
 
5
5
  const instagramSVG = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -0,0 +1,34 @@
1
+ import { r as registerInstance, h, H as Host } from './index-0bf594c4.js';
2
+
3
+ const ptcSpacerCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:12px;min-width:12px;height:12px}@media (min-width: 36em){:host{width:16px;min-width:16px;height:16px}}:host(.ptc-spacer-horizontal){display:inline-block;height:100% !important}:host(.ptc-spacer-horizontal.xx-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.xx-small){width:4px;min-width:4px}}:host(.ptc-spacer-horizontal.x-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.x-small){width:8px;min-width:8px}}:host(.ptc-spacer-horizontal.small){width:8px;min-width:8px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.small){width:12px;min-width:12px}}:host(.ptc-spacer-horizontal.medium){height:100%}:host(.ptc-spacer-horizontal.large){width:16px;min-width:16px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.large){width:20px;min-width:20px}}:host(.ptc-spacer-horizontal.x-large){width:20px;min-width:20px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.x-large){width:28px;min-width:28px}}:host(.ptc-spacer-horizontal.xx-large){width:28px;min-width:28px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.xx-large){width:36px;min-width:36px}}:host(.ptc-spacer-horizontal.xxx-large){width:36px;min-width:36px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.xxx-large){width:48px;min-width:48px}}:host(.ptc-spacer-horizontal.xxxx-large){width:48px;min-width:48px;height:100%}@media (min-width: 36em){:host(.ptc-spacer-horizontal.xxxx-large){width:72px;min-width:72px}}:host(.ptc-spacer-vertical.xx-small){width:100%;height:4px;min-height:4px}:host(.ptc-spacer-vertical.x-small){width:100%;height:4px;min-height:4px}@media (min-width: 36em){:host(.ptc-spacer-vertical.x-small){height:8px;min-height:8px}}:host(.ptc-spacer-vertical.small){width:100%;height:8px;min-height:8px}@media (min-width: 36em){:host(.ptc-spacer-vertical.small){height:12px;min-height:12px}}:host(.ptc-spacer-vertical.medium){width:100%}:host(.ptc-spacer-vertical.large){width:100%;height:16px;min-height:16px}@media (min-width: 36em){:host(.ptc-spacer-vertical.large){height:20px;min-height:20px}}:host(.ptc-spacer-vertical.x-large){width:100%;height:20px;min-height:20px}@media (min-width: 36em){:host(.ptc-spacer-vertical.x-large){height:28px;min-height:28px}}:host(.ptc-spacer-vertical.xx-large){width:100%;height:28px;min-height:28px}@media (min-width: 36em){:host(.ptc-spacer-vertical.xx-large){height:36px;min-height:36px}}:host(.ptc-spacer-vertical.xxx-large){width:100%;height:36px;min-height:36px}@media (min-width: 36em){:host(.ptc-spacer-vertical.xxx-large){height:48px;min-height:48px}}:host(.ptc-spacer-vertical.xxxx-large){width:100%;height:48px;min-height:48px}@media (min-width: 36em){:host(.ptc-spacer-vertical.xxxx-large){height:72px;min-height:72px}}:host(.ptc-spacer-vertical.space-144){width:100%;height:144px;min-height:144px}:host(.ptc-spacer-vertical.space-120){width:100%;height:120px;min-height:120px}:host(.ptc-spacer-vertical.space-128){width:100%;height:128px;min-height:128px}:host(.ptc-spacer-xx-small){display:none}@media (max-width: 22.5em){:host(.ptc-spacer-xx-small){display:block}}:host(.ptc-spacer-x-small){display:none}@media (max-width: 35.99em){:host(.ptc-spacer-x-small){display:block}}:host(.ptc-spacer-small){display:none}@media (min-width: 36em){:host(.ptc-spacer-small){display:block}}:host(.ptc-spacer-medium){display:none}@media (min-width: 48em){:host(.ptc-spacer-medium){display:block}}:host(.ptc-spacer-large){display:none}@media (min-width: 62em){:host(.ptc-spacer-large){display:block}}:host(.ptc-spacer-x-large){display:none}@media (min-width: 64.0625em){:host(.ptc-spacer-x-large){display:block}}:host(.ptc-spacer-xx-large){display:none}@media (min-width: 75em){:host(.ptc-spacer-xx-large){display:block}}:host(.ptc-spacer-xxx-large){display:none}@media (min-width: 90em){:host(.ptc-spacer-xxx-large){display:block}}";
4
+
5
+ const PtcSpacer = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.breakpoint = "";
9
+ this.size = "medium";
10
+ this.direction = "vertical";
11
+ }
12
+ render() {
13
+ const classMap = this.getCssClassMap();
14
+ return h(Host, { class: classMap });
15
+ }
16
+ getCssClassMap() {
17
+ return {
18
+ [this.size]: true,
19
+ ["ptc-spacer-horizontal"]: this.direction === "horizontal",
20
+ ["ptc-spacer-vertical"]: this.direction === "vertical",
21
+ ["ptc-spacer-xx-small"]: this.breakpoint === "xx-small",
22
+ ["ptc-spacer-x-small"]: this.breakpoint === "x-small",
23
+ ["ptc-spacer-small"]: this.breakpoint === "small",
24
+ ["ptc-spacer-medium"]: this.breakpoint === "medium",
25
+ ["ptc-spacer-large"]: this.breakpoint === "large",
26
+ ["ptc-spacer-x-large"]: this.breakpoint === "x-large",
27
+ ["ptc-spacer-xx-large"]: this.breakpoint === "xx-large",
28
+ ["ptc-spacer-xxx-large"]: this.breakpoint === "xxx-large",
29
+ };
30
+ }
31
+ };
32
+ PtcSpacer.style = ptcSpacerCss;
33
+
34
+ export { PtcSpacer as ptc_spacer };
@@ -0,0 +1,157 @@
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-0bf594c4.js';
2
+ import { j as getSeoTagType } from './utils-bdd0cc16.js';
3
+
4
+ const ptcTitleCss = "h1.sc-ptc-title,h2.sc-ptc-title,h3.sc-ptc-title,h4.sc-ptc-title,h5.sc-ptc-title,h6.sc-ptc-title,p.sc-ptc-title,ul.sc-ptc-title,li.sc-ptc-title,ptc-subnav.sc-ptc-title,ptc-tab-list.sc-ptc-title,ptc-link.sc-ptc-title,ptc-square-card.sc-ptc-title,.hyphenate-text.sc-ptc-title,ptc-footer.sc-ptc-title{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1.sc-ptc-title,h2.sc-ptc-title,h3.sc-ptc-title,h4.sc-ptc-title,h5.sc-ptc-title,h6.sc-ptc-title,p.sc-ptc-title,ul.sc-ptc-title,li.sc-ptc-title,ptc-subnav.sc-ptc-title,ptc-tab-list.sc-ptc-title,ptc-link.sc-ptc-title,ptc-square-card.sc-ptc-title,.hyphenate-text.sc-ptc-title,ptc-footer.sc-ptc-title{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}div.center.sc-ptc-title{text-align:center}div.center.dotted.sc-ptc-title h1.sc-ptc-title::before,div.center.dotted.sc-ptc-title h2.sc-ptc-title::before,div.center.dotted.sc-ptc-title h3.sc-ptc-title::before,div.center.dotted.sc-ptc-title h4.sc-ptc-title::before,div.center.dotted.sc-ptc-title h5.sc-ptc-title::before,div.center.dotted.sc-ptc-title h6.sc-ptc-title::before{left:50%;transform:translateX(-50%)}div.left.sc-ptc-title{text-align:left;width:100%}div.left.dotted.sc-ptc-title h1.sc-ptc-title::before,div.left.dotted.sc-ptc-title h2.sc-ptc-title::before,div.left.dotted.sc-ptc-title h3.sc-ptc-title::before,div.left.dotted.sc-ptc-title h4.sc-ptc-title::before,div.left.dotted.sc-ptc-title h5.sc-ptc-title::before,div.left.dotted.sc-ptc-title h6.sc-ptc-title::before{left:0%}div.right.sc-ptc-title{text-align:right}div.right.dotted.sc-ptc-title h1.sc-ptc-title::before,div.right.dotted.sc-ptc-title h2.sc-ptc-title::before,div.right.dotted.sc-ptc-title h3.sc-ptc-title::before,div.right.dotted.sc-ptc-title h4.sc-ptc-title::before,div.right.dotted.sc-ptc-title h5.sc-ptc-title::before,div.right.dotted.sc-ptc-title h6.sc-ptc-title::before{right:0%}div.inherit.sc-ptc-title{text-align:inherit}div.dotted.sc-ptc-title h1.sc-ptc-title::before,div.dotted.sc-ptc-title h2.sc-ptc-title::before,div.dotted.sc-ptc-title h3.sc-ptc-title::before,div.dotted.sc-ptc-title h4.sc-ptc-title::before,div.dotted.sc-ptc-title h5.sc-ptc-title::before,div.dotted.sc-ptc-title h6.sc-ptc-title::before{content:\"\";position:absolute;top:-6px;width:30%;display:block;border-top:3px dashed var(--color-green-07)}div.solid.sc-ptc-title h1.sc-ptc-title,div.solid.sc-ptc-title h2.sc-ptc-title,div.solid.sc-ptc-title h3.sc-ptc-title,div.solid.sc-ptc-title h4.sc-ptc-title,div.solid.sc-ptc-title h5.sc-ptc-title,div.solid.sc-ptc-title h6.sc-ptc-title{padding-top:12px}div.solid.sc-ptc-title h1.sc-ptc-title::before,div.solid.sc-ptc-title h2.sc-ptc-title::before,div.solid.sc-ptc-title h3.sc-ptc-title::before,div.solid.sc-ptc-title h4.sc-ptc-title::before,div.solid.sc-ptc-title h5.sc-ptc-title::before,div.solid.sc-ptc-title h6.sc-ptc-title::before{content:\"\";position:absolute;width:100%;height:0.7px;background-color:var(--color-gray-03);opacity:0.9;left:0px;top:0}div.solid.sc-ptc-title h1.sc-ptc-title::after,div.solid.sc-ptc-title h2.sc-ptc-title::after,div.solid.sc-ptc-title h3.sc-ptc-title::after,div.solid.sc-ptc-title h4.sc-ptc-title::after,div.solid.sc-ptc-title h5.sc-ptc-title::after,div.solid.sc-ptc-title h6.sc-ptc-title::after{content:\"\";position:absolute;width:56px;height:2px;background-color:var(--color-green-07);top:-2px;left:0px}div.is-standard.sc-ptc-title h1.sc-ptc-title,div.is-standard.sc-ptc-title h2.sc-ptc-title,div.is-standard.sc-ptc-title h3.sc-ptc-title,div.is-standard.sc-ptc-title h4.sc-ptc-title,div.is-standard.sc-ptc-title h5.sc-ptc-title,div.is-standard.sc-ptc-title h6.sc-ptc-title{display:inline-block;position:relative}div.is-standard.sc-ptc-title h1.sc-ptc-title{font-size:var(--ptc-font-size-xxx-large);line-height:var(--ptc-line-height-densest);font-weight:var(--ptc-font-weight-extrabold);letter-spacing:0px;color:var(--color-gray-10)}@media only screen and (min-width: 768px){div.is-standard.sc-ptc-title h1.sc-ptc-title{font-size:var(--ptc-font-size-xxxx-large)}}div.is-standard.sc-ptc-title h2.sc-ptc-title{font-size:var(--ptc-font-size-x-large);line-height:var(--ptc-line-height-densest);font-weight:var(--ptc-font-weight-extrabold);color:var(--color-gray-10)}@media only screen and (min-width: 768px){div.is-standard.sc-ptc-title h2.sc-ptc-title{font-size:var(--ptc-font-size-xx-large)}}div.is-plm-hub.sc-ptc-title h1.sc-ptc-title,div.is-plm-hub.sc-ptc-title h2.sc-ptc-title,div.is-plm-hub.sc-ptc-title h3.sc-ptc-title,div.is-plm-hub.sc-ptc-title h4.sc-ptc-title,div.is-plm-hub.sc-ptc-title h5.sc-ptc-title,div.is-plm-hub.sc-ptc-title h6.sc-ptc-title{display:inline-block;position:relative;margin-block-start:0em;margin-block-end:0em;margin-inline-start:0px;margin-inline-end:0px;color:var(--color-white) !important}div.margin-flush.sc-ptc-title{margin-top:0;margin-bottom:0}div.margin-flush.sc-ptc-title h1.sc-ptc-title,div.margin-flush.sc-ptc-title h2.sc-ptc-title,div.margin-flush.sc-ptc-title h3.sc-ptc-title,div.margin-flush.sc-ptc-title h4.sc-ptc-title,div.margin-flush.sc-ptc-title h5.sc-ptc-title{margin-top:0;margin-bottom:0}div.margin-top-2.sc-ptc-title{margin-top:var(--ptc-element-spacing-02);margin-bottom:0}div.margin-top-3.sc-ptc-title{margin-top:var(--ptc-element-spacing-03);margin-bottom:0}div.margin-top-4.sc-ptc-title{margin-top:var(--ptc-element-spacing-04);margin-bottom:0}div.margin-top-5.sc-ptc-title{margin-top:var(--ptc-element-spacing-05);margin-bottom:0}div.margin-top-6.sc-ptc-title{margin-top:var(--ptc-element-spacing-06);margin-bottom:0}div.margin-bottom-2.sc-ptc-title{margin-bottom:var(--ptc-element-spacing-02);margin-top:0}div.margin-bottom-3.sc-ptc-title{margin-bottom:var(--ptc-element-spacing-03);margin-top:0}div.margin-bottom-4.sc-ptc-title{margin-bottom:var(--ptc-element-spacing-04);margin-top:0}div.margin-bottom-5.sc-ptc-title{margin-bottom:var(--ptc-element-spacing-05);margin-top:0}div.margin-bottom-6.sc-ptc-title{margin-bottom:var(--ptc-element-spacing-06);margin-top:0}div.margin-2.sc-ptc-title{margin-top:var(--ptc-element-spacing-02);margin-bottom:var(--ptc-element-spacing-02)}div.margin-3.sc-ptc-title{margin-top:var(--ptc-element-spacing-03);margin-bottom:var(--ptc-element-spacing-03)}div.margin-4.sc-ptc-title{margin-top:var(--ptc-element-spacing-04);margin-bottom:var(--ptc-element-spacing-04)}div.margin-5.sc-ptc-title{margin-top:var(--ptc-element-spacing-05);margin-bottom:var(--ptc-element-spacing-05)}div.margin-5.sc-ptc-title h4.sc-ptc-title{margin-top:0;margin-bottom:0}div.margin-6.sc-ptc-title{margin-top:var(--ptc-element-spacing-06);margin-bottom:var(--ptc-element-spacing-06)}div.margin-9.sc-ptc-title{margin-top:var(--ptc-element-spacing-09);margin-bottom:var(--ptc-element-spacing-09)}div.green.sc-ptc-title h1.sc-ptc-title,div.green.sc-ptc-title h2.sc-ptc-title,div.green.sc-ptc-title h3.sc-ptc-title,div.green.sc-ptc-title h4.sc-ptc-title,div.green.sc-ptc-title h5.sc-ptc-title,div.green.sc-ptc-title h6.sc-ptc-title{text-shadow:0px 0px var(--ptc-element-spacing-03) var(--color-green-07)}div.blue.sc-ptc-title h1.sc-ptc-title,div.blue.sc-ptc-title h2.sc-ptc-title,div.blue.sc-ptc-title h3.sc-ptc-title,div.blue.sc-ptc-title h4.sc-ptc-title,div.blue.sc-ptc-title h5.sc-ptc-title,div.blue.sc-ptc-title h6.sc-ptc-title{text-shadow:0px 0px var(--ptc-element-spacing-03) var(--color-blue-07)}div.red.sc-ptc-title h1.sc-ptc-title,div.red.sc-ptc-title h2.sc-ptc-title,div.red.sc-ptc-title h3.sc-ptc-title,div.red.sc-ptc-title h4.sc-ptc-title,div.red.sc-ptc-title h5.sc-ptc-title,div.red.sc-ptc-title h6.sc-ptc-title{text-shadow:0px 0px var(--ptc-element-spacing-03) var(--color-red-07)}div.orange.sc-ptc-title h1.sc-ptc-title,div.orange.sc-ptc-title h2.sc-ptc-title,div.orange.sc-ptc-title h3.sc-ptc-title,div.orange.sc-ptc-title h4.sc-ptc-title,div.orange.sc-ptc-title h5.sc-ptc-title,div.orange.sc-ptc-title h6.sc-ptc-title{text-shadow:0px 0px var(--ptc-element-spacing-03) var(--color-orange-07)}div.slate-grey.sc-ptc-title h1.sc-ptc-title,div.slate-grey.sc-ptc-title h2.sc-ptc-title,div.slate-grey.sc-ptc-title h3.sc-ptc-title,div.slate-grey.sc-ptc-title h4.sc-ptc-title,div.slate-grey.sc-ptc-title h5.sc-ptc-title,div.slate-grey.sc-ptc-title h6.sc-ptc-title{text-shadow:0px 0px var(--ptc-element-spacing-03) var(--color-gray-07)}div.w-3.sc-ptc-title h1.sc-ptc-title,div.w-3.sc-ptc-title h2.sc-ptc-title,div.w-3.sc-ptc-title h3.sc-ptc-title,div.w-3.sc-ptc-title h4.sc-ptc-title,div.w-3.sc-ptc-title h5.sc-ptc-title,div.w-3.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-thin)}div.w-4.sc-ptc-title h1.sc-ptc-title,div.w-4.sc-ptc-title h2.sc-ptc-title,div.w-4.sc-ptc-title h3.sc-ptc-title,div.w-4.sc-ptc-title h4.sc-ptc-title,div.w-4.sc-ptc-title h5.sc-ptc-title,div.w-4.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-regular)}div.w-5.sc-ptc-title h1.sc-ptc-title,div.w-5.sc-ptc-title h2.sc-ptc-title,div.w-5.sc-ptc-title h3.sc-ptc-title,div.w-5.sc-ptc-title h4.sc-ptc-title,div.w-5.sc-ptc-title h5.sc-ptc-title,div.w-5.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-medium)}div.w-6.sc-ptc-title h1.sc-ptc-title,div.w-6.sc-ptc-title h2.sc-ptc-title,div.w-6.sc-ptc-title h3.sc-ptc-title,div.w-6.sc-ptc-title h4.sc-ptc-title,div.w-6.sc-ptc-title h5.sc-ptc-title,div.w-6.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-semibold)}div.w-7.sc-ptc-title h1.sc-ptc-title,div.w-7.sc-ptc-title h2.sc-ptc-title,div.w-7.sc-ptc-title h3.sc-ptc-title,div.w-7.sc-ptc-title h4.sc-ptc-title,div.w-7.sc-ptc-title h5.sc-ptc-title,div.w-7.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-bold)}div.w-8.sc-ptc-title h1.sc-ptc-title,div.w-8.sc-ptc-title h2.sc-ptc-title,div.w-8.sc-ptc-title h3.sc-ptc-title,div.w-8.sc-ptc-title h4.sc-ptc-title,div.w-8.sc-ptc-title h5.sc-ptc-title,div.w-8.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-extrabold)}div.w-9.sc-ptc-title h1.sc-ptc-title,div.w-9.sc-ptc-title h2.sc-ptc-title,div.w-9.sc-ptc-title h3.sc-ptc-title,div.w-9.sc-ptc-title h4.sc-ptc-title,div.w-9.sc-ptc-title h5.sc-ptc-title,div.w-9.sc-ptc-title h6.sc-ptc-title{font-weight:var(--ptc-font-weight-black)}div.xx-small.sc-ptc-title h1.sc-ptc-title,div.xx-small.sc-ptc-title h2.sc-ptc-title,div.xx-small.sc-ptc-title h3.sc-ptc-title,div.xx-small.sc-ptc-title h4.sc-ptc-title,div.xx-small.sc-ptc-title h5.sc-ptc-title,div.xx-small.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xx-small)}div.x-small.sc-ptc-title h1.sc-ptc-title,div.x-small.sc-ptc-title h2.sc-ptc-title,div.x-small.sc-ptc-title h3.sc-ptc-title,div.x-small.sc-ptc-title h4.sc-ptc-title,div.x-small.sc-ptc-title h5.sc-ptc-title,div.x-small.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-x-small)}div.small.sc-ptc-title h1.sc-ptc-title,div.small.sc-ptc-title h2.sc-ptc-title,div.small.sc-ptc-title h3.sc-ptc-title,div.small.sc-ptc-title h4.sc-ptc-title,div.small.sc-ptc-title h5.sc-ptc-title,div.small.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-small)}div.medium.sc-ptc-title h1.sc-ptc-title,div.medium.sc-ptc-title h2.sc-ptc-title,div.medium.sc-ptc-title h3.sc-ptc-title,div.medium.sc-ptc-title h4.sc-ptc-title,div.medium.sc-ptc-title h5.sc-ptc-title,div.medium.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-medium)}div.large.sc-ptc-title h1.sc-ptc-title,div.large.sc-ptc-title h2.sc-ptc-title,div.large.sc-ptc-title h3.sc-ptc-title,div.large.sc-ptc-title h4.sc-ptc-title,div.large.sc-ptc-title h5.sc-ptc-title,div.large.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-large)}div.large.sc-ptc-title h3.sc-ptc-title{font-size:var(--ptc-font-size-medium)}@media only screen and (min-width: 768px){div.large.sc-ptc-title h3.sc-ptc-title{font-size:var(--ptc-font-size-large)}}div.x-large.sc-ptc-title h1.sc-ptc-title,div.x-large.sc-ptc-title h2.sc-ptc-title,div.x-large.sc-ptc-title h3.sc-ptc-title,div.x-large.sc-ptc-title h4.sc-ptc-title,div.x-large.sc-ptc-title h5.sc-ptc-title,div.x-large.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-x-large)}div.xx-large.sc-ptc-title h1.sc-ptc-title,div.xx-large.sc-ptc-title h2.sc-ptc-title,div.xx-large.sc-ptc-title h3.sc-ptc-title,div.xx-large.sc-ptc-title h4.sc-ptc-title{font-size:var(--ptc-font-size-x-large)}@media only screen and (min-width: 768px){div.xx-large.sc-ptc-title h1.sc-ptc-title,div.xx-large.sc-ptc-title h2.sc-ptc-title,div.xx-large.sc-ptc-title h3.sc-ptc-title,div.xx-large.sc-ptc-title h4.sc-ptc-title{font-size:var(--ptc-font-size-xx-large)}}div.xxx-large.sc-ptc-title h1.sc-ptc-title,div.xxx-large.sc-ptc-title h2.sc-ptc-title,div.xxx-large.sc-ptc-title h3.sc-ptc-title,div.xxx-large.sc-ptc-title h4.sc-ptc-title,div.xxx-large.sc-ptc-title h5.sc-ptc-title,div.xxx-large.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xx-large)}@media only screen and (min-width: 768px){div.xxx-large.sc-ptc-title h1.sc-ptc-title,div.xxx-large.sc-ptc-title h2.sc-ptc-title,div.xxx-large.sc-ptc-title h3.sc-ptc-title,div.xxx-large.sc-ptc-title h4.sc-ptc-title,div.xxx-large.sc-ptc-title h5.sc-ptc-title,div.xxx-large.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxx-large)}}div.xxxx-large.sc-ptc-title h1.sc-ptc-title,div.xxxx-large.sc-ptc-title h2.sc-ptc-title,div.xxxx-large.sc-ptc-title h3.sc-ptc-title,div.xxxx-large.sc-ptc-title h4.sc-ptc-title,div.xxxx-large.sc-ptc-title h5.sc-ptc-title,div.xxxx-large.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxx-large)}@media only screen and (min-width: 768px){div.xxxx-large.sc-ptc-title h1.sc-ptc-title,div.xxxx-large.sc-ptc-title h2.sc-ptc-title,div.xxxx-large.sc-ptc-title h3.sc-ptc-title,div.xxxx-large.sc-ptc-title h4.sc-ptc-title,div.xxxx-large.sc-ptc-title h5.sc-ptc-title,div.xxxx-large.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxxx-large)}}div.xx-large-allbp.sc-ptc-title h1.sc-ptc-title,div.xx-large-allbp.sc-ptc-title h2.sc-ptc-title,div.xx-large-allbp.sc-ptc-title h3.sc-ptc-title,div.xx-large-allbp.sc-ptc-title h4.sc-ptc-title,div.xx-large-allbp.sc-ptc-title h5.sc-ptc-title,div.xx-large-allbp.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xx-large)}div.xxxx-large-allbp.sc-ptc-title h1.sc-ptc-title,div.xxxx-large-allbp.sc-ptc-title h2.sc-ptc-title,div.xxxx-large-allbp.sc-ptc-title h3.sc-ptc-title,div.xxxx-large-allbp.sc-ptc-title h4.sc-ptc-title,div.xxxx-large-allbp.sc-ptc-title h5.sc-ptc-title,div.xxxx-large-allbp.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxxx-large)}div.xxxx-large-desktop.sc-ptc-title h1.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h2.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h3.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h4.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h5.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxx-large)}@media only screen and (min-width: 992px){div.xxxx-large-desktop.sc-ptc-title h1.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h2.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h3.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h4.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h5.sc-ptc-title,div.xxxx-large-desktop.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxxx-large)}}div.xxxx-large-store.sc-ptc-title h1.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h2.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h3.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h4.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h5.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxx-large)}@media only screen and (min-width: 992px){div.xxxx-large-store.sc-ptc-title h1.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h2.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h3.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h4.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h5.sc-ptc-title,div.xxxx-large-store.sc-ptc-title h6.sc-ptc-title{font-size:var(--ptc-font-size-xxxx-large)}}div.densest.sc-ptc-title h1.sc-ptc-title,div.densest.sc-ptc-title h2.sc-ptc-title,div.densest.sc-ptc-title h3.sc-ptc-title,div.densest.sc-ptc-title h4.sc-ptc-title,div.densest.sc-ptc-title h5.sc-ptc-title,div.densest.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-densest)}div.denser.sc-ptc-title h1.sc-ptc-title,div.denser.sc-ptc-title h2.sc-ptc-title,div.denser.sc-ptc-title h3.sc-ptc-title,div.denser.sc-ptc-title h4.sc-ptc-title,div.denser.sc-ptc-title h5.sc-ptc-title,div.denser.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-denser)}div.dense.sc-ptc-title h1.sc-ptc-title,div.dense.sc-ptc-title h2.sc-ptc-title,div.dense.sc-ptc-title h3.sc-ptc-title,div.dense.sc-ptc-title h4.sc-ptc-title,div.dense.sc-ptc-title h5.sc-ptc-title,div.dense.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-dense)}div.normal.sc-ptc-title h1.sc-ptc-title,div.normal.sc-ptc-title h2.sc-ptc-title,div.normal.sc-ptc-title h3.sc-ptc-title,div.normal.sc-ptc-title h4.sc-ptc-title,div.normal.sc-ptc-title h5.sc-ptc-title,div.normal.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-normal)}div.loose.sc-ptc-title h1.sc-ptc-title,div.loose.sc-ptc-title h2.sc-ptc-title,div.loose.sc-ptc-title h3.sc-ptc-title,div.loose.sc-ptc-title h4.sc-ptc-title,div.loose.sc-ptc-title h5.sc-ptc-title,div.loose.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-loose)}div.looser.sc-ptc-title h1.sc-ptc-title,div.looser.sc-ptc-title h2.sc-ptc-title,div.looser.sc-ptc-title h3.sc-ptc-title,div.looser.sc-ptc-title h4.sc-ptc-title,div.looser.sc-ptc-title h5.sc-ptc-title,div.looser.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-looser)}div.paragraph.sc-ptc-title h1.sc-ptc-title,div.paragraph.sc-ptc-title h2.sc-ptc-title,div.paragraph.sc-ptc-title h3.sc-ptc-title,div.paragraph.sc-ptc-title h4.sc-ptc-title,div.paragraph.sc-ptc-title h5.sc-ptc-title,div.paragraph.sc-ptc-title h6.sc-ptc-title{line-height:var(--ptc-line-height-paragraph)}div.black.sc-ptc-title h1.sc-ptc-title,div.black.sc-ptc-title h2.sc-ptc-title,div.black.sc-ptc-title h3.sc-ptc-title,div.black.sc-ptc-title h4.sc-ptc-title,div.black.sc-ptc-title h5.sc-ptc-title,div.black.sc-ptc-title h6.sc-ptc-title{color:var(--color-black)}div.white.sc-ptc-title h1.sc-ptc-title,div.white.sc-ptc-title h2.sc-ptc-title,div.white.sc-ptc-title h3.sc-ptc-title,div.white.sc-ptc-title h4.sc-ptc-title,div.white.sc-ptc-title h5.sc-ptc-title,div.white.sc-ptc-title h6.sc-ptc-title{color:var(--color-white)}div.gray-1.sc-ptc-title h1.sc-ptc-title,div.gray-1.sc-ptc-title h2.sc-ptc-title,div.gray-1.sc-ptc-title h3.sc-ptc-title,div.gray-1.sc-ptc-title h4.sc-ptc-title,div.gray-1.sc-ptc-title h5.sc-ptc-title,div.gray-1.sc-ptc-title h6.sc-ptc-title{color:var(--color-gray-01)}div.gray.sc-ptc-title h1.sc-ptc-title,div.gray.sc-ptc-title h2.sc-ptc-title,div.gray.sc-ptc-title h3.sc-ptc-title,div.gray.sc-ptc-title h4.sc-ptc-title,div.gray.sc-ptc-title h5.sc-ptc-title,div.gray.sc-ptc-title h6.sc-ptc-title{color:var(--color-gray-10)}div.gray-darker.sc-ptc-title h1.sc-ptc-title,div.gray-darker.sc-ptc-title h2.sc-ptc-title,div.gray-darker.sc-ptc-title h3.sc-ptc-title,div.gray-darker.sc-ptc-title h4.sc-ptc-title,div.gray-darker.sc-ptc-title h5.sc-ptc-title,div.gray-darker.sc-ptc-title h6.sc-ptc-title{color:var(--color-gray-11)}div.ellipsis-boxing.sc-ptc-title h1.sc-ptc-title,div.ellipsis-boxing.sc-ptc-title h2.sc-ptc-title,div.ellipsis-boxing.sc-ptc-title h3.sc-ptc-title,div.ellipsis-boxing.sc-ptc-title h4.sc-ptc-title,div.ellipsis-boxing.sc-ptc-title h5.sc-ptc-title,div.ellipsis-boxing.sc-ptc-title h6.sc-ptc-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;padding-bottom:0}div.block.sc-ptc-title h1.sc-ptc-title,div.block.sc-ptc-title h2.sc-ptc-title,div.block.sc-ptc-title h3.sc-ptc-title,div.block.sc-ptc-title h4.sc-ptc-title,div.block.sc-ptc-title h5.sc-ptc-title,div.block.sc-ptc-title h6.sc-ptc-title{display:block}.line-clamp-title.sc-ptc-title{display:-webkit-box !important;-webkit-box-orient:vertical;overflow:hidden}.sc-ptc-title-h{display:block}.sc-ptc-title-h div.sc-ptc-title{position:relative}";
5
+
6
+ const PtcTitle = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.isPlmHub = false;
10
+ this.type = "h2";
11
+ this.textAlign = undefined;
12
+ this.upperline = "dotted";
13
+ this.titleShadow = undefined;
14
+ this.titleColor = "gray";
15
+ this.titleMargin = undefined;
16
+ this.titleWeight = undefined;
17
+ this.titleSize = undefined;
18
+ this.titleHeight = "densest";
19
+ this.styles = undefined;
20
+ this.ellipsisLineCutoff = undefined;
21
+ this.titleDisplay = "inline-block";
22
+ this.seoCompatibilityMode = false;
23
+ this.tooltipZIndex = "auto";
24
+ this.tooltipPosition = "bottom";
25
+ this.tooltipTheme = "standard";
26
+ this.enableTooltip = false;
27
+ this.maxChars = undefined;
28
+ this.maxLines = undefined;
29
+ this.hideTooltipOnMobile = false;
30
+ this.ismob = undefined;
31
+ this.tooltipWidth = "default";
32
+ }
33
+ // Tooltip Properties ends
34
+ componentDidLoad() {
35
+ if (this.hideTooltipOnMobile) {
36
+ this.el.classList.add("hide-tooltip-on-mobile");
37
+ }
38
+ this.el.addEventListener("mouseenter", () => this.toggleTitleTooltip(true));
39
+ this.el.addEventListener("mouseleave", () => this.toggleTitleTooltip(false));
40
+ }
41
+ render() {
42
+ if (this.seoCompatibilityMode) {
43
+ return this.seoCompRender();
44
+ }
45
+ else {
46
+ return this.standardRender();
47
+ }
48
+ }
49
+ getSortedText(content) {
50
+ if (!this.enableTooltip)
51
+ return;
52
+ const trimmedContent = content.trim();
53
+ const shouldTruncate = trimmedContent.length > this.maxChars && !this.maxLines;
54
+ return shouldTruncate
55
+ ? trimmedContent.slice(0, this.maxChars) + "..."
56
+ : trimmedContent;
57
+ }
58
+ toggleTitleTooltip(show) {
59
+ var _a;
60
+ const tooltipClass = "tooltip-box";
61
+ const existingTooltip = this.el.querySelector(`.${tooltipClass}`);
62
+ const text = this.el.querySelectorAll(".line-clamp-title");
63
+ let maxLinesShowCheck = false;
64
+ if (text) {
65
+ text.forEach((t) => {
66
+ maxLinesShowCheck = t.scrollHeight > t.clientHeight;
67
+ });
68
+ }
69
+ const ifCharExceeds = this.tooltipText &&
70
+ this.tooltipText.length > this.maxChars &&
71
+ !this.maxLines;
72
+ const ifLinesExceeds = this.maxLines && maxLinesShowCheck;
73
+ if (show && this.enableTooltip) {
74
+ if ((!existingTooltip && ifCharExceeds) ||
75
+ (!existingTooltip && ifLinesExceeds)) {
76
+ const tooltipMarkup = document.createElement("div");
77
+ tooltipMarkup.className = tooltipClass;
78
+ tooltipMarkup.innerText = this.tooltipText;
79
+ tooltipMarkup.style.zIndex = String(this.tooltipZIndex); // Ensures zIndex is a string
80
+ tooltipMarkup.classList.add(this.tooltipPosition, this.tooltipTheme, this.tooltipWidth);
81
+ if (this.hideTooltipOnMobile) {
82
+ tooltipMarkup.classList.add("hide-tooltip-mobile");
83
+ }
84
+ (_a = this.el.querySelector("div")) === null || _a === void 0 ? void 0 : _a.appendChild(tooltipMarkup);
85
+ }
86
+ }
87
+ else {
88
+ existingTooltip === null || existingTooltip === void 0 ? void 0 : existingTooltip.remove();
89
+ }
90
+ }
91
+ seoCompRender() {
92
+ const classMap = this.getCssClassMap();
93
+ const cutOff = this.getLineCuttoff();
94
+ const [TagType, firstChild] = getSeoTagType(this.el, this.type);
95
+ let html = firstChild && firstChild.innerHTML;
96
+ // added for tooltip
97
+ this.tooltipText = html.trim();
98
+ let eleText = firstChild && firstChild.innerText;
99
+ html = this.enableTooltip ? this.getSortedText(eleText) : html;
100
+ if (this.el == firstChild) {
101
+ this.el.innerHTML = "";
102
+ }
103
+ return (h(Host, null, this.styles && h("style", null, this.styles), h("div", { class: classMap }, h(TagType, { innerHTML: html, style: cutOff, class: this.maxLines && this.maxLines > 0
104
+ ? "line-clamp-title"
105
+ : "" }))));
106
+ }
107
+ standardRender() {
108
+ const classMap = this.getCssClassMap();
109
+ const cutOff = this.getLineCuttoff();
110
+ let TagType;
111
+ switch (this.type) {
112
+ case "h1":
113
+ TagType = "h1";
114
+ break;
115
+ case "h3":
116
+ TagType = "h3";
117
+ break;
118
+ case "h4":
119
+ TagType = "h4";
120
+ break;
121
+ case "h5":
122
+ TagType = "h5";
123
+ break;
124
+ case "h6":
125
+ TagType = "h6";
126
+ break;
127
+ default:
128
+ TagType = "h2";
129
+ }
130
+ return (h(Host, null, this.styles && h("style", null, this.styles), h("div", { class: classMap }, h(TagType, { style: cutOff }, h("slot", null)))));
131
+ }
132
+ getCssClassMap() {
133
+ return {
134
+ [this.textAlign]: !!this.textAlign ? true : false,
135
+ [this.upperline]: true,
136
+ [this.isPlmHub ? "is-plm-hub" : "is-standard"]: true,
137
+ [this.titleMargin]: !!this.titleMargin ? true : false,
138
+ [this.titleShadow]: !!this.titleShadow ? true : false,
139
+ [this.titleWeight]: !!this.titleWeight ? true : false,
140
+ [this.titleSize]: !!this.titleSize ? true : false,
141
+ [this.titleHeight]: !!this.titleHeight ? true : false,
142
+ [this.titleColor]: !!this.titleColor ? true : false,
143
+ ["ellipsis-boxing"]: this.ellipsisLineCutoff && this.ellipsisLineCutoff > 0,
144
+ [this.titleDisplay]: !!this.titleDisplay ? true : false,
145
+ };
146
+ }
147
+ getLineCuttoff() {
148
+ const lineClamp = this.ellipsisLineCutoff > 0
149
+ ? this.ellipsisLineCutoff
150
+ : this.maxLines;
151
+ return lineClamp > 0 ? { "-webkit-line-clamp": `${lineClamp}` } : {};
152
+ }
153
+ get el() { return getElement(this); }
154
+ };
155
+ PtcTitle.style = ptcTitleCss;
156
+
157
+ export { PtcTitle as ptc_title };
@@ -0,0 +1,109 @@
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-0bf594c4.js';
2
+
3
+ const ptcTooltipCss = "h1.sc-ptc-tooltip,h2.sc-ptc-tooltip,h3.sc-ptc-tooltip,h4.sc-ptc-tooltip,h5.sc-ptc-tooltip,h6.sc-ptc-tooltip,p.sc-ptc-tooltip,ul.sc-ptc-tooltip,li.sc-ptc-tooltip,ptc-subnav.sc-ptc-tooltip,ptc-tab-list.sc-ptc-tooltip,ptc-link.sc-ptc-tooltip,ptc-square-card.sc-ptc-tooltip,.hyphenate-text.sc-ptc-tooltip,ptc-footer.sc-ptc-tooltip{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1.sc-ptc-tooltip,h2.sc-ptc-tooltip,h3.sc-ptc-tooltip,h4.sc-ptc-tooltip,h5.sc-ptc-tooltip,h6.sc-ptc-tooltip,p.sc-ptc-tooltip,ul.sc-ptc-tooltip,li.sc-ptc-tooltip,ptc-subnav.sc-ptc-tooltip,ptc-tab-list.sc-ptc-tooltip,ptc-link.sc-ptc-tooltip,ptc-square-card.sc-ptc-tooltip,.hyphenate-text.sc-ptc-tooltip,ptc-footer.sc-ptc-tooltip{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}.sc-ptc-tooltip-h{position:relative}.inline.sc-ptc-tooltip-h{display:inline}.inline.sc-ptc-tooltip-h .text-content.sc-ptc-tooltip{display:inline}.block.sc-ptc-tooltip-h{display:block}.text-ellipsis.sc-ptc-tooltip{position:relative;display:inline}.text-ellipsis.sc-ptc-tooltip:not(.truncated){z-index:auto !important}.z-auto.sc-ptc-tooltip{z-index:auto}.z-1.sc-ptc-tooltip{z-index:1}.z-2.sc-ptc-tooltip{z-index:2}.z-3.sc-ptc-tooltip{z-index:3}.z-999.sc-ptc-tooltip{z-index:999}.tooltip.sc-ptc-tooltip{position:absolute;padding:8px;color:var(--color-white);font-size:var(--ptc-font-size-xxx-small);font-weight:var(--ptc-font-weight-semibold);background:var(--color-gray-09);box-shadow:0px 2px 4px rgba(0, 0, 0, 0.3);border:none;border-radius:2px;width:auto;height:auto;visibility:hidden;text-align:left;text-shadow:none;white-space:normal}.tooltip.sc-ptc-tooltip span.sc-ptc-tooltip{word-break:initial}@media only screen and (min-width: 480px){.tooltip.sc-ptc-tooltip{width:273px}}.tooltip.danger.sc-ptc-tooltip{color:var(--color-red-07);font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-semibold);font-size:var(--ptc-font-size-xx-small);line-height:var(--ptc-line-height-p);border:2px solid var(--color-red-07);border-radius:var(--ptc-border-radius-standard);background-color:var(--color-white);padding:var(--ptc-element-spacing-06)}.tooltip.danger.sc-ptc-tooltip a.sc-ptc-tooltip{color:var(--color-hyperlink)}.tooltip.bottom.sc-ptc-tooltip{bottom:-12px;transform:translateY(100%)}.tooltip.bottom.sc-ptc-tooltip::after{top:1px;left:50%;transform:translate(-50%, -100%);border:8px solid transparent;border-bottom:8px solid var(--color-gray-09)}.tooltip.left.sc-ptc-tooltip{bottom:-12px;transform:translate(-80%, 100%)}.tooltip.left.sc-ptc-tooltip::after{top:1px;right:8px;transform:translateY(-100%);border:8px solid transparent;border-bottom:8px solid var(--color-gray-09)}.tooltip.right.sc-ptc-tooltip{bottom:-12px;transform:translateY(100%);right:0px}@-moz-document url-prefix(){.tooltip.right{right:unset !important;bottom:unset !important;transform:translate(60%, 8px) !important}@media screen and (min-width: 992px){.tooltip.right{transform:translate(100%, 8px) !important}}}.tooltip.right.sc-ptc-tooltip::after{top:1px;left:8px;transform:translateY(-100%);border:8px solid transparent;border-bottom:8px solid var(--color-gray-09)}.tooltip.top.sc-ptc-tooltip{top:-8px;transform:translateY(-100%)}.tooltip.top.sc-ptc-tooltip::after{left:50%;bottom:1px;transform:translate(-50%, 100%);border:8px solid transparent;border-top:8px solid var(--color-gray-09)}.tooltip.bottom-right.sc-ptc-tooltip{bottom:-12px;transform:translate(-60%, 100%)}.tooltip.bottom-right.sc-ptc-tooltip::after{top:1px;left:75%;transform:translate(-50%, -100%);border:8px solid transparent;border-bottom:8px solid var(--color-gray-09)}.tooltip.danger.sc-ptc-tooltip::after{top:0;border-bottom:8px solid var(--color-red-07)}.tooltip.side-left.sc-ptc-tooltip{bottom:12px;transform:translateX(-112%)}@media only screen and (min-width: 768px){.tooltip.side-left.sc-ptc-tooltip{bottom:4px}}.tooltip.side-left.sc-ptc-tooltip::after{top:50%;right:-15px;transform:translateY(-50%);border:8px solid transparent;border-left:8px solid var(--color-gray-09)}.truncated.sc-ptc-tooltip{cursor:help}.truncated.sc-ptc-tooltip:hover+.tooltip.sc-ptc-tooltip{visibility:visible;z-index:9999}.wrapper-content.sc-ptc-tooltip{display:inline-block;position:relative}.wrapper-content.sc-ptc-tooltip .tooltip.sc-ptc-tooltip{width:auto;min-width:72px;max-width:273px}.wrapper-content.sc-ptc-tooltip .slot-content.sc-ptc-tooltip:hover+.tooltip.sc-ptc-tooltip{visibility:visible;z-index:9999}.tooltip.sc-ptc-tooltip::after{content:\"\";position:absolute}.ellipsis-by-line-boxing.sc-ptc-tooltip{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;padding-bottom:0}.full-width.sc-ptc-tooltip-h .tooltip.sc-ptc-tooltip{width:100%}@media only screen and (min-width: 480px){.full-width.sc-ptc-tooltip-h .tooltip.sc-ptc-tooltip{width:100%}}.no-overflow.sc-ptc-tooltip-h .tooltip.sc-ptc-tooltip{display:none !important}.no-overflow.sc-ptc-tooltip-h .truncated.sc-ptc-tooltip.sc-ptc-tooltip{cursor:pointer}";
4
+
5
+ const PtcTooltip = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.textDisplay = "inline";
9
+ this.maxLength = 45;
10
+ this.textLines = undefined;
11
+ this.description = "This is a tooltip text placeholder";
12
+ this.zIndex = "z-auto";
13
+ this.position = "bottom";
14
+ this.styles = undefined;
15
+ this.mode = "text-only";
16
+ this.theme = "standard";
17
+ this.width = "default";
18
+ this.hideOnMobile = false;
19
+ this.isSmallScreen = undefined;
20
+ this.noOverflow = false;
21
+ }
22
+ addTruncatedClass() {
23
+ const appRoot = this.el;
24
+ const text = appRoot.querySelectorAll(".ellipsis-by-line-boxing");
25
+ text.forEach((t) => {
26
+ t.classList[t.scrollHeight > t.clientHeight ? "add" : "remove"]("truncated");
27
+ });
28
+ }
29
+ windowResize() {
30
+ this.verifiyScreenSize();
31
+ }
32
+ verifiyScreenSize() {
33
+ this.isSmallScreen = window.innerWidth < 768;
34
+ }
35
+ // Created this function to initialize the truncate function on specific elements like tabs
36
+ enableAddTruncatedClass(element) {
37
+ const allTabHeaders = document.querySelectorAll(element);
38
+ for (const element of Array.from(allTabHeaders)) {
39
+ let tabHeader = element;
40
+ if (tabHeader) {
41
+ tabHeader.addEventListener("click", () => {
42
+ setTimeout(() => {
43
+ this.addTruncatedClass();
44
+ }, 100);
45
+ });
46
+ }
47
+ }
48
+ }
49
+ componentWillLoad() {
50
+ this.verifiyScreenSize();
51
+ }
52
+ componentDidLoad() {
53
+ //this.addTruncatedClass();
54
+ setTimeout(() => {
55
+ this.addTruncatedClass();
56
+ }, 1000);
57
+ this.enableAddTruncatedClass("tab-header");
58
+ this.enableAddTruncatedClass("ptc-ellipsis-dropdown");
59
+ this.enableAddTruncatedClass("ptc-product-card");
60
+ document.addEventListener("readystatechange", () => {
61
+ if (document.readyState === "complete") {
62
+ this.addTruncatedClass();
63
+ }
64
+ });
65
+ }
66
+ render() {
67
+ if (this.mode == "wrapper") {
68
+ return (h(Host, { class: this.textDisplay }, this.styles && h("style", null, this.styles), h("div", { class: "wrapper-content" }, h("div", { class: "slot-content" }, h("slot", null)), h("div", { class: `tooltip ${this.position} ${this.theme}` }, h("slot", { name: "description" }), this.description && (h("span", { innerHTML: this.description }))))));
69
+ }
70
+ else {
71
+ const classMap = this.getCssClassMap();
72
+ const cutOff = this.getLineCuttoff();
73
+ let truncatedText = this.description.substring(0, this.maxLength);
74
+ if (this.description.length > this.maxLength) {
75
+ //const lastSpace = truncatedText.lastIndexOf(' ');
76
+ //truncatedText = truncatedText.substring(0, lastSpace);
77
+ truncatedText += "... ";
78
+ }
79
+ return (h(Host, { class: {
80
+ [this.textDisplay]: true,
81
+ [this.width]: true,
82
+ "no-overflow": this.noOverflow,
83
+ } }, this.styles && h("style", null, this.styles), this.hideOnMobile && this.isSmallScreen ? (h("div", null, this.description)) : (h("div", { class: "text-content" }, this.textLines > 0 && !!this.textLines ? (h("div", { class: "ellipsis-by-line-boxing", style: cutOff, innerHTML: this.description })) : (h("div", { class: classMap }, truncatedText)), h("div", { class: `tooltip ${this.position} ${this.theme}`, innerHTML: this.description })))));
84
+ }
85
+ }
86
+ getCssClassMap() {
87
+ return {
88
+ // ['ellipsis-by-line-boxing']: this.textLines && this.textLines > 0,
89
+ ["text-ellipsis"]: true,
90
+ [this.zIndex]: this.description.length > this.maxLength ? true : false,
91
+ ["truncated"]: this.description.length > this.maxLength && !this.textLines
92
+ ? true
93
+ : false,
94
+ };
95
+ }
96
+ getLineCuttoff() {
97
+ let result;
98
+ if (this.textLines && this.textLines > 0) {
99
+ result = {
100
+ ["-webkit-line-clamp"]: `${this.textLines}`,
101
+ };
102
+ }
103
+ return result;
104
+ }
105
+ get el() { return getElement(this); }
106
+ };
107
+ PtcTooltip.style = ptcTooltipCss;
108
+
109
+ export { PtcTooltip as ptc_tooltip };