@mjhls/mjh-framework 1.0.263 → 1.0.265

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -35,8 +35,8 @@ import { B as BlockContent } from './TaxonomyCard-2d0ab635.js';
35
35
  export { T as TaxonomyCard } from './TaxonomyCard-2d0ab635.js';
36
36
  import GroupDeck from './GroupDeck.js';
37
37
  export { default as GroupDeck } from './GroupDeck.js';
38
- import { g as getYoutubeId } from './YoutubeGroup-78d93d44.js';
39
- export { Y as YoutubeGroup } from './YoutubeGroup-78d93d44.js';
38
+ import { g as getYoutubeId } from './YoutubeGroup-f59297bb.js';
39
+ export { Y as YoutubeGroup } from './YoutubeGroup-f59297bb.js';
40
40
  import { Spinner as Spinner$1, Container as Container$1, Row as Row$1, Col as Col$1, Figure, Carousel, Table, Button as Button$1, ProgressBar, Card } from 'react-bootstrap';
41
41
  export { default as QueueDeckExpanded } from './QueueDeckExpanded.js';
42
42
  import { I as IoMdArrowDropdown } from './index.esm-536609db.js';
@@ -13564,7 +13564,7 @@ var NativeAd = function NativeAd(props) {
13564
13564
  };
13565
13565
 
