@ptcwebops/ptcw-design 6.1.20 → 6.1.22

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 (59) hide show
  1. package/dist/cjs/fl-tab-content_3.cjs.entry.js +8 -6
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +1 -1
  4. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +17 -50
  5. package/dist/cjs/ptc-featured-list.cjs.entry.js +93 -7
  6. package/dist/cjs/ptc-para_3.cjs.entry.js +1 -1
  7. package/dist/cjs/ptc-product-card.cjs.entry.js +1 -2
  8. package/dist/cjs/ptc-product-category.cjs.entry.js +1 -2
  9. package/dist/cjs/ptc-related-card-rail.cjs.entry.js +1 -1
  10. package/dist/cjs/ptcw-design.cjs.js +1 -1
  11. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +1 -1
  12. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.css +1 -9
  13. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +16 -49
  14. package/dist/collection/components/ptc-featured-list/fl-tab-content/fl-tab-content.css +12 -0
  15. package/dist/collection/components/ptc-featured-list/fl-tab-content/fl-tab-content.js +1 -17
  16. package/dist/collection/components/ptc-featured-list/fl-tab-header/fl-tab-header.css +1 -1
  17. package/dist/collection/components/ptc-featured-list/fl-tab-header/fl-tab-header.js +4 -1
  18. package/dist/collection/components/ptc-featured-list/fl-tab-image/fl-tab-image.css +4 -0
  19. package/dist/collection/components/ptc-featured-list/ptc-featured-list.js +106 -8
  20. package/dist/collection/components/ptc-product-card/ptc-product-card.js +1 -19
  21. package/dist/collection/components/ptc-product-category/ptc-product-category.js +1 -19
  22. package/dist/collection/components/ptc-readmore/ptc-readmore.css +7 -0
  23. package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.js +1 -1
  24. package/dist/custom-elements/index.js +127 -74
  25. package/dist/esm/fl-tab-content_3.entry.js +8 -6
  26. package/dist/esm/loader.js +1 -1
  27. package/dist/esm/ptc-card-bottom_2.entry.js +1 -1
  28. package/dist/esm/ptc-dynamic-card.entry.js +17 -50
  29. package/dist/esm/ptc-featured-list.entry.js +93 -7
  30. package/dist/esm/ptc-para_3.entry.js +1 -1
  31. package/dist/esm/ptc-product-card.entry.js +1 -2
  32. package/dist/esm/ptc-product-category.entry.js +1 -2
  33. package/dist/esm/ptc-related-card-rail.entry.js +1 -1
  34. package/dist/esm/ptcw-design.js +1 -1
  35. package/dist/ptcw-design/p-0b2c2c87.entry.js +1 -0
  36. package/dist/ptcw-design/p-15781e09.entry.js +1 -0
  37. package/dist/ptcw-design/p-2657df50.entry.js +1 -0
  38. package/dist/ptcw-design/p-287fbd96.entry.js +1 -0
  39. package/dist/ptcw-design/p-4f48b87d.entry.js +1 -0
  40. package/dist/ptcw-design/{p-1fbfa21d.entry.js → p-4fad31c1.entry.js} +1 -1
  41. package/dist/ptcw-design/p-e16debcd.entry.js +1 -0
  42. package/dist/ptcw-design/{p-d5c19775.entry.js → p-fd11f2a8.entry.js} +1 -1
  43. package/dist/ptcw-design/ptcw-design.css +1 -1
  44. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  45. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +1 -0
  46. package/dist/types/components/ptc-featured-list/fl-tab-content/fl-tab-content.d.ts +0 -1
  47. package/dist/types/components/ptc-featured-list/fl-tab-header/fl-tab-header.d.ts +1 -0
  48. package/dist/types/components/ptc-featured-list/ptc-featured-list.d.ts +6 -2
  49. package/dist/types/components/ptc-product-card/ptc-product-card.d.ts +0 -5
  50. package/dist/types/components/ptc-product-category/ptc-product-category.d.ts +0 -1
  51. package/dist/types/components.d.ts +0 -12
  52. package/package.json +1 -1
  53. package/readme.md +1 -1
  54. package/dist/ptcw-design/p-1fc5187a.entry.js +0 -1
  55. package/dist/ptcw-design/p-93b33ec0.entry.js +0 -1
  56. package/dist/ptcw-design/p-b88080da.entry.js +0 -1
  57. package/dist/ptcw-design/p-c87ae23f.entry.js +0 -1
  58. package/dist/ptcw-design/p-e77728fa.entry.js +0 -1
  59. package/dist/ptcw-design/p-ee3178d5.entry.js +0 -1
@@ -73,12 +73,6 @@ ptc-link, ptc-square-card,
73
73
  background-color: var(--color-gray-12);
74
74
  overflow: hidden;
75
75
  }
76
- :host(.sequential) .card.hide {
77
- display: none;
78
- }
79
- :host(.sequential) .card.show {
80
- display: block;
81
- }
82
76
  :host(.sequential) .card-mobile, :host(.sequential) .card-dt-open {
83
77
  display: block;
84
78
  }
@@ -176,6 +170,7 @@ ptc-link, ptc-square-card,
176
170
  border-top: 5px solid var(--color-green-05);
177
171
  display: flex;
178
172
  max-width: 790px;
173
+ height: 480px;
179
174
  transition: width var(--ptc-transition-x-fast) var(--ptc-ease-out);
