@carbon/ibmdotcom-web-components 2.42.0 → 2.44.0

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 (112) hide show
  1. package/custom-elements.json +694 -21
  2. package/dist/dotcom-shell.js +2 -2
  3. package/dist/dotcom-shell.min.js +2 -2
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +2 -2
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
  6. package/dist/{index-1c798fbb.js → index-61a58423.js} +1126 -820
  7. package/dist/{index-0582e43b.js → index-ec9bb3a7.js} +325 -325
  8. package/dist/{left-nav-menu-222d7e12.js → left-nav-menu-1ff7160b.js} +2 -2
  9. package/dist/{left-nav-menu-fbe31764.js → left-nav-menu-7d664773.js} +2 -2
  10. package/dist/{left-nav-menu-category-heading-bad5c9a4.js → left-nav-menu-category-heading-3fda0fd5.js} +2 -2
  11. package/dist/{left-nav-menu-category-heading-d40df38d.js → left-nav-menu-category-heading-df0252db.js} +2 -2
  12. package/dist/{left-nav-menu-item-1c789f3b.js → left-nav-menu-item-b217b8fd.js} +2 -2
  13. package/dist/{left-nav-menu-item-d8292202.js → left-nav-menu-item-caa0c565.js} +2 -2
  14. package/dist/{left-nav-menu-section-722a4f08.js → left-nav-menu-section-d00e6604.js} +2 -2
  15. package/dist/{left-nav-menu-section-ad075d07.js → left-nav-menu-section-dbde241d.js} +2 -2
  16. package/dist/{left-nav-overlay-c4bce0ba.js → left-nav-overlay-cd84d0bc.js} +2 -2
  17. package/dist/{left-nav-overlay-6931a643.js → left-nav-overlay-f5867fdc.js} +2 -2
  18. package/dist/{megamenu-category-group-b28f721d.js → megamenu-category-group-251cebcf.js} +2 -2
  19. package/dist/{megamenu-category-group-6a9005b2.js → megamenu-category-group-802948a9.js} +2 -2
  20. package/dist/{megamenu-category-group-copy-09e2b942.js → megamenu-category-group-copy-484e9b27.js} +2 -2
  21. package/dist/{megamenu-category-group-copy-a1712d7f.js → megamenu-category-group-copy-7efee05a.js} +2 -2
  22. package/dist/{megamenu-category-heading-b5cf4e2d.js → megamenu-category-heading-2190977a.js} +2 -2
  23. package/dist/{megamenu-category-heading-d1c1fa95.js → megamenu-category-heading-315eb114.js} +2 -2
  24. package/dist/{megamenu-category-link-aeb6f7d6.js → megamenu-category-link-3d42179f.js} +2 -2
  25. package/dist/{megamenu-category-link-2c38f1b8.js → megamenu-category-link-84c22ab0.js} +2 -2
  26. package/dist/{megamenu-category-link-group-492f73c5.js → megamenu-category-link-group-3cdb6bfc.js} +2 -2
  27. package/dist/{megamenu-category-link-group-c7ade8c5.js → megamenu-category-link-group-94e4b16c.js} +2 -2
  28. package/dist/{megamenu-left-navigation-328b8153.js → megamenu-left-navigation-b5b03849.js} +2 -2
  29. package/dist/{megamenu-left-navigation-015a1a3e.js → megamenu-left-navigation-ee2dc6e8.js} +2 -2
  30. package/dist/{megamenu-overlay-763b7455.js → megamenu-overlay-646b736f.js} +2 -2
  31. package/dist/{megamenu-overlay-a9dcb9ea.js → megamenu-overlay-6a12d82a.js} +2 -2
  32. package/dist/{megamenu-tab-9623c21c.js → megamenu-tab-5490376a.js} +2 -2
  33. package/dist/{megamenu-tab-faaeff5a.js → megamenu-tab-99df887a.js} +2 -2
  34. package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
  35. package/es/components/card-group/card-group.css.js +1 -1
  36. package/es/components/card-section-offset/card-section-offset.css.js +1 -1
  37. package/es/components/card-section-simple/card-section-simple.css.js +1 -1
  38. package/es/components/content-block/content-block.css.js +1 -1
  39. package/es/components/content-block-cards/content-block-cards.css.js +1 -1
  40. package/es/components/content-block-media/content-block-media.css.js +1 -1
  41. package/es/components/content-section/content-section.css.js +1 -1
  42. package/es/components/cta-block/cta-block.css.js +1 -1
  43. package/es/components/cta-section/cta-section.css.js +1 -1
  44. package/es/components/dotcom-shell/dotcom-shell.css.js +1 -1
  45. package/es/components/footer/footer-composite.d.ts +10 -10
  46. package/es/components/footer/footer-composite.js +78 -53
  47. package/es/components/footer/footer-composite.js.map +1 -1
  48. package/es/components/footer/footer-container.d.ts +4 -3
  49. package/es/components/footer/footer-container.js +8 -5
  50. package/es/components/footer/footer-container.js.map +1 -1
  51. package/es/components/footer/footer.css.js +1 -1
  52. package/es/components/global-banner/global-banner.css.js +1 -1
  53. package/es/components/leadspace/leadspace.css.js +1 -1
  54. package/es/components/leadspace-with-search/leadspace-with-search.css.js +1 -1
  55. package/es/components/link-list-section/link-list-section.css.js +1 -1
  56. package/es/components/locale-modal/locale-modal.css.js +1 -1
  57. package/es/components/masthead/masthead-cart.d.ts +1 -0
  58. package/es/components/masthead/masthead-cart.js +23 -5
  59. package/es/components/masthead/masthead-cart.js.map +1 -1
  60. package/es/components/masthead/masthead-l1.css.js +1 -1
  61. package/es/components/masthead/masthead.css.js +1 -1
  62. package/es/components/table-of-contents/table-of-contents-cdn.css.js +1 -1
  63. package/es/components/table-of-contents/table-of-contents.css.js +1 -1
  64. package/es/components/table-of-contents/table-of-contents.d.ts +1 -1
  65. package/es/components/table-of-contents/table-of-contents.js +15 -2
  66. package/es/components/table-of-contents/table-of-contents.js.map +1 -1
  67. package/es/components/video-player-v7/defs.d.ts +42 -0
  68. package/es/components/video-player-v7/defs.js +46 -0
  69. package/es/components/video-player-v7/defs.js.map +1 -0
  70. package/es/components/video-player-v7/index.d.ts +11 -0
  71. package/es/components/video-player-v7/index.js +18 -0
  72. package/es/components/video-player-v7/index.js.map +1 -0
  73. package/es/components/video-player-v7/video-player-composite.d.ts +873 -0
  74. package/es/components/video-player-v7/video-player-composite.js +705 -0
  75. package/es/components/video-player-v7/video-player-composite.js.map +1 -0
  76. package/es/components/video-player-v7/video-player-container.d.ts +1219 -0
  77. package/es/components/video-player-v7/video-player-container.js +392 -0
  78. package/es/components/video-player-v7/video-player-container.js.map +1 -0
  79. package/es/components/video-player-v7/video-player.css.js +12 -0
  80. package/es/components/video-player-v7/video-player.d.ts +807 -0
  81. package/es/components/video-player-v7/video-player.js +577 -0
  82. package/es/components/video-player-v7/video-player.js.map +1 -0
  83. package/es/components-react/footer/footer-container.d.ts +1 -1
  84. package/es/components-react/video-player-v7/defs.js +9 -0
  85. package/es/components-react/video-player-v7/video-player-composite.d.ts +32 -0
  86. package/es/components-react/video-player-v7/video-player-container.d.ts +19 -0
  87. package/es/components-react/video-player-v7/video-player.d.ts +37 -0
  88. package/es/globals/scss/themes.css.js +1 -1
  89. package/es/internal/vendor/@carbon/ibmdotcom-services/services/KalturaPlayerV7/KalturaPlayer.js +366 -0
  90. package/es/internal/vendor/@carbon/ibmdotcom-services/services/KalturaPlayerV7/index.js +8 -0
  91. package/es/internal/vendor/@carbon/ibmdotcom-services-store/actions/kalturaPlayerAPIv7.d.ts +54 -0
  92. package/es/internal/vendor/@carbon/ibmdotcom-services-store/actions/kalturaPlayerAPIv7.js +88 -0
  93. package/es/internal/vendor/@carbon/ibmdotcom-services-store/actions/kalturaPlayerAPIv7.js.map +1 -0
  94. package/es/internal/vendor/@carbon/ibmdotcom-services-store/reducers/kalturaPlayerAPIv7.d.ts +18 -0
  95. package/es/internal/vendor/@carbon/ibmdotcom-services-store/reducers/kalturaPlayerAPIv7.js +88 -0
  96. package/es/internal/vendor/@carbon/ibmdotcom-services-store/reducers/kalturaPlayerAPIv7.js.map +1 -0
  97. package/es/internal/vendor/@carbon/ibmdotcom-services-store/types/kalturaPlayerAPIv7.d.ts +77 -0
  98. package/es/internal/vendor/@carbon/ibmdotcom-services-store/types/kalturaPlayerAPIv7.js +36 -0
  99. package/es/internal/vendor/@carbon/ibmdotcom-services-store/types/kalturaPlayerAPIv7.js.map +1 -0
  100. package/lib/components/video-player-v7/defs.js +50 -0
  101. package/lib/components/video-player-v7/defs.js.map +1 -0
  102. package/lib/components-react-node/video-player-v7/defs.js +24 -0
  103. package/lib/internal/vendor/@carbon/ibmdotcom-services/services/KalturaPlayerV7/KalturaPlayer.js +371 -0
  104. package/lib/internal/vendor/@carbon/ibmdotcom-services/services/KalturaPlayerV7/index.js +13 -0
  105. package/lib/internal/vendor/@carbon/ibmdotcom-services-store/actions/kalturaPlayerAPIv7.js +104 -0
  106. package/lib/internal/vendor/@carbon/ibmdotcom-services-store/actions/kalturaPlayerAPIv7.js.map +1 -0
  107. package/lib/internal/vendor/@carbon/ibmdotcom-services-store/reducers/kalturaPlayerAPIv7.js +94 -0
  108. package/lib/internal/vendor/@carbon/ibmdotcom-services-store/reducers/kalturaPlayerAPIv7.js.map +1 -0
  109. package/lib/internal/vendor/@carbon/ibmdotcom-services-store/types/kalturaPlayerAPIv7.js +39 -0
  110. package/lib/internal/vendor/@carbon/ibmdotcom-services-store/types/kalturaPlayerAPIv7.js.map +1 -0
  111. package/package.json +7 -7
  112. package/scss/components/video-player-v7/video-player.scss +8 -0
