@ptcwebops/ptcw-design 6.2.14 → 6.2.15

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 (135) hide show
  1. package/dist/cjs/{component-35540bfb.js → component-06dda623.js} +1 -1
  2. package/dist/cjs/{component-1b8ad4d2.js → component-5b5b6a98.js} +1 -1
  3. package/dist/cjs/event-jumbotron-example_15.cjs.entry.js +1382 -0
  4. package/dist/cjs/event-podcast-slider-example.cjs.entry.js +61 -0
  5. package/dist/cjs/featured-events-slider-example.cjs.entry.js +2 -387
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/mousewheel-e9520f0f.js +391 -0
  8. package/dist/cjs/ptc-card-bottom.cjs.entry.js +67 -0
  9. package/dist/cjs/ptc-data-lookup.cjs.entry.js +2 -2
  10. package/dist/cjs/ptc-form-checkbox_2.cjs.entry.js +1 -1
  11. package/dist/cjs/ptc-multi-select_2.cjs.entry.js +2 -2
  12. package/dist/cjs/ptcw-design.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +1 -0
  14. package/dist/collection/components/organism-bundles/event-jumbotron-example/event-jumbotron-example.css +31 -17
  15. package/dist/collection/components/organism-bundles/event-jumbotron-example/event-jumbotron-example.js +48 -8
  16. package/dist/collection/components/organism-bundles/event-podcast-slider-example/event-podcast-slider-example.css +1222 -0
  17. package/dist/collection/components/organism-bundles/event-podcast-slider-example/event-podcast-slider-example.js +80 -0
  18. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +65 -2
  19. package/dist/collection/components/ptc-card-content/ptc-card-content.js +10 -2
  20. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.css +13 -0
  21. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +22 -2
  22. package/dist/collection/components/ptc-link/ptc-link.css +5 -0
  23. package/dist/collection/components/ptc-modal/ptc-modal.css +62 -0
  24. package/dist/collection/components/ptc-modal/ptc-modal.js +79 -2
  25. package/dist/collection/components/ptc-scroll-button/ptc-scroll-button.js +94 -3
  26. package/dist/custom-elements/index.d.ts +6 -0
  27. package/dist/custom-elements/index.js +185 -21
  28. package/dist/esm/blog-detail-content_2.entry.js +1 -1
  29. package/dist/esm/blog-detail-layout.entry.js +1 -1
  30. package/dist/esm/blogs-search-section.entry.js +1 -1
  31. package/dist/esm/{component-8c53e377.js → component-274da230.js} +1 -1
  32. package/dist/esm/{component-9beac35b.js → component-341e4eaa.js} +1 -1
  33. package/dist/esm/event-jumbotron-example_15.entry.js +1364 -0
  34. package/dist/esm/event-podcast-slider-example.entry.js +57 -0
  35. package/dist/esm/featured-events-slider-example.entry.js +2 -387
  36. package/dist/esm/homepage-jumbotron.entry.js +1 -1
  37. package/dist/esm/homepage-toggled-content.entry.js +1 -1
  38. package/dist/esm/loader.js +1 -1
  39. package/dist/esm/most-popular-news.entry.js +1 -1
  40. package/dist/esm/mousewheel-6b2f6590.js +389 -0
  41. package/dist/esm/my-component.entry.js +1 -1
  42. package/dist/esm/ptc-accordion-item.entry.js +1 -1
  43. package/dist/esm/ptc-background-video.entry.js +1 -1
  44. package/dist/esm/ptc-card-bottom.entry.js +63 -0
  45. package/dist/esm/ptc-collapse-list.entry.js +1 -1
  46. package/dist/esm/ptc-data-lookup.entry.js +2 -2
  47. package/dist/esm/ptc-form-checkbox_2.entry.js +2 -2
  48. package/dist/esm/ptc-homepage-image-feature.entry.js +1 -1
  49. package/dist/esm/ptc-homepage-video-background.entry.js +1 -1
  50. package/dist/esm/ptc-media-card.entry.js +1 -1
  51. package/dist/esm/ptc-multi-select_2.entry.js +3 -3
  52. package/dist/esm/ptc-pricing-packaging-table.entry.js +1 -1
  53. package/dist/esm/ptc-pricing-tabs.entry.js +1 -1
  54. package/dist/esm/ptcw-design.js +1 -1
  55. package/dist/esm/{utils-1bbe0c30.js → utils-b7c6422e.js} +1 -1
  56. package/dist/ptcw-design/{p-dee4bb6c.entry.js → p-103ec637.entry.js} +1 -1
  57. package/dist/ptcw-design/{p-5dae4f30.entry.js → p-1ca8a5bf.entry.js} +1 -1
  58. package/dist/ptcw-design/{p-717d3a75.entry.js → p-2335d57c.entry.js} +1 -1
  59. package/dist/ptcw-design/p-246df0d6.entry.js +1 -0
  60. package/dist/ptcw-design/{p-4036055e.entry.js → p-29639cd4.entry.js} +1 -1
  61. package/dist/ptcw-design/p-2db141e6.entry.js +1 -0
  62. package/dist/ptcw-design/{p-873c711b.entry.js → p-34610052.entry.js} +1 -1
  63. package/dist/ptcw-design/{p-b4564411.entry.js → p-34b270c1.entry.js} +1 -1
  64. package/dist/ptcw-design/p-36cb30ee.js +1 -0
  65. package/dist/ptcw-design/{p-56a4c6d4.entry.js → p-4c096997.entry.js} +1 -1
  66. package/dist/ptcw-design/{p-990bcbc4.entry.js → p-52b82ac5.entry.js} +1 -1
  67. package/dist/ptcw-design/p-6e8ed2ee.entry.js +1 -0
  68. package/dist/ptcw-design/{p-4fc9c83b.entry.js → p-760507e1.entry.js} +1 -1
  69. package/dist/ptcw-design/{p-deebd138.entry.js → p-7e7ebf0a.entry.js} +1 -1
  70. package/dist/ptcw-design/{p-ad87bdab.js → p-841b807d.js} +1 -1
  71. package/dist/ptcw-design/{p-0b8a73e1.entry.js → p-863b5b20.entry.js} +1 -1
  72. package/dist/ptcw-design/{p-65f19054.entry.js → p-999d1c9f.entry.js} +1 -1
  73. package/dist/ptcw-design/p-9fe0c27d.entry.js +1 -0
  74. package/dist/ptcw-design/{p-98844b50.js → p-be533f0d.js} +1 -1
  75. package/dist/ptcw-design/{p-e614999d.entry.js → p-c1ebaf0f.entry.js} +1 -1
  76. package/dist/ptcw-design/{p-f07e64f2.entry.js → p-cffebefe.entry.js} +1 -1
  77. package/dist/ptcw-design/{p-53f49500.entry.js → p-df8526a2.entry.js} +1 -1
  78. package/dist/ptcw-design/{p-2ac7e3ce.entry.js → p-e38ed0e3.entry.js} +1 -1
  79. package/dist/ptcw-design/{p-942850e0.entry.js → p-eab1042e.entry.js} +1 -1
  80. package/dist/ptcw-design/{p-2a672c0e.entry.js → p-f05fec22.entry.js} +1 -1
  81. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  82. package/dist/types/components/organism-bundles/event-jumbotron-example/event-jumbotron-example.d.ts +5 -3
  83. package/dist/types/components/organism-bundles/event-podcast-slider-example/event-podcast-slider-example.d.ts +11 -0
  84. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +3 -1
  85. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +1 -1
  86. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +3 -1
  87. package/dist/types/components/ptc-modal/ptc-modal.d.ts +4 -0
  88. package/dist/types/components/ptc-scroll-button/ptc-scroll-button.d.ts +12 -0
  89. package/dist/types/components.d.ts +48 -6
  90. package/package.json +1 -1
  91. package/readme.md +1 -1
  92. package/dist/cjs/event-jumbotron-example.cjs.entry.js +0 -127
  93. package/dist/cjs/icon-asset.cjs.entry.js +0 -65
  94. package/dist/cjs/list-item.cjs.entry.js +0 -48
  95. package/dist/cjs/ptc-breadcrumb.cjs.entry.js +0 -47
  96. package/dist/cjs/ptc-button.cjs.entry.js +0 -84
  97. package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +0 -132
  98. package/dist/cjs/ptc-card-content.cjs.entry.js +0 -68
  99. package/dist/cjs/ptc-close-icon_2.cjs.entry.js +0 -213
  100. package/dist/cjs/ptc-img.cjs.entry.js +0 -133
  101. package/dist/cjs/ptc-link.cjs.entry.js +0 -95
  102. package/dist/cjs/ptc-para.cjs.entry.js +0 -127
  103. package/dist/cjs/ptc-scroll-button.cjs.entry.js +0 -84
  104. package/dist/cjs/ptc-spacer.cjs.entry.js +0 -38
  105. package/dist/cjs/ptc-title.cjs.entry.js +0 -152
  106. package/dist/esm/event-jumbotron-example.entry.js +0 -123
  107. package/dist/esm/icon-asset.entry.js +0 -61
  108. package/dist/esm/list-item.entry.js +0 -44
  109. package/dist/esm/ptc-breadcrumb.entry.js +0 -43
  110. package/dist/esm/ptc-button.entry.js +0 -80
  111. package/dist/esm/ptc-card-bottom_2.entry.js +0 -127
  112. package/dist/esm/ptc-card-content.entry.js +0 -64
  113. package/dist/esm/ptc-close-icon_2.entry.js +0 -208
  114. package/dist/esm/ptc-img.entry.js +0 -129
  115. package/dist/esm/ptc-link.entry.js +0 -91
  116. package/dist/esm/ptc-para.entry.js +0 -123
  117. package/dist/esm/ptc-scroll-button.entry.js +0 -80
  118. package/dist/esm/ptc-spacer.entry.js +0 -34
  119. package/dist/esm/ptc-title.entry.js +0 -148
  120. package/dist/ptcw-design/p-0c69ea52.entry.js +0 -1
  121. package/dist/ptcw-design/p-158f6d50.entry.js +0 -1
  122. package/dist/ptcw-design/p-25a25451.entry.js +0 -1
  123. package/dist/ptcw-design/p-2cfcba27.entry.js +0 -1
  124. package/dist/ptcw-design/p-2e19248b.entry.js +0 -1
  125. package/dist/ptcw-design/p-5d885144.entry.js +0 -1
  126. package/dist/ptcw-design/p-7793babb.entry.js +0 -1
  127. package/dist/ptcw-design/p-9e9ae28c.entry.js +0 -1
  128. package/dist/ptcw-design/p-a870cd4a.entry.js +0 -1
  129. package/dist/ptcw-design/p-b35ad9ee.entry.js +0 -1
  130. package/dist/ptcw-design/p-b3bbd17d.entry.js +0 -1
  131. package/dist/ptcw-design/p-b6e5379a.entry.js +0 -1
  132. package/dist/ptcw-design/p-b8ee8699.entry.js +0 -1
  133. package/dist/ptcw-design/p-bb15d7e5.entry.js +0 -1
  134. package/dist/ptcw-design/p-fcad5568.entry.js +0 -1
  135. /package/dist/ptcw-design/{p-98426799.js → p-c1513c3f.js} +0 -0
