@ptcwebops/ptcw-design 6.2.17 → 6.2.18-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 (242) hide show
  1. package/dist/cjs/blog-detail-content_2.cjs.entry.js +1 -1
  2. package/dist/cjs/blog-detail-layout.cjs.entry.js +1 -1
  3. package/dist/cjs/blogs-search-section.cjs.entry.js +1 -1
  4. package/dist/cjs/{component-06dda623.js → component-4dd13907.js} +2643 -832
  5. package/dist/cjs/featured-list.cjs.entry.js +1 -1
  6. package/dist/cjs/homepage-jumbotron.cjs.entry.js +1 -1
  7. package/dist/cjs/homepage-toggled-content.cjs.entry.js +1 -1
  8. package/dist/cjs/{icon-asset_18.cjs.entry.js → icon-asset_13.cjs.entry.js} +7 -286
  9. package/dist/cjs/innovator-toggle-container.cjs.entry.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/modal-form-example.cjs.entry.js +94 -0
  12. package/dist/cjs/most-popular-news.cjs.entry.js +1 -1
  13. package/dist/cjs/my-component.cjs.entry.js +1 -1
  14. package/dist/cjs/ptc-accordion-item.cjs.entry.js +1 -1
  15. package/dist/cjs/ptc-bio-card.cjs.entry.js +1 -1
  16. package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +1 -1
  17. package/dist/cjs/ptc-card_2.cjs.entry.js +2 -2
  18. package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +1 -1
  19. package/dist/cjs/ptc-close-icon_2.cjs.entry.js +1 -1
  20. package/dist/cjs/ptc-collapse-list.cjs.entry.js +15 -20
  21. package/dist/cjs/ptc-data-lookup.cjs.entry.js +1 -2
  22. package/dist/cjs/ptc-featured-list.cjs.entry.js +1 -1
  23. package/dist/cjs/ptc-filter-level-theater.cjs.entry.js +1 -1
  24. package/dist/cjs/ptc-footer.cjs.entry.js +1 -1
  25. package/dist/cjs/{ptc-form-checkbox_2.cjs.entry.js → ptc-form-checkbox_4.cjs.entry.js} +787 -5
  26. package/dist/cjs/ptc-homepage-image-feature.cjs.entry.js +1 -1
  27. package/dist/cjs/ptc-homepage-video-background.cjs.entry.js +1 -1
  28. package/dist/cjs/ptc-icon-card.cjs.entry.js +8 -2
  29. package/dist/cjs/ptc-link.cjs.entry.js +5 -13
  30. package/dist/cjs/ptc-media-card.cjs.entry.js +1 -1
  31. package/dist/cjs/ptc-nav-link.cjs.entry.js +48 -0
  32. package/dist/cjs/ptc-nav-slider.cjs.entry.js +106 -0
  33. package/dist/cjs/ptc-nav-submenu.cjs.entry.js +51 -0
  34. package/dist/cjs/ptc-podcast-card.cjs.entry.js +1 -1
  35. package/dist/cjs/ptc-previous-url.cjs.entry.js +10 -2
  36. package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +1 -1
  37. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +1 -1
  38. package/dist/cjs/ptc-product-card.cjs.entry.js +1 -1
  39. package/dist/cjs/ptc-product-category.cjs.entry.js +1 -1
  40. package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +1 -1
  41. package/dist/cjs/ptc-readmore-char.cjs.entry.js +1 -1
  42. package/dist/cjs/ptc-readmore-v3.cjs.entry.js +1 -1
  43. package/dist/cjs/ptc-social-icons-footer.cjs.entry.js +7 -2
  44. package/dist/cjs/ptc-sticky-section.cjs.entry.js +70 -0
  45. package/dist/cjs/ptc-subnav.cjs.entry.js +37 -0
  46. package/dist/cjs/ptc-tooltip-v2.cjs.entry.js +1 -1
  47. package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +1 -1
  48. package/dist/cjs/ptc-white-paper.cjs.entry.js +1 -1
  49. package/dist/cjs/ptcw-design.cjs.js +1 -1
  50. package/dist/cjs/{utils-87d7b99f.js → utils-ad441b07.js} +9 -0
  51. package/dist/collection/collection-manifest.json +1 -0
  52. package/dist/collection/components/icon-asset/icon-asset.css +0 -6
  53. package/dist/collection/components/icon-asset/media/designer-v6.0.6.svg +30 -2
  54. package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.css +20 -5
  55. package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +19 -1
  56. package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.css +26 -0
  57. package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.js +99 -0
  58. package/dist/collection/components/ptc-bio-card/ptc-bio-card.css +20 -5
  59. package/dist/collection/components/ptc-button/ptc-button.js +4 -1
  60. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.css +10 -0
  61. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +20 -5
  62. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +50 -19
  63. package/dist/collection/components/ptc-featured-list/ptc-featured-list.css +20 -5
  64. package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.css +20 -5
  65. package/dist/collection/components/ptc-footer/ptc-footer-v2.css +14 -1
  66. package/dist/collection/components/ptc-icon-card/ptc-icon-card.css +10 -0
  67. package/dist/collection/components/ptc-icon-card/ptc-icon-card.js +25 -1
  68. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +20 -5
  69. package/dist/collection/components/ptc-link/ptc-link.css +8 -0
  70. package/dist/collection/components/ptc-link/ptc-link.js +4 -12
  71. package/dist/collection/components/ptc-modal/ptc-modal.css +4 -0
  72. package/dist/collection/components/ptc-modal/ptc-modal.js +2 -2
  73. package/dist/collection/components/ptc-para/ptc-para.css +3 -0
  74. package/dist/collection/components/ptc-para/ptc-para.js +2 -2
  75. package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.css +20 -5
  76. package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +24 -46
  77. package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.js +1 -1
  78. package/dist/collection/components/ptc-previous-url/ptc-previous-url.css +16 -0
  79. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +27 -1
  80. package/dist/collection/components/ptc-product-card/ptc-product-card.css +20 -5
  81. package/dist/collection/components/ptc-product-category/ptc-product-category.css +20 -5
  82. package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.css +20 -5
  83. package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.css +20 -5
  84. package/dist/collection/components/ptc-readmore-v3/ptc-readmore-v3.css +20 -5
  85. package/dist/collection/components/ptc-social-icons-footer/ptc-social-icons-footer.css +10 -0
  86. package/dist/collection/components/ptc-social-icons-footer/ptc-social-icons-footer.js +24 -1
  87. package/dist/collection/components/ptc-tooltip-v2/ptc-tooltip-v2.css +20 -5
  88. package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.css +20 -5
  89. package/dist/collection/components/ptc-white-paper/ptc-white-paper.css +20 -5
  90. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.css +7 -0
  91. package/dist/collection/stories/organisms/eSupport/CaseTracker/preview.stories.js +45 -0
  92. package/dist/collection/stories/organisms/eSupport/SupportArticle/preview.stories.js +47 -0
  93. package/dist/collection/stories/organisms/eSupport/SupportPage/preview.stories.js +157 -0
  94. package/dist/collection/utils/utils.js +8 -0
  95. package/dist/custom-elements/index.d.ts +6 -0
  96. package/dist/custom-elements/index.js +171 -66
  97. package/dist/esm/blog-detail-content_2.entry.js +1 -1
  98. package/dist/esm/blog-detail-layout.entry.js +1 -1
  99. package/dist/esm/blogs-search-section.entry.js +1 -1
  100. package/dist/esm/{component-274da230.js → component-9c921cc6.js} +2592 -793
  101. package/dist/esm/featured-list.entry.js +1 -1
  102. package/dist/esm/homepage-jumbotron.entry.js +1 -1
  103. package/dist/esm/homepage-toggled-content.entry.js +1 -1
  104. package/dist/esm/{icon-asset_18.entry.js → icon-asset_13.entry.js} +8 -282
  105. package/dist/esm/innovator-toggle-container.entry.js +1 -1
  106. package/dist/esm/loader.js +1 -1
  107. package/dist/esm/modal-form-example.entry.js +90 -0
  108. package/dist/esm/most-popular-news.entry.js +1 -1
  109. package/dist/esm/my-component.entry.js +1 -1
  110. package/dist/esm/ptc-accordion-item.entry.js +1 -1
  111. package/dist/esm/ptc-bio-card.entry.js +1 -1
  112. package/dist/esm/ptc-card-bottom_2.entry.js +1 -1
  113. package/dist/esm/ptc-card_2.entry.js +2 -2
  114. package/dist/esm/ptc-case-studies-slider.entry.js +1 -1
  115. package/dist/esm/ptc-close-icon_2.entry.js +1 -1
  116. package/dist/esm/ptc-collapse-list.entry.js +15 -20
  117. package/dist/esm/ptc-data-lookup.entry.js +1 -2
  118. package/dist/esm/ptc-featured-list.entry.js +1 -1
  119. package/dist/esm/ptc-filter-level-theater.entry.js +1 -1
  120. package/dist/esm/ptc-footer.entry.js +1 -1
  121. package/dist/esm/{ptc-form-checkbox_2.entry.js → ptc-form-checkbox_4.entry.js} +784 -4
  122. package/dist/esm/ptc-homepage-image-feature.entry.js +1 -1
  123. package/dist/esm/ptc-homepage-video-background.entry.js +1 -1
  124. package/dist/esm/ptc-icon-card.entry.js +9 -3
  125. package/dist/esm/ptc-link.entry.js +5 -13
  126. package/dist/esm/ptc-media-card.entry.js +1 -1
  127. package/dist/esm/ptc-nav-link.entry.js +44 -0
  128. package/dist/esm/ptc-nav-slider.entry.js +102 -0
  129. package/dist/esm/ptc-nav-submenu.entry.js +47 -0
  130. package/dist/esm/ptc-podcast-card.entry.js +1 -1
  131. package/dist/esm/ptc-previous-url.entry.js +10 -2
  132. package/dist/esm/ptc-pricing-packaging-table.entry.js +1 -1
  133. package/dist/esm/ptc-pricing-tabs.entry.js +1 -1
  134. package/dist/esm/ptc-product-card.entry.js +1 -1
  135. package/dist/esm/ptc-product-category.entry.js +1 -1
  136. package/dist/esm/ptc-product-highlight-card.entry.js +1 -1
  137. package/dist/esm/ptc-readmore-char.entry.js +1 -1
  138. package/dist/esm/ptc-readmore-v3.entry.js +1 -1
  139. package/dist/esm/ptc-social-icons-footer.entry.js +7 -2
  140. package/dist/esm/ptc-sticky-section.entry.js +66 -0
  141. package/dist/esm/ptc-subnav.entry.js +33 -0
  142. package/dist/esm/ptc-tooltip-v2.entry.js +1 -1
  143. package/dist/esm/ptc-value-led-speed-bump.entry.js +1 -1
  144. package/dist/esm/ptc-white-paper.entry.js +1 -1
  145. package/dist/esm/ptcw-design.js +1 -1
  146. package/dist/esm/{utils-b7c6422e.js → utils-ff65c75b.js} +9 -1
  147. package/dist/ptcw-design/media/designer-v6.0.6.svg +30 -2
  148. package/dist/ptcw-design/p-01ad1cc2.entry.js +68 -0
  149. package/dist/ptcw-design/{p-6f9b7842.entry.js → p-051ba8f9.entry.js} +1 -1
  150. package/dist/ptcw-design/{p-f7ff8ee1.entry.js → p-0c862dbd.entry.js} +1 -1
  151. package/dist/ptcw-design/p-1adea6a5.entry.js +1 -0
  152. package/dist/ptcw-design/p-20670bc5.entry.js +1 -0
  153. package/dist/ptcw-design/{p-f6c3ae79.entry.js → p-208ca9de.entry.js} +1 -1
  154. package/dist/ptcw-design/p-20d837a9.entry.js +1 -0
  155. package/dist/ptcw-design/{p-dd10fc1f.entry.js → p-20d84f63.entry.js} +1 -1
  156. package/dist/ptcw-design/p-23302a4e.entry.js +1 -0
  157. package/dist/ptcw-design/{p-d2ed7e48.entry.js → p-2a255901.entry.js} +1 -1
  158. package/dist/ptcw-design/{p-ccead907.entry.js → p-2d0a9613.entry.js} +1 -1
  159. package/dist/ptcw-design/{p-ac860994.entry.js → p-2ee3a32b.entry.js} +1 -1
  160. package/dist/ptcw-design/p-330e1a36.entry.js +1 -0
  161. package/dist/ptcw-design/p-3a7c5330.entry.js +1 -0
  162. package/dist/ptcw-design/p-3ada2482.entry.js +1 -0
  163. package/dist/ptcw-design/p-45f01b17.entry.js +1 -0
  164. package/dist/ptcw-design/p-4e41c031.entry.js +1 -0
  165. package/dist/ptcw-design/p-4e8c87e1.entry.js +1 -0
  166. package/dist/ptcw-design/p-5ae21271.entry.js +1 -0
  167. package/dist/ptcw-design/p-6a79e68e.entry.js +1 -0
  168. package/dist/ptcw-design/p-73a41148.entry.js +1 -0
  169. package/dist/ptcw-design/p-8872161f.js +1 -0
  170. package/dist/ptcw-design/{p-0151c2ee.entry.js → p-907727fd.entry.js} +1 -1
  171. package/dist/ptcw-design/p-998265ca.entry.js +1 -0
  172. package/dist/ptcw-design/{p-ade21638.entry.js → p-9b60270e.entry.js} +1 -1
  173. package/dist/ptcw-design/p-9db0897a.entry.js +1 -0
  174. package/dist/ptcw-design/{p-a2e0ebdf.entry.js → p-9e6fb4ba.entry.js} +1 -1
  175. package/dist/ptcw-design/p-a220ab2c.entry.js +1 -0
  176. package/dist/ptcw-design/{p-5db96118.entry.js → p-a560e839.entry.js} +1 -1
  177. package/dist/ptcw-design/p-aba549b7.entry.js +1 -0
  178. package/dist/ptcw-design/p-abdd3b8e.entry.js +1 -0
  179. package/dist/ptcw-design/{p-0596f764.entry.js → p-b1c1de30.entry.js} +1 -1
  180. package/dist/ptcw-design/{p-4f959e8f.entry.js → p-b4ba719a.entry.js} +1 -1
  181. package/dist/ptcw-design/p-b6214065.entry.js +1 -0
  182. package/dist/ptcw-design/p-bcab66bf.js +336 -0
  183. package/dist/ptcw-design/{p-7267b11d.entry.js → p-bf076b87.entry.js} +1 -1
  184. package/dist/ptcw-design/{p-d574d14a.entry.js → p-c9518684.entry.js} +1 -1
  185. package/dist/ptcw-design/p-ca268a17.entry.js +1 -0
  186. package/dist/ptcw-design/{p-e4c56952.entry.js → p-ce6d1c5f.entry.js} +1 -1
  187. package/dist/ptcw-design/p-d5fbe774.entry.js +1 -0
  188. package/dist/ptcw-design/{p-4464123f.entry.js → p-d871e7f7.entry.js} +1 -1
  189. package/dist/ptcw-design/p-dabb1b70.entry.js +1 -0
  190. package/dist/ptcw-design/p-e77d2204.entry.js +1 -0
  191. package/dist/ptcw-design/{p-ace3e87f.entry.js → p-e895bf99.entry.js} +1 -1
  192. package/dist/ptcw-design/p-ef55ab3c.entry.js +1 -0
  193. package/dist/ptcw-design/p-f2006b03.entry.js +1 -0
  194. package/dist/ptcw-design/p-fb2e4612.entry.js +1 -0
  195. package/dist/ptcw-design/{p-ea8e0b2e.entry.js → p-fc0d9251.entry.js} +1 -1
  196. package/dist/ptcw-design/ptcw-design.css +2 -2
  197. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  198. package/dist/types/components/organism-bundles/form/modal-from-example/modal-form-example.d.ts +25 -0
  199. package/dist/types/components/ptc-button/ptc-button.d.ts +1 -0
  200. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +3 -2
  201. package/dist/types/components/ptc-icon-card/ptc-icon-card.d.ts +6 -0
  202. package/dist/types/components/ptc-link/ptc-link.d.ts +1 -0
  203. package/dist/types/components/ptc-modal/ptc-modal.d.ts +1 -1
  204. package/dist/types/components/ptc-para/ptc-para.d.ts +1 -1
  205. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +2 -0
  206. package/dist/types/components/ptc-social-icons-footer/ptc-social-icons-footer.d.ts +5 -0
  207. package/dist/types/components.d.ts +39 -4
  208. package/dist/types/utils/utils.d.ts +1 -0
  209. package/package.json +1 -1
  210. package/readme.md +5 -1
  211. package/dist/cjs/component-5b5b6a98.js +0 -1819
  212. package/dist/cjs/ptc-multi-select_2.cjs.entry.js +0 -670
  213. package/dist/cjs/validation-messages-33a4f26b.js +0 -126
  214. package/dist/esm/component-341e4eaa.js +0 -1802
  215. package/dist/esm/ptc-multi-select_2.entry.js +0 -665
  216. package/dist/esm/validation-messages-adbb6518.js +0 -124
  217. package/dist/ptcw-design/p-03e0fa1d.entry.js +0 -1
  218. package/dist/ptcw-design/p-03f4d5a8.entry.js +0 -1
  219. package/dist/ptcw-design/p-18a5a338.js +0 -1
  220. package/dist/ptcw-design/p-26c1f6a3.entry.js +0 -1
  221. package/dist/ptcw-design/p-2aa419ae.entry.js +0 -1
  222. package/dist/ptcw-design/p-2ead689e.entry.js +0 -1
  223. package/dist/ptcw-design/p-36b5cea1.entry.js +0 -1
  224. package/dist/ptcw-design/p-3df53e71.entry.js +0 -1
  225. package/dist/ptcw-design/p-3e06f959.entry.js +0 -1
  226. package/dist/ptcw-design/p-4819422a.entry.js +0 -1
  227. package/dist/ptcw-design/p-520542e2.entry.js +0 -1
  228. package/dist/ptcw-design/p-6b4c37a1.entry.js +0 -1
  229. package/dist/ptcw-design/p-7c416916.entry.js +0 -1
  230. package/dist/ptcw-design/p-841b807d.js +0 -1
  231. package/dist/ptcw-design/p-899a1931.entry.js +0 -1
  232. package/dist/ptcw-design/p-a14ef9c4.entry.js +0 -1
  233. package/dist/ptcw-design/p-ad4f4f33.entry.js +0 -1
  234. package/dist/ptcw-design/p-afa43eff.entry.js +0 -1
  235. package/dist/ptcw-design/p-be533f0d.js +0 -134
  236. package/dist/ptcw-design/p-c1513c3f.js +0 -203
  237. package/dist/ptcw-design/p-cc62e907.entry.js +0 -1
  238. package/dist/ptcw-design/p-ce6349f1.entry.js +0 -1
  239. package/dist/ptcw-design/p-dd978236.entry.js +0 -1
  240. package/dist/ptcw-design/p-e48bf1ce.entry.js +0 -68
  241. package/dist/ptcw-design/p-e9987674.entry.js +0 -1
  242. package/dist/ptcw-design/p-f5dd551a.entry.js +0 -1
