funuicss 2.6.1 → 2.6.3
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/css/fun.css +287 -71
- package/hooks/useHls.d.ts +8 -0
- package/hooks/useHls.js +105 -0
- package/hooks/useHls.tsx +69 -0
- package/index.d.ts +1 -0
- package/index.js +3 -1
- package/index.tsx +2 -1
- package/package.json +5 -2
- package/tsconfig.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/ui/alert/Alert.js +2 -2
- package/ui/alert/Alert.tsx +2 -2
- package/ui/drop/Dropdown.d.ts +6 -0
- package/ui/drop/Dropdown.js +10 -2
- package/ui/drop/Dropdown.tsx +23 -2
- package/ui/specials/Circle.js +2 -2
- package/ui/specials/Circle.tsx +2 -2
- package/ui/theme/darkenUtils.d.ts +2 -0
- package/ui/theme/darkenUtils.js +27 -0
- package/ui/theme/darkenUtils.ts +15 -0
- package/ui/theme/theme.d.ts +1 -1
- package/ui/theme/theme.js +15 -13
- package/ui/theme/theme.tsx +17 -17
- package/ui/theme/themes.d.ts +106 -0
- package/ui/theme/themes.js +63 -0
- package/ui/theme/themes.ts +79 -0
- package/ui/video/Video.d.ts +11 -0
- package/ui/video/Video.js +258 -0
- package/ui/video/Video.tsx +287 -0
- package/ui/video/videoFunctions.d.ts +3 -0
- package/ui/video/videoFunctions.js +19 -0
- package/ui/video/videoFunctions.tsx +19 -0
- package/ui/video/videoShortcuts.d.ts +1 -0
- package/ui/video/videoShortcuts.js +11 -0
- package/ui/video/videoShortcuts.ts +12 -0
- package/ui/video/FunPlayer.d.ts +0 -0
- package/ui/video/FunPlayer.js +0 -203
- package/ui/video/FunPlayer.tsx +0 -221
package/ui/alert/Alert.js
CHANGED
|
@@ -78,11 +78,11 @@ function Alert(_a) {
|
|
|
78
78
|
react_1.default.createElement("div", __assign({ style: __assign({ animation: "".concat(duration || '0.3', "s ").concat(animation || 'ScaleUp') }, style), className: "text-".concat(type, "800 alert ").concat(card ? 'card' : '', " ").concat(flat ? 'flat' : '', " ").concat(raised ? 'raised' : '', " ").concat(outlined
|
|
79
79
|
? "outline-".concat(type, "500")
|
|
80
80
|
: "".concat(variant || (standard ? "top-".concat(type) : "".concat(type, "200") + " outline-".concat(type, "300 "))), " ").concat(funcss || '', " ").concat(fullWidth ? 'width-100-p' : '') }, rest),
|
|
81
|
-
react_1.default.createElement("div", { className: "alert-icon" }, !isLoading ? (react_1.default.createElement("div", { className: "text-".concat(type), style: { lineHeight: "0" } },
|
|
81
|
+
react_1.default.createElement("div", { className: "alert-icon" }, !isLoading ? (react_1.default.createElement("div", { className: "text-".concat(type, "900"), style: { lineHeight: "0" } },
|
|
82
82
|
type === 'success' && react_1.default.createElement(pi_1.PiCheckCircleDuotone, null),
|
|
83
83
|
type === 'info' && react_1.default.createElement(pi_1.PiInfo, null),
|
|
84
84
|
type === 'warning' && react_1.default.createElement(pi_1.PiWarning, null),
|
|
85
|
-
type === 'error' && react_1.default.createElement(pi_1.PiX, null))) : (react_1.default.createElement("span", { className: "rotate" },
|
|
85
|
+
type === 'error' && react_1.default.createElement(pi_1.PiX, null))) : (react_1.default.createElement("span", { className: "rotate", style: { lineHeight: "0" } },
|
|
86
86
|
react_1.default.createElement(pi_1.PiSpinner, null)))),
|
|
87
87
|
react_1.default.createElement("div", { className: "alert-text" }, message || children))));
|
|
88
88
|
}
|
package/ui/alert/Alert.tsx
CHANGED
|
@@ -87,14 +87,14 @@ export default function Alert({
|
|
|
87
87
|
>
|
|
88
88
|
<div className="alert-icon">
|
|
89
89
|
{!isLoading ? (
|
|
90
|
-
<div className={`text-${type}`} style={{lineHeight:"0"}}>
|
|
90
|
+
<div className={`text-${type}900`} style={{lineHeight:"0"}}>
|
|
91
91
|
{type === 'success' && <PiCheckCircleDuotone />}
|
|
92
92
|
{type === 'info' && <PiInfo />}
|
|
93
93
|
{type === 'warning' && <PiWarning />}
|
|
94
94
|
{type === 'error' && <PiX />}
|
|
95
95
|
</div>
|
|
96
96
|
) : (
|
|
97
|
-
<span className="rotate">
|
|
97
|
+
<span className="rotate" style={{lineHeight:"0"}}>
|
|
98
98
|
<PiSpinner />
|
|
99
99
|
</span>
|
|
100
100
|
)}
|
package/ui/drop/Dropdown.d.ts
CHANGED
|
@@ -13,6 +13,12 @@ interface DropdownProps {
|
|
|
13
13
|
hoverable?: boolean;
|
|
14
14
|
openOnHover?: boolean;
|
|
15
15
|
className?: string;
|
|
16
|
+
width?: string;
|
|
17
|
+
minWidth?: string;
|
|
18
|
+
maxWidth?: string;
|
|
19
|
+
height?: string;
|
|
20
|
+
minHeight?: string;
|
|
21
|
+
maxHeight?: string;
|
|
16
22
|
}
|
|
17
23
|
declare const Dropdown: React.FC<DropdownProps>;
|
|
18
24
|
export default Dropdown;
|
package/ui/drop/Dropdown.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
var react_1 = __importStar(require("react"));
|
|
38
38
|
var Dropdown = function (_a) {
|
|
39
|
-
var _b = _a.direction, direction = _b === void 0 ? 'dropdown' : _b, _c = _a.position, position = _c === void 0 ? 'left' : _c, button = _a.button, items = _a.items, _d = _a.hoverable, hoverable = _d === void 0 ? true : _d, _e = _a.openOnHover, openOnHover = _e === void 0 ? true : _e, _f = _a.className, className = _f === void 0 ? '' : _f;
|
|
39
|
+
var _b = _a.direction, direction = _b === void 0 ? 'dropdown' : _b, _c = _a.position, position = _c === void 0 ? 'left' : _c, button = _a.button, items = _a.items, _d = _a.hoverable, hoverable = _d === void 0 ? true : _d, _e = _a.openOnHover, openOnHover = _e === void 0 ? true : _e, _f = _a.className, className = _f === void 0 ? '' : _f, width = _a.width, minWidth = _a.minWidth, maxWidth = _a.maxWidth, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight;
|
|
40
40
|
var containerRef = (0, react_1.useRef)(null);
|
|
41
41
|
var _g = (0, react_1.useState)(false), open = _g[0], setOpen = _g[1];
|
|
42
42
|
var containerClass = "".concat(direction, " ").concat(position, " ").concat(className).trim();
|
|
@@ -55,7 +55,15 @@ var Dropdown = function (_a) {
|
|
|
55
55
|
var showMenu = openOnHover || open;
|
|
56
56
|
return (react_1.default.createElement("div", { ref: containerRef, className: containerClass, onMouseEnter: function () { return openOnHover && setOpen(true); }, onMouseLeave: function () { return openOnHover && setOpen(false); } },
|
|
57
57
|
react_1.default.createElement("div", { className: "drop-button", onClick: function () { return !openOnHover && setOpen(!open); }, style: { cursor: !openOnHover ? 'pointer' : undefined } }, button),
|
|
58
|
-
react_1.default.createElement("div", { className: menuClass, style: {
|
|
58
|
+
react_1.default.createElement("div", { className: menuClass, style: {
|
|
59
|
+
display: showMenu ? 'block' : 'none',
|
|
60
|
+
width: width,
|
|
61
|
+
minWidth: minWidth,
|
|
62
|
+
maxWidth: maxWidth,
|
|
63
|
+
height: height,
|
|
64
|
+
minHeight: minHeight,
|
|
65
|
+
maxHeight: maxHeight,
|
|
66
|
+
} }, items.map(function (item, index) { return (react_1.default.createElement("div", { key: index, className: "drop-item hoverable", onClick: function () {
|
|
59
67
|
var _a;
|
|
60
68
|
(_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item);
|
|
61
69
|
if (!openOnHover)
|
package/ui/drop/Dropdown.tsx
CHANGED
|
@@ -17,6 +17,12 @@ interface DropdownProps {
|
|
|
17
17
|
hoverable?: boolean;
|
|
18
18
|
openOnHover?: boolean;
|
|
19
19
|
className?: string;
|
|
20
|
+
width?: string;
|
|
21
|
+
minWidth?: string;
|
|
22
|
+
maxWidth?: string;
|
|
23
|
+
height?: string;
|
|
24
|
+
minHeight?: string;
|
|
25
|
+
maxHeight?: string;
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
const Dropdown: React.FC<DropdownProps> = ({
|
|
@@ -27,6 +33,12 @@ const Dropdown: React.FC<DropdownProps> = ({
|
|
|
27
33
|
hoverable = true,
|
|
28
34
|
openOnHover = true,
|
|
29
35
|
className = '',
|
|
36
|
+
width,
|
|
37
|
+
minWidth,
|
|
38
|
+
maxWidth,
|
|
39
|
+
height,
|
|
40
|
+
minHeight,
|
|
41
|
+
maxHeight,
|
|
30
42
|
}) => {
|
|
31
43
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
32
44
|
const [open, setOpen] = useState(false);
|
|
@@ -66,12 +78,20 @@ const Dropdown: React.FC<DropdownProps> = ({
|
|
|
66
78
|
|
|
67
79
|
<div
|
|
68
80
|
className={menuClass}
|
|
69
|
-
style={{
|
|
81
|
+
style={{
|
|
82
|
+
display: showMenu ? 'block' : 'none',
|
|
83
|
+
width,
|
|
84
|
+
minWidth,
|
|
85
|
+
maxWidth,
|
|
86
|
+
height,
|
|
87
|
+
minHeight,
|
|
88
|
+
maxHeight,
|
|
89
|
+
}}
|
|
70
90
|
>
|
|
71
91
|
{items.map((item, index) => (
|
|
72
92
|
<div
|
|
73
93
|
key={index}
|
|
74
|
-
className="drop-item"
|
|
94
|
+
className="drop-item hoverable"
|
|
75
95
|
onClick={() => {
|
|
76
96
|
item.onClick?.();
|
|
77
97
|
if (!openOnHover) setOpen(false);
|
|
@@ -86,3 +106,4 @@ const Dropdown: React.FC<DropdownProps> = ({
|
|
|
86
106
|
};
|
|
87
107
|
|
|
88
108
|
export default Dropdown;
|
|
109
|
+
|
package/ui/specials/Circle.js
CHANGED
|
@@ -59,8 +59,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
59
59
|
exports.default = Circle;
|
|
60
60
|
var React = __importStar(require("react"));
|
|
61
61
|
function Circle(_a) {
|
|
62
|
-
var _b = _a.size, size = _b === void 0 ? 2 : _b, funcss = _a.funcss,
|
|
63
|
-
return (React.createElement("div", __assign({ className: " ".concat(bordered ? "border" : "", "pointer avatar ").concat(funcss || '', " ").concat("text-" + (color === null || color === void 0 ? void 0 : color.trim()) || '', " ").concat(raised ? "raised" : '', " ").concat(bg || '
|
|
62
|
+
var _b = _a.size, size = _b === void 0 ? 2 : _b, funcss = _a.funcss, bg = _a.bg, color = _a.color, children = _a.children, hoverable = _a.hoverable, raised = _a.raised, key = _a.key, onClick = _a.onClick, bordered = _a.bordered, rest = __rest(_a, ["size", "funcss", "bg", "color", "children", "hoverable", "raised", "key", "onClick", "bordered"]);
|
|
63
|
+
return (React.createElement("div", __assign({ className: " animated fade-in ".concat(bordered ? "border" : "", " pointer avatar ").concat(funcss || '', " ").concat("text-" + (color === null || color === void 0 ? void 0 : color.trim()) || '', " ").concat(raised ? "raised" : '', " ").concat(bg || '', " ").concat(hoverable ? 'hoverable' : ''), style: {
|
|
64
64
|
width: "".concat(size + "rem" || '2.3rem'),
|
|
65
65
|
height: "".concat(size + "rem" || '2.3rem'),
|
|
66
66
|
}, key: key, onClick: onClick }, rest),
|
package/ui/specials/Circle.tsx
CHANGED
|
@@ -20,7 +20,7 @@ interface Circle_Props extends HTMLProps<HTMLDivElement> {
|
|
|
20
20
|
export default function Circle({
|
|
21
21
|
size = 2,
|
|
22
22
|
funcss,
|
|
23
|
-
bg
|
|
23
|
+
bg,
|
|
24
24
|
color,
|
|
25
25
|
children,
|
|
26
26
|
hoverable,
|
|
@@ -32,7 +32,7 @@ export default function Circle({
|
|
|
32
32
|
}: Circle_Props) {
|
|
33
33
|
return (
|
|
34
34
|
<div
|
|
35
|
-
className={` ${bordered ? "border" : ""}pointer avatar ${funcss || ''} ${`text-` + color?.trim() || ''} ${raised ? "raised" : ''} ${bg || '
|
|
35
|
+
className={` animated fade-in ${bordered ? "border" : ""} pointer avatar ${funcss || ''} ${`text-` + color?.trim() || ''} ${raised ? "raised" : ''} ${bg || ''} ${
|
|
36
36
|
hoverable ? 'hoverable' : ''
|
|
37
37
|
}`}
|
|
38
38
|
style={{
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.darkenToRgba = exports.getDarkenAmount = void 0;
|
|
7
|
+
var tinycolor2_1 = __importDefault(require("tinycolor2"));
|
|
8
|
+
var getDarkenAmount = function (variable) {
|
|
9
|
+
if (variable.includes('50'))
|
|
10
|
+
return 5;
|
|
11
|
+
if (variable.includes('100'))
|
|
12
|
+
return 10;
|
|
13
|
+
if (variable.includes('200'))
|
|
14
|
+
return 15;
|
|
15
|
+
if (variable.includes('300'))
|
|
16
|
+
return 20;
|
|
17
|
+
if (variable.includes('400'))
|
|
18
|
+
return 25;
|
|
19
|
+
return 20;
|
|
20
|
+
};
|
|
21
|
+
exports.getDarkenAmount = getDarkenAmount;
|
|
22
|
+
var darkenToRgba = function (hex, darkenAmount, alpha) {
|
|
23
|
+
if (alpha === void 0) { alpha = 1; }
|
|
24
|
+
var color = (0, tinycolor2_1.default)(hex).darken(darkenAmount).toRgb();
|
|
25
|
+
return "rgba(".concat(color.r, ", ").concat(color.g, ", ").concat(color.b, ", ").concat(alpha, ")");
|
|
26
|
+
};
|
|
27
|
+
exports.darkenToRgba = darkenToRgba;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import tinycolor from 'tinycolor2';
|
|
2
|
+
|
|
3
|
+
export const getDarkenAmount = (variable: string): number => {
|
|
4
|
+
if (variable.includes('50')) return 5;
|
|
5
|
+
if (variable.includes('100')) return 10;
|
|
6
|
+
if (variable.includes('200')) return 15;
|
|
7
|
+
if (variable.includes('300')) return 20;
|
|
8
|
+
if (variable.includes('400')) return 25;
|
|
9
|
+
return 20;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const darkenToRgba = (hex: string, darkenAmount: number, alpha = 1): string => {
|
|
13
|
+
const color = tinycolor(hex).darken(darkenAmount).toRgb();
|
|
14
|
+
return `rgba(${color.r}, ${color.g}, ${color.b}, ${alpha})`;
|
|
15
|
+
};
|
package/ui/theme/theme.d.ts
CHANGED
package/ui/theme/theme.js
CHANGED
|
@@ -35,27 +35,29 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
})();
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
var react_1 = __importStar(require("react"));
|
|
38
|
+
var themes_1 = require("./themes");
|
|
39
|
+
var darkenUtils_1 = require("./darkenUtils");
|
|
38
40
|
var ThemeProvider = function (_a) {
|
|
39
41
|
var theme = _a.theme, children = _a.children;
|
|
40
42
|
(0, react_1.useEffect)(function () {
|
|
41
43
|
var root = document.documentElement;
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
'--text-color': '#000000',
|
|
45
|
-
};
|
|
46
|
-
var darkTheme = {
|
|
47
|
-
'--page-bg': '#121212',
|
|
48
|
-
'--text-color': '#FFFFFF',
|
|
49
|
-
'--raiseThemes': 'rgba(32, 32, 32, 0.8)',
|
|
50
|
-
'--raiseOpaque': 'rgba(32, 32, 32, 0.94)',
|
|
51
|
-
'--borderColor': '#333333',
|
|
52
|
-
'--lighter': '#101010',
|
|
53
|
-
};
|
|
54
|
-
var selectedTheme = theme === 'dark' ? darkTheme : lightTheme;
|
|
44
|
+
var selectedTheme = themes_1.themes[theme] || themes_1.themes.light;
|
|
45
|
+
// Apply selected theme variables
|
|
55
46
|
Object.entries(selectedTheme).forEach(function (_a) {
|
|
56
47
|
var key = _a[0], value = _a[1];
|
|
57
48
|
root.style.setProperty(key, value);
|
|
58
49
|
});
|
|
50
|
+
// Apply darkened RGBA versions (for dark themes only)
|
|
51
|
+
if (theme === 'dark' || theme === 'dark-blue') {
|
|
52
|
+
themes_1.colorVarsToDarken.forEach(function (varName) {
|
|
53
|
+
var original = getComputedStyle(root).getPropertyValue(varName).trim();
|
|
54
|
+
if (original) {
|
|
55
|
+
var darkAmount = (0, darkenUtils_1.getDarkenAmount)(varName);
|
|
56
|
+
var rgba = (0, darkenUtils_1.darkenToRgba)(original, darkAmount, 0.9);
|
|
57
|
+
root.style.setProperty(varName, rgba);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
59
61
|
}, [theme]);
|
|
60
62
|
return (react_1.default.createElement("div", { className: "theme-".concat(theme), style: {
|
|
61
63
|
backgroundColor: 'var(--page-bg)',
|
package/ui/theme/theme.tsx
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import React, { useEffect } from 'react';
|
|
3
|
+
import { colorVarsToDarken, themes } from './themes';
|
|
4
|
+
import { getDarkenAmount, darkenToRgba } from './darkenUtils';
|
|
3
5
|
|
|
4
6
|
interface ThemeProviderProps {
|
|
5
|
-
theme: 'light' | 'dark';
|
|
7
|
+
theme: 'light' | 'dark' | 'dark-blue' | 'light-gray';
|
|
6
8
|
children: React.ReactNode;
|
|
7
9
|
}
|
|
8
10
|
|
|
9
11
|
const ThemeProvider: React.FC<ThemeProviderProps> = ({ theme, children }) => {
|
|
10
12
|
useEffect(() => {
|
|
11
13
|
const root = document.documentElement;
|
|
14
|
+
const selectedTheme = themes[theme] || themes.light;
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
'--page-bg': '#FFFFFF',
|
|
15
|
-
'--text-color': '#000000',
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const darkTheme = {
|
|
19
|
-
'--page-bg': '#121212',
|
|
20
|
-
'--text-color': '#FFFFFF',
|
|
21
|
-
'--raiseThemes': 'rgba(32, 32, 32, 0.8)',
|
|
22
|
-
'--raiseOpaque': 'rgba(32, 32, 32, 0.94)',
|
|
23
|
-
'--borderColor': '#333333',
|
|
24
|
-
'--lighter': '#101010',
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const selectedTheme = theme === 'dark' ? darkTheme : lightTheme;
|
|
28
|
-
|
|
16
|
+
// Apply selected theme variables
|
|
29
17
|
Object.entries(selectedTheme).forEach(([key, value]) => {
|
|
30
18
|
root.style.setProperty(key, value);
|
|
31
19
|
});
|
|
20
|
+
|
|
21
|
+
// Apply darkened RGBA versions (for dark themes only)
|
|
22
|
+
if (theme === 'dark' || theme === 'dark-blue') {
|
|
23
|
+
colorVarsToDarken.forEach((varName) => {
|
|
24
|
+
const original = getComputedStyle(root).getPropertyValue(varName).trim();
|
|
25
|
+
if (original) {
|
|
26
|
+
const darkAmount = getDarkenAmount(varName);
|
|
27
|
+
const rgba = darkenToRgba(original, darkAmount, 0.9);
|
|
28
|
+
root.style.setProperty(varName, rgba);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
32
|
}, [theme]);
|
|
33
33
|
|
|
34
34
|
return (
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export declare const colorVarsToDarken: string[];
|
|
2
|
+
export declare const darkerDefaults: {
|
|
3
|
+
'--success50': string;
|
|
4
|
+
'--success100': string;
|
|
5
|
+
'--success200': string;
|
|
6
|
+
'--success300': string;
|
|
7
|
+
'--success400': string;
|
|
8
|
+
'--warning50': string;
|
|
9
|
+
'--warning100': string;
|
|
10
|
+
'--warning200': string;
|
|
11
|
+
'--warning300': string;
|
|
12
|
+
'--warning400': string;
|
|
13
|
+
'--info50': string;
|
|
14
|
+
'--info100': string;
|
|
15
|
+
'--info200': string;
|
|
16
|
+
'--info300': string;
|
|
17
|
+
'--info400': string;
|
|
18
|
+
'--error50': string;
|
|
19
|
+
'--error100': string;
|
|
20
|
+
'--error200': string;
|
|
21
|
+
'--error300': string;
|
|
22
|
+
'--error400': string;
|
|
23
|
+
};
|
|
24
|
+
export declare const themes: {
|
|
25
|
+
light: {
|
|
26
|
+
'--page-bg': string;
|
|
27
|
+
'--text-color': string;
|
|
28
|
+
};
|
|
29
|
+
dark: {
|
|
30
|
+
'--success50': string;
|
|
31
|
+
'--success100': string;
|
|
32
|
+
'--success200': string;
|
|
33
|
+
'--success300': string;
|
|
34
|
+
'--success400': string;
|
|
35
|
+
'--warning50': string;
|
|
36
|
+
'--warning100': string;
|
|
37
|
+
'--warning200': string;
|
|
38
|
+
'--warning300': string;
|
|
39
|
+
'--warning400': string;
|
|
40
|
+
'--info50': string;
|
|
41
|
+
'--info100': string;
|
|
42
|
+
'--info200': string;
|
|
43
|
+
'--info300': string;
|
|
44
|
+
'--info400': string;
|
|
45
|
+
'--error50': string;
|
|
46
|
+
'--error100': string;
|
|
47
|
+
'--error200': string;
|
|
48
|
+
'--error300': string;
|
|
49
|
+
'--error400': string;
|
|
50
|
+
'--page-bg': string;
|
|
51
|
+
'--text-color': string;
|
|
52
|
+
'--raiseThemes': string;
|
|
53
|
+
'--raiseOpaque': string;
|
|
54
|
+
'--borderColor': string;
|
|
55
|
+
'--lighter': string;
|
|
56
|
+
'--linkColor': string;
|
|
57
|
+
'--cardBg': string;
|
|
58
|
+
'--card': string;
|
|
59
|
+
};
|
|
60
|
+
'dark-blue': {
|
|
61
|
+
'--success50': string;
|
|
62
|
+
'--success100': string;
|
|
63
|
+
'--success200': string;
|
|
64
|
+
'--success300': string;
|
|
65
|
+
'--success400': string;
|
|
66
|
+
'--warning50': string;
|
|
67
|
+
'--warning100': string;
|
|
68
|
+
'--warning200': string;
|
|
69
|
+
'--warning300': string;
|
|
70
|
+
'--warning400': string;
|
|
71
|
+
'--info50': string;
|
|
72
|
+
'--info100': string;
|
|
73
|
+
'--info200': string;
|
|
74
|
+
'--info300': string;
|
|
75
|
+
'--info400': string;
|
|
76
|
+
'--error50': string;
|
|
77
|
+
'--error100': string;
|
|
78
|
+
'--error200': string;
|
|
79
|
+
'--error300': string;
|
|
80
|
+
'--error400': string;
|
|
81
|
+
'--page-bg': string;
|
|
82
|
+
'--text-color': string;
|
|
83
|
+
'--text-muted': string;
|
|
84
|
+
'--raiseThemes': string;
|
|
85
|
+
'--raiseOpaque': string;
|
|
86
|
+
'--borderColor': string;
|
|
87
|
+
'--lighter': string;
|
|
88
|
+
'--linkColor': string;
|
|
89
|
+
'--accent': string;
|
|
90
|
+
'--cardBg': string;
|
|
91
|
+
'--card': string;
|
|
92
|
+
};
|
|
93
|
+
'light-gray': {
|
|
94
|
+
'--page-bg': string;
|
|
95
|
+
'--text-color': string;
|
|
96
|
+
'--text-muted': string;
|
|
97
|
+
'--raiseThemes': string;
|
|
98
|
+
'--raiseOpaque': string;
|
|
99
|
+
'--borderColor': string;
|
|
100
|
+
'--lighter': string;
|
|
101
|
+
'--linkColor': string;
|
|
102
|
+
'--accent': string;
|
|
103
|
+
'--cardBg': string;
|
|
104
|
+
'--card': string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// components/ThemeProvider/themes.ts
|
|
3
|
+
var __assign = (this && this.__assign) || function () {
|
|
4
|
+
__assign = Object.assign || function(t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
+
t[p] = s[p];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
return __assign.apply(this, arguments);
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.themes = exports.darkerDefaults = exports.colorVarsToDarken = void 0;
|
|
16
|
+
exports.colorVarsToDarken = [
|
|
17
|
+
'--primary50', '--primary100', '--primary200', '--primary300', '--primary400',
|
|
18
|
+
'--secondary50', '--secondary100', '--secondary200', '--secondary300', '--secondary400',
|
|
19
|
+
'--accent50', '--accent100', '--accent200', '--accent300', '--accent400',
|
|
20
|
+
];
|
|
21
|
+
exports.darkerDefaults = {
|
|
22
|
+
'--success50': '#c1dbc7',
|
|
23
|
+
'--success100': '#b0d1b3',
|
|
24
|
+
'--success200': '#92bb97',
|
|
25
|
+
'--success300': '#6aa375',
|
|
26
|
+
'--success400': '#3f864e',
|
|
27
|
+
'--warning50': '#e6dcd4',
|
|
28
|
+
'--warning100': '#e6d1bb',
|
|
29
|
+
'--warning200': '#e2b783',
|
|
30
|
+
'--warning300': '#e09b59',
|
|
31
|
+
'--warning400': '#d57627',
|
|
32
|
+
'--info50': '#c1d3e6',
|
|
33
|
+
'--info100': '#b3c8e0',
|
|
34
|
+
'--info200': '#91b3d4',
|
|
35
|
+
'--info300': '#5a9bcb',
|
|
36
|
+
'--info400': '#2f85c3',
|
|
37
|
+
'--error50': '#e6cfcf',
|
|
38
|
+
'--error100': '#e6bebe',
|
|
39
|
+
'--error200': '#e29e9e',
|
|
40
|
+
'--error300': '#da7373',
|
|
41
|
+
'--error400': '#cc4646',
|
|
42
|
+
};
|
|
43
|
+
exports.themes = {
|
|
44
|
+
light: {
|
|
45
|
+
'--page-bg': '#FFFFFF',
|
|
46
|
+
'--text-color': '#000000',
|
|
47
|
+
},
|
|
48
|
+
dark: __assign({ '--page-bg': '#1E1E1E', '--text-color': '#FFFFFF', '--raiseThemes': 'rgba(32, 32, 32, 0.5)', '--raiseOpaque': 'rgba(32, 32, 32, 0.8)', '--borderColor': '#4a4a4a', '--lighter': '#2a2a2a', '--linkColor': '#9ab', '--cardBg': '#1e1e1e', '--card': "4px 4px 6px #141414, -4px -4px 6px #272727" }, exports.darkerDefaults),
|
|
49
|
+
'dark-blue': __assign({ '--page-bg': '#0d1b2a', '--text-color': '#f0f4f8', '--text-muted': '#a9bcd0', '--raiseThemes': 'rgba(13, 27, 42, 0.5)', '--raiseOpaque': 'rgba(13, 27, 42, 0.8)', '--borderColor': '#1e3249', '--lighter': '#1b2c3f', '--linkColor': '#56ccf2', '--accent': '#66d9ef', '--cardBg': '#0d1b2a', '--card': "4px 4px 6px #08121d, -4px -4px 6px #15273b" }, exports.darkerDefaults),
|
|
50
|
+
'light-gray': {
|
|
51
|
+
'--page-bg': '#e8e8e8',
|
|
52
|
+
'--text-color': '#2a2a2a',
|
|
53
|
+
'--text-muted': '#777777',
|
|
54
|
+
'--raiseThemes': 'rgba(255, 255, 255, 0.6)',
|
|
55
|
+
'--raiseOpaque': 'rgba(255, 255, 255, 0.94)',
|
|
56
|
+
'--borderColor': '#d0d0d0',
|
|
57
|
+
'--lighter': '#f4f4f4',
|
|
58
|
+
'--linkColor': '#202020',
|
|
59
|
+
'--accent': '#4a90e2',
|
|
60
|
+
'--cardBg': '#e8e8e8',
|
|
61
|
+
'--card': "8px 8px 16px #c5c5c5, -8px -8px 16px #ffffff",
|
|
62
|
+
}
|
|
63
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// components/ThemeProvider/themes.ts
|
|
2
|
+
|
|
3
|
+
export const colorVarsToDarken = [
|
|
4
|
+
'--primary50', '--primary100', '--primary200', '--primary300', '--primary400',
|
|
5
|
+
'--secondary50', '--secondary100', '--secondary200', '--secondary300', '--secondary400',
|
|
6
|
+
'--accent50', '--accent100', '--accent200', '--accent300', '--accent400',
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
export const darkerDefaults = {
|
|
10
|
+
'--success50': '#c1dbc7',
|
|
11
|
+
'--success100': '#b0d1b3',
|
|
12
|
+
'--success200': '#92bb97',
|
|
13
|
+
'--success300': '#6aa375',
|
|
14
|
+
'--success400': '#3f864e',
|
|
15
|
+
|
|
16
|
+
'--warning50': '#e6dcd4',
|
|
17
|
+
'--warning100': '#e6d1bb',
|
|
18
|
+
'--warning200': '#e2b783',
|
|
19
|
+
'--warning300': '#e09b59',
|
|
20
|
+
'--warning400': '#d57627',
|
|
21
|
+
|
|
22
|
+
'--info50': '#c1d3e6',
|
|
23
|
+
'--info100': '#b3c8e0',
|
|
24
|
+
'--info200': '#91b3d4',
|
|
25
|
+
'--info300': '#5a9bcb',
|
|
26
|
+
'--info400': '#2f85c3',
|
|
27
|
+
|
|
28
|
+
'--error50': '#e6cfcf',
|
|
29
|
+
'--error100': '#e6bebe',
|
|
30
|
+
'--error200': '#e29e9e',
|
|
31
|
+
'--error300': '#da7373',
|
|
32
|
+
'--error400': '#cc4646',
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const themes = {
|
|
36
|
+
light: {
|
|
37
|
+
'--page-bg': '#FFFFFF',
|
|
38
|
+
'--text-color': '#000000',
|
|
39
|
+
},
|
|
40
|
+
dark: {
|
|
41
|
+
'--page-bg': '#1E1E1E',
|
|
42
|
+
'--text-color': '#FFFFFF',
|
|
43
|
+
'--raiseThemes': 'rgba(32, 32, 32, 0.5)',
|
|
44
|
+
'--raiseOpaque': 'rgba(32, 32, 32, 0.8)',
|
|
45
|
+
'--borderColor': '#4a4a4a',
|
|
46
|
+
'--lighter': '#2a2a2a',
|
|
47
|
+
'--linkColor': '#9ab',
|
|
48
|
+
'--cardBg': '#1e1e1e',
|
|
49
|
+
'--card': `4px 4px 6px #141414, -4px -4px 6px #272727`,
|
|
50
|
+
...darkerDefaults,
|
|
51
|
+
},
|
|
52
|
+
'dark-blue': {
|
|
53
|
+
'--page-bg': '#0d1b2a',
|
|
54
|
+
'--text-color': '#f0f4f8',
|
|
55
|
+
'--text-muted': '#a9bcd0',
|
|
56
|
+
'--raiseThemes': 'rgba(13, 27, 42, 0.5)',
|
|
57
|
+
'--raiseOpaque': 'rgba(13, 27, 42, 0.8)',
|
|
58
|
+
'--borderColor': '#1e3249',
|
|
59
|
+
'--lighter': '#1b2c3f',
|
|
60
|
+
'--linkColor': '#56ccf2',
|
|
61
|
+
'--accent': '#66d9ef',
|
|
62
|
+
'--cardBg': '#0d1b2a',
|
|
63
|
+
'--card': `4px 4px 6px #08121d, -4px -4px 6px #15273b`,
|
|
64
|
+
...darkerDefaults,
|
|
65
|
+
},
|
|
66
|
+
'light-gray': {
|
|
67
|
+
'--page-bg': '#e8e8e8',
|
|
68
|
+
'--text-color': '#2a2a2a',
|
|
69
|
+
'--text-muted': '#777777',
|
|
70
|
+
'--raiseThemes': 'rgba(255, 255, 255, 0.6)',
|
|
71
|
+
'--raiseOpaque': 'rgba(255, 255, 255, 0.94)',
|
|
72
|
+
'--borderColor': '#d0d0d0',
|
|
73
|
+
'--lighter': '#f4f4f4',
|
|
74
|
+
'--linkColor': '#202020',
|
|
75
|
+
'--accent': '#4a90e2',
|
|
76
|
+
'--cardBg': '#e8e8e8',
|
|
77
|
+
'--card': `8px 8px 16px #c5c5c5, -8px -8px 16px #ffffff`,
|
|
78
|
+
}
|
|
79
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface VideoProps {
|
|
3
|
+
src: string;
|
|
4
|
+
poster?: string;
|
|
5
|
+
onDuration?: (duration: number) => void;
|
|
6
|
+
isPause?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
autoPlay?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export default function Video({ src, poster, onDuration, isPause, className, autoPlay, ...rest }: VideoProps): React.JSX.Element;
|
|
11
|
+
export {};
|