@uncinc/uncinc-react-kitchen-sink 2.5.5 → 2.6.1

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.
@@ -9,11 +9,12 @@ require("./style.scss");
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  var Hamburger = function Hamburger(_ref) {
11
11
  var onClick = _ref.onClick,
12
- numberOfLines = _ref.numberOfLines;
12
+ numberOfLines = _ref.numberOfLines,
13
+ showMenuLabel = _ref.showMenuLabel;
13
14
  return /*#__PURE__*/_react.default.createElement("div", {
14
15
  className: "Hamburger",
15
16
  onClick: onClick
16
- }, /*#__PURE__*/_react.default.createElement("span", {
17
+ }, showMenuLabel && /*#__PURE__*/_react.default.createElement("span", {
17
18
  className: "title"
18
19
  }, "Menu"), /*#__PURE__*/_react.default.createElement("div", {
19
20
  className: "hamburger-menu"
@@ -27,7 +28,8 @@ var Hamburger = function Hamburger(_ref) {
27
28
  };
28
29
  Hamburger.defaultProps = {
29
30
  onClick: function onClick() {},
30
- numberOfLines: 3
31
+ numberOfLines: 3,
32
+ showMenuLabel: true
31
33
  };
32
34
  var _default = Hamburger;
33
35
  exports.default = _default;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import 'videojs-vimeo-tech';
3
+ import 'videojs-youtube';
4
+ import { MediaPlayerProps } from './types';
5
+ import 'video.js/dist/video-js.css';
6
+ import './style.scss';
7
+ declare const MediaPlayer: React.FC<MediaPlayerProps>;
8
+ export default MediaPlayer;
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _reactHookVideojs = require("react-hook-videojs");
10
+ var _reactI18next = require("react-i18next");
11
+ require("videojs-vimeo-tech");
12
+ require("videojs-youtube");
13
+ require("video.js/dist/video-js.css");
14
+ require("./style.scss");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
23
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } // VideoJS plugins:
24
+ var MediaPlayer = function MediaPlayer(_ref) {
25
+ var src = _ref.src,
26
+ type = _ref.type,
27
+ controls = _ref.controls,
28
+ posterUrl = _ref.posterUrl,
29
+ customOptions = _ref.options,
30
+ captions = _ref.captions,
31
+ audioOnly = _ref.audioOnly,
32
+ notSupportedMessage = _ref.notSupportedMessage,
33
+ className = _ref.className,
34
+ onPlay = _ref.onPlay,
35
+ onPause = _ref.onPause,
36
+ onEnded = _ref.onEnded,
37
+ onSeeking = _ref.onSeeking,
38
+ onVolumeChange = _ref.onVolumeChange,
39
+ onFullscreenChange = _ref.onFullscreenChange,
40
+ onError = _ref.onError;
41
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
42
+ t = _useTranslation.t;
43
+ var classNames = (0, _classnames.default)('MediaPlayer', 'video-js', 'vjs-default-skin', 'vjs-big-play-centered', className);
44
+ var audioOnlyMode = (0, _react.useMemo)(function () {
45
+ return audioOnly || type.startsWith('audio');
46
+ }, [type, audioOnly]);
47
+ var controlBar = (0, _react.useMemo)(function () {
48
+ var videoJSControls = {
49
+ play: 'playToggle',
50
+ currentTime: 'currentTimeDisplay',
51
+ timeDivider: 'timeDivider',
52
+ duration: 'durationDisplay',
53
+ seekbar: 'progressControl',
54
+ captions: 'subsCapsButton',
55
+ volume: 'volumePanel',
56
+ fullscreen: 'fullscreenToggle'
57
+ };
58
+ var controlMapped = function controlMapped(control) {
59
+ return {
60
+ name: videoJSControls[control],
61
+ className: "MediaPlayer__control MediaPlayer__control--".concat(control)
62
+ };
63
+ };
64
+ if (controls === false || _typeof(controls) === 'object' && controls.length === 0) {
65
+ return false;
66
+ }
67
+ if (_typeof(controls) === 'object' && controls.length > 0) {
68
+ return {
69
+ children: controls.map(controlMapped)
70
+ };
71
+ }
72
+ return {
73
+ children: Object.keys(videoJSControls).map(controlMapped)
74
+ };
75
+ }, [controls]);
76
+
77
+ // Can be overridden by the custom options prop.
78
+ var defaultOptions = {
79
+ controls: true,
80
+ aspectRatio: '16:9',
81
+ audioOnlyMode: audioOnlyMode,
82
+ fluid: true,
83
+ notSupportedMessage: notSupportedMessage || t('organisms.media_player.not_supported_message'),
84
+ techOrder: ['html5', 'youtube', 'vimeo'],
85
+ poster: posterUrl,
86
+ controlBar: controlBar,
87
+ sources: [{
88
+ src: src,
89
+ type: type
90
+ }]
91
+ };
92
+ var options = _objectSpread(_objectSpread({}, defaultOptions), customOptions);
93
+ var videoJS = (0, _reactHookVideojs.useVideoJS)(options);
94
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
95
+ var Video = videoJS.Video,
96
+ player = videoJS.player,
97
+ ready = videoJS.ready;
98
+
99
+ // Passing down the VideoJS events.
100
+ (0, _react.useEffect)(function () {
101
+ if (ready) {
102
+ if (onPlay) {
103
+ player.one('play', function (event) {
104
+ return onPlay(player, event);
105
+ });
106
+ }
107
+ if (onPause) {
108
+ player.one('pause', function (event) {
109
+ return onPause(player, event);
110
+ });
111
+ }
112
+ if (onEnded) {
113
+ player.one('ended', function (event) {
114
+ return onEnded(player, event);
115
+ });
116
+ }
117
+ if (onSeeking) {
118
+ player.one('seeking', function (event) {
119
+ return onSeeking(player, event);
120
+ });
121
+ }
122
+ if (onVolumeChange) {
123
+ player.one('volumechange', function (event) {
124
+ return onVolumeChange(player, event);
125
+ });
126
+ }
127
+ if (onFullscreenChange) {
128
+ player.one('fullscreenchange', function (event) {
129
+ return onFullscreenChange(player, event);
130
+ });
131
+ }
132
+ if (onError) {
133
+ player.one('error', function (event) {
134
+ return onError(player, event);
135
+ });
136
+ }
137
+ }
138
+ // eslint-disable-next-line max-len
139
+ }, [onEnded, onError, onFullscreenChange, onPause, onPlay, onSeeking, onVolumeChange, player, ready]);
140
+ return /*#__PURE__*/_react.default.createElement(Video, {
141
+ className: classNames
142
+ }, !audioOnlyMode && captions && captions.map(function (caption) {
143
+ return /*#__PURE__*/_react.default.createElement("track", {
144
+ key: "caption:".concat(caption.language),
145
+ kind: "captions",
146
+ src: caption.src,
147
+ srcLang: caption.language,
148
+ label: caption.label || caption.language,
149
+ default: caption.default
150
+ });
151
+ }));
152
+ };
153
+ var _default = MediaPlayer;
154
+ exports.default = _default;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.FC<import("./types").MediaPlayerProps>;
5
+ };
6
+ export default _default;
7
+ export declare const LocalVideo: (args: any) => React.JSX.Element;
8
+ export declare const LocalAudio: (args: any) => React.JSX.Element;
9
+ export declare const Youtube: (args: any) => React.JSX.Element;
10
+ export declare const Vimeo: (args: any) => React.JSX.Element;
11
+ export declare const WithCaptions: (args: any) => React.JSX.Element;
12
+ export declare const Advanced: (args: any) => React.JSX.Element;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Youtube = exports.WithCaptions = exports.Vimeo = exports.LocalVideo = exports.LocalAudio = exports.Advanced = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _ = _interopRequireDefault(require("."));
10
+ var _nl = _interopRequireDefault(require("../../../.storybook/assets/videos/nl.vtt"));
11
+ var _en = _interopRequireDefault(require("../../../.storybook/assets/videos/en.vtt"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
+ var localVideo = 'https://www.uncinc.nl/sites/default/files/videos/unc-inc-office-film-v1.mp4';
23
+ var _default = {
24
+ title: 'Organisms/MediaPlayer',
25
+ component: _.default
26
+ };
27
+ exports.default = _default;
28
+ var LocalVideo = function LocalVideo(args) {
29
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
30
+ src: localVideo,
31
+ type: "video/mp4"
32
+ }, args));
33
+ };
34
+ exports.LocalVideo = LocalVideo;
35
+ var LocalAudio = function LocalAudio(args) {
36
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
37
+ src: localVideo,
38
+ type: "audio/mp4",
39
+ audioOnly: true
40
+ }, args));
41
+ };
42
+ exports.LocalAudio = LocalAudio;
43
+ var Youtube = function Youtube(args) {
44
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
45
+ src: "https://www.youtube.com/watch?v=eJHHZC46i1I",
46
+ type: "video/youtube"
47
+ }, args));
48
+ };
49
+ exports.Youtube = Youtube;
50
+ var Vimeo = function Vimeo(args) {
51
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
52
+ src: "https://vimeo.com/153783319",
53
+ type: "video/vimeo"
54
+ }, args));
55
+ };
56
+ exports.Vimeo = Vimeo;
57
+ var WithCaptions = function WithCaptions(args) {
58
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
59
+ src: localVideo,
60
+ type: "video/mp4",
61
+ captions: [{
62
+ src: _nl.default,
63
+ language: 'nl',
64
+ label: 'Nederlands',
65
+ default: true
66
+ }, {
67
+ src: _en.default,
68
+ language: 'en',
69
+ label: 'English'
70
+ }]
71
+ }, args));
72
+ };
73
+ exports.WithCaptions = WithCaptions;
74
+ var Advanced = function Advanced(args) {
75
+ var _useState = (0, _react.useState)(''),
76
+ _useState2 = _slicedToArray(_useState, 2),
77
+ status = _useState2[0],
78
+ setStatus = _useState2[1];
79
+ var _useState3 = (0, _react.useState)(0),
80
+ _useState4 = _slicedToArray(_useState3, 2),
81
+ currentTime = _useState4[0],
82
+ setCurrentTime = _useState4[1];
83
+ var _useState5 = (0, _react.useState)(1),
84
+ _useState6 = _slicedToArray(_useState5, 2),
85
+ volume = _useState6[0],
86
+ setVolume = _useState6[1];
87
+ var _useState7 = (0, _react.useState)(''),
88
+ _useState8 = _slicedToArray(_useState7, 2),
89
+ error = _useState8[0],
90
+ setError = _useState8[1];
91
+ var message = (0, _react.useMemo)(function () {
92
+ switch (status) {
93
+ case 'playing':
94
+ {
95
+ return 'Video is currently playing';
96
+ }
97
+ case 'paused':
98
+ {
99
+ return 'Video is paused';
100
+ }
101
+ case 'ended':
102
+ {
103
+ return 'Video has ended';
104
+ }
105
+ default:
106
+ {
107
+ return 'Player is ready';
108
+ }
109
+ }
110
+ }, [status]);
111
+ if (error) {
112
+ return /*#__PURE__*/_react.default.createElement("p", null, "The media player encountered an error: ", error);
113
+ }
114
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.default, _extends({
115
+ src: localVideo,
116
+ type: "video/mp4",
117
+ controls: ['play', 'volume', 'seekbar', 'currentTime', 'fullscreen'],
118
+ posterUrl: "https://www.uncinc.nl/sites/default/files/styles/max_2000x2000/public/2022-06/20220525_unc_inc_bedrijfsrave_mr-4893.webp?itok=WRebIyrU",
119
+ notSupportedMessage: "This is a custom message which you see if a media file is not supported.",
120
+ className: "CustomizedMediaPlayer",
121
+ onPlay: function onPlay() {
122
+ return setStatus('playing');
123
+ },
124
+ onPause: function onPause() {
125
+ return setStatus('paused');
126
+ },
127
+ onEnded: function onEnded() {
128
+ return setStatus('ended');
129
+ },
130
+ onSeeking: function onSeeking(player) {
131
+ return setCurrentTime(player.currentTime());
132
+ },
133
+ onVolumeChange: function onVolumeChange(player) {
134
+ return setVolume(player.volume());
135
+ },
136
+ onError: function onError(player) {
137
+ return setError(player.error().message);
138
+ },
139
+ onFullscreenChange: function onFullscreenChange(player) {
140
+ if (player.isFullscreen()) {
141
+ console.log('Pssst! Secret message telling you the current video you are watching is in fullscreen.');
142
+ }
143
+ }
144
+ }, args)), /*#__PURE__*/_react.default.createElement("p", null, message), /*#__PURE__*/_react.default.createElement("p", null, "Volume: ", Math.round(volume * 100), "%"), currentTime > 0 && /*#__PURE__*/_react.default.createElement("p", null, "Current time: ", Math.round(currentTime), "s"));
145
+ };
146
+ exports.Advanced = Advanced;
@@ -0,0 +1,7 @@
1
+ .MediaPlayer {
2
+ // Somehow video.js hides this by default, so we have to force it to show up.
3
+ // See for more info: https://stackoverflow.com/questions/15324061/show-the-current-time-of-the-video-instead-of-the-remaining-time-on-videojs
4
+ .vjs-time-control {
5
+ display: block;
6
+ }
7
+ }
@@ -0,0 +1,24 @@
1
+ import VideoJsTypes from 'video.js';
2
+ export type MimeType = 'audio/3gpp' | 'audio/aac' | 'audio/flac' | 'audio/mpeg' | 'audio/mp3' | 'audio/mp4' | 'audio/ogg' | 'audio/wav' | 'audio/webm' | 'video/3gpp' | 'video/mpeg' | 'video/mpeg' | 'video/mp4' | 'video/ogg' | 'video/quicktime' | 'video/webm' | 'video/youtube' | 'video/vimeo';
3
+ export type Control = 'play' | 'currentTime' | 'timeDivider' | 'duration' | 'seekbar' | 'captions' | 'volume' | 'fullscreen';
4
+ export type VideoJSControls = {
5
+ [K in Control]: string;
6
+ };
7
+ export type MediaPlayerProps = {
8
+ src: string;
9
+ type: MimeType;
10
+ controls?: Control[] | false;
11
+ posterUrl?: string;
12
+ options?: VideoJsTypes.PlayerOptions;
13
+ captions?: VideoJsTypes.TextTrackOptions[];
14
+ audioOnly?: boolean;
15
+ notSupportedMessage?: string;
16
+ className?: string;
17
+ onPlay?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
18
+ onPause?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
19
+ onEnded?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
20
+ onSeeking?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
21
+ onVolumeChange?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
22
+ onFullscreenChange?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
23
+ onError?: (player: VideoJsTypes.Player, event: VideoJsTypes.EventTarget) => void;
24
+ };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -23,7 +23,8 @@ var Pagination = function Pagination(_ref) {
23
23
  disabledClassName = _ref.disabledClassName,
24
24
  activeClassName = _ref.activeClassName,
25
25
  breakClassName = _ref.breakClassName,
26
- showWhenOnePage = _ref.showWhenOnePage;
26
+ showWhenOnePage = _ref.showWhenOnePage,
27
+ controlled = _ref.controlled;
27
28
  var pageChange = function pageChange(data) {
28
29
  if (setCurrentPage) {
29
30
  setCurrentPage(data.selected + 1);
@@ -61,7 +62,8 @@ var Pagination = function Pagination(_ref) {
61
62
  pageRangeDisplayed: pageRangeDisplayed,
62
63
  marginPagesDisplayed: marginPagesDisplayed,
63
64
  disabledClassName: disabledClasses,
64
- initialPage: currentPage - 1,
65
+ initialPage: !controlled && currentPage - 1,
66
+ forcePage: controlled && currentPage - 1,
65
67
  onPageChange: pageChange,
66
68
  containerClassName: containerClasses,
67
69
  activeClassName: activeClasses
@@ -79,7 +81,8 @@ Pagination.propTypes = {
79
81
  containerClassName: _propTypes.default.string,
80
82
  disabledClassName: _propTypes.default.string,
81
83
  activeClassName: _propTypes.default.string,
82
- showWhenOnePage: _propTypes.default.bool
84
+ showWhenOnePage: _propTypes.default.bool,
85
+ controlled: _propTypes.default.bool
83
86
  };
84
87
  Pagination.defaultProps = {
85
88
  setCurrentPage: null,
@@ -90,7 +93,8 @@ Pagination.defaultProps = {
90
93
  activeClassName: null,
91
94
  pageRangeDisplayed: 5,
92
95
  marginPagesDisplayed: 1,
93
- showWhenOnePage: false
96
+ showWhenOnePage: false,
97
+ controlled: false
94
98
  };
95
99
  var _default = (0, _withMapping.default)(Pagination);
96
100
  exports.default = _default;
@@ -3,11 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.TextualButtons = exports.ManyPages = exports.LargePageRange = exports.FewPages = exports.Default = void 0;
6
+ exports.default = exports.TextualButtons = exports.ManyPages = exports.LargePageRange = exports.FewPages = exports.Default = exports.Controlled = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _ = require(".");
9
9
  require("./stories.scss");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
16
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
18
  var _default = {
12
19
  title: 'Molecules/Pagination',
13
20
  component: _.Pagination
@@ -56,4 +63,41 @@ TextualButtons.args = {
56
63
  totalPages: 30,
57
64
  previousLabel: /*#__PURE__*/_react.default.createElement("a", null, "Previous"),
58
65
  nextLabel: /*#__PURE__*/_react.default.createElement("a", null, "Next")
66
+ };
67
+ var Controlled = function Controlled(args) {
68
+ var _React$useState = _react.default.useState(1),
69
+ _React$useState2 = _slicedToArray(_React$useState, 2),
70
+ currentPage = _React$useState2[0],
71
+ setCurrentPage = _React$useState2[1];
72
+ var onSubmit = function onSubmit(e) {
73
+ e.preventDefault();
74
+ var page = e.target.elements.page.value;
75
+ setCurrentPage(parseInt(page));
76
+ };
77
+ var formStyle = {
78
+ display: 'flex',
79
+ justifyContent: 'center'
80
+ };
81
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("form", {
82
+ onSubmit: onSubmit,
83
+ style: formStyle
84
+ }, /*#__PURE__*/_react.default.createElement("label", {
85
+ htmlFor: "page"
86
+ }, "Page", /*#__PURE__*/_react.default.createElement("input", {
87
+ type: "number",
88
+ id: "page",
89
+ name: "page",
90
+ min: 1,
91
+ max: 30
92
+ })), /*#__PURE__*/_react.default.createElement("button", {
93
+ type: "submit"
94
+ }, "Jump to page")), /*#__PURE__*/_react.default.createElement(_.Pagination, _extends({}, args, {
95
+ currentPage: currentPage,
96
+ setCurrentPage: setCurrentPage
97
+ })));
98
+ };
99
+ exports.Controlled = Controlled;
100
+ Controlled.args = {
101
+ totalPages: 30,
102
+ controlled: true
59
103
  };
@@ -87,6 +87,12 @@ Object.defineProperty(exports, "FormikWrapper", {
87
87
  return _FormikWrapper.default;
88
88
  }
89
89
  });
90
+ Object.defineProperty(exports, "MediaPlayer", {
91
+ enumerable: true,
92
+ get: function get() {
93
+ return _MediaPlayer.default;
94
+ }
95
+ });
90
96
  Object.defineProperty(exports, "WysiwygField", {
91
97
  enumerable: true,
92
98
  get: function get() {
@@ -95,6 +101,7 @@ Object.defineProperty(exports, "WysiwygField", {
95
101
  });
96
102
  var _Button = _interopRequireDefault(require("./Button"));
97
103
  var _WysiwygField = _interopRequireDefault(require("./WysiwygField"));
104
+ var _MediaPlayer = _interopRequireDefault(require("./MediaPlayer"));
98
105
  var _FormikWrapper = _interopRequireDefault(require("./Form/FormikWrapper"));
99
106
  var _Checkbox = _interopRequireDefault(require("./Form/Checkbox"));
100
107
  var _Checkboxes = _interopRequireDefault(require("./Form/Checkboxes"));
@@ -27,6 +27,9 @@
27
27
  "reset_search": "Reconfigure search"
28
28
  },
29
29
  "organisms": {
30
+ "media_player": {
31
+ "not_supported_message": "The current file cannot be played."
32
+ },
30
33
  "text": {
31
34
  "read_more": "Read more",
32
35
  "read_less": "Read less"
@@ -27,6 +27,9 @@
27
27
  "reset_search": "Zoeken opnieuw instellen"
28
28
  },
29
29
  "organisms": {
30
+ "media_player": {
31
+ "not_supported_message": "Het huidige bestand kan niet worden afgespeeld."
32
+ },
30
33
  "text": {
31
34
  "read_more": "Lees meer",
32
35
  "read_less": "Lees minder"
@@ -0,0 +1 @@
1
+ "use strict";
package/dist/index.js CHANGED
@@ -225,6 +225,12 @@ Object.defineProperty(exports, "MagicLine", {
225
225
  return _MagicLine.default;
226
226
  }
227
227
  });
228
+ Object.defineProperty(exports, "MediaPlayer", {
229
+ enumerable: true,
230
+ get: function get() {
231
+ return _MediaPlayer.default;
232
+ }
233
+ });
228
234
  Object.defineProperty(exports, "NavigationScroll", {
229
235
  enumerable: true,
230
236
  get: function get() {
@@ -491,6 +497,7 @@ var _ApiAutocomplete = _interopRequireDefault(require("./components/ApiAutocompl
491
497
  var _Cookie = _interopRequireDefault(require("./components/Cookie"));
492
498
  var _Downloads = _interopRequireDefault(require("./organisms/Downloads"));
493
499
  var _Header = _interopRequireDefault(require("./components/Header"));
500
+ var _MediaPlayer = _interopRequireDefault(require("./components/MediaPlayer"));
494
501
  var _Quote = _interopRequireDefault(require("./organisms/Quote"));
495
502
  var _Share = _interopRequireDefault(require("./components/Share"));
496
503
  var _SliderRelated = _interopRequireDefault(require("./components/Sliders/SliderRelated"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uncinc/uncinc-react-kitchen-sink",
3
- "version": "2.5.5",
3
+ "version": "2.6.1",
4
4
  "description": "Default React components that are easily extended.",
5
5
  "author": "uncinc",
6
6
  "license": "MIT",
@@ -53,12 +53,11 @@
53
53
  "@types/react": "^18.2.6",
54
54
  "@types/react-dom": "^18.2.4",
55
55
  "@types/react-router": "^5.1.20",
56
+ "@types/video.js": "^7.3.52",
56
57
  "@types/webpack-env": "^1.18.0",
57
- "@uncinc/react-drupal-core": "^2.3.4",
58
58
  "apollo-server-micro": "^3.4.0",
59
59
  "bootstrap": "^4",
60
60
  "eslint-webpack-plugin": "^2",
61
- "fork-ts-checker-webpack-plugin-alt": "0.4.14",
62
61
  "formik": "^2.2.6",
63
62
  "graphql": "^15.7.0",
64
63
  "i18next": "^22.4.13",
@@ -78,6 +77,7 @@
78
77
  "react-datepicker": "^3.0.0",
79
78
  "react-dom": "^16 || ^17 || ^18",
80
79
  "react-global-configuration": "^1.4.0",
80
+ "react-hook-videojs": "^3.0.2",
81
81
  "react-html-parser": "^2.0.2",
82
82
  "react-i18next": "^11.5.0",
83
83
  "react-immutable-proptypes": "^2.2.0",
@@ -96,7 +96,9 @@
96
96
  "sass-loader": "^8.0.2",
97
97
  "slick-carousel": "^1.8.1",
98
98
  "typescript": "^5.0.4",
99
- "uuid": "^9.0.0"
99
+ "uuid": "^9.0.0",
100
+ "videojs-vimeo-tech": "^1.0.0",
101
+ "videojs-youtube": "^2"
100
102
  },
101
103
  "devDependencies": {
102
104
  "@babel/cli": "^7.0.0-beta.44",