@@ -0,0 +1,99 @@
1
+ import { Host, h } from '@stencil/core';
2
+ export class PtcForm {
3
+ constructor() {
4
+ this.formData = {
5
+ email: '',
6
+ firstName: '',
7
+ lastName: '',
8
+ company: '',
9
+ country: '',
10
+ phone: '',
11
+ inquiryReason: '',
12
+ howhearselfreport: '',
13
+ policyChecked: false,
14
+ };
15
+ }
16
+ // private countryEle: HTMLPtcSelectElement;
17
+ // private inquiryreasonEle: HTMLPtcTextfieldElement;
18
+ // private howhearselfreport: HTMLPtcTextfieldElement;
19
+ componentDidLoad() {
20
+ this.formButton = this.el.querySelector('.form-submit');
21
+ this.formButton.addEventListener('click', this.handleSubmit.bind(this));
22
+ //get Email
23
+ this.emailEle = this.el.querySelector('ptc-textfield[field-id="contact-email"]');
24
+ this.firstNameEle = this.el.querySelector('ptc-textfield[field-id="contact-firstname"]');
25
+ this.lastNameEle = this.el.querySelector('ptc-textfield[field-id="contact-lastname"]');
26
+ this.companyEle = this.el.querySelector('ptc-textfield[field-id="company"]');
27
+ this.phoneEle = this.el.querySelector('ptc-textfield[field-id="contact-phone"]');
28
+ // this.countryEle = this.el.querySelector('ptc-select[field-id="contact-country"]')
29
+ // this.inquiryreasonEle = this.el.querySelector('ptc-textfield[field-id="contact-inquiry"]')
30
+ // this.howhearselfreport = this.el.querySelector('ptc-textfield[field-id="self-reporting"]')
31
+ }
32
+ handleInputChange(field, value) {
33
+ this.formData = Object.assign(Object.assign({}, this.formData), { [field]: value });
34
+ }
35
+ handleSubmit(event) {
36
+ event.preventDefault();
37
+ this.formData.email = this.emailEle.inputValue;
38
+ this.formData.firstName = this.firstNameEle.inputValue;
39
+ this.formData.lastName = this.lastNameEle.inputValue;
40
+ this.formData.company = this.companyEle.inputValue;
41
+ this.formData.phone = this.phoneEle.inputValue;
42
+ // this.formData.country = this.countryEle.inputValue;
43
+ // this.formData.inquiryReason= this.inquiryreasonEle.inputValue;
44
+ // this.formData.howhearselfreport = this.howhearselfreport.inputValue;
45
+ // console.log("get form Data: " + this.formData.email)
46
+ if (this.isValid()) {
47
+ const formSubmitEvent = new CustomEvent('formSubmit', {
48
+ detail: this.formData,
49
+ bubbles: true,
50
+ });
51
+ this.el.dispatchEvent(formSubmitEvent);
52
+ console.log('Form Submitted: ' + this.formData);
53
+ }
54
+ else {
55
+ console.log('Form validation failed');
56
+ console.log('Form Submitted: ' + this.formData.email, this.formData.firstName, this.formData.lastName, this.formData.company, this.formData.phone);
57
+ }
58
+ }
59
+ isValid() {
60
+ const { email, firstName, lastName, company, country, phone, inquiryReason, howhearselfreport, policyChecked } = this.formData;
61
+ const invalidLength = document.querySelectorAll('.invalid-field').length;
62
+ // console.log('invalid fields length: ' + invalidLength), check the select field
63
+ return (email !== '' &&
64
+ phone !== '' &&
65
+ firstName !== '' &&
66
+ lastName !== '' &&
67
+ company !== '' &&
68
+ country !== '' &&
69
+ inquiryReason !== '' &&
70
+ howhearselfreport != '' &&
71
+ policyChecked &&
72
+ invalidLength === 0);
73
+ }
74
+ render() {
75
+ const multiSelectItems = [
76
+ { text: 'Item 1', selected: false, ptcDataEloquaName: 'item_1', ptcDataTargetEloquaName: 'item_target-1' },
77
+ { text: 'Item 2', selected: false, ptcDataEloquaName: 'item_2', ptcDataTargetEloquaName: 'item_target-2' },
78
+ { text: 'Item 3', selected: false, ptcDataEloquaName: 'item_3', ptcDataTargetEloquaName: 'item_target-3' }
79
+ ];
80
+ return (h(Host, null, h("div", { class: "ptc-container u-flex u-flex-justify-center" }, h("div", { class: "form-wrapper" }, h("ptc-title", { "seo-compatibility-mode": true, "text-align": "left", "title-color": "gray", upperline: "no-upperline", "title-display": "inline-block", "title-height": "densest", "title-margin": "margin-flush", "title-weight": "w-7", "is-plm-hub": "false", "title-size": "medium" }, h("h2", null, "PTC\u2019s PLM application suite combines the power of Windchill, the industry\u2019s #1 PLM software with Thingworx")), h("ptc-spacer", { size: "x-small", breakpoint: "small" }), h("ptc-spacer", { size: "small", breakpoint: "x-small" }), h("ptc-para", { "seo-compatibility-mode": true, "font-size": "x-small", "font-weight": "w-4", "para-margin": "margin-flush", "para-style": "main", "para-line-h": "line-height-densest" }, "PTC\u2019s market-leading, purpose-built IIoT platform. The suite offers a mix of Packages, Add-Ons, and Apps to best suit your business needs:"), h("ptc-spacer", { size: "x-small", breakpoint: "small" }), h("ptc-spacer", { size: "small", breakpoint: "x-small" }), h("max-width-container", { "max-width": "277", breakpoint: 480 }, h("ptc-title", { type: "h2", "text-align": "", "title-size": "x-small", "title-color": "gray", upperline: "no-upperline", "title-display": "inline-block", "title-height": "densest", "title-margin": "margin-flush", "title-weight": "w-6", "is-plm-hub": "false" }, "Please fill out the form and a PTC sales representative will be in touch."), h("ptc-spacer", { breakpoint: "x-small", size: "medium" }), h("ptc-spacer", { breakpoint: "x-small", size: "medium" }), h("ptc-spacer", { breakpoint: "small", size: "small" }), h("ptc-spacer", { breakpoint: "small", size: "small" })), h("form", { onSubmit: event => this.handleSubmit(event) }, h("ptc-textfield", { "field-id": "contact-firstname", "label-text": "First Name*", type: "text", "ptc-data-eloqua-name": "C_FirstName", "field-name": "firstname" }), h("ptc-textfield", { "field-id": "contact-lastname", "label-text": "Last Name*", type: "text", "ptc-data-eloqua-name": "C_LastName", "field-name": "lastname" }), h("ptc-textfield", { "field-id": "company", "label-text": "Company*", type: "text", "ptc-data-eloqua-name": "C_Company", "field-name": "company" }), h("ptc-textfield", { "field-id": "contact-email", "label-text": "Email*", type: "email", "ptc-data-eloqua-name": "C_EmailAddress", "field-name": "email" }), h("ptc-textfield", { "field-id": "company-email", "label-text": "Company Email*", type: "email", "ptc-data-eloqua-name": "C_EmailAddress", "field-name": "companyemail" }), h("ptc-select", { "field-id": "contact-country", label: "Country*", "ptc-data-eloqua-name": "C_Country", "field-name": "country" }, h("ul", { class: "mdc-list" }, h("li", { class: "mdc-list-item placehoder-li", "data-value": "" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "Select a country")), h("li", { class: "mdc-list-item", "data-value": "USA" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "USA")), h("li", { class: "mdc-list-item", "data-value": "Canada" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "Canada")), h("li", { class: "mdc-list-item", "data-value": "China" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "China")))), h("ptc-textfield", { "field-id": "contact-phone", "label-text": "Phone*", type: "tel", "ptc-data-eloqua-name": "C_BusPhone", "field-name": "phone" }), h("ptc-select", { label: "What information are you interested in?*", "ptc-data-eloqua-name": "Inquiry_Reason", "field-name": "inquiryreason", "field-id": "contact-inquiry" }, h("ul", { class: "mdc-list" }, h("li", { class: "mdc-list-item", "data-value": "Please select a value" }, h("span", { class: "mdc-list-item__ripple" })), h("li", { class: "mdc-list-item", "data-value": "Augmented Reality (AR)" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "Augmented Reality (AR)")), h("li", { class: "mdc-list-item", "data-value": "CAD" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "Computer Aided Design")), h("li", { class: "mdc-list-item", "data-value": "Retail(FlexPLM)" }, h("span", { class: "mdc-list-item__ripple" }), h("span", { class: "mdc-list-item__text" }, "Fashion and Retail Product Lifecycle Management")))), h("ptc-multi-select", { items: multiSelectItems, "is-required": 'true' }), h("ptc-textfield", { "field-id": "Self-Reporting", "label-text": "How can we help you?*", type: "text", "ptc-data-eloqua-name": "HowHearSelfReport", "ptc-max-length": "100", "field-name": "howhearselfreport" }), h("ptc-form-checkbox", { label: "I agree to the policy", "checkbox-id": "test" }), h("div", { class: "button-wrapper" }, h("ptc-button", { class: "form-submit", color: "ptc-quaternary", type: "submit", styles: ":host{align-self:flex-end; display:block; float: left; width: fit-content;}" }, "Submit"), h("ptc-button", { class: "form-close", color: "ptc-tertiary", type: "button", styles: ":host{align-self:flex-end; display:block; float: left; width: fit-content;}" }, "Cancel")))))));
81
+ }
82
+ static get is() { return "modal-form-example"; }
83
+ static get originalStyleUrls() {
84
+ return {
85
+ "$": ["modal-form-example.css"]
86
+ };
87
+ }
88
+ static get styleUrls() {
89
+ return {
90
+ "$": ["modal-form-example.css"]
91
+ };
92
+ }
93
+ static get states() {
94
+ return {
95
+ "formData": {}
96
+ };
97
+ }
98
+ static get elementRef() { return "el"; }
99
+ }
@@ -82,23 +82,38 @@ a:focus-visible {
82
82
  border-radius: var(--ptc-border-radius-standard);
83
83
  }