@@ -0,0 +1,80 @@
1
+ import { Host, h } from '@stencil/core';
2
+ import Swiper, { Navigation, Pagination, Scrollbar, Mousewheel } from 'swiper';
3
+ export class EventPodcastSliderExample {
4
+ constructor() {
5
+ this.sliderType = 'event-slider-cards';
6
+ }
7
+ componentDidLoad() {
8
+ setTimeout(() => {
9
+ let list = this.el.querySelector('.event-slider-cards');
10
+ this.listSwp = new Swiper(list, {
11
+ // Customize options here
12
+ modules: [Navigation, Pagination, Scrollbar, Mousewheel],
13
+ slidesPerView: 'auto',
14
+ spaceBetween: 24,
15
+ centeredSlides: true,
16
+ centeredSlidesBounds: true,
17
+ initialSlide: 0,
18
+ centerInsufficientSlides: true,
19
+ freeMode: true,
20
+ scrollbar: {
21
+ el: this.swiperPaginationRef,
22
+ draggable: true,
23
+ },
24
+ navigation: {
25
+ nextEl: this.swiperButtonNextRef,
26
+ prevEl: this.swiperButtonPrevRef,
27
+ },
28
+ mousewheel: {
29
+ forceToAxis: true,
30
+ sensitivity: 100,
31
+ },
32
+ breakpoints: {
33
+ 1200: {
34
+ spaceBetween: 32,
35
+ },
36
+ 1400: {
37
+ spaceBetween: 40,
38
+ }
39
+ }
40
+ });
41
+ }, 100);
42
+ }
43
+ render() {
44
+ return (h(Host, null, h("div", { class: "event-slider-cards" }, h("div", { class: "swiper-wrapper" }, h("slot", null)), h("div", { class: "swiper-scrollbar", ref: el => (this.swiperPaginationRef = el) }), h("div", { class: "swiper-button-next", ref: el => (this.swiperButtonNextRef = el) }, h("svg", { width: "14", height: "20", viewBox: "0 0 14 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M0.75 17.25L8 10L0.75 2.75L3.375 0.125L13.25 10L3.375 19.875L0.75 17.25Z", fill: "#323B42" }))), h("div", { class: "swiper-button-prev", ref: el => (this.swiperButtonPrevRef = el) }, h("svg", { width: "14", height: "20", viewBox: "0 0 14 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M13.25 2.75L6 10L13.25 17.25L10.625 19.875L0.749999 10L10.625 0.125L13.25 2.75Z", fill: "#323B42" }))))));
45
+ }
46
+ static get is() { return "event-podcast-slider-example"; }
47
+ static get originalStyleUrls() {
48
+ return {
49
+ "$": ["event-podcast-slider-example.scss"]
50
+ };
51
+ }
52
+ static get styleUrls() {
53
+ return {
54
+ "$": ["event-podcast-slider-example.css"]
55
+ };
56
+ }
57
+ static get properties() {
58
+ return {
59
+ "sliderType": {
60
+ "type": "string",
61
+ "mutable": false,
62
+ "complexType": {
63
+ "original": "'homepage-case-study-cards' | 'event-slider-cards'",
64
+ "resolved": "\"event-slider-cards\" | \"homepage-case-study-cards\"",
65
+ "references": {}
66
+ },
67
+ "required": false,
68
+ "optional": false,
69
+ "docs": {
70
+ "tags": [],
71
+ "text": ""
72
+ },
73
+ "attribute": "slider-type",
74
+ "reflect": false,
75
+ "defaultValue": "'event-slider-cards'"
76
+ }
77
+ };
78
+ }
79
+ static get elementRef() { return "el"; }
80
+ }
@@ -11,6 +11,9 @@ export class PtcCardBottom {
11
11
  this.el.previousElementSibling.classList.add('mouse-hover');
12
12
  this.el.classList.add('mouse-hover-card-bottom');
13
13
  }