180
175
  }
181
176
  @media only screen and (min-width: 1440px) {
@@ -183,9 +178,6 @@ ptc-link, ptc-square-card,
183
178
  max-width: 825px;
184
179
  }
185
180
  }
186
- :host(.sequential) .card-dt-open:not([hidden]) {
187
- height: 480px;
188
- }
189
181
  :host(.sequential):host(.active) .card-mobile::before {
190
182
  background-color: var(--color-green-05);
191
183
  }
@@ -70,57 +70,24 @@ export class PtcDynamicCard {
70
70
  /**
71
71
  * Get desktop card based on expansion state
72
72
  */
73
- // getDesktopCard() {
74
- // if (this.cardScreen === 'desktop' && this.isExpanded) {
75
- // return [
76
- // <div class="card card-dt-open mf-listen" id={this.trackerId}>
77
- // <ptc-card-content card-type="card-dynamic">
78
- // <div class="card-title">
79
- // <h3>{this.cardTitle}</h3>
80
- // </div>
81
- // <div class="card-content">
82
- // <slot></slot>
83
- // </div>
84
- // </ptc-card-content>
85
- // <ptc-picture
86
- // alt={this.cardImgAlt}
87
- // src={this.cardImgSrc}
88
- // is-full-width="true"
89
- // is-full-height="true"
90
- // image-alignment="center"
91
- // ></ptc-picture>
92
- // </div>,
93
- // ];
94
- // } else if (this.cardScreen === 'desktop' && !this.isExpanded) {
95
- // return [
96
- // <div class="card card-dt-closed mf-listen" id={this.trackerId}>
97
- // <ptc-picture
98
- // alt={this.cardImgAlt}
99
- // src={this.cardImgSrc}
100
- // image-position="relative"
101
- // is-full-width
102
- // height="424"
103
- // >
104
- // {this.overlayExists ? (
105
- // <ptc-overlay filter-color="solid-black-1"></ptc-overlay>
106
- // ) : (
107
- // <ptc-overlay filter-color="solid-black-2"></ptc-overlay>
108
- // )}
109
- // </ptc-picture>
110
- // <div class="closed-content" card-type="card-dynamic">
111
- // <div class="card-title">
112
- // <h2>{this.cardTitle}</h2>
113
- // </div>
114
- // </div>
115
- // </div>,
116
- // ];
117
- // } else {
118
- // return null;
119
- // }
120
- // }
73
+ getDesktopCard() {
74
+ if (this.cardScreen === 'desktop' && this.isExpanded) {
75
+ return [
76
+ h("div", { class: "card card-dt-open mf-listen", id: this.trackerId }, h("ptc-card-content", { "card-type": "card-dynamic" }, h("div", { class: "card-title" }, h("h3", null, this.cardTitle)), h("div", { class: "card-content" }, h("slot", null))), h("ptc-picture", { alt: this.cardImgAlt, src: this.cardImgSrc, "is-full-width": "true", "is-full-height": "true", "image-alignment": "center" })),
77
+ ];
78
+ }
79
+ else if (this.cardScreen === 'desktop' && !this.isExpanded) {
80
+ return [
81
+ h("div", { class: "card card-dt-closed mf-listen", id: this.trackerId }, h("ptc-picture", { alt: this.cardImgAlt, src: this.cardImgSrc, "image-position": "relative", "is-full-width": true, height: "424" }, this.overlayExists ? (h("ptc-overlay", { "filter-color": "solid-black-1" })) : (h("ptc-overlay", { "filter-color": "solid-black-2" }))), h("div", { class: "closed-content", "card-type": "card-dynamic" }, h("div", { class: "card-title" }, h("h2", null, this.cardTitle)))),
82
+ ];
83
+ }
84
+ else {
85
+ return null;
86
+ }
87
+ }
121
88
  render() {
122
89
  const classMap = this.getCssClassMap();
123
- return (h(Host, { class: classMap }, this.styles && h("style", null, this.styles), h("div", { class: "card-wrapper mf-listen", role: "button", tabindex: "0", "aria-expanded": this.isExpanded, onClick: this.openCard, onKeyDown: this.handleKeyDown }, this.cardScreen === 'mobile' ? (h("div", { class: "card card-mobile mf-listen", id: this.trackerId }, h("ptc-picture", { height: "287", "is-full-width": true, alt: this.cardImgAlt, src: this.cardImgSrc }), h("ptc-card-content", { "card-type": "card-dynamic", styles: ":host(.card-dynamic){height: auto;}" }, h("div", { class: "card-title" }, h("h3", null, this.cardTitle)), h("div", { class: "card-content" }, h("slot", null))))) : (h("div", null, h("div", Object.assign({}, !this.isExpanded && { hidden: 'until-found' }, { onBeforeMatch: this.openCard.bind(this), class: `card card-dt-open mf-listen`, id: this.trackerId }), h("ptc-card-content", { "card-type": "card-dynamic" }, h("div", { class: "card-title" }, h("h3", null, this.cardTitle)), h("div", { class: "card-content" }, h("slot", null))), h("ptc-picture", { alt: this.cardImgAlt, src: this.cardImgSrc, "is-full-width": "true", "is-full-height": "true", "image-alignment": "center" })), h("div", { class: `card card-dt-closed mf-listen ${this.isExpanded ? 'hide' : 'show'}`, id: this.trackerId }, h("ptc-picture", { alt: this.cardImgAlt, src: this.cardImgSrc, "image-position": "relative", "is-full-width": true, height: "424" }, this.overlayExists ? (h("ptc-overlay", { "filter-color": "solid-black-1" })) : (h("ptc-overlay", { "filter-color": "solid-black-2" }))), h("div", { class: "closed-content", "card-type": "card-dynamic" }, h("div", { class: "card-title" }, h("h2", null, this.cardTitle))))))), this.cardScreen === 'desktop' && (h("div", { hidden: true }, h("svg", null, h("use", { href: `${this.dotSvg}` }))))));
90
+ return (h(Host, { class: classMap }, this.styles && h("style", null, this.styles), h("div", { class: "card-wrapper mf-listen", role: "button", tabindex: "0", "aria-expanded": this.isExpanded, onClick: this.openCard, onKeyDown: this.handleKeyDown }, this.cardScreen === 'mobile' ? (h("div", { class: "card card-mobile mf-listen", id: this.trackerId }, h("ptc-picture", { height: "287", "is-full-width": true, alt: this.cardImgAlt, src: this.cardImgSrc }), h("ptc-card-content", { "card-type": "card-dynamic", styles: ":host(.card-dynamic){height: auto;}" }, h("div", { class: "card-title" }, h("h3", null, this.cardTitle)), h("div", { class: "card-content" }, h("slot", null))))) : (this.getDesktopCard())), this.cardScreen === 'desktop' && (h("div", { hidden: true }, h("svg", null, h("use", { href: `${this.dotSvg}` }))))));
124
91
  }
125
92
  static get is() { return "ptc-dynamic-card"; }
126
93
  static get encapsulation() { return "shadow"; }
@@ -52,4 +52,16 @@ ptc-link, ptc-square-card,
52
52
  -ms-hyphenate-limit-chars: 12 3 3;
53
53
  -ms-hyphenate-limit-lines: 2;
54
54
  }
