@ptcwebops/ptcw-design 6.4.33-beta → 6.4.34-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,178 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-63ddc79c.js');
6
+
7
+ const ptcProductSidebarCss = "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;position:relative}:host .hide{display:none !important}:host .white-box{padding:12px;background-color:var(--color-white);border-radius:var(--ptc-border-radius-standard)}:host .sort-wrap{display:block}@media only screen and (min-width: 768px){:host .sort-wrap{display:flex;justify-content:space-between}}@media only screen and (min-width: 992px){:host .sort-wrap{display:block}}:host .filter-result-wrap label{font-size:var(--ptc-font-size-xx-small);font-weight:600}@media only screen and (min-width: 992px){:host .filter-result-wrap label{font-size:var(--ptc-font-size-x-small)}}:host .filter-result-wrap .result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}@media only screen and (min-width: 992px){:host .filter-result-wrap .result-header{margin-bottom:26px}}:host .filter-result-wrap .result-header .clear-cta{cursor:pointer;display:none;color:var(--color-gray-07);font-size:var(--ptc-font-size-x-small);text-decoration:underline}:host .filter-result-wrap .result-header .clear-cta:focus-visible{border-radius:var(--ptc-border-radius-standard);outline:5px solid var(--keyboard-nav-outline)}:host .filter-result-wrap .result-header .clear-cta.show{display:block}:host .filter-result-wrap .typeahead-input{box-sizing:border-box;margin-bottom:14px;width:100%;margin-right:0}@media only screen and (min-width: 768px){:host .filter-result-wrap .typeahead-input{margin-right:40px}}@media only screen and (min-width: 992px){:host .filter-result-wrap .typeahead-input{margin-right:0}}:host .filter-result-wrap .typeahead-input .input-wrap{position:relative}:host .filter-result-wrap .typeahead-input .input-wrap svg{position:absolute;left:8px;top:8px}:host .filter-result-wrap .typeahead-input .input-wrap input{margin-top:4px;padding:8px 8px 8px 34px;display:block;width:100%;box-sizing:border-box;border:1px solid var(--color-gray-03);font-size:14px}:host .filter-result-wrap .typeahead-input .input-wrap input:focus-visible{border-radius:var(--ptc-border-radius-standard);outline:5px solid var(--keyboard-nav-outline)}:host .filter-result-wrap .typeahead-input .suggestion-wrap{position:relative;width:100%}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions{border:1px solid var(--color-gray-03);box-shadow:0px 2px 4px rgba(35, 43, 45, 0.3);background-color:var(--color-white);position:absolute;z-index:105;top:0;margin:0;width:100%;box-sizing:border-box;padding:0;max-height:400px;overflow-y:auto}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions::-webkit-scrollbar{width:5px}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0, 0, 0, 0.3)}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions::-webkit-scrollbar-thumb{background-color:var(--color-gray-05);outline:1px solid var(--color-gray-05)}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions li{list-style:none;padding:10px 16px;cursor:pointer;display:block;font-size:14px}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions li:focus-visible{border-radius:var(--ptc-border-radius-standard);outline:5px solid var(--keyboard-nav-outline)}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions li:first-child{padding-top:20px}:host .filter-result-wrap .typeahead-input .suggestion-wrap .suggestions li:last-child{padding-bottom:20px}:host .filter-result-wrap .dropdwon-filter{margin-bottom:10px;width:100%}:host .product-list-wrap{display:none}@media only screen and (min-width: 992px){:host .product-list-wrap{display:block}}:host .product-list-wrap .category-list{display:block;padding:12px 4px;font-size:var(--ptc-font-size-x-small)}:host .product-list-wrap .category-list ptc-para{padding-bottom:4px;display:block}:host .product-list-wrap .category-list ul{padding-left:20px;margin:0}";
8
+
9
+ const PtcProductSidebar = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.selectedResult = index.createEvent(this, "selectedResult", 7);
13
+ this.clearsearch = index.createEvent(this, "clearsearch", 7);
14
+ this.inputChanged = index.createEvent(this, "inputChanged", 7);
15
+ this.emptyResult = index.createEvent(this, "emptyResult", 7);
16
+ this.searchTerm = "";
17
+ this.suggestions = [];
18
+ this.filterResults = "Filter Results";
19
+ this.filterText = "Filter";
20
+ this.clearText = "Clear";
21
+ this.technologyText = "Technology";
22
+ this.jumpToProduct = "Jump to Product";
23
+ this.selectTechnology = "Select a technology";
24
+ this.suggestionList = [];
25
+ }
26
+ componentWillLoad() {
27
+ this.getDomData();
28
+ }
29
+ componentDidLoad() {
30
+ this.productListWrap = this.hostElement.shadowRoot.querySelector(".product-list-wrap");
31
+ this.clearBtn = this.hostElement.shadowRoot.querySelector(".clear-cta");
32
+ this.inputBox = this.hostElement.shadowRoot.querySelector("#searchBox");
33
+ }
34
+ // Getting category title and products list
35
+ getDomData() {
36
+ const categoryList = document.querySelectorAll("ptc-product-category");
37
+ categoryList.forEach((category) => {
38
+ let categoryTitle = category.getAttribute("category-title");
39
+ let categoryObject = { categoryName: categoryTitle, products: [] };
40
+ this.suggestionList.push(categoryObject);
41
+ let productList = category.querySelectorAll("ptc-product-card");
42
+ productList.forEach((product) => {
43
+ let productTitle = product.getAttribute("card-title");
44
+ categoryObject.products.push(productTitle);
45
+ });
46
+ });
47
+ }
48
+ handleInputChange(event) {
49
+ const inputElement = event.target;
50
+ this.searchTerm = inputElement.value.toLocaleLowerCase();
51
+ this.clearBtn.classList.add("show");
52
+ this.getSuggestions();
53
+ this.inputChanged.emit({
54
+ sender: this,
55
+ event: event,
56
+ });
57
+ }
58
+ getSuggestions() {
59
+ const searchTerm = this.searchTerm.toLowerCase();
60
+ const suggestions = this.suggestionList.reduce((acc, item) => {
61
+ if (item.categoryName.toLowerCase().includes(searchTerm)) {
62
+ acc.push(item.categoryName); // Include the category if it matches the search term
63
+ }
64
+ const matchedProducts = item.products.filter((product) => product.toLowerCase().includes(searchTerm));
65
+ if (matchedProducts.length > 0) {
66
+ acc.push(...matchedProducts); // Include the matching products
67
+ }
68
+ return acc;
69
+ }, []);
70
+ this.suggestions = suggestions;
71
+ }
72
+ handleSelectSuggestion(suggestion, event) {
73
+ this.searchTerm = suggestion;
74
+ this.productListWrap.classList.add("hide");
75
+ this.selectedResult.emit({
76
+ sender: this,
77
+ event: event,
78
+ searchTerm: this.searchTerm,
79
+ });
80
+ }
81
+ handleKeyUp(e) {
82
+ const inputElement = e.target;
83
+ this.searchTerm = inputElement.value.toLocaleLowerCase();
84
+ if (e.keyCode === 13 && this.suggestions.length == 0) {
85
+ this.emptyResult.emit({
86
+ sender: this,
87
+ event: e,
88
+ });
89
+ }
90
+ else if (e.key === "Escape") {
91
+ this.clearSearch(e);
92
+ this.inputBox.focus();
93
+ }
94
+ }
95
+ handleKeyDownClearCta(e) {
96
+ if (e.key === "Enter") {
97
+ this.clearSearch(e);
98
+ }
99
+ }
100
+ clearSearch(event) {
101
+ let input = this.hostElement.shadowRoot.querySelector("input");
102
+ this.productListWrap.classList.remove("hide");
103
+ this.clearBtn.classList.remove("show");
104
+ if (input) {
105
+ input.value = "";
106
+ }
107
+ this.suggestions = [];
108
+ this.clearsearch.emit({
109
+ sender: this,
110
+ event: event,
111
+ searchTerm: input.value,
112
+ });
113
+ }
114
+ handleDropdownTouched(event) {
115
+ const { sender, isOpen } = event.detail;
116
+ if (sender) {
117
+ if (isOpen) {
118
+ let input = this.hostElement.shadowRoot.querySelector("input");
119
+ if (input) {
120
+ input.value = "";
121
+ }
122
+ }
123
+ }
124
+ }
125
+ handleClick() {
126
+ this.suggestions = [];
127
+ }
128
+ handleclearCtaClicked(eve) {
129
+ const { sender, event } = eve.detail;
130
+ if (sender) {
131
+ this.clearSearch(event);
132
+ }
133
+ }
134
+ handleSelectedValues(event) {
135
+ const { sender, selectedOptions } = event.detail;
136
+ if (sender) {
137
+ if (selectedOptions.length > 0) {
138
+ this.clearBtn.classList.add("show");
139
+ this.productListWrap.classList.add("hide");
140
+ }
141
+ else {
142
+ this.clearBtn.classList.remove("show");
143
+ this.productListWrap.classList.remove("hide");
144
+ }
145
+ }
146
+ }
147
+ handleSuggestionKeyDown(e, index, suggestion) {
148
+ var _a;
149
+ const listItems = (_a = e.currentTarget.parentElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll("li");
150
+ if (!listItems)
151
+ return;
152
+ if (e.key === "Enter") {
153
+ this.handleSelectSuggestion(suggestion, e);
154
+ this.suggestions = [];
155
+ }
156
+ else if (e.key === "Tab") {
157
+ e.preventDefault();
158
+ const isShift = e.shiftKey;
159
+ const nextIndex = isShift
160
+ ? (index - 1 + listItems.length) % listItems.length
161
+ : (index + 1) % listItems.length;
162
+ listItems[nextIndex].focus();
163
+ }
164
+ else if (e.key === "Escape") {
165
+ this.clearSearch(e);
166
+ this.inputBox.focus();
167
+ }
168
+ }
169
+ render() {
170
+ return (index.h(index.Host, { class: "search-box" }, index.h("div", { class: "filter-result-wrap white-box" }, index.h("div", { class: "result-header" }, index.h("ptc-title", { type: "h3", "title-margin": "margin-flush", upperline: "no-upperline", "title-size": "medium", "title-height": "densest" }, this.filterResults), index.h("span", { class: "clear-cta", onClick: (e) => this.clearSearch(e), tabIndex: 0, onKeyDown: (e) => {
171
+ this.handleKeyDownClearCta(e);
172
+ } }, this.clearText)), index.h("div", { class: "sort-wrap" }, index.h("div", { class: "typeahead-input" }, index.h("label", { htmlFor: "searchBox" }, this.filterText), index.h("div", { class: "input-wrap" }, index.h("svg", { width: "19", height: "18", viewBox: "0 0 19 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { d: "M0.208984 0V1.2375L6.95898 7.65V14.2875L11.5715 17.8875V7.65L18.209 1.35V0H0.208984Z", fill: "#323B42" })), index.h("input", { type: "text", value: this.searchTerm, onInput: (event) => this.handleInputChange(event), onKeyUp: (e) => this.handleKeyUp(e), id: "searchBox" })), this.suggestions.length > 0 && (index.h("div", { class: "suggestion-wrap" }, index.h("ul", { class: "suggestions" }, this.suggestions.map((suggestion, index$1) => (index.h("li", { onClick: (e) => this.handleSelectSuggestion(suggestion, e), tabIndex: 0, onKeyDown: (e) => this.handleSuggestionKeyDown(e, index$1, suggestion) }, suggestion))))))), index.h("div", { class: "dropdwon-filter" }, index.h("label", { htmlFor: "tech-dropdown" }, this.technologyText), index.h("ptc-product-dropdown", { placeholder: this.selectTechnology, id: "tech-dropdown" }, this.suggestionList.map((item) => (index.h("span", null, item.categoryName))))))), index.h("ptc-spacer", { size: "large" }), index.h("ptc-spacer", { size: "large" }), index.h("div", { class: "product-list-wrap white-box" }, index.h("ptc-title", { type: "h3", "title-margin": "margin-flush", upperline: "no-upperline", "title-size": "medium", "title-height": "densest" }, this.jumpToProduct), this.suggestionList.map((item) => (index.h("div", { class: "category-list" }, index.h("ptc-para", { "font-size": "x-small", "font-weight": "w-7", "para-line-h": "line-height-densest", "para-margin": "margin-flush" }, index.h("list-item", { "list-type": "list-underline", "link-href": "#" + item.categoryName }, index.h("ptc-tooltip", { "text-display": "inline", "text-lines": "4", "z-index": "z-2", description: item.categoryName, position: "bottom" }))), index.h("div", { class: "product-list" }, index.h("ul", null, item.products.map((product) => (index.h("list-item", { "list-type": "list-underline", "link-href": "#" + product }, product)))))))))));
173
+ }
174
+ get hostElement() { return index.getElement(this); }
175
+ };
176
+ PtcProductSidebar.style = ptcProductSidebarCss;
177
+
178
+ exports.ptc_product_sidebar = PtcProductSidebar;
@@ -0,0 +1,186 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-63ddc79c.js');
6
+
7
+ 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}";
8
+
9
+ const PtcReadmore = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.readmoreToggle = index.createEvent(this, "readmoreToggle", 7);
13
+ /**
14
+ * Handle keyboard interactions
15
+ */
16
+ this.handleKeyDown = (event) => {
17
+ if (event.key !== "Enter")
18
+ return;
19
+ const checkBoxEl = this.el.shadowRoot.querySelector("#expanded");
20
+ const cta = this.el.shadowRoot.querySelector(".read-more-cta-label");
21
+ if (!checkBoxEl || !cta)
22
+ return;
23
+ checkBoxEl.checked = !checkBoxEl.checked;
24
+ const isExpanded = checkBoxEl.checked;
25
+ cta.innerHTML = `<span>${isExpanded ? this.lessText || "" : this.moreText || ""}</span>`;
26
+ cta.classList.toggle("show-less-cta", isExpanded);
27
+ if (isExpanded) {
28
+ // Focus on the first element with tabindex="-1" within 'ptc-readmore'
29
+ const firstTabIndexMinusOne = this.el.querySelector('[tabindex="-1"]');
30
+ firstTabIndexMinusOne === null || firstTabIndexMinusOne === void 0 ? void 0 : firstTabIndexMinusOne.focus();
31
+ }
32
+ else {
33
+ cta.focus();
34
+ const readMoreText = this.el.shadowRoot.querySelector(".read-more-text");
35
+ readMoreText === null || readMoreText === void 0 ? void 0 : readMoreText.classList.add("truncated");
36
+ }
37
+ this.setTabIndex();
38
+ // if lessText content is not present then add tabindex=-1 to the more/less label
39
+ if (cta.textContent == "") {
40
+ cta.setAttribute("tabindex", "-1");
41
+ }
42
+ };
43
+ this.moreText = "read more";
44
+ this.lessText = undefined;
45
+ this.readMorePosition = "right";
46
+ this.display = "inline";
47
+ this.visibleLines = "line2";
48
+ this.visibleLinesCustom = undefined;
49
+ this.zIndex = "z-auto";
50
+ this.checked = false;
51
+ this.size = "small";
52
+ this.isIcon = false;
53
+ this.color = "blue";
54
+ this.isContentSlotted = false;
55
+ }
56
+ async updateReadmoreStatus() {
57
+ setTimeout(() => {
58
+ this.addBtnTruncated();
59
+ }, 100);
60
+ }
61
+ addBtnTruncated() {
62
+ const appRoot = this.el.shadowRoot;
63
+ const ps = appRoot.querySelectorAll(".read-more-text");
64
+ ps.forEach((p) => {
65
+ // if (this.visibleCharacters){
66
+ // const truncatedText = p.textContent.slice(0, this.visibleCharacters);
67
+ // p.textContent = truncatedText;
68
+ // }
69
+ p.classList[p.scrollHeight > p.clientHeight ? "add" : "remove"]("truncated");
70
+ });
71
+ }
72
+ // Created this function to initialize the truncate function on specific elements like tabs
73
+ enableAddTruncatedClass(element) {
74
+ const allTabHeaders = document.querySelectorAll(element);
75
+ for (const element of Array.from(allTabHeaders)) {
76
+ let tabHeader = element;
77
+ if (tabHeader) {
78
+ tabHeader.addEventListener("click", () => {
79
+ setTimeout(() => {
80
+ this.addBtnTruncated();
81
+ }, 100);
82
+ });
83
+ }
84
+ }
85
+ }
86
+ componentDidLoad() {
87
+ this.addBtnTruncated();
88
+ document.addEventListener("readystatechange", () => {
89
+ if (document.readyState === "complete") {
90
+ this.addBtnTruncated();
91
+ }
92
+ });
93
+ this.enableAddTruncatedClass("tab-header");
94
+ this.enableAddTruncatedClass("ptc-ellipsis-dropdown");
95
+ this.enableAddTruncatedClass("ptc-product-card");
96
+ // added code for tabnavigation
97
+ setTimeout(() => {
98
+ this.setTabIndex();
99
+ }, 400);
100
+ }
101
+ setTabIndex() {
102
+ var _a, _b, _c;
103
+ //debugger
104
+ let links;
105
+ if (!this.isContentSlotted) {
106
+ links = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
107
+ }
108
+ else {
109
+ let slot = (_b = this.el) === null || _b === void 0 ? void 0 : _b.querySelector("slot").assignedNodes();
110
+ links =
111
+ slot[0] instanceof HTMLElement
112
+ ? slot[0].querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')
113
+ : null;
114
+ }
115
+ let bottom = 999999;
116
+ let rects = (_c = this.el.shadowRoot
117
+ .querySelector(".read-more-text")) === null || _c === void 0 ? void 0 : _c.getClientRects();
118
+ if (rects && rects.length > 0) {
119
+ bottom = rects[0].bottom;
120
+ }
121
+ if (links) {
122
+ links.forEach((link) => {
123
+ let linkRects = link.getClientRects();
124
+ if (linkRects && linkRects.length > 0) {
125
+ if (linkRects[0].top < bottom) {
126
+ link.setAttribute("tabindex", "0");
127
+ }
128
+ else {
129
+ link.setAttribute("tabindex", "-1");
130
+ }
131
+ }
132
+ });
133
+ }
134
+ }
135
+ // click event handler
136
+ handleClick(event) {
137
+ var _a;
138
+ let links = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
139
+ this.addBtnTruncated();
140
+ // check if the input box is checked
141
+ this.checked = event.target.checked;
142
+ // Getting cta element
143
+ const cta = this.el.shadowRoot.querySelector(".read-more-cta-label");
144
+ // Updating the cta text
145
+ this.checked
146
+ ? (cta.innerHTML = `<span> ${this.lessText ? this.lessText : ""} </span>`)
147
+ : (cta.innerHTML = `<span> ${this.moreText ? this.moreText : ""}</span>`);
148
+ this.checked
149
+ ? cta.classList.add("show-less-cta")
150
+ : cta.classList.remove("show-less-cta");
151
+ // Emit the state change event
152
+ this.readmoreToggle.emit({
153
+ event: event,
154
+ sender: this.el,
155
+ isExpanded: this.checked,
156
+ });
157
+ if (links) {
158
+ if (this.checked) {
159
+ links.forEach((link) => {
160
+ link.setAttribute("tabindex", "0");
161
+ });
162
+ }
163
+ else {
164
+ this.setTabIndex();
165
+ }
166
+ }
167
+ }
168
+ render() {
169
+ const classMap = this.getCssClassMap();
170
+ return (index.h(index.Host, { class: this.display }, index.h("div", { class: classMap }, index.h("input", { type: "checkbox", id: "expanded", onClick: (e) => this.handleClick(e), tabIndex: -1 }), !!this.visibleLines || !!this.visibleLinesCustom ? (index.h("p", { class: `read-more-text ${this.visibleLines}`, style: {
171
+ WebkitLineClamp: `${this.visibleLinesCustom}`,
172
+ } }, index.h("slot", null))) : null, index.h("label", { onKeyDown: this.handleKeyDown, htmlFor: "expanded", role: "button", class: `${this.zIndex + " " + this.readMorePosition} read-more-cta-label mf-listen`, tabIndex: 0 }, index.h("span", null, this.moreText)))));
173
+ }
174
+ getCssClassMap() {
175
+ return {
176
+ ["box"]: true,
177
+ [this.color]: true,
178
+ [this.size]: true,
179
+ ["add-icon"]: this.isIcon,
180
+ };
181
+ }
182
+ get el() { return index.getElement(this); }
183
+ };
184
+ PtcReadmore.style = ptcReadmoreCss;
185
+
186
+ exports.ptc_readmore = PtcReadmore;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-63ddc79c.js');
6
+
7
+ 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}}";
8
+
9
+ const PtcSpacer = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.breakpoint = "";
13
+ this.size = "medium";
14
+ this.direction = "vertical";
15
+ }
16
+ render() {
17
+ const classMap = this.getCssClassMap();
18
+ return index.h(index.Host, { class: classMap });
19
+ }
20
+ getCssClassMap() {
21
+ return {
22
+ [this.size]: true,
23
+ ["ptc-spacer-horizontal"]: this.direction === "horizontal",
24
+ ["ptc-spacer-vertical"]: this.direction === "vertical",
25
+ ["ptc-spacer-xx-small"]: this.breakpoint === "xx-small",
26
+ ["ptc-spacer-x-small"]: this.breakpoint === "x-small",
27
+ ["ptc-spacer-small"]: this.breakpoint === "small",
28
+ ["ptc-spacer-medium"]: this.breakpoint === "medium",
29
+ ["ptc-spacer-large"]: this.breakpoint === "large",
30
+ ["ptc-spacer-x-large"]: this.breakpoint === "x-large",
31
+ ["ptc-spacer-xx-large"]: this.breakpoint === "xx-large",
32
+ ["ptc-spacer-xxx-large"]: this.breakpoint === "xxx-large",
33
+ };
34
+ }
35
+ };
36
+ PtcSpacer.style = ptcSpacerCss;
37
+
38
+ exports.ptc_spacer = PtcSpacer;
@@ -0,0 +1,161 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-63ddc79c.js');
6
+ const utils = require('./utils-0ff09a53.js');
7
+
8
+ 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}";
9
+
10
+ const PtcTitle = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.isPlmHub = false;
14
+ this.type = "h2";
15
+ this.textAlign = undefined;
16
+ this.upperline = "dotted";
17
+ this.titleShadow = undefined;
18
+ this.titleColor = "gray";
19
+ this.titleMargin = undefined;
20
+ this.titleWeight = undefined;
21
+ this.titleSize = undefined;
22
+ this.titleHeight = "densest";
23
+ this.styles = undefined;
24
+ this.ellipsisLineCutoff = undefined;
25
+ this.titleDisplay = "inline-block";
26
+ this.seoCompatibilityMode = false;
27
+ this.tooltipZIndex = "auto";
28
+ this.tooltipPosition = "bottom";
29
+ this.tooltipTheme = "standard";
30
+ this.enableTooltip = false;
31
+ this.maxChars = undefined;
32
+ this.maxLines = undefined;
33
+ this.hideTooltipOnMobile = false;
34
+ this.ismob = undefined;
35
+ this.tooltipWidth = "default";
36
+ }
37
+ // Tooltip Properties ends
38
+ componentDidLoad() {
39
+ if (this.hideTooltipOnMobile) {
40
+ this.el.classList.add("hide-tooltip-on-mobile");
41
+ }
42
+ this.el.addEventListener("mouseenter", () => this.toggleTitleTooltip(true));
43
+ this.el.addEventListener("mouseleave", () => this.toggleTitleTooltip(false));
44
+ }
45
+ render() {
46
+ if (this.seoCompatibilityMode) {
47
+ return this.seoCompRender();
48
+ }
49
+ else {
50
+ return this.standardRender();
51
+ }
52
+ }
53
+ getSortedText(content) {
54
+ if (!this.enableTooltip)
55
+ return;
56
+ const trimmedContent = content.trim();
57
+ const shouldTruncate = trimmedContent.length > this.maxChars && !this.maxLines;
58
+ return shouldTruncate
59
+ ? trimmedContent.slice(0, this.maxChars) + "..."
60
+ : trimmedContent;
61
+ }
62
+ toggleTitleTooltip(show) {
63
+ var _a;
64
+ const tooltipClass = "tooltip-box";
65
+ const existingTooltip = this.el.querySelector(`.${tooltipClass}`);
66
+ const text = this.el.querySelectorAll(".line-clamp-title");
67
+ let maxLinesShowCheck = false;
68
+ if (text) {
69
+ text.forEach((t) => {
70
+ maxLinesShowCheck = t.scrollHeight > t.clientHeight;
71
+ });
72
+ }
73
+ const ifCharExceeds = this.tooltipText &&
74
+ this.tooltipText.length > this.maxChars &&
75
+ !this.maxLines;
76
+ const ifLinesExceeds = this.maxLines && maxLinesShowCheck;
77
+ if (show && this.enableTooltip) {
78
+ if ((!existingTooltip && ifCharExceeds) ||
79
+ (!existingTooltip && ifLinesExceeds)) {
80
+ const tooltipMarkup = document.createElement("div");
81
+ tooltipMarkup.className = tooltipClass;
82
+ tooltipMarkup.innerText = this.tooltipText;
83
+ tooltipMarkup.style.zIndex = String(this.tooltipZIndex); // Ensures zIndex is a string
84
+ tooltipMarkup.classList.add(this.tooltipPosition, this.tooltipTheme, this.tooltipWidth);
85
+ if (this.hideTooltipOnMobile) {
86
+ tooltipMarkup.classList.add("hide-tooltip-mobile");
87
+ }
88
+ (_a = this.el.querySelector("div")) === null || _a === void 0 ? void 0 : _a.appendChild(tooltipMarkup);
89
+ }
90
+ }
91
+ else {
92
+ existingTooltip === null || existingTooltip === void 0 ? void 0 : existingTooltip.remove();
93
+ }
94
+ }
95
+ seoCompRender() {
96
+ const classMap = this.getCssClassMap();
97
+ const cutOff = this.getLineCuttoff();
98
+ const [TagType, firstChild] = utils.getSeoTagType(this.el, this.type);
99
+ let html = firstChild && firstChild.innerHTML;
100
+ // added for tooltip
101
+ this.tooltipText = html.trim();
102
+ let eleText = firstChild && firstChild.innerText;
103
+ html = this.enableTooltip ? this.getSortedText(eleText) : html;
104
+ if (this.el == firstChild) {
105
+ this.el.innerHTML = "";
106
+ }
107
+ return (index.h(index.Host, null, this.styles && index.h("style", null, this.styles), index.h("div", { class: classMap }, index.h(TagType, { innerHTML: html, style: cutOff, class: this.maxLines && this.maxLines > 0
108
+ ? "line-clamp-title"
109
+ : "" }))));
110
+ }
111
+ standardRender() {
112
+ const classMap = this.getCssClassMap();
113
+ const cutOff = this.getLineCuttoff();
114
+ let TagType;
115
+ switch (this.type) {
116
+ case "h1":
117
+ TagType = "h1";
118
+ break;
119
+ case "h3":
120
+ TagType = "h3";
121
+ break;
122
+ case "h4":
123
+ TagType = "h4";
124
+ break;
125
+ case "h5":
126
+ TagType = "h5";
127
+ break;
128
+ case "h6":
129
+ TagType = "h6";
130
+ break;
131
+ default:
132
+ TagType = "h2";
133
+ }
134
+ return (index.h(index.Host, null, this.styles && index.h("style", null, this.styles), index.h("div", { class: classMap }, index.h(TagType, { style: cutOff }, index.h("slot", null)))));
135
+ }
136
+ getCssClassMap() {
137
+ return {
138
+ [this.textAlign]: !!this.textAlign ? true : false,
139
+ [this.upperline]: true,
140
+ [this.isPlmHub ? "is-plm-hub" : "is-standard"]: true,
141
+ [this.titleMargin]: !!this.titleMargin ? true : false,
142
+ [this.titleShadow]: !!this.titleShadow ? true : false,
143
+ [this.titleWeight]: !!this.titleWeight ? true : false,
144
+ [this.titleSize]: !!this.titleSize ? true : false,
145
+ [this.titleHeight]: !!this.titleHeight ? true : false,
146
+ [this.titleColor]: !!this.titleColor ? true : false,
147
+ ["ellipsis-boxing"]: this.ellipsisLineCutoff && this.ellipsisLineCutoff > 0,
148
+ [this.titleDisplay]: !!this.titleDisplay ? true : false,
149
+ };
150
+ }
151
+ getLineCuttoff() {
152
+ const lineClamp = this.ellipsisLineCutoff > 0
153
+ ? this.ellipsisLineCutoff
154
+ : this.maxLines;
155
+ return lineClamp > 0 ? { "-webkit-line-clamp": `${lineClamp}` } : {};
156
+ }
157
+ get el() { return index.getElement(this); }
158
+ };
159
+ PtcTitle.style = ptcTitleCss;
160
+
161
+ exports.ptc_title = PtcTitle;