14
+ if (this.el.classList.contains('event-podcast')) {
15
+ this.addClassOnDefaultSlot();
16
+ }
14
17
  }
15
18
  leaveEventHandler() {
16
19
  this.hoverEvent.emit();
@@ -19,6 +22,24 @@ export class PtcCardBottom {
19
22
  this.el.previousElementSibling.classList.remove('mouse-hover');
20
23
  this.el.classList.remove('mouse-hover-card-bottom');
21
24
  }
25
+ if (this.el.classList.contains('event-podcast')) {
26
+ this.removeClassOnDefaultSlot();
27
+ }
28
+ }
29
+ async addClassOnDefaultSlot() {
30
+ const slot = this.el.shadowRoot.querySelector('slot:not([name])');
31
+ console.log('slot: ' + slot);
32
+ const assignedElements = slot.assignedElements();
33
+ assignedElements.forEach((ele) => {
34
+ !ele.classList.contains('event-podcast') && ele.classList.add('event-podcast');
35
+ });
36
+ }
37
+ async removeClassOnDefaultSlot() {
38
+ const slot = this.el.shadowRoot.querySelector('slot:not([name])');
39
+ const assignedElements = slot.assignedElements();
40
+ assignedElements.forEach((ele) => {
41
+ ele.classList.contains('event-podcast') && ele.classList.remove('event-podcast');
42
+ });
22
43
  }