55
+ }
56
+
57
+ :host {
58
+ display: none;
59
+ }
60
+
61
+ :host(.init-active) {
62
+ display: block;
63
+ }
64
+
65
+ :host(.selected) {
66
+ display: block;
55
67
  }
@@ -3,10 +3,9 @@ export class FlTabContent {
3
3
  constructor() {
4
4
  this.nameKey = undefined;
5
5
  this.selected = false;
6
- this.onbeforematch = undefined;
7
6
  }
8
7
  render() {
9
- return (h(Host, { class: `featured-content ${this.selected ? 'selected' : ''}` }, h("div", Object.assign({ class: "fl-content-wrap" }, !this.selected && { hidden: 'until-found' }, { onBeforeMatch: this.onbeforematch }), h("slot", null))));
8
+ return (h(Host, { class: `featured-content ${this.selected ? 'selected' : ''}` }, h("div", { class: "fl-content-wrap" }, h("slot", null))));
10
9
  }
11
10
  static get is() { return "fl-tab-content"; }
12
11
  static get encapsulation() { return "shadow"; }
@@ -56,21 +55,6 @@ export class FlTabContent {
56
55
  "attribute": "selected",
57
56
  "reflect": false,
58
57
  "defaultValue": "false"
59
- },
60
- "onbeforematch": {
61
- "type": "unknown",
62
- "mutable": false,
63
- "complexType": {
64
- "original": "() => void",
65
- "resolved": "() => void",
66
- "references": {}
67
- },
68
- "required": false,
69
- "optional": false,
70
- "docs": {
71
- "tags": [],
72
- "text": ""
73
- }
74
58
  }
75
59
  };
76
60
  }
@@ -75,7 +75,7 @@ ptc-link, ptc-square-card,
75
75
  :host p:hover {
76
76
  background-color: var(--color-gray-02);
77
77
  }
78
- :host p.selected-p {
78
+ :host p.selected-p, :host p.selected-p-init {
79
79
  background-color: var(--color-gray-03);
80
80
  }
81
81
  }
@@ -49,8 +49,11 @@ export class FlTabHeader {
49
49
  'valueKey': this.valueKey
50
50
  });
51
51
  }
52
+ componentWillLoad() {
53
+ this.initialHeader = this.el.classList.contains('init-active');
54
+ }
52
55
  render() {
53
- return (h(Host, { class: `fl-header ${this.selected ? 'selected' : ''}`, onClick: this.handleClick.bind(this), onKeyDown: this.handleKeyDown.bind(this) }, h("slot", null), h("p", { id: this.trackerId, class: `${this.selected ? 'selected-p' : ''} mf-listen`, tabindex: (this.selected || window.innerWidth < 992) ? 0 : -1 }, h("ptc-tooltip", { "text-display": "inline", "text-lines": "2", description: this.tabTitle, position: "bottom", width: "full-width", theme: "standard", "hide-on-mobile": "false" }))));
56
+ return (h(Host, { class: `fl-header ${this.selected ? 'selected' : ''}`, onClick: this.handleClick.bind(this), onKeyDown: this.handleKeyDown.bind(this) }, h("slot", null), h("p", { id: this.trackerId, class: `${this.selected ? 'selected-p' : ''} ${this.initialHeader ? 'selected-p-init' : ''} mf-listen`, tabindex: (this.selected || window.innerWidth < 992) ? 0 : -1 }, h("ptc-tooltip", { "text-display": "inline", "text-lines": "2", description: this.tabTitle, position: "bottom", width: "full-width", theme: "standard", "hide-on-mobile": "false" }))));
54
57
  }
