@crystaldesign/content-item 25.8.0-beta.5 → 25.8.0-beta.7

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 (24) hide show
  1. package/build/esm/index.js +257 -185
  2. package/build/types/content-item/src/Components/ContentItemContextProvider/index.d.ts +16 -0
  3. package/build/types/content-item/src/Components/ContentItemContextProvider/index.d.ts.map +1 -0
  4. package/build/types/content-item/src/Components/ContentItemContextProvider/useContentItemConfiguration.d.ts +12 -0
  5. package/build/types/content-item/src/Components/ContentItemContextProvider/useContentItemConfiguration.d.ts.map +1 -0
  6. package/build/types/content-item/src/Components/ContentItemContextProvider/useContentItemContext.d.ts +6 -0
  7. package/build/types/content-item/src/Components/ContentItemContextProvider/useContentItemContext.d.ts.map +1 -0
  8. package/build/types/content-item/src/Components/ContentItems/index.d.ts +2 -3
  9. package/build/types/content-item/src/Components/ContentItems/index.d.ts.map +1 -1
  10. package/build/types/content-item/src/Components/Header/index.d.ts +9 -0
  11. package/build/types/content-item/src/Components/Header/index.d.ts.map +1 -0
  12. package/build/types/content-item/src/Components/Video/index.d.ts +1 -1
  13. package/build/types/content-item/src/Components/Video/index.d.ts.map +1 -1
  14. package/build/types/content-item/src/index.d.ts +3 -0
  15. package/build/types/content-item/src/index.d.ts.map +1 -1
  16. package/build/types/content-item/src/types.d.ts +8 -3
  17. package/build/types/content-item/src/types.d.ts.map +1 -1
  18. package/package.json +2 -2
  19. package/build/types/content-item/src/Components/ContentItemNavigator/index.d.ts +0 -11
  20. package/build/types/content-item/src/Components/ContentItemNavigator/index.d.ts.map +0 -1
  21. package/build/types/content-item/src/Components/ContentItemNavigator/useContentItemNavigator.d.ts +0 -7
  22. package/build/types/content-item/src/Components/ContentItemNavigator/useContentItemNavigator.d.ts.map +0 -1
  23. package/build/types/content-item/src/Components/ContentItems/useContentItem.d.ts +0 -12
  24. package/build/types/content-item/src/Components/ContentItems/useContentItem.d.ts.map +0 -1
@@ -1,15 +1,15 @@
1
- import { useState, useEffect, useCallback, useMemo, createContext, useContext, useRef, useDeferredValue, useTransition } from 'react';
1
+ import { useState, useDeferredValue, useTransition, useEffect, useCallback, useMemo, createContext, useContext, useRef } from 'react';
2
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import { useDivaCore, useTranslation, DivaError } from '@crystaldesign/diva-core';
5
5
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
6
6
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
7
- import { Swiper, SwiperSlide } from 'swiper/react';
8
- import { FreeMode, Navigation, Thumbs } from 'swiper/modules';
9
7
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
10
8
  import _regeneratorRuntime from '@babel/runtime/regenerator';
11
9
  import axios from 'axios';
12
- import classnames from 'classnames';
10
+ import classNames from 'classnames';
11
+ import { Swiper, SwiperSlide } from 'swiper/react';
12
+ import { FreeMode, Navigation, Thumbs } from 'swiper/modules';
13
13
 