23
44
  render() {
24
45
  const classMap = this.getCssClassMap();
@@ -47,8 +68,8 @@ export class PtcCardBottom {
47
68
  "type": "string",
48
69
  "mutable": false,
49
70
  "complexType": {
50
- "original": "'card-video' | 'card-tall' | 'card-2up' | 'card-wide' | 'card-playlist' | 'extra-tall' | 'color-outlined'| 'most-popular'",
51
- "resolved": "\"card-2up\" | \"card-playlist\" | \"card-tall\" | \"card-video\" | \"card-wide\" | \"color-outlined\" | \"extra-tall\" | \"most-popular\"",
71
+ "original": "'card-video' | 'card-tall' | 'card-2up' | 'card-wide' | 'card-playlist' | 'extra-tall' | 'color-outlined'| 'most-popular'| 'event-podcast'",
72
+ "resolved": "\"card-2up\" | \"card-playlist\" | \"card-tall\" | \"card-video\" | \"card-wide\" | \"color-outlined\" | \"event-podcast\" | \"extra-tall\" | \"most-popular\"",
52
73
  "references": {}
53
74
  },
54
75
  "required": false,
@@ -112,5 +133,47 @@ export class PtcCardBottom {
112
133
  }
113
134
  }];
114
135
  }
136
+ static get methods() {
137
+ return {
138
+ "addClassOnDefaultSlot": {
139
+ "complexType": {
140
+ "signature": "() => Promise<void>",
141
+ "parameters": [],
142
+ "references": {
143
+ "Promise": {
144
+ "location": "global"
145
+ },
146
+ "HTMLSlotElement": {
147
+ "location": "global"
148
+ }
149
+ },
150
+ "return": "Promise<void>"
151
+ },
152
+ "docs": {
153
+ "text": "",
154
+ "tags": []
155
+ }
156
+ },
157
+ "removeClassOnDefaultSlot": {
158
+ "complexType": {
159
+ "signature": "() => Promise<void>",
160
+ "parameters": [],
161
+ "references": {
162
+ "Promise": {
163
+ "location": "global"
164
+ },
165
+ "HTMLSlotElement": {
166
+ "location": "global"
167
+ }
168
+ },
169
+ "return": "Promise<void>"
170
+ },
171
+ "docs": {
172
+ "text": "",
173
+ "tags": []
174
+ }
175
+ }
176
+ };
177
+ }
115
178
  static get elementRef() { return "el"; }
116
179
  }
@@ -17,6 +17,10 @@ export class PtcCardContent {
17
17
  this.el.nextElementSibling.classList.add('mouse-hover-card-bottom');
18
18
  }
19
19
  }
20
+ if (this.el.classList.contains('event-podcast')) {
21
+ const bottomComponent = this.el.nextElementSibling;
22
+ bottomComponent.addClassOnDefaultSlot();
23
+ }
20
24
  }
21
25
  leaveEventHandler() {
22
26
  if (!this.el.classList.contains('speed-bump') &&
@@ -29,6 +33,10 @@ export class PtcCardContent {
29
33
  this.el.nextElementSibling.classList.remove('mouse-hover-card-bottom');
30
34
  }
31
35
  }
36
+ if (this.el.classList.contains('event-podcast')) {
37
+ const bottomComponent = this.el.nextElementSibling;
38
+ bottomComponent.removeClassOnDefaultSlot();
39
+ }
32
40
  }