13566
13566
  var checkUrlIsExternal = function checkUrlIsExternal(url) {
13567
- if (/https?:\/\/((?:[\w\d-]+\.)+[\w\d]{2,})/i.test(url)) {
13567
+ if (/https?:\/\/((?:[\w\d-]+\.)+[\w\d]{2,})|(^mailto)/i.test(url)) {
13568
13568
  return true;
13569
13569
  }
13570
13570
  return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.263",
3
+ "version": "1.0.265",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",
@@ -96,6 +96,7 @@
96
96
  "next-cookies": "^2.0.3",
97
97
  "react-cookies": "^0.1.1",
98
98
  "shortid": "^2.2.15",
99
+ "smoothscroll-polyfill": "^0.4.4",
99
100
  "striptags": "^3.1.1",
100
101
  "superagent": "^5.2.2"
101
102
  }
@@ -1,228 +0,0 @@
1
- 'use strict';
2
-
3
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
-
5
- var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
6
- var React = require('react');
7
- var React__default = _interopDefault(React);
8
- require('next/link');
9
- var index$2 = require('./index-fa0fb52c.js');
10
-
11
- var getYoutubeId = _commonjsHelpers.createCommonjsModule(function (module, exports) {
12
- (function (root, factory) {
13
- {
14
- module.exports = factory();
15
- }
16
- }(_commonjsHelpers.commonjsGlobal, function (exports) {
17
-
18
- return function (url, opts) {
19
- if (opts == undefined) {
20
- opts = {fuzzy: true};
21
- }
22
-
23
- if (/youtu\.?be/.test(url)) {
24
-
25
- // Look first for known patterns
26
- var i;
27
- var patterns = [
28
- /youtu\.be\/([^#\&\?]{11})/, // youtu.be/<id>
29
- /\?v=([^#\&\?]{11})/, // ?v=<id>
30
- /\&v=([^#\&\?]{11})/, // &v=<id>
31
- /embed\/([^#\&\?]{11})/, // embed/<id>
32
- /\/v\/([^#\&\?]{11})/ // /v/<id>
33
- ];
34
-
35
- // If any pattern matches, return the ID
36
- for (i = 0; i < patterns.length; ++i) {
37
- if (patterns[i].test(url)) {
38
- return patterns[i].exec(url)[1];
39
- }
40
- }
41
-
42
- if (opts.fuzzy) {
43
- // If that fails, break it apart by certain characters and look
44
- // for the 11 character key
45
- var tokens = url.split(/[\/\&\?=#\.\s]/g);
46
- for (i = 0; i < tokens.length; ++i) {
47
- if (/^[^#\&\?]{11}$/.test(tokens[i])) {
48
- return tokens[i];
49
- }
50
- }
51
- }
52
- }
53
-
54
- return null;
55
- };
56
-
57
- }));
58
- });
59
-
60
- /*
61
- GROQ query -
62
- accepts an array of title, URL
63
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
64
- */
65
- var YoutubeGroup = function YoutubeGroup(props) {
66
- // Props should be an array of objects containing Thumbnail, title, and URL
67
- var get2 = props.get2 ? '/' + props.get2 + '/' : '/view/';
68
-
69
- var variant = props.dark ? 'white' : '#383838';
70
- function scrollSlider(e, direction) {
71
- var slide = e.target.parentElement;
72
- var scrollOffset = slide.scrollLeft;
73
- var viewableWidth = slide.clientWidth > 700 ? 3 * (document.querySelector('.tile').scrollWidth + 8) : document.querySelector('.tile').scrollWidth + 8;
74
- var scrollDirection = void 0;
75
- if (direction === 'next') {
76
- scrollDirection = scrollOffset + viewableWidth;
77
- }
78
- if (direction === 'prev') {
79
- scrollDirection = scrollOffset - viewableWidth;
80
- }
81
- slide.scrollTo({
82
- left: scrollDirection,
83
- behavior: 'smooth'
84
- });
85
- }
86
- function handleClick(url, vidIndex) {
87
- props.setState(url, vidIndex);
88
- }
89
- var _props$current = props.current,
90
- current = _props$current === undefined ? '' : _props$current;
91
-
92
-
93
- return React__default.createElement(
94
- 'div',
95
- { id: 'vid-slider', className: 'col' },
96
- React__default.createElement(
97
- 'div',
98
- { className: 'row' },
99
- React__default.createElement(
100
- 'div',
101
- { onClick: function onClick(e) {
102
- return scrollSlider(e, 'prev');
103
- }, className: 'tile__slider-prev', style: { color: variant } },
104
- React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow left' })
105
- ),
106
- React__default.createElement(
107
- 'div',
108
- { onClick: function onClick(e) {
109
- return scrollSlider(e, 'next');
110
- }, className: 'tile__slider-next', style: { color: variant } },
111
- React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow right' })
112
- ),
113
- React__default.createElement(
114
- 'div',
115
- { className: 'row__inner' },
116
- props.dataset && props.dataset.map(function (video, index) {
117
- // If there is a current prop, means this will overlay a currently playing video
118
- if (current !== '') {
119
- var url = video.url;
120
- var thumbnail = 'https://img.youtube.com/vi/' + getYoutubeId(video.url) + '/hqdefault.jpg';
121
-
122
- return React__default.createElement(
123
- 'div',
124
- { key: index, className: 'tile' },
125
- current && current === url ? React__default.createElement(
126
- 'div',
127
- { className: 'now-playing' },
128
- 'Now Playing'
129
- ) : '',
130
- React__default.createElement(
131
- 'a',
132
- { onClick: function onClick() {
133
- return handleClick(url, index + 1);
134
- } },
135
- React__default.createElement(
136
- 'div',
137
- { className: 'tile__media' },
138
- React__default.createElement(
139
- index$2.LazyLoad,
140
- null,
141
- React__default.createElement('img', { className: 'tile__img', src: thumbnail, alt: '' })
142
- )
143
- ),
144
- React__default.createElement(
145
- 'div',
146
- { className: 'tile__details' },
147
- React__default.createElement(
148
- 'div',
149
- { className: 'tile__title' },
150
- React__default.createElement(
151
- 'div',
152
- { style: { color: variant }, className: 'tile__title_text' },
153
- video.title
154
- )
155
- )
156
- ),
157
- React__default.createElement(
158
- 'div',
159
- { style: { color: variant }, className: 'tile__info' },
160
- video.title
161
- )
162
- )
163
- );
164
- } else {
165
- // slider by itself
166
- var _url = '' + video.link;
167
- var _thumbnail = 'https://img.youtube.com/vi/' + getYoutubeId(video.url) + '/hqdefault.jpg';
168
- return React__default.createElement(
169
- 'div',
170
- { key: index, className: 'tile' },
171
- React__default.createElement(
172
- 'a',
173
- { href: _url },
174
- React__default.createElement(
175
- 'div',
176
- { className: 'tile__media' },
177
- React__default.createElement(
178
- index$2.LazyLoad,
179
- null,
180
- React__default.createElement('img', { className: 'tile__img', src: _thumbnail, alt: '' })
181
- )
182
- ),
183
- React__default.createElement(
184
- 'div',
185
- { className: 'tile__details' },
186
- React__default.createElement(
187
- 'div',
188
- { className: 'tile__title' },
189
- React__default.createElement(
190
- 'div',
191
- { style: { color: variant }, className: 'tile__title_text' },
192
- video.title
193
- )
194
- )
195
- ),
196
- React__default.createElement(
197
- 'div',
198
- { style: { color: variant }, className: 'tile__info' },
199
- props.displayEpisodeNumber ? React__default.createElement(
200
- 'span',
201
- null,
202
- React__default.createElement(
203
- 'span',
204
- { style: { fontWeight: 'bold' } },
205
- 'Ep. ',
206
- index + 1,
207
- ':'
208
- ),
209
- ' ',
210
- video.title
211
- ) : video.title
212
- )
213
- )
214
- );
215
- }
216
- })
217
- )
218
- ),
219
- React__default.createElement(
220
- 'style',
221
- { jsx: 'true' },
222
- '\n #vid-slider * {\n box-sizing: border-box;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n }\n #vid-slider .now-playing {\n position: absolute;\n top: 0.5rem;\n left: 1rem;\n color: white;\n background: rgba(0, 0, 0, 0.75);\n }\n #vid-slider h1,\n #vid-slider p {\n text-align: center;\n width: 100%;\n max-width: 500px;\n margin: auto;\n }\n #vid-slider a:link,\n #vid-slider a:hover,\n #vid-slider a:active,\n #vid-slider a:visited {\n transition: color 150ms;\n color: #95a5a6;\n text-decoration: none;\n }\n #vid-slider a:hover {\n color: #7f8c8d;\n text-decoration: underline;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow: scroll;\n width: 100%;\n -ms-overflow-style: none;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 1rem;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 55px 0;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n width: 250px;\n height: 140.625px;\n margin-right: 10px;\n font-size: 20px;\n cursor: pointer;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n #vid-slider .tile__img {\n width: 250px;\n height: 140.625px;\n -o-object-fit: cover;\n object-fit: cover;\n }\n #vid-slider .tile__details {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n font-size: 10px;\n opacity: 0;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n transition: 450ms opacity;\n }\n #vid-slider .tile__details:after,\n #vid-slider .tile__details:before {\n content: \'\';\n\n position: absolute;\n top: 50%;\n left: 50%;\n display: #000;\n }\n #vid-slider .tile__details:after {\n margin-top: -25px;\n margin-left: -25px;\n width: 50px;\n height: 50px;\n border: 3px solid #ecf0f1;\n line-height: 50px;\n text-align: center;\n border-radius: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1;\n }\n #vid-slider .tile__details:before {\n content: \'\';\n background: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 64 64\' width=\'64\' height=\'64\' fill=\'white\'><path d=\'M26 46 L46 32 L26 18 Z\'/></svg>") no-repeat center center;\n left: 0;\n width: 100%;\n height: 3rem;\n font-size: 30px;\n margin-right: 12px;\n margin-top: -23px;\n text-align: center;\n z-index: 2;\n color: white;\n }\n #vid-slider .tile:hover .tile__details {\n opacity: 1;\n }\n #vid-slider .tile__title {\n position: absolute;\n bottom: 0;\n padding: 10px;\n max-width: 250px;\n }\n #vid-slider .tile__title_text {\n position: relative;\n left: 0;\n white-space: normal;\n }\n #vid-slider .row__inner:hover {\n -webkit-transform: translate3d(-62.5px, 0, 0);\n transform: translate3d(-62.5px, 0, 0);\n }\n #vid-slider .row__inner:hover .tile {\n opacity: 0.3;\n }\n #vid-slider .row__inner:hover .tile:hover {\n -webkit-transform: scale(1.25);\n transform: scale(1.25);\n opacity: 1;\n }\n #vid-slider .tile:hover ~ .tile {\n -webkit-transform: translate3d(62px, 0, 0);\n transform: translate3d(62px, 0, 0);\n }\n #vid-slider .tile:hover .tile__info {\n opacity: 0;\n }\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -3px;\n }\n #vid-slider .tile__slider-next {\n right: 0;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding: 0 1.2rem;\n }\n #vid-slider .tile:last-child {\n margin-right: 2rem;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n '
223
- )
224
- );
225
- };
226
-
227
- exports.YoutubeGroup = YoutubeGroup;
228
- exports.getYoutubeId = getYoutubeId;
@@ -1,222 +0,0 @@
1
- import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-0c4b6f40.js';
2
- import React__default from 'react';
3
- import 'next/link';
4
- import { L as LazyLoad } from './index-5f9f807a.js';
5
-
6
- var getYoutubeId = createCommonjsModule(function (module, exports) {
7
- (function (root, factory) {
8
- {
9
- module.exports = factory();
10
- }
11
- }(commonjsGlobal, function (exports) {
12
-
13
- return function (url, opts) {
14
- if (opts == undefined) {
15
- opts = {fuzzy: true};
16
- }
17
-
18
- if (/youtu\.?be/.test(url)) {
19
-
20
- // Look first for known patterns
21
- var i;
22
- var patterns = [
23
- /youtu\.be\/([^#\&\?]{11})/, // youtu.be/<id>
24
- /\?v=([^#\&\?]{11})/, // ?v=<id>
25
- /\&v=([^#\&\?]{11})/, // &v=<id>
26
- /embed\/([^#\&\?]{11})/, // embed/<id>
27
- /\/v\/([^#\&\?]{11})/ // /v/<id>
28
- ];
29
-
30
- // If any pattern matches, return the ID
31
- for (i = 0; i < patterns.length; ++i) {
32
- if (patterns[i].test(url)) {
33
- return patterns[i].exec(url)[1];
34
- }
35
- }
36
-
37
- if (opts.fuzzy) {
38
- // If that fails, break it apart by certain characters and look
39
- // for the 11 character key
40
- var tokens = url.split(/[\/\&\?=#\.\s]/g);
41
- for (i = 0; i < tokens.length; ++i) {
42
- if (/^[^#\&\?]{11}$/.test(tokens[i])) {
43
- return tokens[i];
44
- }
45
- }
46
- }
47
- }
48
-
49
- return null;
50
- };
51
-
52
- }));
53
- });
54
-
55
- /*
56
- GROQ query -
57
- accepts an array of title, URL
58
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
59
- */
60
- var YoutubeGroup = function YoutubeGroup(props) {
61
- // Props should be an array of objects containing Thumbnail, title, and URL
62
- var get2 = props.get2 ? '/' + props.get2 + '/' : '/view/';
63
-
64
- var variant = props.dark ? 'white' : '#383838';
65
- function scrollSlider(e, direction) {
66
- var slide = e.target.parentElement;
67
- var scrollOffset = slide.scrollLeft;
68
- var viewableWidth = slide.clientWidth > 700 ? 3 * (document.querySelector('.tile').scrollWidth + 8) : document.querySelector('.tile').scrollWidth + 8;
69
- var scrollDirection = void 0;
70
- if (direction === 'next') {
71
- scrollDirection = scrollOffset + viewableWidth;
72
- }
73
- if (direction === 'prev') {
74
- scrollDirection = scrollOffset - viewableWidth;
75
- }
76
- slide.scrollTo({
77
- left: scrollDirection,
78
- behavior: 'smooth'
79
- });
80
- }
81
- function handleClick(url, vidIndex) {
82
- props.setState(url, vidIndex);
83
- }
84
- var _props$current = props.current,
85
- current = _props$current === undefined ? '' : _props$current;
86
-
87
-
88
- return React__default.createElement(
89
- 'div',
90
- { id: 'vid-slider', className: 'col' },
91
- React__default.createElement(
92
- 'div',
93
- { className: 'row' },
94
- React__default.createElement(
95
- 'div',
96
- { onClick: function onClick(e) {
97
- return scrollSlider(e, 'prev');
98
- }, className: 'tile__slider-prev', style: { color: variant } },
99
- React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow left' })
100
- ),
101
- React__default.createElement(
102
- 'div',
103
- { onClick: function onClick(e) {
104
- return scrollSlider(e, 'next');
105
- }, className: 'tile__slider-next', style: { color: variant } },
106
- React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow right' })
107
- ),
108
- React__default.createElement(
109
- 'div',
110
- { className: 'row__inner' },
111
- props.dataset && props.dataset.map(function (video, index) {
112
- // If there is a current prop, means this will overlay a currently playing video
113
- if (current !== '') {
114
- var url = video.url;
115
- var thumbnail = 'https://img.youtube.com/vi/' + getYoutubeId(video.url) + '/hqdefault.jpg';
116
-
117
- return React__default.createElement(
118
- 'div',
119
- { key: index, className: 'tile' },
120
- current && current === url ? React__default.createElement(
121
- 'div',
122
- { className: 'now-playing' },
123
- 'Now Playing'
124
- ) : '',
125
- React__default.createElement(
126
- 'a',
127
- { onClick: function onClick() {
128
- return handleClick(url, index + 1);
129
- } },
130
- React__default.createElement(
131
- 'div',
132
- { className: 'tile__media' },
133
- React__default.createElement(
134
- LazyLoad,
135
- null,
136
- React__default.createElement('img', { className: 'tile__img', src: thumbnail, alt: '' })
137
- )
138
- ),
139
- React__default.createElement(
140
- 'div',
141
- { className: 'tile__details' },
142
- React__default.createElement(
143
- 'div',
144
- { className: 'tile__title' },
145
- React__default.createElement(
146
- 'div',
147
- { style: { color: variant }, className: 'tile__title_text' },
148
- video.title
149
- )
150
- )
151
- ),
152
- React__default.createElement(
153
- 'div',
154
- { style: { color: variant }, className: 'tile__info' },
155
- video.title
156
- )
157
- )
158
- );
159
- } else {
160
- // slider by itself
161
- var _url = '' + video.link;
162
- var _thumbnail = 'https://img.youtube.com/vi/' + getYoutubeId(video.url) + '/hqdefault.jpg';
163
- return React__default.createElement(
164
- 'div',
165
- { key: index, className: 'tile' },
166
- React__default.createElement(
167
- 'a',
168
- { href: _url },
169
- React__default.createElement(
170
- 'div',
171
- { className: 'tile__media' },
172
- React__default.createElement(
173
- LazyLoad,
174
- null,
175
- React__default.createElement('img', { className: 'tile__img', src: _thumbnail, alt: '' })
176
- )
177
- ),
178
- React__default.createElement(
179
- 'div',
180
- { className: 'tile__details' },
181
- React__default.createElement(
182
- 'div',
183
- { className: 'tile__title' },
184
- React__default.createElement(
185
- 'div',
186
- { style: { color: variant }, className: 'tile__title_text' },
187
- video.title
188
- )
189
- )
190
- ),
191
- React__default.createElement(
192
- 'div',
193
- { style: { color: variant }, className: 'tile__info' },
194
- props.displayEpisodeNumber ? React__default.createElement(
195
- 'span',
196
- null,
197
- React__default.createElement(
198
- 'span',
199
- { style: { fontWeight: 'bold' } },
200
- 'Ep. ',
201
- index + 1,
202
- ':'
203
- ),
204
- ' ',
205
- video.title
206
- ) : video.title
207
- )
208
- )
209
- );
210
- }
211
- })
212
- )
213
- ),
214
- React__default.createElement(
215
- 'style',
216
- { jsx: 'true' },
217
- '\n #vid-slider * {\n box-sizing: border-box;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n }\n #vid-slider .now-playing {\n position: absolute;\n top: 0.5rem;\n left: 1rem;\n color: white;\n background: rgba(0, 0, 0, 0.75);\n }\n #vid-slider h1,\n #vid-slider p {\n text-align: center;\n width: 100%;\n max-width: 500px;\n margin: auto;\n }\n #vid-slider a:link,\n #vid-slider a:hover,\n #vid-slider a:active,\n #vid-slider a:visited {\n transition: color 150ms;\n color: #95a5a6;\n text-decoration: none;\n }\n #vid-slider a:hover {\n color: #7f8c8d;\n text-decoration: underline;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow: scroll;\n width: 100%;\n -ms-overflow-style: none;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 1rem;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 55px 0;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n width: 250px;\n height: 140.625px;\n margin-right: 10px;\n font-size: 20px;\n cursor: pointer;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n #vid-slider .tile__img {\n width: 250px;\n height: 140.625px;\n -o-object-fit: cover;\n object-fit: cover;\n }\n #vid-slider .tile__details {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n font-size: 10px;\n opacity: 0;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n transition: 450ms opacity;\n }\n #vid-slider .tile__details:after,\n #vid-slider .tile__details:before {\n content: \'\';\n\n position: absolute;\n top: 50%;\n left: 50%;\n display: #000;\n }\n #vid-slider .tile__details:after {\n margin-top: -25px;\n margin-left: -25px;\n width: 50px;\n height: 50px;\n border: 3px solid #ecf0f1;\n line-height: 50px;\n text-align: center;\n border-radius: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1;\n }\n #vid-slider .tile__details:before {\n content: \'\';\n background: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 64 64\' width=\'64\' height=\'64\' fill=\'white\'><path d=\'M26 46 L46 32 L26 18 Z\'/></svg>") no-repeat center center;\n left: 0;\n width: 100%;\n height: 3rem;\n font-size: 30px;\n margin-right: 12px;\n margin-top: -23px;\n text-align: center;\n z-index: 2;\n color: white;\n }\n #vid-slider .tile:hover .tile__details {\n opacity: 1;\n }\n #vid-slider .tile__title {\n position: absolute;\n bottom: 0;\n padding: 10px;\n max-width: 250px;\n }\n #vid-slider .tile__title_text {\n position: relative;\n left: 0;\n white-space: normal;\n }\n #vid-slider .row__inner:hover {\n -webkit-transform: translate3d(-62.5px, 0, 0);\n transform: translate3d(-62.5px, 0, 0);\n }\n #vid-slider .row__inner:hover .tile {\n opacity: 0.3;\n }\n #vid-slider .row__inner:hover .tile:hover {\n -webkit-transform: scale(1.25);\n transform: scale(1.25);\n opacity: 1;\n }\n #vid-slider .tile:hover ~ .tile {\n -webkit-transform: translate3d(62px, 0, 0);\n transform: translate3d(62px, 0, 0);\n }\n #vid-slider .tile:hover .tile__info {\n opacity: 0;\n }\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -3px;\n }\n #vid-slider .tile__slider-next {\n right: 0;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding: 0 1.2rem;\n }\n #vid-slider .tile:last-child {\n margin-right: 2rem;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n '
218
- )
219
- );
220
- };
221
-
222
- export { YoutubeGroup as Y, getYoutubeId as g };