@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.
- package/dist/cjs/fl-tab-content_3.cjs.entry.js +8 -6
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +1 -1
- package/dist/cjs/ptc-dynamic-card.cjs.entry.js +17 -50
- package/dist/cjs/ptc-featured-list.cjs.entry.js +93 -7
- package/dist/cjs/ptc-para_3.cjs.entry.js +1 -1
- package/dist/cjs/ptc-product-card.cjs.entry.js +1 -2
- package/dist/cjs/ptc-product-category.cjs.entry.js +1 -2
- package/dist/cjs/ptc-related-card-rail.cjs.entry.js +1 -1
- package/dist/cjs/ptcw-design.cjs.js +1 -1
- package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +1 -1
- package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.css +1 -9
- package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +16 -49
- package/dist/collection/components/ptc-featured-list/fl-tab-content/fl-tab-content.css +12 -0
- package/dist/collection/components/ptc-featured-list/fl-tab-content/fl-tab-content.js +1 -17
- package/dist/collection/components/ptc-featured-list/fl-tab-header/fl-tab-header.css +1 -1
- package/dist/collection/components/ptc-featured-list/fl-tab-header/fl-tab-header.js +4 -1
- package/dist/collection/components/ptc-featured-list/fl-tab-image/fl-tab-image.css +4 -0
- package/dist/collection/components/ptc-featured-list/ptc-featured-list.js +106 -8
- package/dist/collection/components/ptc-product-card/ptc-product-card.js +1 -19
- package/dist/collection/components/ptc-product-category/ptc-product-category.js +1 -19
- package/dist/collection/components/ptc-readmore/ptc-readmore.css +7 -0
- package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.js +1 -1
- package/dist/custom-elements/index.js +127 -74
- package/dist/esm/fl-tab-content_3.entry.js +8 -6
- package/dist/esm/loader.js +1 -1
- package/dist/esm/ptc-card-bottom_2.entry.js +1 -1
- package/dist/esm/ptc-dynamic-card.entry.js +17 -50
- package/dist/esm/ptc-featured-list.entry.js +93 -7
- package/dist/esm/ptc-para_3.entry.js +1 -1
- package/dist/esm/ptc-product-card.entry.js +1 -2
- package/dist/esm/ptc-product-category.entry.js +1 -2
- package/dist/esm/ptc-related-card-rail.entry.js +1 -1
- package/dist/esm/ptcw-design.js +1 -1
- package/dist/ptcw-design/p-0b2c2c87.entry.js +1 -0
- package/dist/ptcw-design/p-15781e09.entry.js +1 -0
- package/dist/ptcw-design/p-2657df50.entry.js +1 -0
- package/dist/ptcw-design/p-287fbd96.entry.js +1 -0
- package/dist/ptcw-design/p-4f48b87d.entry.js +1 -0
- package/dist/ptcw-design/{p-1fbfa21d.entry.js → p-4fad31c1.entry.js} +1 -1
- package/dist/ptcw-design/p-e16debcd.entry.js +1 -0
- package/dist/ptcw-design/{p-d5c19775.entry.js → p-fd11f2a8.entry.js} +1 -1
- package/dist/ptcw-design/ptcw-design.css +1 -1
- package/dist/ptcw-design/ptcw-design.esm.js +1 -1
- package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +1 -0
- package/dist/types/components/ptc-featured-list/fl-tab-content/fl-tab-content.d.ts +0 -1
- package/dist/types/components/ptc-featured-list/fl-tab-header/fl-tab-header.d.ts +1 -0
- package/dist/types/components/ptc-featured-list/ptc-featured-list.d.ts +6 -2
- package/dist/types/components/ptc-product-card/ptc-product-card.d.ts +0 -5
- package/dist/types/components/ptc-product-category/ptc-product-category.d.ts +0 -1
- package/dist/types/components.d.ts +0 -12
- package/package.json +1 -1
- package/readme.md +1 -1
- package/dist/ptcw-design/p-1fc5187a.entry.js +0 -1
- package/dist/ptcw-design/p-93b33ec0.entry.js +0 -1
- package/dist/ptcw-design/p-b88080da.entry.js +0 -1
- package/dist/ptcw-design/p-c87ae23f.entry.js +0 -1
- package/dist/ptcw-design/p-e77728fa.entry.js +0 -1
- 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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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))))) : (
|
|
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",
|
|
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
|
}
|
|
@@ -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"; }
|
|
@@ -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.
|
|
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.
|
|
15
|
-
this.
|
|
15
|
+
this.selectedTabGloble = event.detail.name;
|
|
16
|
+
this.selectTab(this.selectedTabGloble);
|
|
16
17
|
}
|
|
17
|
-
|
|
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') ===
|
|
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",
|
|
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",
|
|
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
|
-
"
|
|
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("
|
|
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("
|
|
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"; }
|