@@ -0,0 +1,577 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _decorate from "@babel/runtime/helpers/esm/decorate";
3
+ let _ = t => t,
4
+ _t,
5
+ _t2,
6
+ _t3,
7
+ _t4,
8
+ _t5,
9
+ _t6,
10
+ _t7,
11
+ _t8,
12
+ _t9;
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ /**
16
+ * @license
17
+ *
18
+ * Copyright IBM Corp. 2020, 2025
19
+ *
20
+ * This source code is licensed under the Apache-2.0 license found in the
21
+ * LICENSE file in the root directory of this source tree.
22
+ */
23
+
24
+ import { LitElement, html, nothing } from 'lit';
25
+ import { property } from 'lit/decorators.js';
26
+ import { classMap } from 'lit/directives/class-map.js';
27
+ import FocusMixin from '@carbon/web-components/es/globals/mixins/focus.js';
28
+ import PlayVideo from '../../../es/icons/play-video.js';
29
+ import PlayOutline from '@carbon/web-components/es/icons/play--outline/20.js';
30
+ import PauseOutline from '@carbon/web-components/es/icons/pause--outline/20.js';
31
+ import { formatVideoCaption, formatVideoDuration } from '@carbon/ibmdotcom-utilities/es/utilities/formatVideoCaption/formatVideoCaption.js';
32
+ import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
33
+ import KalturaPlayerAPI from '@carbon/ibmdotcom-services/es/services/KalturaPlayerV7/KalturaPlayer.js';
34
+ import { BUTTON_POSITION, VIDEO_PLAYER_CONTENT_STATE, VIDEO_PLAYER_PLAYING_MODE } from "./defs.js";
35
+ import "../image/image.js";
36
+ import styles from "././video-player.css.js";
37
+ import StableSelectorMixin from "../../globals/mixins/stable-selector.js";
38
+ import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
39
+ import ifNonEmpty from '@carbon/web-components/es/globals/directives/if-non-empty.js';
40
+ export { VIDEO_PLAYER_CONTENT_STATE };
41
+ export { VIDEO_PLAYER_PLAYING_MODE };
42
+ const {
43
+ stablePrefix: c4dPrefix
44
+ } = settings;
45
+
46
+ /**
47
+ * Video player.
48
+ *
49
+ * @element c4d-video-player-v7
50
+ * @csspart video - The video. Usage `c4d-video-player::part(video)`
51
+ * @csspart button - The play button. Usage `c4d-video-player::part(button)`
52
+ * @csspart image - The thumbnail image. Usage `c4d-video-player::part(image)`
53
+ * @csspart play-video - The play video icon. Usage `c4d-video-player::part(play-video)`
54
+ * @csspart video-container - The video container. Usage `c4d-video-player::part(video-container)`
55
+ * @csspart caption - The caption. Usage `c4d-video-player::part(caption)`
56
+ */
57
+ let C4DVideoPlayer = _decorate([customElement(`${c4dPrefix}-video-player-v7`)], function (_initialize, _FocusMixin) {
58
+ class C4DVideoPlayer extends _FocusMixin {
59
+ constructor(...args) {
60
+ super(...args);
61
+ _initialize(this);
62
+ }
63
+ }
64
+ return {
65
+ F: C4DVideoPlayer,
66
+ d: [{
67
+ kind: "field",
68
+ decorators: [property({
69
+ reflect: true,
70
+ attribute: 'playing-mode'
71
+ })],
72
+ key: "playingMode",
73
+ value() {
74
+ return VIDEO_PLAYER_PLAYING_MODE.INLINE;
75
+ }
76
+ }, {
77
+ kind: "field",
78
+ decorators: [property({
79
+ attribute: 'intersection-mode',
80
+ reflect: true,
81
+ type: Boolean
82
+ })],
83
+ key: "intersectionMode",
84
+ value() {
85
+ return false;
86
+ }
87
+ }, {
88
+ kind: "field",
89
+ decorators: [property()],
90
+ key: "isPlaying",
91
+ value() {
92
+ return false;
93
+ }
94
+ }, {
95
+ kind: "field",
96
+ decorators: [property({
97
+ attribute: 'button-position',
98
+ reflect: true
99
+ })],
100
+ key: "buttonPosition",
101
+ value() {
102
+ return BUTTON_POSITION.BOTTOM_RIGHT;
103
+ }
104
+ }, {
105
+ kind: "field",
106
+ key: "_handleClickOverlay",
107
+ value() {
108
+ return () => {
109
+ if (this.playingMode === VIDEO_PLAYER_PLAYING_MODE.INLINE) {
110
+ this.contentState = VIDEO_PLAYER_CONTENT_STATE.VIDEO;
111
+ }
112
+ const {
113
+ videoId,
114
+ name,
115
+ customVideoDescription
116
+ } = this;
117
+ const {
118
+ eventContentStateChange
119
+ } = this.constructor;
120
+ this.dispatchEvent(new CustomEvent(eventContentStateChange, {
121
+ bubbles: true,
122
+ composed: true,
123
+ detail: {
124
+ videoId,
125
+ contentState: VIDEO_PLAYER_CONTENT_STATE.VIDEO,
126
+ playingMode: this.playingMode,
127
+ name,
128
+ customVideoDescription
129
+ }
130
+ }));
131
+ };
132
+ }
133
+ }, {
134
+ kind: "field",
135
+ key: "_handleTogglePlayback",
136
+ value() {
137
+ return () => {
138
+ const {
139
+ videoId
140
+ } = this;
141
+ const {
142
+ eventTogglePlayback
143
+ } = this.constructor;
144
+ this.dispatchEvent(new CustomEvent(eventTogglePlayback, {
145
+ bubbles: true,
146
+ composed: true,
147
+ detail: {
148
+ videoId
149
+ }
150
+ }));
151
+ };
152
+ }
153
+ }, {
154
+ kind: "field",
155
+ key: "_renderContent",
156
+ value() {
157
+ return () => {
158
+ const {
159
+ contentState,
160
+ name,
161
+ thumbnailUrl,
162
+ backgroundMode,
163
+ _handleClickOverlay: handleClickOverlay,
164
+ intersectionMode
165
+ } = this;
166
+ if (intersectionMode) {
167
+ // IF the thumbnail url is empty, it should render nothing
168
+ const thumbnail = thumbnailUrl === '' ? nothing : html(_t || (_t = _` <c4d-image
169
+ default-src="${0}"
170
+ alt="${0}"
171
+ part="image">
172
+ </c4d-image>`), thumbnailUrl, ifNonEmpty(name));
173
+ return html(_t2 || (_t2 = _`
174
+ <div class="${0}--video-player__video">
175
+ ${0}
176
+ </div>
177
+ `), c4dPrefix, contentState === VIDEO_PLAYER_CONTENT_STATE.THUMBNAIL ? thumbnail : html(_t3 || (_t3 = _` <slot></slot> `)));
178
+ } else {
179
+ // IF the thumbnail url is empty, it should render nothing
180
+ const thumbnail = thumbnailUrl === '' ? nothing : html(_t4 || (_t4 = _` <c4d-image
181
+ default-src="${0}"
182
+ alt="${0}"
183
+ part="image">
184
+ ${0}
185
+ </c4d-image>`), thumbnailUrl, ifNonEmpty(name), PlayVideo({
186
+ slot: 'icon',
187
+ part: 'play-video'
188
+ }));
189
+ return contentState === VIDEO_PLAYER_CONTENT_STATE.THUMBNAIL && !backgroundMode && !this.autoplay ? html(_t5 || (_t5 = _`
190
+ <div class="${0}--video-player__video" part="video">
191
+ <button
192
+ class="${0}--video-player__image-overlay"
193
+ part="button"
194
+ @click="${0}">
195
+ ${0}
196
+ </button>
197
+ </div>
198
+ `), c4dPrefix, c4dPrefix, handleClickOverlay, thumbnail) : html(_t6 || (_t6 = _` <slot></slot> `));
199
+ }
200
+ };
201
+ }
202
+ }, {
203
+ kind: "method",
204
+ key: "_updateThumbnailUrl",
205
+ value:
206
+ /**
207
+ * The video player's mode showing Inline or Lightbox.
208
+ */
209
+
210
+ /**
211
+ * Triggers playback on intersection with the viewport / carousel.
212
+ */
213
+
214
+ /**
215
+ * The current playback state, inherited from the parent.
216
+ */
217
+
218
+ /**
219
+ * The position of the toggle playback button.
220
+ */
221
+
222
+ /**
223
+ * Handles `click` event on the video thumbnail.
224
+ */
225
+
226
+ /**
227
+ * @returns The video content.
228
+ */
229
+
230
+ /**
231
+ * Updates video thumbnail url to match video width
232
+ */
233
+ function _updateThumbnailUrl() {
234
+ let thumbnailSrc = false;
235
+ try {
236
+ thumbnailSrc = new URL(this.thumbnailUrl);
237
+ } catch (error) {
238
+ // Do nothing.
239
+ }
240
+
241
+ // If current thumbnail is from Kaltura and includes this video's ID we should be able to safely update it.
242
+ if (thumbnailSrc && thumbnailSrc.host.toLowerCase().includes('kaltura') && thumbnailSrc.pathname.includes(this.videoId)) {
243
+ this.thumbnailUrl = KalturaPlayerAPI.getThumbnailUrl({
244
+ mediaId: this.videoId,
245
+ width: this.offsetWidth
246
+ });
247
+ }
248
+ }
249
+
250
+ /**
251
+ * userInitiatedTogglePlaybackState
252
+ */
253
+ }, {
254
+ kind: "method",
255
+ key: "userInitiatedTogglePlaybackState",
256
+ value: function userInitiatedTogglePlaybackState() {
257
+ const {
258
+ videoId
259
+ } = this;
260
+ const {
261
+ eventPlaybackStateChange
262
+ } = this.constructor;
263
+ this.dispatchEvent(new CustomEvent(eventPlaybackStateChange, {
264
+ bubbles: true,
265
+ composed: true,
266
+ detail: {
267
+ videoId,
268
+ playingMode: this.playingMode
269
+ }
270
+ }));
271
+ }
272
+
273
+ /**
274
+ * The video player's content state.
275
+ */
276
+ }, {
277
+ kind: "field",
278
+ decorators: [property({
279
+ reflect: true,
280
+ attribute: 'content-state'
281
+ })],
282
+ key: "contentState",
283
+ value() {
284
+ return VIDEO_PLAYER_CONTENT_STATE.THUMBNAIL;
285
+ }
286
+ }, {
287
+ kind: "field",
288
+ decorators: [property({
289
+ type: Number
290
+ })],
291
+ key: "duration",
292
+ value: void 0
293
+ }, {
294
+ kind: "field",
295
+ decorators: [property({
296
+ attribute: false
297
+ })],
298
+ key: "formatCaption",
299
+ value() {
300
+ return formatVideoCaption;
301
+ }
302
+ }, {
303
+ kind: "field",
304
+ decorators: [property({
305
+ attribute: false
306
+ })],
307
+ key: "formatDuration",
308
+ value() {
309
+ return formatVideoDuration;
310
+ }
311
+ }, {
312
+ kind: "field",
313
+ decorators: [property({
314
+ type: Boolean,
315
+ attribute: 'hide-caption'
316
+ })],
317
+ key: "hideCaption",
318
+ value() {
319
+ return false;
320
+ }
321
+ }, {
322
+ kind: "field",
323
+ decorators: [property()],
324
+ key: "name",
325
+ value() {
326
+ return '';
327
+ }
328
+ }, {
329
+ kind: "field",
330
+ decorators: [property({
331
+ attribute: 'background-mode',
332
+ reflect: true,
333
+ type: Boolean
334
+ })],
335
+ key: "backgroundMode",
336
+ value() {
337
+ return false;
338
+ }
339
+ }, {
340
+ kind: "field",
341
+ decorators: [property({
342
+ attribute: 'auto-play',
343
+ reflect: true,
344
+ type: Boolean
345
+ })],
346
+ key: "autoplay",
347
+ value() {
348
+ return false;
349
+ }
350
+ }, {
351
+ kind: "field",
352
+ decorators: [property({
353
+ attribute: 'video-description'
354
+ })],
355
+ key: "customVideoDescription",
356
+ value: void 0
357
+ }, {
358
+ kind: "field",
359
+ decorators: [property({
360
+ attribute: 'thumbnail-url'
361
+ })],
362
+ key: "thumbnailUrl",
363
+ value() {
364
+ return '';
365
+ }
366
+ }, {
367
+ kind: "field",
368
+ decorators: [property({
369
+ attribute: 'video-id'
370
+ })],
371
+ key: "videoId",
372
+ value: void 0
373
+ }, {
374
+ kind: "field",
375
+ decorators: [property({
376
+ attribute: 'aspect-ratio'
377
+ })],
378
+ key: "aspectRatio",
379
+ value: void 0
380
+ }, {
381
+ kind: "method",
382
+ key: "render",
383
+ value:
384
+ /**
385
+ * The video duration.
386
+ */
387
+ /**
388
+ * The formatter for the video caption, composed with the video name and the video duration.
389
+ * Should be changed upon the locale the UI is rendered with.
390
+ */
391
+ /**
392
+ * The formatter for the video duration.
393
+ * Should be changed upon the locale the UI is rendered with.
394
+ */
395
+ /**
396
+ * `true` to hide the caption.
397
+ */
398
+ /**
399
+ * The video name.
400
+ */
401
+ /**
402
+ * `true` to autoplay, mute video, and hide UI
403
+ */
404
+ /**
405
+ * `true` to autoplay
406
+ */
407
+ /**
408
+ * Custom video description. This property should only be set when using `playing-mode="lightbox"`
409
+ */
410
+ /**
411
+ * The thumbnail URL.
412
+ */
413
+ /**
414
+ * The video ID.
415
+ */
416
+ /**
417
+ * Override default aspect ratio of `16x9`.
418
+ * Available aspect ratios:
419
+ *
420
+ * `16x9`, `9x16`, `2x1`, `1x2`, `4x3`, `3x4`, `1x1`
421
+ */
422
+ function render() {
423
+ const isRTL = this.dir === 'rtl' || getComputedStyle(this).direction === 'rtl';
424
+ const {
425
+ aspectRatio,
426
+ duration,
427
+ formatCaption,
428
+ formatDuration,
429
+ hideCaption,
430
+ name,
431
+ buttonPosition,
432
+ intersectionMode,
433
+ _handleTogglePlayback: handleTogglePlayback,
434
+ _renderContent: renderContent
435
+ } = this;
436
+ const aspectRatioClass = classMap({
437
+ [`${c4dPrefix}--video-player__video-container`]: true,
438
+ [`${c4dPrefix}--video-player__aspect-ratio--${aspectRatio}`]: !!aspectRatio
439
+ });
440
+ const togglePlaybackClass = classMap({
441
+ [`${c4dPrefix}--video-player__toggle-playback`]: true,
442
+ [`${c4dPrefix}--video-player__toggle-playback--${buttonPosition}`]: true
443
+ });
444
+ return html(_t7 || (_t7 = _`
445
+ <div class="${0}" part="video-container">
446
+ ${0}
447
+ ${0}
448
+ </div>
449
+ ${0}
450
+ `), aspectRatioClass, intersectionMode ? html(_t8 || (_t8 = _`
451
+ <button
452
+ class="${0}"
453
+ @click="${0}"
454
+ tabindex="0"
455
+ part="button">
456
+ ${0}
457
+ </button>
458
+ `), togglePlaybackClass, handleTogglePlayback, this.isPlaying ? PauseOutline({
459
+ 'aria-label': 'Pause'
460
+ }) : PlayOutline({
461
+ 'aria-label': 'Play'
462
+ })) : null, renderContent(), hideCaption ? undefined : html(_t9 || (_t9 = _`
463
+ <div
464
+ class="${0}--video-player__video-caption"
465
+ part="caption"
466
+ dir="${0}">
467
+ ${0}
468
+ </div>
469
+ `), c4dPrefix, isRTL ? 'rtl' : 'ltr', formatCaption({
470
+ duration: formatDuration({
471
+ duration: !duration ? duration : duration * 1000
472
+ }),
473
+ name
474
+ })));
475
+ }
476
+ }, {
477
+ kind: "method",
478
+ key: "updated",
479
+ value: function updated(changedProperties) {
480
+ if (changedProperties.has('duration') || changedProperties.has('formatCaption') || changedProperties.has('name') || changedProperties.has('backgroundMode')) {
481
+ const {
482
+ duration,
483
+ formatCaption,
484
+ formatDuration,
485
+ name
486
+ } = this;
487
+ const caption = formatCaption({
488
+ duration: formatDuration({
489
+ duration: !duration ? duration : duration * 1000
490
+ }),
491
+ name
492
+ });
493
+ if (caption) {
494
+ this.setAttribute('aria-label', caption);
495
+ }
496
+ }
497
+
498
+ // Move measurement & API call to callback queue & wait for update to complete.
499
+ setTimeout(async () => {
500
+ await this.updateComplete;
501
+ if (!this.thumbnailUrl.endsWith(`${this.offsetWidth}`)) {
502
+ this._updateThumbnailUrl();
503
+ }
504
+ }, 0);
505
+ }
506
+ }, {
507
+ kind: "method",
508
+ key: "firstUpdated",
509
+ value: function firstUpdated() {
510
+ var _this$parentElement, _this$parentElement2, _this$parentElement3;
511
+ this.tabIndex = 0;
512
+ this.backgroundMode = Boolean((_this$parentElement = this.parentElement) === null || _this$parentElement === void 0 ? void 0 : _this$parentElement.backgroundMode);
513
+ this.intersectionMode = Boolean((_this$parentElement2 = this.parentElement) === null || _this$parentElement2 === void 0 ? void 0 : _this$parentElement2.intersectionMode);
514
+ this.autoplay = Boolean((_this$parentElement3 = this.parentElement) === null || _this$parentElement3 === void 0 ? void 0 : _this$parentElement3.autoPlay);
515
+ }
516
+
517
+ /**
518
+ * The name of the custom event fired after video content state is changed upon a user gesture.
519
+ */
520
+ }, {
521
+ kind: "get",
522
+ static: true,
523
+ key: "eventContentStateChange",
524
+ value: function () {
525
+ return `${c4dPrefix}-video-player-content-state-changed`;
526
+ }
527
+
528
+ /**
529
+ * The name of the custom event fired requesting playback state change.
530
+ */
531
+ }, {
532
+ kind: "get",
533
+ static: true,
534
+ key: "eventPlaybackStateChange",
535
+ value: function () {
536
+ return `${c4dPrefix}-video-player-playback-state-changed`;
537
+ }
538
+ }, {
539
+ kind: "get",
540
+ static: true,
541
+ key: "stableSelector",
542
+ value: function () {
543
+ return `${c4dPrefix}--video-player`;
544
+ }
545
+
546
+ /**
547
+ * The name of the custom event fired when a user action toggles playback.
548
+ */
549
+ }, {
550
+ kind: "get",
551
+ static: true,
552
+ key: "eventTogglePlayback",
553
+ value: function () {
554
+ return `${c4dPrefix}-video-player-toggle-playback`;
555
+ }
556
+ }, {
557
+ kind: "field",
558
+ static: true,
559
+ key: "shadowRootOptions",
560
+ value() {
561
+ return _objectSpread(_objectSpread({}, LitElement.shadowRootOptions), {}, {
562
+ delegatesFocus: true
563
+ });
564
+ }
565
+ }, {
566
+ kind: "field",
567
+ static: true,
568
+ key: "styles",
569
+ value() {
570
+ return styles;
571
+ }
572
+ }]
573
+ };
574
+ }, FocusMixin(StableSelectorMixin(LitElement)));
575
+ /* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */
576
+ export default C4DVideoPlayer;
577
+ //# sourceMappingURL=video-player.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-player.js","names":["LitElement","html","nothing","property","classMap","FocusMixin","PlayVideo","PlayOutline","PauseOutline","formatVideoCaption","formatVideoDuration","settings","KalturaPlayerAPI","BUTTON_POSITION","VIDEO_PLAYER_CONTENT_STATE","VIDEO_PLAYER_PLAYING_MODE","styles","StableSelectorMixin","carbonElement","customElement","ifNonEmpty","stablePrefix","c4dPrefix","C4DVideoPlayer","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","reflect","attribute","key","value","INLINE","type","Boolean","BOTTOM_RIGHT","playingMode","contentState","VIDEO","videoId","name","customVideoDescription","eventContentStateChange","dispatchEvent","CustomEvent","bubbles","composed","detail","eventTogglePlayback","thumbnailUrl","backgroundMode","_handleClickOverlay","handleClickOverlay","intersectionMode","thumbnail","_t","_","_t2","THUMBNAIL","_t3","_t4","slot","part","autoplay","_t5","_t6","_updateThumbnailUrl","thumbnailSrc","URL","error","host","toLowerCase","includes","pathname","getThumbnailUrl","mediaId","width","offsetWidth","userInitiatedTogglePlaybackState","eventPlaybackStateChange","Number","render","isRTL","dir","getComputedStyle","direction","aspectRatio","duration","formatCaption","formatDuration","hideCaption","buttonPosition","_handleTogglePlayback","handleTogglePlayback","_renderContent","renderContent","aspectRatioClass","togglePlaybackClass","_t7","_t8","isPlaying","undefined","_t9","updated","changedProperties","has","caption","setAttribute","setTimeout","updateComplete","endsWith","firstUpdated","_this$parentElement","_this$parentElement2","_this$parentElement3","tabIndex","parentElement","autoPlay","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/video-player-v7/video-player.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport FocusMixin from '@carbon/web-components/es/globals/mixins/focus.js';\nimport PlayVideo from '../../../es/icons/play-video.js';\nimport PlayOutline from '@carbon/web-components/es/icons/play--outline/20.js';\nimport PauseOutline from '@carbon/web-components/es/icons/pause--outline/20.js';\nimport {\n formatVideoCaption,\n formatVideoDuration,\n} from '@carbon/ibmdotcom-utilities/es/utilities/formatVideoCaption/formatVideoCaption.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport KalturaPlayerAPI from '@carbon/ibmdotcom-services/es/services/KalturaPlayerV7/KalturaPlayer.js';\nimport {\n BUTTON_POSITION,\n VIDEO_PLAYER_CONTENT_STATE,\n VIDEO_PLAYER_PLAYING_MODE,\n} from './defs';\nimport '../image/image';\nimport styles from './video-player.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport ifNonEmpty from '@carbon/web-components/es/globals/directives/if-non-empty.js';\nimport C4DVideoPlayerComposite from './video-player-composite';\n\nexport { VIDEO_PLAYER_CONTENT_STATE };\nexport { VIDEO_PLAYER_PLAYING_MODE };\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * Video player.\n *\n * @element c4d-video-player-v7\n * @csspart video - The video. Usage `c4d-video-player::part(video)`\n * @csspart button - The play button. Usage `c4d-video-player::part(button)`\n * @csspart image - The thumbnail image. Usage `c4d-video-player::part(image)`\n * @csspart play-video - The play video icon. Usage `c4d-video-player::part(play-video)`\n * @csspart video-container - The video container. Usage `c4d-video-player::part(video-container)`\n * @csspart caption - The caption. Usage `c4d-video-player::part(caption)`\n */\n@customElement(`${c4dPrefix}-video-player-v7`)\nclass C4DVideoPlayer extends FocusMixin(StableSelectorMixin(LitElement)) {\n /**\n * The video player's mode showing Inline or Lightbox.\n */\n @property({ reflect: true, attribute: 'playing-mode' })\n playingMode = VIDEO_PLAYER_PLAYING_MODE.INLINE;\n\n /**\n * Triggers playback on intersection with the viewport / carousel.\n */\n @property({ attribute: 'intersection-mode', reflect: true, type: Boolean })\n intersectionMode = false;\n\n /**\n * The current playback state, inherited from the parent.\n */\n @property()\n isPlaying = false;\n\n /**\n * The position of the toggle playback button.\n */\n @property({ attribute: 'button-position', reflect: true })\n buttonPosition = BUTTON_POSITION.BOTTOM_RIGHT;\n\n /**\n * Handles `click` event on the video thumbnail.\n */\n protected _handleClickOverlay = () => {\n if (this.playingMode === VIDEO_PLAYER_PLAYING_MODE.INLINE) {\n this.contentState = VIDEO_PLAYER_CONTENT_STATE.VIDEO;\n }\n const { videoId, name, customVideoDescription } = this;\n const { eventContentStateChange } = this\n .constructor as typeof C4DVideoPlayer;\n this.dispatchEvent(\n new CustomEvent(eventContentStateChange, {\n bubbles: true,\n composed: true,\n detail: {\n videoId,\n contentState: VIDEO_PLAYER_CONTENT_STATE.VIDEO,\n playingMode: this.playingMode,\n name,\n customVideoDescription,\n },\n })\n );\n };\n\n protected _handleTogglePlayback = () => {\n const { videoId } = this;\n const { eventTogglePlayback } = this.constructor as typeof C4DVideoPlayer;\n this.dispatchEvent(\n new CustomEvent(eventTogglePlayback, {\n bubbles: true,\n composed: true,\n detail: {\n videoId,\n },\n })\n );\n };\n\n /**\n * @returns The video content.\n */\n protected _renderContent = () => {\n const {\n contentState,\n name,\n thumbnailUrl,\n backgroundMode,\n _handleClickOverlay: handleClickOverlay,\n intersectionMode,\n } = this;\n if (intersectionMode) {\n // IF the thumbnail url is empty, it should render nothing\n const thumbnail =\n thumbnailUrl === ''\n ? nothing\n : html` <c4d-image\n default-src=\"${thumbnailUrl}\"\n alt=\"${ifNonEmpty(name)}\"\n part=\"image\">\n </c4d-image>`;\n return html`\n <div class=\"${c4dPrefix}--video-player__video\">\n ${contentState === VIDEO_PLAYER_CONTENT_STATE.THUMBNAIL\n ? thumbnail\n : html` <slot></slot> `}\n </div>\n `;\n } else {\n // IF the thumbnail url is empty, it should render nothing\n const thumbnail =\n thumbnailUrl === ''\n ? nothing\n : html` <c4d-image\n default-src=\"${thumbnailUrl}\"\n alt=\"${ifNonEmpty(name)}\"\n part=\"image\">\n ${PlayVideo({ slot: 'icon', part: 'play-video' })}\n </c4d-image>`;\n\n return contentState === VIDEO_PLAYER_CONTENT_STATE.THUMBNAIL &&\n !backgroundMode &&\n !this.autoplay\n ? html`\n <div class=\"${c4dPrefix}--video-player__video\" part=\"video\">\n <button\n class=\"${c4dPrefix}--video-player__image-overlay\"\n part=\"button\"\n @click=\"${handleClickOverlay}\">\n ${thumbnail}\n </button>\n </div>\n `\n : html` <slot></slot> `;\n }\n };\n\n /**\n * Updates video thumbnail url to match video width\n */\n protected _updateThumbnailUrl() {\n let thumbnailSrc: false | URL = false;\n\n try {\n thumbnailSrc = new URL(this.thumbnailUrl);\n } catch (error) {\n // Do nothing.\n }\n\n // If current thumbnail is from Kaltura and includes this video's ID we should be able to safely update it.\n if (\n thumbnailSrc &&\n thumbnailSrc.host.toLowerCase().includes('kaltura') &&\n thumbnailSrc.pathname.includes(this.videoId!)\n ) {\n this.thumbnailUrl = KalturaPlayerAPI.getThumbnailUrl({\n mediaId: this.videoId,\n width: this.offsetWidth,\n });\n }\n }\n\n /**\n * userInitiatedTogglePlaybackState\n */\n public userInitiatedTogglePlaybackState() {\n const { videoId } = this;\n const { eventPlaybackStateChange } = this\n .constructor as typeof C4DVideoPlayer;\n this.dispatchEvent(\n new CustomEvent(eventPlaybackStateChange, {\n bubbles: true,\n composed: true,\n detail: {\n videoId,\n playingMode: this.playingMode,\n },\n })\n );\n }\n\n /**\n * The video player's content state.\n */\n @property({ reflect: true, attribute: 'content-state' })\n contentState = VIDEO_PLAYER_CONTENT_STATE.THUMBNAIL;\n\n /**\n * The video duration.\n */\n @property({ type: Number })\n duration?: number;\n\n /**\n * The formatter for the video caption, composed with the video name and the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatCaption = formatVideoCaption;\n\n /**\n * The formatter for the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatDuration = formatVideoDuration;\n\n /**\n * `true` to hide the caption.\n */\n @property({ type: Boolean, attribute: 'hide-caption' })\n hideCaption = false;\n\n /**\n * The video name.\n */\n @property()\n name = '';\n\n /**\n * `true` to autoplay, mute video, and hide UI\n */\n @property({ attribute: 'background-mode', reflect: true, type: Boolean })\n backgroundMode = false;\n\n /**\n * `true` to autoplay\n */\n @property({ attribute: 'auto-play', reflect: true, type: Boolean })\n autoplay = false;\n\n /**\n * Custom video description. This property should only be set when using `playing-mode=\"lightbox\"`\n */\n @property({ attribute: 'video-description' })\n customVideoDescription?: string;\n\n /**\n * The thumbnail URL.\n */\n @property({ attribute: 'thumbnail-url' })\n thumbnailUrl = '';\n\n /**\n * The video ID.\n */\n @property({ attribute: 'video-id' })\n videoId?: string;\n\n /**\n * Override default aspect ratio of `16x9`.\n * Available aspect ratios:\n *\n * `16x9`, `9x16`, `2x1`, `1x2`, `4x3`, `3x4`, `1x1`\n */\n @property({ attribute: 'aspect-ratio' })\n aspectRatio?: string;\n\n render() {\n const isRTL =\n this.dir === 'rtl' || getComputedStyle(this).direction === 'rtl';\n\n const {\n aspectRatio,\n duration,\n formatCaption,\n formatDuration,\n hideCaption,\n name,\n buttonPosition,\n intersectionMode,\n _handleTogglePlayback: handleTogglePlayback,\n _renderContent: renderContent,\n } = this;\n\n const aspectRatioClass = classMap({\n [`${c4dPrefix}--video-player__video-container`]: true,\n [`${c4dPrefix}--video-player__aspect-ratio--${aspectRatio}`]:\n !!aspectRatio,\n });\n const togglePlaybackClass = classMap({\n [`${c4dPrefix}--video-player__toggle-playback`]: true,\n [`${c4dPrefix}--video-player__toggle-playback--${buttonPosition}`]: true,\n });\n\n return html`\n <div class=\"${aspectRatioClass}\" part=\"video-container\">\n ${intersectionMode\n ? html`\n <button\n class=\"${togglePlaybackClass}\"\n @click=\"${handleTogglePlayback}\"\n tabindex=\"0\"\n part=\"button\">\n ${this.isPlaying\n ? PauseOutline({ 'aria-label': 'Pause' })\n : PlayOutline({ 'aria-label': 'Play' })}\n </button>\n `\n : null}\n ${renderContent()}\n </div>\n ${hideCaption\n ? undefined\n : html`\n <div\n class=\"${c4dPrefix}--video-player__video-caption\"\n part=\"caption\"\n dir=\"${isRTL ? 'rtl' : 'ltr'}\">\n ${formatCaption({\n duration: formatDuration({\n duration: !duration ? duration : duration * 1000,\n }),\n name,\n })}\n </div>\n `}\n `;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('duration') ||\n changedProperties.has('formatCaption') ||\n changedProperties.has('name') ||\n changedProperties.has('backgroundMode')\n ) {\n const { duration, formatCaption, formatDuration, name } = this;\n const caption = formatCaption({\n duration: formatDuration({\n duration: !duration ? duration : duration * 1000,\n }),\n name,\n });\n if (caption) {\n this.setAttribute('aria-label', caption);\n }\n }\n\n // Move measurement & API call to callback queue & wait for update to complete.\n setTimeout(async () => {\n await this.updateComplete;\n if (!this.thumbnailUrl.endsWith(`${this.offsetWidth}`)) {\n this._updateThumbnailUrl();\n }\n }, 0);\n }\n\n firstUpdated() {\n this.tabIndex = 0;\n this.backgroundMode = Boolean(\n (this.parentElement as C4DVideoPlayerComposite)?.backgroundMode\n );\n this.intersectionMode = Boolean(\n (this.parentElement as C4DVideoPlayerComposite)?.intersectionMode\n );\n this.autoplay = Boolean(\n (this.parentElement as C4DVideoPlayerComposite)?.autoPlay\n );\n }\n\n /**\n * The name of the custom event fired after video content state is changed upon a user gesture.\n */\n static get eventContentStateChange() {\n return `${c4dPrefix}-video-player-content-state-changed`;\n }\n\n /**\n * The name of the custom event fired requesting playback state change.\n */\n static get eventPlaybackStateChange() {\n return `${c4dPrefix}-video-player-playback-state-changed`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--video-player`;\n }\n\n /**\n * The name of the custom event fired when a user action toggles playback.\n */\n static get eventTogglePlayback() {\n return `${c4dPrefix}-video-player-toggle-playback`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DVideoPlayer;\n"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ export interface ComponentProps {
11
11
  [prop: string]: unknown;