55
58
  static get is() { return "fl-tab-header"; }
56
59
  static get encapsulation() { return "scoped"; }
@@ -74,6 +74,10 @@ ptc-link, ptc-square-card,
74
74
  }
75
75
  }
76
76
 
77
+ :host(.init-active) {
78
+ display: block;
79
+ }
80
+
77
81
  :host(.selected) {
78
82
  display: block;
79
83
  }
@@ -2,38 +2,124 @@ import { Host, h } from '@stencil/core';
2
2
  export class PtcFeaturedList {
3
3
  constructor() {
4
4
  this.isMobile = undefined;
5
- this.selectedTab = 'tab-01';
5
+ this.selectedTabGloble = 'tab-01';
6
6
  }
7
7
  handleResize() {
8
8
  this.isMobile = window.innerWidth < 992;
9
+ this.holdTabOnResize(this.selectedTabGloble);
9
10
  }
10
11
  componentWillLoad() {
11
12
  this.isMobile = window.innerWidth < 992;
12
13
  }
13
14
  handleflTabClicked(event) {
14
- this.selectedTab = event.detail.name;
15
- this.updateReadMoreInTabContents();
15
+ this.selectedTabGloble = event.detail.name;
16
+ this.selectTab(this.selectedTabGloble);
16
17
  }
17
- updateReadMoreInTabContents() {
18
+ handleflTabFocusHeader(event) {
19
+ var _a, _b;
20
+ const tabHeaders = (_b = (_a = this.hostElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('fl-tab-header');
21
+ const currentValueKey = event.detail.valueKey;
22
+ const tabDirection = event.detail.direction;
23
+ const ind = currentValueKey - 1 + tabDirection;
24
+ if (ind > -1 && ind < tabHeaders.length) {
25
+ let nextToFocus = tabHeaders[ind].querySelector('p.sc-fl-tab-header');
26
+ nextToFocus.focus();
27
+ }
28
+ }
29
+ handleflTabFocusContent(event) {
30
+ var _a, _b;
31
+ event.preventDefault();
32
+ const tabContent = (_b = (_a = this.hostElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(`fl-tab-content[value-key="${event.detail.valueKey}"]`);
33
+ let focusable = tabContent.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
34
+ // console.log(tabContent, focusable);
35
+ let firstFocusable = focusable[0];
36
+ console.log(firstFocusable);
37
+ // let lastFocusable = focusable[focusable.length - 1];
38
+ firstFocusable.focus();
39
+ }
40
+ // @Listen('flTabFocusOut', { target: 'document' })
41
+ // handleflTabFocusOut(event: CustomEvent) {
42
+ // // console.log(event);
43
+ // event.preventDefault();
44
+ // const link = this.hostElement?.shadowRoot?.querySelector<HTMLAnchorElement>('.content-wrap fl-tab-content a');
45
+ // console.log(link)
46
+ // // link.focus();
47
+ // }
48
+ holdTabOnResize(name) {
49
+ const contentBlocks = this.hostElement.shadowRoot.querySelectorAll(`fl-tab-content`);
50
+ const headerBlocks = this.hostElement.shadowRoot.querySelectorAll(`fl-tab-header`);
51
+ contentBlocks.forEach(content => {
52
+ if (content.classList.contains("init-active")) {
53
+ content.classList.remove("init-active");
54
+ }
55
+ content.getAttribute('name-key') === name ? (content.setAttribute('selected', 'selected')) : (content.removeAttribute('selected'));
56
+ });
57
+ headerBlocks.forEach(header => {
58
+ if (header.classList.contains("init-active")) {
59
+ header.classList.remove("init-active");
60
+ if (header.querySelector('p')) {
61
+ header.querySelector('p').classList.remove('selected-p-init');
62
+ }
63
+ }
64
+ header.getAttribute('name-key') === name ? (header.setAttribute('selected', 'selected')) : (header.removeAttribute('selected'));
65
+ });
66
+ }
67
+ selectTab(name) {
68
+ const featuredImages = this.hostElement.shadowRoot.querySelectorAll(`fl-tab-image`);
18
69
  const contentBlocks = this.hostElement.shadowRoot.querySelectorAll(`fl-tab-content`);
70
+ const headerBlocks = this.hostElement.shadowRoot.querySelectorAll(`fl-tab-header`);
71
+ featuredImages.forEach(image => {
72
+ if (image.classList.contains("init-active")) {
73
+ image.classList.remove("init-active");
74
+ }
75
+ image.getAttribute('name-key') === name ? (image.setAttribute('selected', 'selected')) : (image.removeAttribute('selected'));
76
+ });
19
77
  contentBlocks.forEach(content => {
78
+ this.updateActiveTab(name, content);
20
79
  // Added code to recall readmore for hidden tabs
21
- if (content.getAttribute('name-key') === this.selectedTab) {
80
+ if (content.getAttribute('name-key') === name) {
22
81
  const readMoreComp = content.querySelector('ptc-readmore');
23
82
  if (readMoreComp) {
24
83
  readMoreComp.updateReadmoreStatus();
25
84
  }
26
85
  }
27
86
  });
87
+ headerBlocks.forEach(header => {
88
+ this.updateActiveTab(name, header);
89
+ });
90
+ }
91
+ updateActiveTab(name, tabName) {
92
+ if (this.isMobile) {
93
+ if (tabName.getAttribute('name-key') === name) {
94
+ if (tabName.classList.contains("init-active")) {
95
+ tabName.removeAttribute('selected');
96
+ }
97
+ else {
98
+ tabName.getAttribute('selected') == 'selected' ? (tabName.removeAttribute('selected')) : (tabName.setAttribute('selected', 'selected'));
99
+ }
100
+ }
101
+ else {
102
+ tabName.removeAttribute('selected');
103
+ }
104
+ }
105
+ else {
106
+ tabName.getAttribute('name-key') === name ? (tabName.setAttribute('selected', 'selected')) : (tabName.removeAttribute('selected'));
107
+ }
108
+ if (tabName.classList.contains("init-active")) {
109
+ tabName.classList.remove("init-active");
110
+ if (tabName.querySelector('p')) {
111
+ tabName.querySelector('p').classList.remove('selected-p-init');
112
+ }
113
+ }
28
114
  }
29
115
  render() {
30
- return (h(Host, null, h("div", { class: "featured-image-wrap" }, h("fl-tab-image", { "name-key": "tab-01", selected: this.selectedTab === 'tab-01' }, h("ptc-img", { "image-type": "smart-bg", "image-alignment": "center", "img-url": "http://s7d1.scene7.com/is/image/ptcinc/cs-boeing-planes-runway" })), h("fl-tab-image", { "name-key": "tab-02", selected: this.selectedTab === 'tab-02' }, h("ptc-background-video", { overlay: false, "play-button-title": "Play", "pause-button-title": "Pause", "video-src": "https://www.ptc.com/en/www.ptc.com//-/media/Videos/BRAND-FILM-CAR-SECTION-short-1mb.mp4", "poster-src": "https://www.ptc.com/-/media/Images/new-org/misc/W232501-LWX23-Hero-Banner-Video-FINAL-jebyrne-110922-screenshot.jpg" })), h("fl-tab-image", { "name-key": "tab-03", selected: this.selectedTab === 'tab-03' }, h("ptc-img", { "image-type": "smart-bg", "image-alignment": "center", "img-url": "https://www.ptc.com/-/media/Images/new-org/1366x542/CIMC-1366x542.jpg?h=542&w=1366&la=en&hash=56AE14F73CFB62C24276D08E556B0949" })), h("fl-tab-image", { "name-key": "tab-04", selected: this.selectedTab === 'tab-04' }, h("ptc-img", { "image-type": "smart-bg", "image-alignment": "center", "img-url": "https://www.ptc.com/-/media/Images/new-org/1366x542/ThingWorx_IIOT_CaterpillarCS_Img_1366x542.jpg?h=542&w=1366&la=en&hash=627ED00C1F58E3677A06F50C0F3009D6" }))), this.isMobile ? (
116
+ return (h(Host, null, h("div", { class: "featured-image-wrap" }, h("fl-tab-image", { "name-key": "tab-01", class: "init-active" }, h("ptc-img", { "image-type": "smart-bg", "image-alignment": "center", "img-url": "http://s7d1.scene7.com/is/image/ptcinc/cs-boeing-planes-runway" })), h("fl-tab-image", { "name-key": "tab-02" }, h("ptc-background-video", { overlay: false, "play-button-title": "Play", "pause-button-title": "Pause", "video-src": "https://www.ptc.com/en/www.ptc.com//-/media/Videos/BRAND-FILM-CAR-SECTION-short-1mb.mp4", "poster-src": "https://www.ptc.com/-/media/Images/new-org/misc/W232501-LWX23-Hero-Banner-Video-FINAL-jebyrne-110922-screenshot.jpg" })), h("fl-tab-image", { "name-key": "tab-03" }, h("ptc-img", { "image-type": "smart-bg", "image-alignment": "center", "img-url": "https://www.ptc.com/-/media/Images/new-org/1366x542/CIMC-1366x542.jpg?h=542&w=1366&la=en&hash=56AE14F73CFB62C24276D08E556B0949" })), h("fl-tab-image", { "name-key": "tab-04" }, h("ptc-img", { "image-type": "smart-bg", "image-alignment": "center", "img-url": "https://www.ptc.com/-/media/Images/new-org/1366x542/ThingWorx_IIOT_CaterpillarCS_Img_1366x542.jpg?h=542&w=1366&la=en&hash=627ED00C1F58E3677A06F50C0F3009D6" }))), this.isMobile ? (
31
117
  // Code for mobile only
32
118
  h("div", { class: "mobile-wrapper" }, h("div", { class: 'acc-item' }, h("fl-tab-header", { "value-key": 1, "name-key": "tab-01", "tab-title": "Aerospace & Defense", class: "init-active" }, " "), h("fl-tab-content", { "value-key": 1, "name-key": "tab-01", class: "init-active" }, h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, h("ptc-readmore", { "visible-lines-custom": "7", "more-text": "Read More", "less-text": "Read Less", "read-more-position": "left", class: "inline" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization.")), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense"))), h("div", { class: 'acc-item' }, h("fl-tab-header", { "value-key": 2, "name-key": "tab-02", "tab-title": "Automotive" }), h("fl-tab-content", { "value-key": 2, "name-key": "tab-02" }, h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization."), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense"))), h("div", { class: 'acc-item' }, h("fl-tab-header", { "value-key": 3, "name-key": "tab-03", "tab-title": "Electronics & High-Tech" }), h("fl-tab-content", { "value-key": 3, "name-key": "tab-03" }, h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, h("ptc-readmore", { "visible-lines-custom": "7", "more-text": "Read More", "less-text": "Read Less", "read-more-position": "left", class: "inline" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization.")), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense"))), h("div", { class: 'acc-item' }, h("fl-tab-header", { "value-key": 4, "name-key": "tab-04", "tab-title": "Retail & Consumer Products" }), h("fl-tab-content", { "value-key": 4, "name-key": "tab-04" }, h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization."), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")))))
33
119
  :
34
120
  (
35
121
  // Code for Desktop only
36
- h("div", { class: "non-mobile-wrapper" }, h("div", { class: "header-list-wrap" }, h("fl-tab-header", { "name-key": "tab-01", "tab-title": "Aerospace & Defense", selected: this.selectedTab === 'tab-01' }, " "), h("fl-tab-header", { "name-key": "tab-02", "tab-title": "Automotive", selected: this.selectedTab === 'tab-02' }), h("fl-tab-header", { "name-key": "tab-03", "tab-title": "Electronics & High-Tech", selected: this.selectedTab === 'tab-03' }), h("fl-tab-header", { "name-key": "tab-04", "tab-title": "Retail & Consumer Products", selected: this.selectedTab === 'tab-04' })), h("div", { class: "content-wrap" }, h("fl-tab-content", { "name-key": "tab-01", selected: this.selectedTab === 'tab-01', onbeforematch: () => this.selectedTab = 'tab-01' }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Aerospace & Defense"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, h("ptc-readmore", { "visible-lines-custom": "7", "more-text": "Read More", "less-text": "Read Less", "read-more-position": "left", class: "inline" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization.")), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")), h("fl-tab-content", { "name-key": "tab-02", selected: this.selectedTab === 'tab-02', onbeforematch: () => this.selectedTab = 'tab-02' }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Automotive"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization."), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")), h("fl-tab-content", { "name-key": "tab-03", selected: this.selectedTab === 'tab-03', onbeforematch: () => this.selectedTab = 'tab-03' }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Electronics & High-Tech"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, "Deliver the future of transportation and mobility and gain competitive advantage. Explore automotive solutions for OEMs and suppliers so your team can help drive the future of transportation."), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")), h("fl-tab-content", { "name-key": "tab-04", selected: this.selectedTab === 'tab-04', onbeforematch: () => this.selectedTab = 'tab-04' }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Retail & Consumer Products"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, h("ptc-readmore", { "visible-lines-custom": "7", "more-text": "Read More", "less-text": "Read Less", "read-more-position": "left", class: "inline" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization.")), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")))))));
122
+ h("div", { class: "non-mobile-wrapper" }, h("div", { class: "header-list-wrap" }, h("fl-tab-header", { "value-key": 1, "name-key": "tab-01", "tab-title": "Aerospace & Defense", class: "init-active" }, " "), h("fl-tab-header", { "value-key": 2, "name-key": "tab-02", "tab-title": "Automotive" }), h("fl-tab-header", { "value-key": 3, "name-key": "tab-03", "tab-title": "Electronics & High-Tech" }), h("fl-tab-header", { "value-key": 4, "name-key": "tab-04", "tab-title": "Retail & Consumer Products" })), h("div", { class: "content-wrap" }, h("fl-tab-content", { "value-key": 1, "name-key": "tab-01", class: "init-active" }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Aerospace & Defense"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, h("ptc-readmore", { "visible-lines-custom": "7", "more-text": "Read More", "less-text": "Read Less", "read-more-position": "left", class: "inline" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization.")), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")), h("fl-tab-content", { "value-key": 2, "name-key": "tab-02" }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Automotive"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization."), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")), h("fl-tab-content", { "value-key": 3, "name-key": "tab-03" }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Electronics & High-Tech"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, "Deliver the future of transportation and mobility and gain competitive advantage. Explore automotive solutions for OEMs and suppliers so your team can help drive the future of transportation."), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")), h("fl-tab-content", { "value-key": 4, "name-key": "tab-04" }, h("ptc-title", { type: 'h3', "title-size": 'large', upperline: "no-upperline", "title-margin": 'margin-flush' }, "Retail & Consumer Products"), h("ptc-para", { "para-line-h": 'line-height-p', "font-size": "small", "para-margin": "margin-3" }, h("ptc-readmore", { "visible-lines-custom": "7", "more-text": "Read More", "less-text": "Read Less", "read-more-position": "left", class: "inline" }, "Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization. Adapt to ever-changing customer demands and increasing cost and competitive pressure. Explore digital solutions for driving engineering excellence, manufacturing efficiency, product innovation, and service optimization.")), h("a", { href: 'https://www.google.com', tabIndex: 0 }, "See More about Aerospace & Defense")))))));
37
123
  }
38
124
  static get is() { return "ptc-featured-list"; }
39
125
  static get encapsulation() { return "shadow"; }
@@ -50,7 +136,7 @@ export class PtcFeaturedList {
50
136
  static get states() {
51
137
  return {
52
138
  "isMobile": {},
53
- "selectedTab": {}
139
+ "selectedTabGloble": {}
54
140
  };
55
141
  }
56
142
  static get elementRef() { return "hostElement"; }
@@ -67,6 +153,18 @@ export class PtcFeaturedList {
67
153
  "target": "document",
68
154
  "capture": false,
69
155
  "passive": false
156
+ }, {
157
+ "name": "flTabFocusHeader",
158
+ "method": "handleflTabFocusHeader",
159
+ "target": "document",
160
+ "capture": false,
161
+ "passive": false
162
+ }, {
163
+ "name": "flTabFocusContent",
164
+ "method": "handleflTabFocusContent",
165
+ "target": "document",
166
+ "capture": false,
167
+ "passive": false
70
168
  }];
71
169
  }
72
170
  }
@@ -1,7 +1,6 @@
1
1
  import { Host, h } from '@stencil/core';
2
2
  export class PtcProductCard {
3
3
  constructor() {
4
- this.cardTitle = undefined;
5
4
  this.cardImage = undefined;
6
5
  this.cardImageAltText = undefined;
7
6
  this.cardDescription = undefined;
@@ -15,7 +14,7 @@ export class PtcProductCard {
15
14
  }
16
15
  render() {
17
16
  return (h(Host, null, h("div", { class: "card-wrap" }, this.cardImage &&
18
- h("ptc-picture", { alt: "image-test", src: this.cardImage, "display-image": "inline-block", width: '38' }), h("div", { class: "content" }, h("div", null, h("ptc-title", { type: 'h3', upperline: "no-upperline", "title-size": "medium", "title-weight": "w-8", "title-margin": 'margin-flush', "title-display": "block", "title-height": "densest" }, h("ptc-tooltip", { "text-display": "block", "text-lines": "3", "z-index": "z-999", description: this.cardTitle, position: "bottom", width: 'full-width' })), h("ptc-spacer", { size: "x-small" }), h("ptc-spacer", { size: "xx-small", breakpoint: "x-small" }), h("div", null, h("slot", { name: "content" }))), h("div", { class: 'cta-wrap' }, h("slot", { name: "cta" })))), this.toggleCtaTitle &&
17
+ h("ptc-picture", { alt: "image-test", src: this.cardImage, "display-image": "inline-block", width: '38' }), h("div", { class: "content" }, h("div", null, h("slot", { name: "title" }), h("ptc-spacer", { size: "x-small" }), h("ptc-spacer", { size: "xx-small", breakpoint: "x-small" }), h("div", null, h("slot", { name: "content" }))), h("div", { class: 'cta-wrap' }, h("slot", { name: "cta" })))), this.toggleCtaTitle &&
19
18
  h("ptc-para", { class: "toggle-btn", "font-size": "small", "para-margin": "margin-flush", "para-line-h": "line-height-p", "para-z-index": "z-auto", onClick: () => this.togglePanel() }, h("span", { class: 'toggleText' }, this.toggleCtaTitle)), h("div", { class: 'product-highlights-container' }, h("slot", null))));
20
19
  }
21
20
  static get is() { return "ptc-product-card"; }
@@ -32,23 +31,6 @@ export class PtcProductCard {
32
31
  }
33
32
  static get properties() {
34
33
  return {
35
- "cardTitle": {
36
- "type": "string",
37
- "mutable": false,
38
- "complexType": {
39
- "original": "string",
40
- "resolved": "string",
41
- "references": {}
42
- },
43
- "required": false,
44
- "optional": true,
45
- "docs": {
46
- "tags": [],
47
- "text": "\r\ncardTitle"
48
- },
49
- "attribute": "card-title",
50
- "reflect": false
51
- },
52
34
  "cardImage": {
53
35
  "type": "string",
54
36
  "mutable": false,
@@ -1,11 +1,10 @@
1
1
  import { Host, h } from '@stencil/core';
2
2
  export class PtcProductCategory {
3
3
  constructor() {
4
- this.categoryTitle = undefined;
5
4
  this.categoryDescription = undefined;
6
5
  }
7
6
  render() {
8
- return (h(Host, null, h("div", { class: "category-header" }, h("ptc-title", { type: "h2", upperline: "no-upperline", "title-margin": "margin-flush", "title-size": "xx-large", "title-height": "densest" }, this.categoryTitle), h("ptc-spacer", { size: "x-small" }), h("ptc-spacer", { size: "x-small", breakpoint: "x-small" }), h("ptc-para", { "para-margin": "margin-flush", "font-size": "small", "para-line-h": "line-height-p", "font-weight": "w-5", "para-z-index": "z-auto" }, h("ptc-tooltip", { "text-display": "block", "text-lines": "9", "z-index": "z-999", description: this.categoryDescription, position: "bottom", width: 'full-width' }))), h("slot", null)));
7
+ return (h(Host, null, h("div", { class: "category-header" }, h("slot", { name: "title" }), h("ptc-spacer", { size: "x-small" }), h("ptc-spacer", { size: "x-small", breakpoint: "x-small" }), h("ptc-para", { "para-margin": "margin-flush", "font-size": "small", "para-line-h": "line-height-p", "font-weight": "w-5", "para-z-index": "z-auto" }, h("ptc-tooltip", { "text-display": "block", "text-lines": "9", "z-index": "z-999", description: this.categoryDescription, position: "bottom", width: 'full-width' }))), h("slot", null)));
9
8
  }
10
9
  static get is() { return "ptc-product-category"; }
11
10
  static get encapsulation() { return "shadow"; }
@@ -21,23 +20,6 @@ export class PtcProductCategory {
21
20
  }
22
21
  static get properties() {
23
22
  return {
24
- "categoryTitle": {
25
- "type": "string",
26
- "mutable": false,
27
- "complexType": {
28
- "original": "string",
29
- "resolved": "string",
30
- "references": {}
31
- },
32
- "required": false,
33
- "optional": true,
34
- "docs": {
35
- "tags": [],
36
- "text": ""
37
- },
38
- "attribute": "category-title",
39
- "reflect": false
40
- },
41
23
  "categoryDescription": {
42
24
  "type": "string",
43
25
  "mutable": false,
@@ -112,6 +112,13 @@ ptc-link, ptc-square-card,
112
112
  text-align: center;
113
113
  margin-right: 0;
114
114
  }
115
+ .box label:focus-visible {
116
+ outline: none;
117
+ }
118
+ .box label:focus-visible span {
119
+ border-radius: var(--ptc-border-radius-standard);
120
+ outline: 5px solid var(--keyboard-nav-outline);
121
+ }
115
122
  .box .z-auto {
116
123
  z-index: auto;
117
124
  }
@@ -180,7 +180,7 @@ export class PtcRelatedCardRail {
180
180
  }
181
181
  render() {
182
182
  return (this.closed ? null :
183
- h(Host, null, h("div", { class: "card-rail-container", id: "card-rail-reveal-tag" }, h("div", { class: "card-rail-header" }, h("div", { class: "card-rail-heading" }, h("ptc-para", { "ellipsis-line-cutoff": "0", "font-size": "x-small", "font-weight": "w-7", "para-align": "left", "para-color": "primary-grey", "para-line-h": "line-height-normal", "para-margin": "margin-flush", "para-style": "", "para-z-index": "z-1", styles: "" }, this.railTitle)), h("div", { ref: (el) => (this.targetElement = el), id: "card-rail-close", class: "card-rail-close", onKeyDown: (event) => this.handleKeyClose(event), onClick: () => { this.closed = true; }, tabindex: "0" }, h("icon-asset", { type: "ptc", size: "xx-small", name: "times", color: "gray" }))), h("div", { class: "card-rail-content" }, h("icon-asset", { id: "left-arrow", type: "ptc", size: "small", name: "previous_button_arrow", color: "gray", onClick: this.handlePrevClick }), h("icon-asset", { id: "right-arrow", type: "ptc", size: "small", name: "next_button_arrow", color: "gray", onClick: this.handleNextClick }), h("div", { class: "content-container" }, this.data.map((item, index) => h("div", { class: "content mf-listen", id: `card-rail-content-${index}`, onKeyDown: (event) => { event.key === 'Enter' && window.open(item.href); }, onClick: () => { window.open(item.href); }, tabindex: "0" }, h("div", { class: "content-image" }, h("img", { alt: item.altText, src: item.image })), h("div", { class: "content-text" }, h("ptc-para", { "ellipsis-line-cutoff": "3", "font-size": this.screenBasedProps.parahFontSize, "font-weight": "w-6", "para-align": "left", "para-color": "primary-grey", "para-line-h": "line-height-p", "para-margin": "margin-flush", "para-style": "", "para-z-index": "z-1", styles: "" }, item.text)))))))));
183
+ h(Host, null, h("div", { class: "card-rail-container", id: "card-rail-reveal-tag" }, h("div", { class: "card-rail-header" }, h("div", { class: "card-rail-heading" }, h("ptc-para", { "ellipsis-line-cutoff": "0", "font-size": "x-small", "font-weight": "w-7", "para-align": "left", "para-color": "primary-grey", "para-line-h": "line-height-normal", "para-margin": "margin-flush", "para-style": "", "para-z-index": "z-1", styles: "" }, this.railTitle)), h("div", { ref: (el) => (this.targetElement = el), id: "card-rail-close", class: "card-rail-close mf-listen", onKeyDown: (event) => this.handleKeyClose(event), onClick: () => { this.closed = true; }, tabindex: "0" }, h("icon-asset", { type: "ptc", size: "xx-small", name: "times", color: "gray" }))), h("div", { class: "card-rail-content" }, h("icon-asset", { id: "left-arrow", class: "mf-listen", type: "ptc", size: "small", name: "previous_button_arrow", color: "gray", onClick: this.handlePrevClick }), h("icon-asset", { id: "right-arrow", class: "mf-listen", type: "ptc", size: "small", name: "next_button_arrow", color: "gray", onClick: this.handleNextClick }), h("div", { class: "content-container" }, this.data.map((item, index) => h("div", { class: "content mf-listen", id: `card-rail-content-${index}`, onKeyDown: (event) => { event.key === 'Enter' && window.open(item.href); }, onClick: () => { window.open(item.href); }, tabindex: "0" }, h("div", { class: "content-image" }, h("img", { alt: item.altText, src: item.image })), h("div", { class: "content-text" }, h("ptc-para", { "ellipsis-line-cutoff": "3", "font-size": this.screenBasedProps.parahFontSize, "font-weight": "w-6", "para-align": "left", "para-color": "primary-grey", "para-line-h": "line-height-p", "para-margin": "margin-flush", "para-style": "", "para-z-index": "z-1", styles: "" }, item.text)))))))));
184
184
  }
185
185
  static get is() { return "ptc-related-card-rail"; }
186
186
  static get encapsulation() { return "shadow"; }