33
41
  async setHeight(height) {
34
42
  this.el.style.height = height + 'px';
@@ -69,8 +77,8 @@ export class PtcCardContent {
69
77
  "type": "string",
70
78
  "mutable": false,
71
79
  "complexType": {
72
- "original": "| 'card-video'\r\n | 'card-tall'\r\n | 'card-2up'\r\n | 'card-wide'\r\n | 'speed-bump'\r\n | 'card-playlist'\r\n | 'card-video-intro'\r\n | 'card-dynamic'\r\n | 'extra-tall'\r\n | 'color-outlined'\r\n | 'thumbnail-video-preview'\r\n | 'event-jumbotron-sub-card'",
73
- "resolved": "\"card-2up\" | \"card-dynamic\" | \"card-playlist\" | \"card-tall\" | \"card-video\" | \"card-video-intro\" | \"card-wide\" | \"color-outlined\" | \"event-jumbotron-sub-card\" | \"extra-tall\" | \"speed-bump\" | \"thumbnail-video-preview\"",
80
+ "original": "| 'card-video'\r\n | 'card-tall'\r\n | 'card-2up'\r\n | 'card-wide'\r\n | 'speed-bump'\r\n | 'card-playlist'\r\n | 'card-video-intro'\r\n | 'card-dynamic'\r\n | 'extra-tall'\r\n | 'color-outlined'\r\n | 'thumbnail-video-preview'\r\n | 'event-jumbotron-sub-card'\r\n | 'event-podcast'",
81
+ "resolved": "\"card-2up\" | \"card-dynamic\" | \"card-playlist\" | \"card-tall\" | \"card-video\" | \"card-video-intro\" | \"card-wide\" | \"color-outlined\" | \"event-jumbotron-sub-card\" | \"event-podcast\" | \"extra-tall\" | \"speed-bump\" | \"thumbnail-video-preview\"",
74
82
  "references": {}
75
83
  },
76
84
  "required": false,
@@ -253,4 +253,17 @@ ptc-link, ptc-square-card,
253
253
  border-radius: var(--ptc-border-radius-standard) !important;
254
254
  display: block;
255
255
  outline: none;
256
+ }
257
+
258
+ :host(.disabled) a {
259
+ pointer-events: none;
260
+ cursor: default;
261
+ text-decoration: none;
262
+ }
263
+
264
+ :host(.event-podcast) a:focus-visible {
265
+ box-shadow: 0 0 0 5px var(--keyboard-nav-outline);
266
+ border-radius: var(--ptc-border-radius-standard) !important;
267
+ display: block;
268
+ outline: none;
256
269
  }
@@ -7,6 +7,7 @@ export class PtcCardPlm {
7
7
  this.linkTarget = '_self';
8
8
  this.isLoading = false;
9
9
  this.trackerId = undefined;
10
+ this.disabled = false;
10
11
  this.styles = undefined;
11
12
  this.darkFocusState = false;
12
13
  }
@@ -48,6 +49,7 @@ export class PtcCardPlm {
48
49
  getCssClassMap() {
49
50
  return {
50
51
  [this.cardType]: this.cardType ? true : false,
52
+ ['disabled']: this.disabled,
51
53
  };
52
54
  }
53
55
  emitHeight() {
@@ -92,8 +94,8 @@ export class PtcCardPlm {
92
94
  "type": "string",
93
95
  "mutable": false,
94
96
  "complexType": {
95
- "original": "| 'card-video'\r\n | 'card-tall'\r\n | 'card-wide'\r\n | 'speed-bump'\r\n | 'card-playlist'\r\n | 'card-video-intro'\r\n | 'card-2up'\r\n | 'extra-tall'\r\n | 'color-outlined'\r\n | 'result-box'\r\n | 'most-popular'\r\n | 'simple-card'",
96
- "resolved": "\"card-2up\" | \"card-playlist\" | \"card-tall\" | \"card-video\" | \"card-video-intro\" | \"card-wide\" | \"color-outlined\" | \"extra-tall\" | \"most-popular\" | \"result-box\" | \"simple-card\" | \"speed-bump\"",
97
+ "original": "| 'card-video'\r\n | 'card-tall'\r\n | 'card-wide'\r\n | 'speed-bump'\r\n | 'card-playlist'\r\n | 'card-video-intro'\r\n | 'card-2up'\r\n | 'extra-tall'\r\n | 'color-outlined'\r\n | 'result-box'\r\n | 'most-popular'\r\n | 'simple-card'\r\n | 'event-podcast'",
98
+ "resolved": "\"card-2up\" | \"card-playlist\" | \"card-tall\" | \"card-video\" | \"card-video-intro\" | \"card-wide\" | \"color-outlined\" | \"event-podcast\" | \"extra-tall\" | \"most-popular\" | \"result-box\" | \"simple-card\" | \"speed-bump\"",
97
99
  "references": {}
98
100
  },
99
101
  "required": false,
@@ -192,6 +194,24 @@ export class PtcCardPlm {
192
194
  "attribute": "tracker-id",
193
195
  "reflect": false
194
196
  },
197
+ "disabled": {
198
+ "type": "boolean",
199
+ "mutable": false,
200
+ "complexType": {
201
+ "original": "boolean",
202
+ "resolved": "boolean",
203
+ "references": {}
204
+ },
205
+ "required": false,
206
+ "optional": true,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": "Disable links"
210
+ },
211
+ "attribute": "disabled",
212
+ "reflect": false,
213
+ "defaultValue": "false"
214
+ },
195
215
  "styles": {
196
216
  "type": "string",
197
217
  "mutable": false,
@@ -484,4 +484,9 @@ ptc-link, ptc-square-card,
484
484
 
485
485
  .tracker-div {
486
486
  display: inline;
487
+ }
488
+
489
+ :host(.event-podcast) a {
490
+ color: var(--color-green-06);
491
+ transition: text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout);
487
492
  }
@@ -414,4 +414,66 @@ ptc-link, ptc-square-card,
414
414
  :host(.thank-you) .wrapper .modal-popup .modal-body {
415
415
  padding: 2px 48px 48px 48px;
416
416
  }
417
+ }
418
+
419
+ :host .wrapper .event-list-header {
420
+ display: flex;
421
+ position: absolute;
422
+ width: 100%;
423
+ height: 118px;
424
+ left: 0;
425
+ transform: translateY(-100%);
426
+ border-radius: var(--ptc-border-radius-standard) var(--ptc-border-radius-standard) 0px 0px;
427
+ align-items: center;
428
+ }
429
+ :host .wrapper .event-list-header::before {
430
+ content: "";
431
+ position: absolute;
432
+ left: 0;
433
+ width: 100%;
434
+ height: 100%;
435
+ border-radius: 4px 4px 0px 0px;
436
+ background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
437
+ z-index: 1;
438
+ }
439
+ :host .wrapper .event-list-header .text-wrapper {
440
+ display: flex;
441
+ padding: var(--ptc-element-spacing-06);
442
+ gap: 0.5em;
443
+ }
444
+ :host .wrapper .event-list-header .text-wrapper span {
445
+ display: inline-block;
446
+ color: var(--color-white);
447
+ font-family: var(--ptc-font-latin);
448
+ font-size: var(--ptc-font-size-x-large);
449
+ font-weight: var(--ptc-font-weight-medium);
450
+ line-height: var(--ptc-line-height-densest);
451
+ position: relative;
452
+ z-index: 2;
453
+ }
454
+ :host .wrapper .event-list-header .text-wrapper span:first-of-type {
455
+ font-weight: var(--ptc-font-weight-extrabold);
456
+ }
457
+ :host .wrapper .event-mobile-modal {
458
+ border-top-left-radius: 0px;
459
+ border-top-right-radius: 0px;
460
+ }
461
+ :host .wrapper .bottom-close {
462
+ text-align: center;
463
+ margin: 0 auto 40px auto;
464
+ }
465
+ :host .wrapper .bottom-close span {
466
+ cursor: pointer;
467
+ color: var(--color-hyperlink);
468
+ font-size: var(--ptc-font-size-small);
469
+ font-weight: var(--ptc-font-weight-bold);
470
+ text-decoration-line: underline;
471
+ line-height: var(--ptc-line-height-densest);
472
+ }
473
+ :host .wrapper .bottom-close span:focus-visible {
474
+ border-radius: var(--ptc-border-radius-standard);
475
+ outline: 5px solid var(--keyboard-nav-outline);
476
+ }
477
+ :host .wrapper .bottom-close span:hover {
478
+ color: var(--color-blue-08);
417
479
  }
@@ -18,6 +18,10 @@ export class PtcModal {
18
18
  this.styles = undefined;
19
19
  this.modalType = 'default-modal';
20
20
  this.vhCenter = false;
21
+ this.headerOnlyBg = undefined;
22
+ this.headerOnlyText1 = undefined;
23
+ this.headerOnlyText2 = undefined;
24
+ this.bottomCloseBtn = undefined;
21
25
  this.bodyOverflowSetting = undefined;
22
26
  }
23
27
  fireOnClosed(modal) {
@@ -128,6 +132,7 @@ export class PtcModal {
128
132
  let overlay;
129
133
  let type = this.iframeUrl ? 'frame' : 'html';
130
134
  let closebtn = (h("div", { class: "close", id: "modal-close" }, h("ptc-close-icon", { onClick: (e) => { e.preventDefault(); this.close(); }, onKeyPress: (e) => { e.preventDefault(); this.close(); } })));
135
+ let bottomCloseBtnEle = (h("div", { class: "bottom-close", id: "modal-bottom-close", onClick: (e) => { e.preventDefault(); this.close(); }, onKeyPress: (e) => { e.preventDefault(); this.close(); } }, h("span", null, this.bottomCloseBtn)));
131
136
  if (this.iframeUrl) {
132
137
  content = (h("iframe", { src: this.iframeUrl, frameBorder: 0, allowFullScreen: false, height: "100%", width: "100%", scrolling: "no", onLoad: this.resizeIframe }));
133
138
  }
@@ -147,14 +152,18 @@ export class PtcModal {
147
152
  overlay = h("div", { class: "overlay" });
148
153
  }
149
154
  }
150
- return (h(Host, { class: this.getCssClassMap() }, this.styles && h("style", null, this.styles), h("div", { class: `wrapper ${this.show ? "show" : "hide"} ${this.fixed ? 'fixed' : ''} ` }, overlay, h("div", { class: `modal-popup ${this.customClass ? this.customClass : ''} ${this.size} ${type} ${this.rounded ? 'rounded' : ''} ${this.showHeaderFooter ? 'shadow-scroller' : ''} ` }, this.showHeaderFooter ? [
155
+ return (h(Host, { class: this.getCssClassMap() }, this.styles && h("style", null, this.styles), h("div", { class: `wrapper ${this.show ? "show" : "hide"} ${this.fixed ? 'fixed' : ''} ` }, overlay, h("div", { class: `modal-popup ${this.customClass ? this.customClass : ''} ${this.size} ${type} ${this.rounded ? 'rounded' : ''} ${this.showHeaderFooter ? 'shadow-scroller' : ''} ` }, this.modalType === "event-listing" && this.headerOnlyBg ? [
156
+ h("div", { class: "event-list-header" }, h("ptc-img", { "img-url": this.headerOnlyBg, "image-type": 'smart-img', styles: ".ptc-img{border-radius: var(--ptc-border-radius-standard) var(--ptc-border-radius-standard) 0px 0px;}" }), h("div", { class: "text-wrapper" }, h("span", null, this.headerOnlyText1 ? this.headerOnlyText1 : ""), h("span", null, this.headerOnlyText2 ? this.headerOnlyText2 : "")))
157
+ ] : null, this.showHeaderFooter ? [
151
158
  h("div", { class: "modal-header" }, h("slot", { name: "header" }), closebtn),
152
159
  h("div", { class: "modal-body", onScroll: () => this.handleScroll() }, content),
153
160
  h("div", { class: "modal-footer" }, h("slot", { name: "footer" }))
154
161
  ] : [
155
162
  closebtn,
156
163
  h("div", { class: "modal-body" }, content)
157
- ]))));
164
+ ], this.modalType === "event-listing" && this.bottomCloseBtn ? [
165
+ bottomCloseBtnEle
166
+ ] : null))));
158
167
  }
159
168
  getCssClassMap() {
160
169
  return {
@@ -481,6 +490,74 @@ export class PtcModal {
481
490
  "attribute": "vh-center",
482
491
  "reflect": false,
483
492
  "defaultValue": "false"
493
+ },
494
+ "headerOnlyBg": {
495
+ "type": "string",
496
+ "mutable": false,
497
+ "complexType": {
498
+ "original": "string",
499
+ "resolved": "string",
500
+ "references": {}
501
+ },
502
+ "required": false,
503
+ "optional": true,
504
+ "docs": {
505
+ "tags": [],
506
+ "text": ""
507
+ },
508
+ "attribute": "header-only-bg",
509
+ "reflect": false
510
+ },
511
+ "headerOnlyText1": {
512
+ "type": "string",
513
+ "mutable": false,
514
+ "complexType": {
515
+ "original": "string",
516
+ "resolved": "string",
517
+ "references": {}
518
+ },
519
+ "required": false,
520
+ "optional": true,
521
+ "docs": {
522
+ "tags": [],
523
+ "text": ""
524
+ },
525
+ "attribute": "header-only-text-1",
526
+ "reflect": false
527
+ },
528
+ "headerOnlyText2": {
529
+ "type": "string",
530
+ "mutable": false,
531
+ "complexType": {
532
+ "original": "string",
533
+ "resolved": "string",
534
+ "references": {}
535
+ },
536
+ "required": false,
537
+ "optional": true,
538
+ "docs": {
539
+ "tags": [],
540
+ "text": ""
541
+ },
542
+ "attribute": "header-only-text-2",
543
+ "reflect": false
544
+ },
545
+ "bottomCloseBtn": {
546
+ "type": "string",
547
+ "mutable": false,
548
+ "complexType": {
549
+ "original": "string",
550
+ "resolved": "string",
551
+ "references": {}
552
+ },
553
+ "required": false,
554
+ "optional": true,
555
+ "docs": {
556
+ "tags": [],
557
+ "text": ""
558
+ },
559
+ "attribute": "bottom-close-btn",
560
+ "reflect": false
484
561
  }
485
562
  };
486
563
  }
@@ -1,6 +1,35 @@
1
1
  import { Host, h } from '@stencil/core';
2
2
  export class PtcScrollButton {
3
3
  constructor() {
4
+ //slider!: HTMLElement;
5
+ this.startX = 0;
6
+ this.scrollLeft = 0;
7
+ this.startDragging = (e) => {
8
+ this.isMouseDown = true;
9
+ this.isDragging = false;
10
+ this.containerCards.forEach((card) => {
11
+ card.disabled = false;
12
+ });
13
+ this.startX = e.pageX;
14
+ this.scrollLeft = this.scrollContainer.scrollLeft;
15
+ };
16
+ this.performDragging = (e) => {
17
+ if (!this.isMouseDown)
18
+ return;
19
+ const x = e.pageX - this.scrollContainer.offsetLeft;
20
+ const walk = x - this.startX;
21
+ this.isDragging = Math.abs(walk) > 5;
22
+ this.scrollContainer.scrollLeft = this.scrollLeft - walk;
23
+ this.containerCards.forEach((card) => {
24
+ card.disabled = true;
25
+ });
26
+ };
27
+ this.stopDragging = () => {
28
+ this.isMouseDown = false;
29
+ this.containerCards.forEach((card) => {
30
+ card.disabled = false;
31
+ });
32
+ };
4
33
  this.handleScroll = () => {
5
34
  this.updateVisibility();
6
35
  };
@@ -29,6 +58,8 @@ export class PtcScrollButton {
29
58
  this.trackerId = undefined;
30
59
  this.styles = undefined;
31
60
  this.isVisible = true;
61
+ this.isDragging = false;
62
+ this.isMouseDown = false;
32
63
  }
33
64
  componentWillLoad() {
34
65
  this.scrollContainer = document.querySelector(`.${this.scrollContainerClass}`);
@@ -41,11 +72,31 @@ export class PtcScrollButton {
41
72
  console.error('scrollContainer ele not found');
42
73
  }
43
74
  }
75
+ componentDidLoad() {
76
+ this.containerCards = document.querySelectorAll(`.${this.scrollContainerClass} ptc-card-wrapper`);
77
+ if (this.scrollContainer) {
78
+ this.enableDragging();
79
+ }
80
+ }
44
81
  disconnectedCallback() {
45
82
  if (this.scrollContainer) {
46
83
  this.scrollContainer.removeEventListener('scroll', this.handleScroll);
84
+ this.disableDragging();
47
85
  }
48
86
  }
87
+ async initVisibility() {
88
+ this.updateVisibility();
89
+ }
90
+ enableDragging() {
91
+ this.scrollContainer.addEventListener('mousedown', this.startDragging);
92
+ this.scrollContainer.addEventListener('mousemove', this.performDragging);
93
+ ['mouseup', 'mouseleave'].forEach(event => this.scrollContainer.addEventListener(event, this.stopDragging));
94
+ }
95
+ disableDragging() {
96
+ this.scrollContainer.removeEventListener('mousedown', this.startDragging);
97
+ this.scrollContainer.removeEventListener('mousemove', this.performDragging);
98
+ ['mouseup', 'mouseleave'].forEach(event => this.scrollContainer.removeEventListener(event, this.stopDragging));
99
+ }
49
100
  updateVisibility() {
50
101
  if (!this.scrollContainer)
51
102
  return;
@@ -55,7 +106,8 @@ export class PtcScrollButton {
55
106
  this.isVisible = scrollLeft > 0;
56
107
  }
57
108
  else if (this.direction === 'right') {
58
- this.isVisible = scrollLeft + clientWidth < scrollWidth;
109
+ this.isVisible = scrollLeft + clientWidth + 1 < scrollWidth; // "+1" adjustments after adding margin-right 40px
110
+ // console.log('scorllLeft: ' + scrollLeft + ", scrollWidth: " + scrollWidth + ", clientWidth: " + clientWidth);
59
111
  }
60
112
  }
61
113
  else if (this.orientation === 'vertical') {
@@ -68,7 +120,7 @@ export class PtcScrollButton {
68
120
  }
69
121
  }
70
122
  render() {
71
- return (h(Host, null, this.styles && h("style", null, this.styles), this.isVisible && (h("button", { id: this.trackerId, onClick: this.handleClick, class: `scroll-btn ${this.direction}`, "aria-label": this.direction, tabindex: "0" }, this.direction === 'left' && h("icon-asset", { name: "left-scroll-arrow", size: "small", color: "white", type: "ptc", "injected-style": "svg:focus{outline:none;}" }), this.direction === 'right' && h("icon-asset", { name: "right-scroll-arrow", size: "small", color: "white", type: "ptc", "injected-style": "svg:focus{outline:none;}" }), this.direction === 'up' && '▲', this.direction === 'down' && '▼'))));
123
+ return (h(Host, { "is-dragging": this.isDragging }, this.styles && h("style", null, this.styles), this.isVisible && (h("button", { id: this.trackerId, onClick: this.handleClick, class: `scroll-btn ${this.direction}`, "aria-label": this.direction, tabindex: "0" }, this.direction === 'left' && h("icon-asset", { name: "left-scroll-arrow", size: "small", color: "white", type: "ptc", "injected-style": "svg:focus{outline:none;}" }), this.direction === 'right' && h("icon-asset", { name: "right-scroll-arrow", size: "small", color: "white", type: "ptc", "injected-style": "svg:focus{outline:none;}" }), this.direction === 'up' && '▲', this.direction === 'down' && '▼'))));
72
124
  }
73
125
  static get is() { return "ptc-scroll-button"; }
74
126
  static get encapsulation() { return "shadow"; }
@@ -187,12 +239,51 @@ export class PtcScrollButton {
187
239
  },
188
240
  "attribute": "styles",
189
241
  "reflect": false
242
+ },
243
+ "isDragging": {
244
+ "type": "boolean",
245
+ "mutable": true,
246
+ "complexType": {
247
+ "original": "boolean",
248
+ "resolved": "boolean",
249
+ "references": {}
250
+ },
251
+ "required": false,
252
+ "optional": false,
253
+ "docs": {
254
+ "tags": [],
255
+ "text": ""
256
+ },
257
+ "attribute": "is-dragging",
258
+ "reflect": false,
259
+ "defaultValue": "false"
190
260
  }
191
261
  };
192
262
  }
193
263
  static get states() {
194
264
  return {
195
- "isVisible": {}
265
+ "isVisible": {},
266
+ "isMouseDown": {}
267
+ };
268
+ }
269
+ static get methods() {
270
+ return {
271
+ "initVisibility": {
272
+ "complexType": {
273
+ "signature": "() => Promise<void>",
274
+ "parameters": [],
275
+ "references": {
276
+ "Promise": {
277
+ "location": "global"
278
+ }
279
+ },
280
+ "return": "Promise<void>"
281
+ },
282
+ "docs": {
283
+ "text": "",
284
+ "tags": []
285
+ }
286
+ }
196
287
  };
197
288
  }
198
289
  }
@@ -68,6 +68,12 @@ export const EventJumbotronExample: {
68
68
  new (): EventJumbotronExample;
69
69
  };
70
70
 
71
+ interface EventPodcastSliderExample extends Components.EventPodcastSliderExample, HTMLElement {}
72
+ export const EventPodcastSliderExample: {
73
+ prototype: EventPodcastSliderExample;
74
+ new (): EventPodcastSliderExample;
75
+ };
76
+
71
77
  interface FeaturedEventsSliderExample extends Components.FeaturedEventsSliderExample, HTMLElement {}
72
78
  export const FeaturedEventsSliderExample: {
73
79
  prototype: FeaturedEventsSliderExample;