12
12
  }
13
13
  /**
14
- * Container component for masthead.
14
+ * Container component for footer.
15
15
  *
16
16
  * @element c4d-footer-container
17
17
  */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Copyright IBM Corp. 2020
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ export * from '../../components/video-player-v7/defs.js';
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Copyright IBM Corp. 2020
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { Component } from 'react';
10
+ export interface ComponentProps {
11
+ /**
12
+ * The event handler for the custom event fired after video content state is changed upon a user gesture.
13
+ */
14
+ onContentStateChange?: (event: CustomEvent) => void;
15
+ /**
16
+ * The event handler for the custom event fired requesting playback state change.
17
+ */
18
+ onPlaybackStateChange?: (event: CustomEvent) => void;
19
+ /**
20
+ * The event handler for the custom event fired requesting to toggle playback.
21
+ */
22
+ onTogglePlayback?: (event: CustomEvent) => void;
23
+ [prop: string]: unknown;
24
+ }
25
+ /**
26
+ * Component that renders video player from its metadata, etc.
27
+ *
28
+ * @element c4d-video-player-composite-v7
29
+ * @csspart video-player - The video player. Usage `c4d-video-player-composite-v7::part(video-player)`
30
+ */
31
+ declare class C4DVideoPlayerComposite extends Component<ComponentProps> {}
32
+ export default C4DVideoPlayerComposite;