84
84
 
85
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-plm-grey a.light-link {
85
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-plm-grey a.light-link {
86
86
  color: var(--color-blue-04);
87
+ margin: -2px;
88
+ border: 2px solid transparent;
87
89
  }
88
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-plm-grey a.light-link:visited {
90
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-plm-grey a.light-link:visited {
89
91
  color: var(--color-blue-06);
90
92
  }
91
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
93
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
92
94
  transition: none;
93
95
  color: var(--color-blue-07);
94
96
  }
95
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
97
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
96
98
  color: var(--color-blue-05);
97
99
  }
98
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-plm-grey a.light-link.disabled {
100
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-plm-grey a.light-link.disabled {
99
101
  color: var(--color-gray-04) !important;
100
102
  cursor: not-allowed;
101
103
  }
104
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .light-links a.light-link:focus-visible, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-grey-10 a.light-link:focus-visible, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-plm-grey a.light-link:focus-visible {
105
+ border-radius: var(--ptc-border-radius-standard);
106
+ border: 2px solid white;
107
+ outline: 5px solid var(--keyboard-nav-outline);
108
+ }
109
+ .light-links .podcast-cta-section a, .background-grey-10 .podcast-cta-section a, .background-plm-grey .podcast-cta-section a {
110
+ border: 2px solid transparent;
111
+ }
112
+ .light-links .podcast-cta-section a:focus-visible, .background-grey-10 .podcast-cta-section a:focus-visible, .background-plm-grey .podcast-cta-section a:focus-visible {
113
+ border-radius: var(--ptc-border-radius-standard);
114
+ border: 2px solid white;
115
+ outline: 5px solid var(--keyboard-nav-outline);
116
+ }
102
117
 
103
118
  .ptc-link {
104
119
  color: var(--color-gray-10);
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from '@stencil/core';
2
- import { getSeoTagType } from '../../utils/utils';
2
+ import { getSeoTagType, CheckDarkFocusState } from '../../utils/utils';
3
3
  export class PtcButton {
4
4
  constructor() {
5
5
  this.disabled = false;
@@ -27,6 +27,9 @@ export class PtcButton {
27
27
  clickEventHandler() {
28
28
  this.clickEvent.emit();
29
29
  }
30
+ componentWillLoad() {
31
+ CheckDarkFocusState(this, this.el);
32
+ }
30
33
  seoCompRender() {
31
34
  const classMap = this.getCssClassMap();
32
35
  const Tag = !!this.linkHref ? 'a' : 'button';
@@ -164,11 +164,21 @@ ptc-link, ptc-square-card,
164
164
  border-radius: var(--ptc-border-radius-large);
165
165
  transition: background var(--ptc-transition-medium) var(--ptc-ease-inout);
166
166
  }
167
+ :host(.extra-tall) a:focus-visible {
168
+ border-radius: var(--ptc-border-radius-standard);
169
+ outline: 5px solid var(--keyboard-nav-outline);
170
+ }
167
171
 
168
172
  :host(.color-outlined) {
169
173
  position: relative;
170
174
  border-radius: var(--ptc-border-radius-large);
171
175
  }
176
+ :host(.color-outlined) a:focus-visible {
177
+ box-shadow: 0 0 0 5px var(--keyboard-nav-outline);
178
+ border-radius: var(--ptc-border-radius-standard) !important;
179
+ display: block;
180
+ outline: none;
181
+ }
172
182
 
173
183
  :host(.card-video-p) {
174
184
  padding: var(--ptc-element-spacing-05);
@@ -781,23 +781,38 @@ a:focus-visible {
781
781
  border-radius: var(--ptc-border-radius-standard);
782
782
  }
783
783
 
784
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-plm-grey a.light-link {
784
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-plm-grey a.light-link {
785
785
  color: var(--color-blue-04);
786
+ margin: -2px;
787
+ border: 2px solid transparent;
786
788
  }
787
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-plm-grey a.light-link:visited {
789
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-plm-grey a.light-link:visited {
788
790
  color: var(--color-blue-06);
789
791
  }
790
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
792
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
791
793
  transition: none;
792
794
  color: var(--color-blue-07);
793
795
  }
794
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
796
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
795
797
  color: var(--color-blue-05);
796
798
  }
797
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-plm-grey a.light-link.disabled {
799
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-plm-grey a.light-link.disabled {
798
800
  color: var(--color-gray-04) !important;
799
801
  cursor: not-allowed;
800
802
  }
803
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .light-links a.light-link:focus-visible, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-grey-10 a.light-link:focus-visible, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-plm-grey a.light-link:focus-visible {
804
+ border-radius: var(--ptc-border-radius-standard);
805
+ border: 2px solid white;
806
+ outline: 5px solid var(--keyboard-nav-outline);
807
+ }
808
+ .light-links .podcast-cta-section a, .background-grey-10 .podcast-cta-section a, .background-plm-grey .podcast-cta-section a {
809
+ border: 2px solid transparent;
810
+ }
811
+ .light-links .podcast-cta-section a:focus-visible, .background-grey-10 .podcast-cta-section a:focus-visible, .background-plm-grey .podcast-cta-section a:focus-visible {
812
+ border-radius: var(--ptc-border-radius-standard);
813
+ border: 2px solid white;
814
+ outline: 5px solid var(--keyboard-nav-outline);
815
+ }
801
816
 
802
817
  .ptc-link {
803
818
  color: var(--color-gray-10);
@@ -8,6 +8,7 @@ export class PtcCollapseList {
8
8
  constructor() {
9
9
  this.data = undefined;
10
10
  this.searchText = undefined;
11
+ this.listOpened = false;
11
12
  this.showSearchBar = true;
12
13
  this.header = undefined;
13
14
  this.trackerId = undefined;
@@ -20,6 +21,7 @@ export class PtcCollapseList {
20
21
  this.placeholderText = undefined;
21
22
  this.debounceUpdateDelay = undefined;
22
23
  this.allowMultiSelect = true;
24
+ this.expandFirstItem = false;
23
25
  }
24
26
  componentWillLoad() {
25
27
  this.loadListItems();
@@ -40,20 +42,18 @@ export class PtcCollapseList {
40
42
  });
41
43
  };
42
44
  this.debouncedUpdatedEvent = debounce(event, this.debounceUpdateDelay, this);
43
- this.openList();
45
+ if (this.expandFirstItem) {
46
+ this.firstItemExpand();
47
+ }
44
48
  }
45
- openList() {
49
+ firstItemExpand() {
46
50
  var _a;
47
- const listitem = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.listOpen');
48
- listitem.forEach((item) => {
49
- if (item.classList.contains('listOpen')) {
50
- item === null || item === void 0 ? void 0 : item.classList.add('expanded');
51
- const ulElement = item === null || item === void 0 ? void 0 : item.querySelector('ul');
52
- if (ulElement) {
53
- ulElement.style.maxHeight = `${ulElement.scrollHeight}px`;
54
- }
55
- }
56
- });
51
+ const firstItem = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.level-1');
52
+ firstItem === null || firstItem === void 0 ? void 0 : firstItem.classList.add('expanded');
53
+ const ulElement = firstItem === null || firstItem === void 0 ? void 0 : firstItem.querySelector('ul');
54
+ if (ulElement) {
55
+ ulElement.style.maxHeight = `${ulElement.scrollHeight}px`;
56
+ }
57
57
  }
58
58
  componentDidUpdate() {
59
59
  this.viewUpdated.emit({
@@ -127,8 +127,6 @@ export class PtcCollapseList {
127
127
  newItem.searchBoxPlaceholder = z.placeholderText;
128
128
  newItem.tooltip = z.tooltip;
129
129
  this.setUpCategory(newItem.category, newItem.allowMultiSelect);
130
- // Ensure listOpened is set based on is-list-opened attribute
131
- newItem.listOpened = z.hasOwnProperty('listOpened');
132
130
  }
133
131
  if (z.collapseListItem) {
134
132
  newItem.children = new Array();
@@ -165,7 +163,7 @@ export class PtcCollapseList {
165
163
  collapseAllFirstLevelItems(exclude) {
166
164
  let items = this.el.shadowRoot.querySelectorAll('.level-1');
167
165
  items.forEach((z) => {
168
- if (z.classList.contains('expanded') && z != exclude) {
166
+ if (z.classList.contains('expanded') && z != exclude && !this.listOpened) {
169
167
  z.classList.remove('expanded');
170
168
  }
171
169
  });
@@ -410,10 +408,7 @@ export class PtcCollapseList {
410
408
  expandable = false;
411
409
  }
412
410
  }
413
- return (h("li", { id: z.trackerId, class: {
414
- [levelClass]: true,
415
- listOpen: z.listOpened
416
- } }, getLink(z, icon, level, expandable, selectable), z.children ? renderLevel(z.children, level + 1, searchOptions) : ''));
411
+ return (h("li", { id: z.trackerId, class: levelClass }, getLink(z, icon, level, expandable, selectable), z.children ? renderLevel(z.children, level + 1, searchOptions) : ''));
417
412
  })));
418
413
  };
419
414
  let getLink = (item, icon, level, expandable, selectable) => {
@@ -470,6 +465,24 @@ export class PtcCollapseList {
470
465
  }
471
466
  static get properties() {
472
467
  return {
468
+ "listOpened": {
469
+ "type": "boolean",
470
+ "mutable": false,
471
+ "complexType": {
472
+ "original": "boolean",
473
+ "resolved": "boolean",
474
+ "references": {}
475
+ },
476
+ "required": false,
477
+ "optional": false,
478
+ "docs": {
479
+ "tags": [],
480
+ "text": ""
481
+ },
482
+ "attribute": "list-opened",
483
+ "reflect": false,
484
+ "defaultValue": "false"
485
+ },
473
486
  "showSearchBar": {
474
487
  "type": "boolean",
475
488
  "mutable": false,
@@ -592,6 +605,24 @@ export class PtcCollapseList {
592
605
  "attribute": "allow-multi-select",
593
606
  "reflect": false,
594
607
  "defaultValue": "true"
608
+ },
609
+ "expandFirstItem": {
610
+ "type": "boolean",
611
+ "mutable": false,
612
+ "complexType": {
613
+ "original": "boolean",
614
+ "resolved": "boolean",
615
+ "references": {}
616
+ },
617
+ "required": false,
618
+ "optional": false,
619
+ "docs": {
620
+ "tags": [],
621
+ "text": ""
622
+ },
623
+ "attribute": "expand-first-item",
624
+ "reflect": false,
625
+ "defaultValue": "false"
595
626
  }
596
627
  };
597
628
  }
@@ -82,23 +82,38 @@ a:focus-visible {
82
82
  border-radius: var(--ptc-border-radius-standard);
83
83
  }
84
84
 
85
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-plm-grey a.light-link {
85
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-plm-grey a.light-link {
86
86
  color: var(--color-blue-04);
87
+ margin: -2px;
88
+ border: 2px solid transparent;
87
89
  }
88
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-plm-grey a.light-link:visited {
90
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-plm-grey a.light-link:visited {
89
91
  color: var(--color-blue-06);
90
92
  }
91
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
93
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
92
94
  transition: none;
93
95
  color: var(--color-blue-07);
94
96
  }
95
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
97
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
96
98
  color: var(--color-blue-05);
97
99
  }
98
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-plm-grey a.light-link.disabled {
100
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-plm-grey a.light-link.disabled {
99
101
  color: var(--color-gray-04) !important;
100
102
  cursor: not-allowed;
101
103
  }
104
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .light-links a.light-link:focus-visible, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-grey-10 a.light-link:focus-visible, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-plm-grey a.light-link:focus-visible {
105
+ border-radius: var(--ptc-border-radius-standard);
106
+ border: 2px solid white;
107
+ outline: 5px solid var(--keyboard-nav-outline);
108
+ }
109
+ .light-links .podcast-cta-section a, .background-grey-10 .podcast-cta-section a, .background-plm-grey .podcast-cta-section a {
110
+ border: 2px solid transparent;
111
+ }
112
+ .light-links .podcast-cta-section a:focus-visible, .background-grey-10 .podcast-cta-section a:focus-visible, .background-plm-grey .podcast-cta-section a:focus-visible {
113
+ border-radius: var(--ptc-border-radius-standard);
114
+ border: 2px solid white;
115
+ outline: 5px solid var(--keyboard-nav-outline);
116
+ }
102
117
 
103
118
  .ptc-link {
104
119
  color: var(--color-gray-10);
@@ -139,23 +139,38 @@ a:focus-visible {
139
139
  border-radius: var(--ptc-border-radius-standard);
140
140
  }
141
141
 
142
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a), .background-plm-grey a.light-link {
142
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .light-links a.light-link, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-grey-10 a.light-link, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a), .background-plm-grey a.light-link {
143
143
  color: var(--color-blue-04);
144
+ margin: -2px;
145
+ border: 2px solid transparent;
144
146
  }
145
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited, .background-plm-grey a.light-link:visited {
147
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .light-links a.light-link:visited, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-grey-10 a.light-link:visited, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited, .background-plm-grey a.light-link:visited {
146
148
  color: var(--color-blue-06);
147
149
  }
148
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
150
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .light-links a.light-link:active, .light-links a.light-link:visited:active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-grey-10 a.light-link:active, .background-grey-10 a.light-link:visited:active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):active, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:active, .background-plm-grey a.light-link:active, .background-plm-grey a.light-link:visited:active {
149
151
  transition: none;
150
152
  color: var(--color-blue-07);
151
153
  }
152
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
154
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .light-links a.light-link:hover, .light-links a.light-link:visited:hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-grey-10 a.light-link:hover, .background-grey-10 a.light-link:visited:hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):hover, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):visited:hover, .background-plm-grey a.light-link:hover, .background-plm-grey a.light-link:visited:hover {
153
155
  color: var(--color-blue-05);
154
156
  }
155
- .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a).disabled, .background-plm-grey a.light-link.disabled {
157
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .light-links a.light-link.disabled, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-grey-10 a.light-link.disabled, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a).disabled, .background-plm-grey a.light-link.disabled {
156
158
  color: var(--color-gray-04) !important;
157
159
  cursor: not-allowed;
158
160
  }
161
+ .light-links a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .light-links a.light-link:focus-visible, .background-grey-10 a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-grey-10 a.light-link:focus-visible, .background-plm-grey a:not(.hero-footer-form-wrapper a, ptc-modal inline-form a, .podcast-cta-section a):focus-visible, .background-plm-grey a.light-link:focus-visible {
162
+ border-radius: var(--ptc-border-radius-standard);
163
+ border: 2px solid white;
164
+ outline: 5px solid var(--keyboard-nav-outline);
165
+ }
166
+ .light-links .podcast-cta-section a, .background-grey-10 .podcast-cta-section a, .background-plm-grey .podcast-cta-section a {
167
+ border: 2px solid transparent;
168
+ }
169
+ .light-links .podcast-cta-section a:focus-visible, .background-grey-10 .podcast-cta-section a:focus-visible, .background-plm-grey .podcast-cta-section a:focus-visible {
170
+ border-radius: var(--ptc-border-radius-standard);
171
+ border: 2px solid white;
172
+ outline: 5px solid var(--keyboard-nav-outline);
173
+ }
159
174
 
160
175
  .ptc-link {
161
176
  color: var(--color-gray-10);
@@ -67,11 +67,12 @@ ptc-footer ul {
67
67
  list-style: none;
68
68
  }
69
69
  ptc-footer ul li a {
70
+ margin: -2px;
71
+ border: 2px solid transparent;
70
72
  text-decoration: underline;
71
73
  text-underline-offset: 6px;
72
74
  text-decoration-thickness: 1px;
73
75
  text-decoration-color: transparent;
74
- border-bottom: none;
75
76
  transition: text-decoration var(--ptc-transition-medium) var(--ptc-ease-inout);
76
77
  color: var(--color-white) !important;
77
78
  }
@@ -87,6 +88,11 @@ ptc-footer ul li a:active {
87
88
  transition: none;
88
89
  text-decoration-color: var(--color-gray-04);
89
90
  }
91
+ ptc-footer ul li a:focus-visible {
92
+ border-radius: var(--ptc-border-radius-standard);
93
+ border: 2px solid white;
94
+ outline: 5px solid var(--keyboard-nav-outline);
95
+ }
90
96
  ptc-footer .gap-20 {
91
97
  grid-column-gap: 20px;
92
98
  grid-row-gap: 20px;
@@ -237,11 +243,18 @@ ptc-footer .footer-bottom ul li, ptc-footer .footer-bottom ol li {
237
243
  font-size: var(--ptc-font-size-xx-small);
238
244
  }
239
245
  ptc-footer .footer-bottom .logo {
246
+ margin: -2px;
240
247
  margin-bottom: var(--ptc-element-spacing-06);
241
248
  }
242
249
  ptc-footer .footer-bottom .logo a {
250
+ border: 2px solid transparent;
243
251
  display: inline-block;
244
252
  }
253
+ ptc-footer .footer-bottom .logo a:focus-visible {
254
+ border-radius: var(--ptc-border-radius-standard);
255
+ border: 2px solid white;
256
+ outline: 5px solid var(--keyboard-nav-outline);
257
+ }
245
258
  ptc-footer .footer-bottom .logo .footer-ptc-logo {
246
259
  width: 78px;
247
260
  height: 28px;
@@ -71,6 +71,7 @@ ptc-link, ptc-square-card,
71
71
  padding: 20px;
72
72
  background-color: var(--color-gray-10);
73
73
  border-radius: var(--ptc-border-radius-standard);
74
+ border: 2px solid transparent;
74
75
  align-items: center;
75
76
  text-decoration: none;
76
77
  text-align: center;
@@ -109,6 +110,15 @@ ptc-link, ptc-square-card,
109
110
  :host a span {
110
111
  display: block;
111
112
  }
113
+ :host a:focus-visible {
114
+ border-radius: var(--ptc-border-radius-standard);
115
+ outline: 5px solid var(--keyboard-nav-outline);
116
+ }
117
+ :host .dark-bg a:focus-visible {
118
+ border-radius: var(--ptc-border-radius-standard);
119
+ border: 2px solid white;
120
+ outline: 5px solid var(--keyboard-nav-outline);
121
+ }
112
122
  :host .card-icon {
113
123
  width: 2rem;
114
124
  height: 2rem;
@@ -1,12 +1,17 @@
1
1
  import { Host, h } from '@stencil/core';
2
+ import { CheckDarkFocusState } from '../../utils/utils';
2
3
  export class PtcIconCard {
3
4
  constructor() {
4
5
  this.cardHref = undefined;
5
6
  this.target = undefined;
6
7
  this.trackerId = undefined;
8
+ this.darkFocusState = false;
9
+ }
10
+ componentWillLoad() {
11
+ CheckDarkFocusState(this, this.el, '.light-links,ptc-footer');
7
12
  }
8
13
  render() {
9
- return (h(Host, null, h("div", { id: this.trackerId, class: "tracker-div mf-listen" }, h("a", { href: this.cardHref, target: this.target }, h("div", null, h("span", { class: 'card-icon' }, h("slot", null)), h("div", { class: 'card-title' }, h("slot", { name: 'card-title' })))))));
14
+ return (h(Host, null, h("div", { id: this.trackerId, class: this.darkFocusState ? `tracker-div mf-listen dark-bg` : `tracker-div mf-listenstandard-bg` }, h("a", { href: this.cardHref, target: this.target }, h("div", null, h("span", { class: 'card-icon' }, h("slot", null)), h("div", { class: 'card-title' }, h("slot", { name: 'card-title' })))))));
10
15
  }
11
16
  static get is() { return "ptc-icon-card"; }
12
17
  static get encapsulation() { return "shadow"; }
@@ -72,7 +77,26 @@ export class PtcIconCard {
72
77
  },
73
78
  "attribute": "tracker-id",
74
79
  "reflect": false
80
+ },
81
+ "darkFocusState": {
82
+ "type": "boolean",
83
+ "mutable": false,
84
+ "complexType": {
85
+ "original": "boolean",
86
+ "resolved": "boolean",
87
+ "references": {}
88
+ },
89
+ "required": false,
90
+ "optional": false,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": "Add dark-focus-state property where button is present on dark backgrounds"
94
+ },
95
+ "attribute": "dark-focus-state",
96
+ "reflect": false,
97
+ "defaultValue": "false"
75
98
  }
76
99
  };
77
100
  }
101
+ static get elementRef() { return "el"; }
78
102
  }