14
14
  (function() {
15
15
  const env = {"STAGE":"production"};
@@ -152,8 +152,8 @@ var fullscreenWrapper$1 = "fullscreen-wrapper-GByIA";
152
152
  var css_248z$8 = ".image-and-text-wrapper-c1RTN {\n display: flex;\n flex-direction: column;\n gap: 6px;\n justify-content: center;\n position: relative;\n}\n\n.text-Da-D1 {\n overflow: auto;\n text-align: center;\n font-size: 14px;\n}\n\n.fullscreen-button-wrapper-Botqq {\n position: relative;\n}\n\n.fullscreen-button-A4b3x {\n cursor: pointer;\n position: absolute;\n width: 20px;\n height: 20px;\n top: 16px;\n right: 8px;\n border-radius: 3px;\n z-index: 1000;\n background: center / 75% no-repeat rgba(255,255,255,0.53333) url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 1H2C1.44772 1 1 1.44772 1 2V22C1 22.5523 1.44772 23 2 23H21.9999C22.5522 23 22.9999 22.5523 22.9999 22V12M16.0078 1H21.9989C22.5512 1 22.9989 1.44772 22.9989 2V7.99114M22.5002 1.5L13.3195 10.68%22 stroke%3D%22%234B4B4B%22 stroke-width%3D%221.5%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n.fullscreen-wrapper-GByIA {\n display: flex;\n justify-content: center;\n align-items: center;\n background: #fff;\n position: relative;\n height: 100%;\n width: 100%;\n z-index: 2000005;\n}\n";
153
153
  styleInject(css_248z$8);
154
154
 
155
- function ownKeys$2(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; }
156
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
155
+ function ownKeys$3(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; }
156
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
157
157
  var _Image = function Image(_ref) {
158
158
  var _ref$item = _ref.item,
159
159
  image = _ref$item.image,
@@ -202,7 +202,7 @@ var _Image = function Image(_ref) {
202
202
  };
203
203
  var imageComponent = /*#__PURE__*/jsx("img", {
204
204
  alt: altText,
205
- style: _objectSpread$2(_objectSpread$2({}, styles), style),
205
+ style: _objectSpread$3(_objectSpread$3({}, styles), style),
206
206
  src: urlObj.toString()
207
207
  });
208
208
  if (showFullscreenButton) {
@@ -238,7 +238,8 @@ styleInject(css_248z$7);
238
238
  var Video = function Video(_ref) {
239
239
  var _ref$item = _ref.item,
240
240
  video = _ref$item.video,
241
- thumb = _ref$item.thumb;
241
+ thumb = _ref$item.thumb,
242
+ loop = _ref$item.loop;
242
243
  if (!video) return /*#__PURE__*/jsx(Fragment, {});
243
244
  if (video.includes('youtube.com') || video.includes('youtu.be')) {
244
245
  if (thumb) return /*#__PURE__*/jsx("div", {
@@ -270,6 +271,7 @@ var Video = function Video(_ref) {
270
271
  controls: !thumb,
271
272
  playsInline: true,
272
273
  autoPlay: !thumb,
274
+ loop: !thumb && loop,
273
275
  children: /*#__PURE__*/jsx("source", {
274
276
  src: video + (thumb ? '#t=2' : ''),
275
277
  type: video.includes('.mp4') ? 'video/mp4' : 'video/webm'
@@ -281,12 +283,137 @@ var title = "title-0S918";
281
283
  var css_248z$6 = ".title-0S918 {\n font-size: 18px;\n font-weight: 500;\n}\n";
282
284
  styleInject(css_248z$6);
283
285
 
284
- function ownKeys$1(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; }
285
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
286
- var useContentItemNavigator = function useContentItemNavigator(_ref) {
286
+ var useContentItemConfiguration = function useContentItemConfiguration(_ref) {
287
+ var onContentItemLoaded = _ref.onContentItemLoaded,
288
+ currentContentItem = _ref.currentContentItem;
289
+ var _useDivaCore = useDivaCore(),
290
+ _useDivaCore$state = _useDivaCore.state,
291
+ apiConfig = _useDivaCore$state.apiConfig,
292
+ jwt = _useDivaCore$state.jwt;
293
+ var _useTranslation = useTranslation(),
294
+ i18n = _useTranslation.i18n;
295
+ var _ref2 = currentContentItem !== null && currentContentItem !== void 0 ? currentContentItem : {},
296
+ contentItemId = _ref2.id,
297
+ contentItemCodex = _ref2.codex,
298
+ externalConfiguration = _ref2.configuration;
299
+ var _useState = useState(externalConfiguration !== null && externalConfiguration !== void 0 ? externalConfiguration : {
300
+ content: []
301
+ }),
302
+ _useState2 = _slicedToArray(_useState, 2),
303
+ configuration = _useState2[0],
304
+ setConfiguration = _useState2[1];
305
+ var deferredConfiguration = useDeferredValue(configuration);
306
+ var _useTransition = useTransition(),
307
+ _useTransition2 = _slicedToArray(_useTransition, 2),
308
+ isPending = _useTransition2[0],
309
+ startTransition = _useTransition2[1];
310
+ var _useState3 = useState(true),
311
+ _useState4 = _slicedToArray(_useState3, 2),
312
+ loading = _useState4[0],
313
+ setLoading = _useState4[1];
314
+ var _useState5 = useState(null),
315
+ _useState6 = _slicedToArray(_useState5, 2),
316
+ error = _useState6[0],
317
+ setError = _useState6[1];
318
+ useEffect(function () {
319
+ if (contentItemId || contentItemCodex) {
320
+ setLoading(true);
321
+ setError(null);
322
+ getContentItem(apiConfig.catalogService, jwt, contentItemId !== null && contentItemId !== void 0 ? contentItemId : contentItemCodex, i18n.language).then(function (newConfiguration) {
323
+ startTransition(function () {
324
+ setConfiguration(newConfiguration);
325
+ var infoBoxTitle = newConfiguration.content.filter(function (item) {
326
+ return item.type === 'Title' && item.text;
327
+ }).map(function (item) {
328
+ return item.text;
329
+ });
330
+ onContentItemLoaded === null || onContentItemLoaded === void 0 || onContentItemLoaded(infoBoxTitle[0]);
331
+ });
332
+ })["catch"](function (error) {
333
+ setError(error);
334
+ })["finally"](function () {
335
+ setLoading(false);
336
+ });
337
+ }
338
+ }, [contentItemId, contentItemCodex]);
339
+ useEffect(function () {
340
+ if (externalConfiguration) {
341
+ startTransition(function () {
342
+ setConfiguration(externalConfiguration);
343
+ var infoBoxTitle = externalConfiguration.content.filter(function (item) {
344
+ return item.type === 'Title' && item.text;
345
+ }).map(function (item) {
346
+ return item.text;
347
+ });
348
+ onContentItemLoaded === null || onContentItemLoaded === void 0 || onContentItemLoaded(infoBoxTitle[0]);
349
+ });
350
+ setError(null);
351
+ setLoading(false);
352
+ }
353
+ }, [externalConfiguration]);
354
+ return {
355
+ configuration: deferredConfiguration,
356
+ loading: loading || isPending,
357
+ error: error
358
+ };
359
+ };
360
+ function getContentItem(_x, _x2, _x3, _x4) {
361
+ return _getContentItem.apply(this, arguments);
362
+ }
363
+ function _getContentItem() {
364
+ _getContentItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(catalogService, jwt, idOrCodex, lang) {
365
+ var fullUrl, res, resData, _e$response;
366
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
367
+ while (1) switch (_context.prev = _context.next) {
368
+ case 0:
369
+ fullUrl = catalogService + '/contentItems/' + idOrCodex + '?language=' + lang;
370
+ _context.prev = 1;
371
+ _context.next = 4;
372
+ return axios.get(fullUrl, {
373
+ headers: {
374
+ Authorization: 'Bearer ' + jwt
375
+ }
376
+ });
377
+ case 4:
378
+ res = _context.sent;
379
+ resData = res.data;
380
+ if (!(res.status !== 200)) {
381
+ _context.next = 8;
382
+ break;
383
+ }
384
+ throw new DivaError(resData.error || 'Failed to get content item');
385
+ case 8:
386
+ return _context.abrupt("return", resData);
387
+ case 11:
388
+ _context.prev = 11;
389
+ _context.t0 = _context["catch"](1);
390
+ if (!axios.isAxiosError(_context.t0)) {
391
+ _context.next = 15;
392
+ break;
393
+ }
394
+ throw new DivaError(((_e$response = _context.t0.response) === null || _e$response === void 0 || (_e$response = _e$response.data) === null || _e$response === void 0 ? void 0 : _e$response.error) || 'Could not get content item', {
395
+ cause: _context.t0
396
+ });
397
+ case 15:
398
+ throw new DivaError('Could not get content item', {
399
+ cause: _context.t0
400
+ });
401
+ case 16:
402
+ case "end":
403
+ return _context.stop();
404
+ }
405
+ }, _callee, null, [[1, 11]]);
406
+ }));
407
+ return _getContentItem.apply(this, arguments);
408
+ }
409
+
410
+ function ownKeys$2(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; }
411
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
412
+ var useContentItemContext = function useContentItemContext(_ref) {
287
413
  var initialItemId = _ref.initialItemId,
288
414
  initialItemCodex = _ref.initialItemCodex,
289
- initialItemConfiguration = _ref.initialItemConfiguration;
415
+ initialItemConfiguration = _ref.initialItemConfiguration,
416
+ onContentItemLoaded = _ref.onContentItemLoaded;
290
417
  var _useState = useState({
291
418
  current: {
292
419
  id: initialItemId,
@@ -328,68 +455,136 @@ var useContentItemNavigator = function useContentItemNavigator(_ref) {
328
455
  };
329
456
  });
330
457
  }, []);
331
- var onContentItemLoaded = useCallback(function (title) {
458
+ var onContentItemLoadedInternal = useCallback(function (title) {
459
+ onContentItemLoaded === null || onContentItemLoaded === void 0 || onContentItemLoaded(title);
332
460
  setNavigationState(function (prev) {
333
- return _objectSpread$1(_objectSpread$1({}, prev), {}, {
334
- current: _objectSpread$1(_objectSpread$1({}, prev.current), {}, {
461
+ return _objectSpread$2(_objectSpread$2({}, prev), {}, {
462
+ current: _objectSpread$2(_objectSpread$2({}, prev.current), {}, {
335
463
  title: title
336
464
  })
337
465
  });
338
466
  });
339
467
  }, []);
340
-
468
+ var _useContentItemConfig = useContentItemConfiguration({
469
+ currentContentItem: navigationState.current,
470
+ onContentItemLoaded: onContentItemLoadedInternal
471
+ }),
472
+ configuration = _useContentItemConfig.configuration,
473
+ error = _useContentItemConfig.error,
474
+ loading = _useContentItemConfig.loading;
475
+ var content = useMemo(function () {
476
+ var _configuration$conten;
477
+ if (((_configuration$conten = configuration.content) === null || _configuration$conten === void 0 || (_configuration$conten = _configuration$conten[0]) === null || _configuration$conten === void 0 ? void 0 : _configuration$conten.type) === 'Title') {
478
+ return _toConsumableArray(configuration.content).slice(1);
479
+ }
480
+ return configuration.content;
481
+ }, [configuration]);
482
+ var renderTitle = useMemo(function () {
483
+ var _configuration$conten2, _configuration$conten3;
484
+ return (configuration === null || configuration === void 0 || (_configuration$conten2 = configuration.content) === null || _configuration$conten2 === void 0 || (_configuration$conten2 = _configuration$conten2[0]) === null || _configuration$conten2 === void 0 ? void 0 : _configuration$conten2.type) === 'Title' ? configuration === null || configuration === void 0 || (_configuration$conten3 = configuration.content) === null || _configuration$conten3 === void 0 ? void 0 : _configuration$conten3[0] : undefined;
485
+ }, [configuration]);
486
+ var hasNavigations = useMemo(function () {
487
+ var _configuration$conten4;
488
+ var c = JSON.stringify((_configuration$conten4 = configuration === null || configuration === void 0 ? void 0 : configuration.content) !== null && _configuration$conten4 !== void 0 ? _configuration$conten4 : []);
489
+ return c.includes('@[codex:') || c.includes('@[id:');
490
+ }, [content]);
341
491
  // Create context value
342
492
  var contextValue = useMemo(function () {
343
493
  return {
344
494
  navigateTo: navigateTo,
345
- onContentItemLoaded: onContentItemLoaded,
495
+ navigateBack: navigateBack,
346
496
  canGoBack: navigationState.history.length > 0,
347
- currentContentItem: navigationState.current
497
+ renderTitle: renderTitle,
498
+ content: content,
499
+ loading: loading,
500
+ error: error,
501
+ hasNavigations: hasNavigations
348
502
  };
349
503
  }, [navigationState.current, navigationState.history.length]);
350
504
  return {
351
- contextValue: contextValue,
352
- navigateBack: navigateBack
505
+ contextValue: contextValue
353
506
  };
354
507
  };
355
508
 
356
- var navigator = "navigator-C8xIR";
357
- var backButton = "back-button-JNU6b";
358
- var css_248z$5 = ".navigator-C8xIR {\n position: relative;\n width: 100%;\n}\n\n.back-button-JNU6b {\n position: absolute;\n top: 12px;\n left: 8px;\n z-index: 2;\n background: none;\n border: none;\n cursor: pointer;\n font-size: 20px;\n color: #666;\n transition: color 0.2s ease;\n border-radius: 50%;\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding-bottom: 4px;\n}\n.back-button-JNU6b:after {\n content: '←';\n display: block;\n text-align: center;\n}\n\n.back-button-JNU6b:hover {\n color: #333;\n background-color: rgba(0, 0, 0, 0.05);\n}\n";
509
+ var header = "header-7dWXW";
510
+ var paddingLeft = "padding-left-The7U";
511
+ var headerLeft = "header-left-pbZcL";
512
+ var backButton = "back-button-2IUJb";
513
+ var closeButton = "close-button-VW8Z5";
514
+ var css_248z$5 = ".header-7dWXW {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 0px 12px;\n width: calc(100% - 24px);\n justify-content: space-between;\n border-bottom: 1px solid lightgray;\n}\n.padding-left-The7U {\n padding-left: 34px;\n}\n.header-left-pbZcL {\n display: flex;\n align-items: center;\n width: 90%;\n}\n\n.back-button-2IUJb {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 20px;\n color: #666;\n transition:\n color 0.2s ease,\n background-color 0.2s ease;\n border-radius: 50%;\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding-bottom: 4px;\n}\n\n.back-button-2IUJb:after {\n content: '←';\n display: block;\n text-align: center;\n}\n\n.back-button-2IUJb:hover,\n.close-button-VW8Z5:hover {\n color: #333;\n background-color: rgba(0, 0, 0, 0.05);\n background-size: 45%;\n}\n.close-button-VW8Z5 {\n width: 36px;\n height: 36px;\n background-repeat: no-repeat;\n border-radius: 50%;\n background-position: center center;\n background-size: 40%;\n background-color: transparent;\n transition:\n background-color 0.2s ease,\n background-size 0.2s ease;\n background-image: url(\"data:image/svg+xml,%3Csvg width%3D%2210%22 height%3D%2210%22 viewBox%3D%220 0 10 10%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M1.35355 0.646447C1.15829 0.451184 0.841709 0.451184 0.646447 0.646447C0.451184 0.841709 0.451184 1.15829 0.646447 1.35355L1.35355 0.646447ZM8.64645 9.35355C8.84171 9.54882 9.15829 9.54882 9.35355 9.35355C9.54882 9.15829 9.54882 8.84171 9.35355 8.64645L8.64645 9.35355ZM9.35355 1.35355C9.54882 1.15829 9.54882 0.841709 9.35355 0.646447C9.15829 0.451184 8.84171 0.451184 8.64645 0.646447L9.35355 1.35355ZM0.646447 8.64645C0.451185 8.84171 0.451185 9.15829 0.646447 9.35355C0.841709 9.54881 1.15829 9.54881 1.35355 9.35355L0.646447 8.64645ZM0.646447 1.35355L8.64645 9.35355L9.35355 8.64645L1.35355 0.646447L0.646447 1.35355ZM8.64645 0.646447L0.646447 8.64645L1.35355 9.35355L9.35355 1.35355L8.64645 0.646447Z%22 fill%3D%22%234F4F4F%22%2F%3E%3C%2Fsvg%3E\");\n\n cursor: pointer;\n}\n";
359
515
  styleInject(css_248z$5);
360
516
 
361
- var ContentItemNavigationContext = /*#__PURE__*/createContext(undefined);
362
- function useContentItemNavigation() {
363
- var context = useContext(ContentItemNavigationContext);
517
+ function ownKeys$1(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; }
518
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
519
+ var Header = function Header(_ref) {
520
+ var onClose = _ref.onClose,
521
+ headerClassName = _ref.headerClassName,
522
+ headerWrapperStyle = _ref.headerWrapperStyle;
523
+ var _useContentItem = useContentItem(),
524
+ canGoBack = _useContentItem.canGoBack,
525
+ navigateBack = _useContentItem.navigateBack,
526
+ renderTitle = _useContentItem.renderTitle,
527
+ hasNavigations = _useContentItem.hasNavigations;
528
+ if (!onClose && !canGoBack && !renderTitle) {
529
+ return /*#__PURE__*/jsx(Fragment, {});
530
+ }
531
+ return /*#__PURE__*/jsxs("div", {
532
+ className: classNames(header, headerClassName),
533
+ style: headerWrapperStyle,
534
+ children: [/*#__PURE__*/jsxs("div", {
535
+ className: classNames(headerLeft, !canGoBack && hasNavigations && paddingLeft),
536
+ children: [canGoBack && /*#__PURE__*/jsx("button", {
537
+ className: backButton,
538
+ onClick: navigateBack,
539
+ id: "diva-content-item-back-button",
540
+ "aria-label": "Go back"
541
+ }), renderTitle && /*#__PURE__*/jsx(Title, {
542
+ item: _objectSpread$1(_objectSpread$1({}, renderTitle), {}, {
543
+ style: _objectSpread$1(_objectSpread$1({}, renderTitle.style), {}, {
544
+ borderBottom: 'unset'
545
+ })
546
+ })
547
+ })]
548
+ }), onClose && /*#__PURE__*/jsx("div", {
549
+ className: closeButton,
550
+ onClick: onClose,
551
+ id: "diva-content-item-close-button",
552
+ "aria-label": "Close"
553
+ })]
554
+ });
555
+ };
556
+
557
+ var ContentItemContext = /*#__PURE__*/createContext(undefined);
558
+ function useContentItem() {
559
+ var context = useContext(ContentItemContext);
364
560
  if (!context) {
365
- throw new Error('useContentItemNavigation must be used within a ContentItemNavigator');
561
+ throw new Error('useContentItem must be used within a ContentItemContextProvider');
366
562
  }
367
563
  return context;
368
564
  }
369
- function ContentItemNavigator(_ref) {
565
+ function ContentItemContextProvider(_ref) {
370
566
  var initialItemId = _ref.initialItemId,
371
567
  initialItemCodex = _ref.initialItemCodex,
372
568
  initialItemConfiguration = _ref.initialItemConfiguration,
373
- children = _ref.children;
374
- var _useContentItemNaviga = useContentItemNavigator({
569
+ children = _ref.children,
570
+ headerClassName = _ref.headerClassName,
571
+ headerWrapperStyle = _ref.headerWrapperStyle,
572
+ onClose = _ref.onClose,
573
+ onContentItemLoaded = _ref.onContentItemLoaded;
574
+ var _useContentItemContex = useContentItemContext({
375
575
  initialItemId: initialItemId,
376
576
  initialItemCodex: initialItemCodex,
377
- initialItemConfiguration: initialItemConfiguration
577
+ initialItemConfiguration: initialItemConfiguration,
578
+ onContentItemLoaded: onContentItemLoaded
378
579
  }),
379
- contextValue = _useContentItemNaviga.contextValue,
380
- navigateBack = _useContentItemNaviga.navigateBack;
381
- return /*#__PURE__*/jsx(ContentItemNavigationContext.Provider, {
580
+ contextValue = _useContentItemContex.contextValue;
581
+ return /*#__PURE__*/jsxs(ContentItemContext.Provider, {
382
582
  value: contextValue,
383
- children: /*#__PURE__*/jsxs("div", {
384
- className: navigator,
385
- id: "diva-content-item-navigator",
386
- children: [contextValue.canGoBack && /*#__PURE__*/jsx("button", {
387
- className: backButton,
388
- onClick: navigateBack,
389
- id: "diva-content-item-back-button",
390
- "aria-label": "Go back"
391
- }), children]
392
- })
583
+ children: [/*#__PURE__*/jsx(Header, {
584
+ headerClassName: headerClassName,
585
+ onClose: onClose,
586
+ headerWrapperStyle: headerWrapperStyle
587
+ }), children]
393
588
  });
394
589
  }
395
590
 
@@ -397,8 +592,8 @@ var Title = function Title(_ref) {
397
592
  var _ref$item = _ref.item,
398
593
  text = _ref$item.text,
399
594
  style = _ref$item.style;
400
- var _useContentItemNaviga = useContentItemNavigation(),
401
- navigateTo = _useContentItemNaviga.navigateTo;
595
+ var _useContentItem = useContentItem(),
596
+ navigateTo = _useContentItem.navigateTo;
402
597
  if (!text) return /*#__PURE__*/jsx(Fragment, {});
403
598
  var processedContent = processContentItemLinks(text, navigateTo);
404
599
  return /*#__PURE__*/jsx("h4", {
@@ -520,8 +715,8 @@ var RichText = function RichText(_ref) {
520
715
  text = _ref$item.text,
521
716
  style = _ref$item.style;
522
717
  var containerRef = useRef(null);
523
- var _useContentItemNaviga = useContentItemNavigation(),
524
- navigateTo = _useContentItemNaviga.navigateTo;
718
+ var _useContentItem = useContentItem(),
719
+ navigateTo = _useContentItem.navigateTo;
525
720
  var processedContent = processContentItemLinks(text, navigateTo);
526
721
  useEffect(function () {
527
722
  if (!containerRef.current) return;
@@ -605,134 +800,6 @@ var ContentItem = function ContentItem(_ref) {
605
800
  throw new Error('unkonwn type: ' + item.type);
606
801
  };
607
802
 
608
- var useContentItem = function useContentItem(_ref) {
609
- var onContentItemLoaded = _ref.onContentItemLoaded;
610
- var _useDivaCore = useDivaCore(),
611
- _useDivaCore$state = _useDivaCore.state,
612
- apiConfig = _useDivaCore$state.apiConfig,
613
- jwt = _useDivaCore$state.jwt;
614
- var _useTranslation = useTranslation(),
615
- i18n = _useTranslation.i18n;
616
- var _useContentItemNaviga = useContentItemNavigation(),
617
- _useContentItemNaviga2 = _useContentItemNaviga.currentContentItem,
618
- contentItemId = _useContentItemNaviga2.id,
619
- contentItemCodex = _useContentItemNaviga2.codex,
620
- externalConfiguration = _useContentItemNaviga2.configuration,
621
- onContentItemLoadedFromNavigation = _useContentItemNaviga.onContentItemLoaded;
622
- var _useState = useState(externalConfiguration !== null && externalConfiguration !== void 0 ? externalConfiguration : {
623
- content: []
624
- }),
625
- _useState2 = _slicedToArray(_useState, 2),
626
- configuration = _useState2[0],
627
- setConfiguration = _useState2[1];
628
- var deferredConfiguration = useDeferredValue(configuration);
629
- var _useTransition = useTransition(),
630
- _useTransition2 = _slicedToArray(_useTransition, 2),
631
- isPending = _useTransition2[0],
632
- startTransition = _useTransition2[1];
633
- var _useState3 = useState(true),
634
- _useState4 = _slicedToArray(_useState3, 2),
635
- loading = _useState4[0],
636
- setLoading = _useState4[1];
637
- var _useState5 = useState(null),
638
- _useState6 = _slicedToArray(_useState5, 2),
639
- error = _useState6[0],
640
- setError = _useState6[1];
641
- useEffect(function () {
642
- if (contentItemId || contentItemCodex) {
643
- setLoading(true);
644
- setError(null);
645
- getContentItem(apiConfig.catalogService, jwt, contentItemId !== null && contentItemId !== void 0 ? contentItemId : contentItemCodex, i18n.language).then(function (newConfiguration) {
646
- startTransition(function () {
647
- setConfiguration(newConfiguration);
648
- var infoBoxTitle = newConfiguration.content.filter(function (item) {
649
- return item.type === 'Title' && item.text;
650
- }).map(function (item) {
651
- return item.text;
652
- });
653
- onContentItemLoaded === null || onContentItemLoaded === void 0 || onContentItemLoaded(infoBoxTitle[0]);
654
- onContentItemLoadedFromNavigation(infoBoxTitle[0]);
655
- });
656
- })["catch"](function (error) {
657
- setError(error);
658
- })["finally"](function () {
659
- setLoading(false);
660
- });
661
- }
662
- }, [contentItemId, contentItemCodex]);
663
- useEffect(function () {
664
- if (externalConfiguration) {
665
- startTransition(function () {
666
- setConfiguration(externalConfiguration);
667
- var infoBoxTitle = externalConfiguration.content.filter(function (item) {
668
- return item.type === 'Title' && item.text;
669
- }).map(function (item) {
670
- return item.text;
671
- });
672
- onContentItemLoaded === null || onContentItemLoaded === void 0 || onContentItemLoaded(infoBoxTitle[0]);
673
- onContentItemLoadedFromNavigation(infoBoxTitle[0]);
674
- });
675
- setError(null);
676
- setLoading(false);
677
- }
678
- }, [externalConfiguration]);
679
- return {
680
- configuration: configuration,
681
- deferredConfiguration: deferredConfiguration,
682
- loading: loading || isPending,
683
- error: error
684
- };
685
- };
686
- function getContentItem(_x, _x2, _x3, _x4) {
687
- return _getContentItem.apply(this, arguments);
688
- }
689
- function _getContentItem() {
690
- _getContentItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(catalogService, jwt, idOrCodex, lang) {
691
- var fullUrl, res, resData, _e$response;
692
- return _regeneratorRuntime.wrap(function _callee$(_context) {
693
- while (1) switch (_context.prev = _context.next) {
694
- case 0:
695
- fullUrl = catalogService + '/contentItems/' + idOrCodex + '?language=' + lang;
696
- _context.prev = 1;
697
- _context.next = 4;
698
- return axios.get(fullUrl, {
699
- headers: {
700
- Authorization: 'Bearer ' + jwt
701
- }
702
- });
703
- case 4:
704
- res = _context.sent;
705
- resData = res.data;
706
- if (!(res.status !== 200)) {
707
- _context.next = 8;
708
- break;
709
- }
710
- throw new DivaError(resData.error || 'Failed to get content item');
711
- case 8:
712
- return _context.abrupt("return", resData);
713
- case 11:
714
- _context.prev = 11;
715
- _context.t0 = _context["catch"](1);
716
- if (!axios.isAxiosError(_context.t0)) {
717
- _context.next = 15;
718
- break;
719
- }
720
- throw new DivaError(((_e$response = _context.t0.response) === null || _e$response === void 0 || (_e$response = _e$response.data) === null || _e$response === void 0 ? void 0 : _e$response.error) || 'Could not get content item', {
721
- cause: _context.t0
722
- });
723
- case 15:
724
- throw new DivaError('Could not get content item', {
725
- cause: _context.t0
726
- });
727
- case 16:
728
- case "end":
729
- return _context.stop();
730
- }
731
- }, _callee, null, [[1, 11]]);
732
- }));
733
- return _getContentItem.apply(this, arguments);
734
- }
735
-
736
803
  var errorBox = "error-box-coPDD";
737
804
  var css_248z$2 = ".error-box-coPDD {\n color: red;\n text-align: center;\n padding: 20px;\n border: 1px solid red;\n background-color: #ffeeee;\n border-radius: 4px;\n}\n";
738
805
  styleInject(css_248z$2);
@@ -761,23 +828,24 @@ function Loader() {
761
828
  var rootWrapper = "root-wrapper-WNprt";
762
829
  var contentWrapper = "content-wrapper-K5XIs";
763
830
  var loading = "loading-089Ib";
764
- var css_248z = ".root-wrapper-WNprt {\n min-height: 60px;\n position: relative;\n width: 100%;\n padding-left: 40px;\n}\n\n.content-wrapper-K5XIs {\n transition: opacity 0.2s ease-in-out;\n}\n.content-wrapper-K5XIs.loading-089Ib {\n opacity: 0.5;\n}\n";
831
+ var css_248z = ".root-wrapper-WNprt {\n min-height: 60px;\n position: relative;\n overflow: auto;\n}\n\n.content-wrapper-K5XIs {\n transition: opacity 0.2s ease-in-out;\n}\n.content-wrapper-K5XIs.loading-089Ib {\n opacity: 0.5;\n}\n";
765
832
  styleInject(css_248z);
766
833
 
767
- var ContentItems = function ContentItems(props) {
768
- var _deferredConfiguratio;
769
- var _useContentItem = useContentItem(props),
770
- deferredConfiguration = _useContentItem.deferredConfiguration,
834
+ var ContentItems = function ContentItems(_ref) {
835
+ var wrapperStyle = _ref.wrapperStyle;
836
+ var _useContentItem = useContentItem(),
837
+ content = _useContentItem.content,
771
838
  loading$1 = _useContentItem.loading,
772
839
  error = _useContentItem.error;
773
840
  return /*#__PURE__*/jsxs("div", {
774
841
  className: rootWrapper,
775
842
  id: 'diva-content-item',
776
843
  children: [loading$1 && /*#__PURE__*/jsx(Loader, {}), /*#__PURE__*/jsxs("div", {
777
- className: classnames(contentWrapper, _defineProperty({}, loading, loading$1)),
844
+ className: classNames(contentWrapper, _defineProperty({}, loading, loading$1)),
845
+ style: wrapperStyle,
778
846
  children: [error && /*#__PURE__*/jsx(ErrorBox, {
779
847
  error: error
780
- }), (_deferredConfiguratio = deferredConfiguration.content) === null || _deferredConfiguratio === void 0 ? void 0 : _deferredConfiguratio.map(function (item, i) {
848
+ }), content === null || content === void 0 ? void 0 : content.map(function (item, i) {
781
849
  return /*#__PURE__*/jsx(ContentItem, {
782
850
  item: item
783
851
  }, i);
@@ -787,12 +855,16 @@ var ContentItems = function ContentItems(props) {
787
855
  };
788
856
 
789
857
  var ContentItemComponent = function ContentItemComponent(props) {
790
- return /*#__PURE__*/jsx(ContentItemNavigator, {
858
+ return /*#__PURE__*/jsx(ContentItemContextProvider, {
791
859
  initialItemId: props.contentItemId,
792
860
  initialItemCodex: props.contentItemCodex,
793
861
  initialItemConfiguration: props.configuration,
862
+ wrapperStyle: props.wrapperStyle,
863
+ headerWrapperStyle: props.headerWrapperStyle,
864
+ headerClassName: props.headerClassName,
865
+ onContentItemLoaded: props.onContentItemLoaded,
866
+ onClose: props.onClose,
794
867
  children: /*#__PURE__*/jsx(ContentItems, {
795
- onContentItemLoaded: props.onContentItemLoaded,
796
868
  wrapperStyle: props.wrapperStyle
797
869
  })
798
870
  });
@@ -0,0 +1,16 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { Configuration, ContentItemContextType } from '../../types';
3
+ export interface ContentItemContextProviderProps {
4
+ initialItemId?: string;
5
+ initialItemCodex?: string;
6
+ initialItemConfiguration?: Configuration;
7
+ children?: ReactNode;
8
+ headerClassName?: string;
9
+ headerWrapperStyle?: React.CSSProperties;
10
+ onClose?: () => void;
11
+ wrapperStyle?: React.CSSProperties;
12
+ onContentItemLoaded?: (title: string) => void;
13
+ }
14
+ export declare function useContentItem(): ContentItemContextType;
15
+ export declare function ContentItemContextProvider({ initialItemId, initialItemCodex, initialItemConfiguration, children, headerClassName, headerWrapperStyle, onClose, onContentItemLoaded, }: ContentItemContextProviderProps): React.JSX.Element;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItemContextProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAKpE,MAAM,WAAW,+BAA+B;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,aAAa,CAAC;IACzC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAID,wBAAgB,cAAc,2BAM7B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,mBAAmB,GACpB,EAAE,+BAA+B,qBASjC"}
@@ -0,0 +1,12 @@
1
+ import { Configuration, ContentItemState } from '../../types';
2
+ export interface UseContentItemProps {
3
+ currentContentItem?: ContentItemState;
4
+ onContentItemLoaded?: (title: string) => void;
5
+ }
6
+ export declare const useContentItemConfiguration: ({ onContentItemLoaded, currentContentItem, }: UseContentItemProps) => {
7
+ configuration: Configuration;
8
+ loading: boolean;
9
+ error: Error | null;
10
+ };
11
+ export default useContentItemConfiguration;
12
+ //# sourceMappingURL=useContentItemConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContentItemConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItemContextProvider/useContentItemConfiguration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI9D,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,2BAA2B,iDAGrC,mBAAmB,KAAG;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAmDrB,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ContentItemContextType } from '../../types';
2
+ import { ContentItemContextProviderProps } from './index';
3
+ export declare const useContentItemContext: ({ initialItemId, initialItemCodex, initialItemConfiguration, onContentItemLoaded, }: ContentItemContextProviderProps) => {
4
+ contextValue: ContentItemContextType;
5
+ };
6
+ //# sourceMappingURL=useContentItemContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContentItemContext.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItemContextProvider/useContentItemContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAG1D,eAAO,MAAM,qBAAqB,wFAK/B,+BAA+B;;CAqFjC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
- import { UseContentItemProps } from './useContentItem';
3
- interface ContentItemsProps extends UseContentItemProps {
2
+ interface ContentItemsProps {
4
3
  wrapperStyle?: React.CSSProperties;
5
4
  }
6
- declare const ContentItems: (props: ContentItemsProps) => React.JSX.Element;
5
+ declare const ContentItems: ({ wrapperStyle }: ContentItemsProps) => React.JSX.Element;
7
6
  export default ContentItems;
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItems/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvE,UAAU,iBAAkB,SAAQ,mBAAmB;IACrD,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAED,QAAA,MAAM,YAAY,UAAW,iBAAiB,sBAY7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItems/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAED,QAAA,MAAM,YAAY,qBAAsB,iBAAiB,sBAYxD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface HeaderProps {
3
+ onClose?: () => void;
4
+ headerClassName?: string;
5
+ headerWrapperStyle?: React.CSSProperties;
6
+ }
7
+ declare const Header: ({ onClose, headerClassName, headerWrapperStyle }: HeaderProps) => React.JSX.Element;
8
+ export default Header;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/Header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC1C;AACD,QAAA,MAAM,MAAM,qDAAsD,WAAW,sBAgB5E,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -3,6 +3,6 @@ import { VideoType } from '../../types';
3
3
  type Props = {
4
4
  item: VideoType;
5
5
  };
6
- declare const Video: ({ item: { video, thumb } }: Props) => React.JSX.Element;
6
+ declare const Video: ({ item: { video, thumb, loop } }: Props) => React.JSX.Element;
7
7
  export default Video;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/Video/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjC,QAAA,MAAM,KAAK,+BAAgC,KAAK,sBA4B/C,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/Video/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjC,QAAA,MAAM,KAAK,qCAAsC,KAAK,sBAqCrD,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -9,6 +9,9 @@ export interface ContentItemProps {
9
9
  contentItemId?: string;
10
10
  contentItemCodex?: string;
11
11
  wrapperStyle?: React.CSSProperties;
12
+ headerClassName?: string;
13
+ headerWrapperStyle?: React.CSSProperties;
14
+ onClose?: () => void;
12
15
  onContentItemLoaded?: (title: string) => void;
13
16
  }
14
17
  export declare const ContentItemComponent: React.FC<ContentItemProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAU3D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAe3D,CAAC"}
@@ -5,11 +5,15 @@ export interface ContentItemState {
5
5
  configuration?: Configuration;
6
6
  title?: string;
7
7
  }
8
- export interface ContentItemNavigationContextType {
8
+ export interface ContentItemContextType {
9
9
  navigateTo: (props: ContentItemState) => void;
10
- onContentItemLoaded: (title: string) => void;
10
+ navigateBack: () => void;
11
11
  canGoBack: boolean;
12
- currentContentItem: ContentItemState;
12
+ content?: ContentItemType[];
13
+ loading?: boolean;
14
+ error?: Error | null;
15
+ renderTitle?: TitleType;
16
+ hasNavigations?: boolean;
13
17
  }
14
18
  export interface Configuration {
15
19
  content: ContentItemType[];
@@ -51,6 +55,7 @@ export interface VideoType {
51
55
  type: 'Video';
52
56
  video: string;
53
57
  thumb?: boolean;
58
+ loop?: boolean;
54
59
  }
55
60
  export interface URLType {
56
61
  type: 'URL';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAErH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AACD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAErH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AACD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/content-item",
3
- "version": "25.8.0-beta.5",
3
+ "version": "25.8.0-beta.7",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "storybook": "storybook dev -p 6006",
@@ -34,5 +34,5 @@
34
34
  },
35
35
  "module": "build/esm/index.js",
36
36
  "types": "./build/types/content-item/src/index.d.ts",
37
- "gitHead": "76b96b4a0137b36b1f7c4cf20ef39045040a2491"
37
+ "gitHead": "d160f39c475acc47e32f9641b14a25de2c27cfd4"
38
38
  }
@@ -1,11 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- import { Configuration, ContentItemNavigationContextType } from '../../types';
3
- export interface ContentItemNavigatorProps {
4
- initialItemId?: string;
5
- initialItemCodex?: string;
6
- initialItemConfiguration?: Configuration;
7
- children?: ReactNode;
8
- }
9
- export declare function useContentItemNavigation(): ContentItemNavigationContextType;
10
- export declare function ContentItemNavigator({ initialItemId, initialItemCodex, initialItemConfiguration, children }: ContentItemNavigatorProps): React.JSX.Element;
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItemNavigator/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAI9E,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,aAAa,CAAC;IACzC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAID,wBAAgB,wBAAwB,qCAMvC;AAED,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,EAAE,yBAAyB,qBAWtI"}
@@ -1,7 +0,0 @@
1
- import { ContentItemNavigationContextType } from '../../types';
2
- import { ContentItemNavigatorProps } from './index';
3
- export declare const useContentItemNavigator: ({ initialItemId, initialItemCodex, initialItemConfiguration }: ContentItemNavigatorProps) => {
4
- contextValue: ContentItemNavigationContextType;
5
- navigateBack: () => void;
6
- };
7
- //# sourceMappingURL=useContentItemNavigator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useContentItemNavigator.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItemNavigator/useContentItemNavigator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAoB,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,eAAO,MAAM,uBAAuB,kEAAmE,yBAAyB;;;CA+D/H,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Configuration } from '../../types';
2
- export interface UseContentItemProps {
3
- onContentItemLoaded?: (title: string) => void;
4
- }
5
- export declare const useContentItem: ({ onContentItemLoaded, }: UseContentItemProps) => {
6
- configuration: Configuration;
7
- deferredConfiguration: Configuration;
8
- loading: boolean;
9
- error: Error | null;
10
- };
11
- export default useContentItem;
12
- //# sourceMappingURL=useContentItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useContentItem.d.ts","sourceRoot":"","sources":["../../../../../../src/Components/ContentItems/useContentItem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,cAAc,6BAExB,mBAAmB,KAAG;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,qBAAqB,EAAE,aAAa,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAyDrB,CAAC;AAEF,eAAe,cAAc,CAAC"}