softbuilders-react-video-player 1.1.16 → 1.1.18
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/LICENSE +21 -21
- package/README.md +126 -126
- package/dist/components/BufferTracker/index.tsx +19 -19
- package/dist/components/ChapterTooltip/index.tsx +65 -65
- package/dist/components/ChaptersPanal/index.tsx +40 -40
- package/dist/components/CreateNoteMenu/index.tsx +61 -61
- package/dist/components/CurrentTimeLabel/index.tsx +13 -13
- package/dist/components/CurrentTimeTracker/index.tsx +18 -18
- package/dist/components/Menu/index.tsx +49 -49
- package/dist/components/NoteTooltip/index.tsx +46 -46
- package/dist/components/NotesPanal/index.tsx +34 -34
- package/dist/components/TimeSlider/index.js +13 -13
- package/dist/components/TimeSlider/index.tsx +107 -107
- package/dist/components/TimeSliderContainer/index.tsx +35 -35
- package/dist/components/Tooltip/index.tsx +16 -16
- package/dist/components/VideoPlayerComponent/provider.tsx +82 -82
- package/dist/components/VideoPlayerComponent/style/style.css +36 -36
- package/dist/styles/tailwind.css +101 -101
- package/package.json +4 -4
@@ -1,16 +1,16 @@
|
|
1
|
-
import React from "react";
|
2
|
-
|
3
|
-
type Props = {
|
4
|
-
open: boolean;
|
5
|
-
children: React.ReactNode;
|
6
|
-
};
|
7
|
-
const Tooltip = ({ open, children }: Props) => {
|
8
|
-
if (!open) return null;
|
9
|
-
return (
|
10
|
-
<div className="sb-absolute sb-bottom-full sb-mb-2 sb-left-1/2 sb-transform sb--translate-x-1/2 sb-z-10 sb-whitespace-nowrap">
|
11
|
-
{children}
|
12
|
-
</div>
|
13
|
-
);
|
14
|
-
};
|
15
|
-
|
16
|
-
export default Tooltip;
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
type Props = {
|
4
|
+
open: boolean;
|
5
|
+
children: React.ReactNode;
|
6
|
+
};
|
7
|
+
const Tooltip = ({ open, children }: Props) => {
|
8
|
+
if (!open) return null;
|
9
|
+
return (
|
10
|
+
<div className="sb-absolute sb-bottom-full sb-mb-2 sb-left-1/2 sb-transform sb--translate-x-1/2 sb-z-10 sb-whitespace-nowrap">
|
11
|
+
{children}
|
12
|
+
</div>
|
13
|
+
);
|
14
|
+
};
|
15
|
+
|
16
|
+
export default Tooltip;
|
@@ -1,82 +1,82 @@
|
|
1
|
-
import React, {
|
2
|
-
createContext,
|
3
|
-
useContext,
|
4
|
-
useState,
|
5
|
-
ReactNode,
|
6
|
-
useEffect,
|
7
|
-
} from "react";
|
8
|
-
import Player from "video.js/dist/types/player";
|
9
|
-
|
10
|
-
interface SoftBuildersVideoPlayerContextType {
|
11
|
-
player: Player | undefined;
|
12
|
-
setPlayer: React.Dispatch<React.SetStateAction<Player | undefined>>;
|
13
|
-
|
14
|
-
currentTime: number;
|
15
|
-
setCurrentTime: (value: number) => void;
|
16
|
-
|
17
|
-
duration: number;
|
18
|
-
setDuration: React.Dispatch<React.SetStateAction<number>>;
|
19
|
-
|
20
|
-
// isPaused: boolean;
|
21
|
-
// setIsPaused: React.Dispatch<React.SetStateAction<boolean>>;
|
22
|
-
|
23
|
-
downloadedBufferPercentage: number;
|
24
|
-
downloadedBufferTime: number;
|
25
|
-
setDownloadedBufferTimeufferTime: React.Dispatch<
|
26
|
-
React.SetStateAction<number>
|
27
|
-
>;
|
28
|
-
}
|
29
|
-
|
30
|
-
const SoftBuildersVideoPlayerContext = createContext<
|
31
|
-
SoftBuildersVideoPlayerContextType | undefined
|
32
|
-
>(undefined);
|
33
|
-
|
34
|
-
// Create a provider component
|
35
|
-
export const SoftBuildersVideoPlayerProvider = ({
|
36
|
-
children,
|
37
|
-
}: {
|
38
|
-
children: ReactNode;
|
39
|
-
}) => {
|
40
|
-
const [player, setPlayer] = useState<Player | undefined>(undefined);
|
41
|
-
const [currentTime, setCurrentTime] = useState<number>(0);
|
42
|
-
const [duration, setDuration] = useState<number>(1);
|
43
|
-
// const [isPaused, setIsPaused] = useState(false);
|
44
|
-
const [downloadedBufferTime, setDownloadedBufferTimeufferTime] = useState(0);
|
45
|
-
const [downloadedBufferPercentage, setDownloadedBufferPercentage] =
|
46
|
-
useState(0);
|
47
|
-
|
48
|
-
useEffect(() => {
|
49
|
-
setDownloadedBufferPercentage((downloadedBufferTime * 100) / duration);
|
50
|
-
}, [downloadedBufferTime]);
|
51
|
-
|
52
|
-
return (
|
53
|
-
<SoftBuildersVideoPlayerContext.Provider
|
54
|
-
value={{
|
55
|
-
player,
|
56
|
-
setPlayer,
|
57
|
-
duration,
|
58
|
-
setDuration,
|
59
|
-
currentTime,
|
60
|
-
setCurrentTime: (value) => setCurrentTime(Math.floor(value)),
|
61
|
-
// isPaused,
|
62
|
-
// setIsPaused,
|
63
|
-
downloadedBufferTime,
|
64
|
-
setDownloadedBufferTimeufferTime,
|
65
|
-
downloadedBufferPercentage,
|
66
|
-
}}
|
67
|
-
>
|
68
|
-
{children}
|
69
|
-
</SoftBuildersVideoPlayerContext.Provider>
|
70
|
-
);
|
71
|
-
};
|
72
|
-
|
73
|
-
// Custom hook to use the context
|
74
|
-
export const useSoftBuildersVideoPlayerContext = () => {
|
75
|
-
const context = useContext(SoftBuildersVideoPlayerContext);
|
76
|
-
if (!context) {
|
77
|
-
throw new Error(
|
78
|
-
"useSoftBuildersVideoPlayerContext must be used within an SoftBuildersVideoPlayerProvider"
|
79
|
-
);
|
80
|
-
}
|
81
|
-
return context;
|
82
|
-
};
|
1
|
+
import React, {
|
2
|
+
createContext,
|
3
|
+
useContext,
|
4
|
+
useState,
|
5
|
+
ReactNode,
|
6
|
+
useEffect,
|
7
|
+
} from "react";
|
8
|
+
import Player from "video.js/dist/types/player";
|
9
|
+
|
10
|
+
interface SoftBuildersVideoPlayerContextType {
|
11
|
+
player: Player | undefined;
|
12
|
+
setPlayer: React.Dispatch<React.SetStateAction<Player | undefined>>;
|
13
|
+
|
14
|
+
currentTime: number;
|
15
|
+
setCurrentTime: (value: number) => void;
|
16
|
+
|
17
|
+
duration: number;
|
18
|
+
setDuration: React.Dispatch<React.SetStateAction<number>>;
|
19
|
+
|
20
|
+
// isPaused: boolean;
|
21
|
+
// setIsPaused: React.Dispatch<React.SetStateAction<boolean>>;
|
22
|
+
|
23
|
+
downloadedBufferPercentage: number;
|
24
|
+
downloadedBufferTime: number;
|
25
|
+
setDownloadedBufferTimeufferTime: React.Dispatch<
|
26
|
+
React.SetStateAction<number>
|
27
|
+
>;
|
28
|
+
}
|
29
|
+
|
30
|
+
const SoftBuildersVideoPlayerContext = createContext<
|
31
|
+
SoftBuildersVideoPlayerContextType | undefined
|
32
|
+
>(undefined);
|
33
|
+
|
34
|
+
// Create a provider component
|
35
|
+
export const SoftBuildersVideoPlayerProvider = ({
|
36
|
+
children,
|
37
|
+
}: {
|
38
|
+
children: ReactNode;
|
39
|
+
}) => {
|
40
|
+
const [player, setPlayer] = useState<Player | undefined>(undefined);
|
41
|
+
const [currentTime, setCurrentTime] = useState<number>(0);
|
42
|
+
const [duration, setDuration] = useState<number>(1);
|
43
|
+
// const [isPaused, setIsPaused] = useState(false);
|
44
|
+
const [downloadedBufferTime, setDownloadedBufferTimeufferTime] = useState(0);
|
45
|
+
const [downloadedBufferPercentage, setDownloadedBufferPercentage] =
|
46
|
+
useState(0);
|
47
|
+
|
48
|
+
useEffect(() => {
|
49
|
+
setDownloadedBufferPercentage((downloadedBufferTime * 100) / duration);
|
50
|
+
}, [downloadedBufferTime]);
|
51
|
+
|
52
|
+
return (
|
53
|
+
<SoftBuildersVideoPlayerContext.Provider
|
54
|
+
value={{
|
55
|
+
player,
|
56
|
+
setPlayer,
|
57
|
+
duration,
|
58
|
+
setDuration,
|
59
|
+
currentTime,
|
60
|
+
setCurrentTime: (value) => setCurrentTime(Math.floor(value)),
|
61
|
+
// isPaused,
|
62
|
+
// setIsPaused,
|
63
|
+
downloadedBufferTime,
|
64
|
+
setDownloadedBufferTimeufferTime,
|
65
|
+
downloadedBufferPercentage,
|
66
|
+
}}
|
67
|
+
>
|
68
|
+
{children}
|
69
|
+
</SoftBuildersVideoPlayerContext.Provider>
|
70
|
+
);
|
71
|
+
};
|
72
|
+
|
73
|
+
// Custom hook to use the context
|
74
|
+
export const useSoftBuildersVideoPlayerContext = () => {
|
75
|
+
const context = useContext(SoftBuildersVideoPlayerContext);
|
76
|
+
if (!context) {
|
77
|
+
throw new Error(
|
78
|
+
"useSoftBuildersVideoPlayerContext must be used within an SoftBuildersVideoPlayerProvider"
|
79
|
+
);
|
80
|
+
}
|
81
|
+
return context;
|
82
|
+
};
|
@@ -1,36 +1,36 @@
|
|
1
|
-
.video-js .vjs-control-bar {
|
2
|
-
background-color: transparent;
|
3
|
-
display: none;
|
4
|
-
}
|
5
|
-
|
6
|
-
.video-js .vjs-big-play-button {
|
7
|
-
background-color: transparent;
|
8
|
-
display: block;
|
9
|
-
border: none;
|
10
|
-
padding: 0px;
|
11
|
-
opacity: 0;
|
12
|
-
transition: opacity 0.5s ease-in-out;
|
13
|
-
}
|
14
|
-
|
15
|
-
.video-js:hover .vjs-big-play-button {
|
16
|
-
background-color: transparent;
|
17
|
-
border: none;
|
18
|
-
padding: 0px;
|
19
|
-
opacity: 1;
|
20
|
-
transition: opacity 0.5s ease-in-out;
|
21
|
-
}
|
22
|
-
|
23
|
-
.vjs-poster {
|
24
|
-
display: inline-block;
|
25
|
-
vertical-align: middle;
|
26
|
-
cursor: pointer;
|
27
|
-
margin: 0;
|
28
|
-
padding: 0;
|
29
|
-
position: absolute;
|
30
|
-
top: 0;
|
31
|
-
right: 0;
|
32
|
-
bottom: 0;
|
33
|
-
left: 0;
|
34
|
-
height: 100%;
|
35
|
-
background-color: black;
|
36
|
-
}
|
1
|
+
.video-js .vjs-control-bar {
|
2
|
+
background-color: transparent;
|
3
|
+
display: none;
|
4
|
+
}
|
5
|
+
|
6
|
+
.video-js .vjs-big-play-button {
|
7
|
+
background-color: transparent;
|
8
|
+
display: block;
|
9
|
+
border: none;
|
10
|
+
padding: 0px;
|
11
|
+
opacity: 0;
|
12
|
+
transition: opacity 0.5s ease-in-out;
|
13
|
+
}
|
14
|
+
|
15
|
+
.video-js:hover .vjs-big-play-button {
|
16
|
+
background-color: transparent;
|
17
|
+
border: none;
|
18
|
+
padding: 0px;
|
19
|
+
opacity: 1;
|
20
|
+
transition: opacity 0.5s ease-in-out;
|
21
|
+
}
|
22
|
+
|
23
|
+
.vjs-poster {
|
24
|
+
display: inline-block;
|
25
|
+
vertical-align: middle;
|
26
|
+
cursor: pointer;
|
27
|
+
margin: 0;
|
28
|
+
padding: 0;
|
29
|
+
position: absolute;
|
30
|
+
top: 0;
|
31
|
+
right: 0;
|
32
|
+
bottom: 0;
|
33
|
+
left: 0;
|
34
|
+
height: 100%;
|
35
|
+
background-color: black;
|
36
|
+
}
|
package/dist/styles/tailwind.css
CHANGED
@@ -498,334 +498,334 @@ video {
|
|
498
498
|
/* Make elements with the HTML hidden attribute stay hidden by default */
|
499
499
|
[hidden] {
|
500
500
|
display: none;
|
501
|
-
}
|
501
|
+
}
|
502
502
|
.sb-static {
|
503
503
|
position: static;
|
504
|
-
}
|
504
|
+
}
|
505
505
|
.sb-absolute {
|
506
506
|
position: absolute;
|
507
|
-
}
|
507
|
+
}
|
508
508
|
.sb-relative {
|
509
509
|
position: relative;
|
510
|
-
}
|
510
|
+
}
|
511
511
|
.sb-bottom-10 {
|
512
512
|
bottom: 2.5rem;
|
513
|
-
}
|
513
|
+
}
|
514
514
|
.sb-bottom-full {
|
515
515
|
bottom: 100%;
|
516
|
-
}
|
516
|
+
}
|
517
517
|
.sb-left-0 {
|
518
518
|
left: 0px;
|
519
|
-
}
|
519
|
+
}
|
520
520
|
.sb-left-1\/2 {
|
521
521
|
left: 50%;
|
522
|
-
}
|
522
|
+
}
|
523
523
|
.sb-right-0 {
|
524
524
|
right: 0px;
|
525
|
-
}
|
525
|
+
}
|
526
526
|
.sb-top-0 {
|
527
527
|
top: 0px;
|
528
|
-
}
|
528
|
+
}
|
529
529
|
.sb-top-1 {
|
530
530
|
top: 0.25rem;
|
531
|
-
}
|
531
|
+
}
|
532
532
|
.sb-top-2 {
|
533
533
|
top: 0.5rem;
|
534
|
-
}
|
534
|
+
}
|
535
535
|
.sb-top-\[27\%\] {
|
536
536
|
top: 27%;
|
537
|
-
}
|
537
|
+
}
|
538
538
|
.sb-z-10 {
|
539
539
|
z-index: 10;
|
540
|
-
}
|
540
|
+
}
|
541
541
|
.sb-z-20 {
|
542
542
|
z-index: 20;
|
543
|
-
}
|
543
|
+
}
|
544
544
|
.sb-z-30 {
|
545
545
|
z-index: 30;
|
546
|
-
}
|
546
|
+
}
|
547
547
|
.sb-col-span-3 {
|
548
548
|
grid-column: span 3 / span 3;
|
549
|
-
}
|
549
|
+
}
|
550
550
|
.sb-col-span-9 {
|
551
551
|
grid-column: span 9 / span 9;
|
552
|
-
}
|
552
|
+
}
|
553
553
|
.sb-mb-2 {
|
554
554
|
margin-bottom: 0.5rem;
|
555
|
-
}
|
555
|
+
}
|
556
556
|
.sb-flex {
|
557
557
|
display: flex;
|
558
|
-
}
|
558
|
+
}
|
559
559
|
.sb-grid {
|
560
560
|
display: grid;
|
561
|
-
}
|
561
|
+
}
|
562
562
|
.sb-hidden {
|
563
563
|
display: none;
|
564
|
-
}
|
564
|
+
}
|
565
565
|
.sb-h-1 {
|
566
566
|
height: 0.25rem;
|
567
|
-
}
|
567
|
+
}
|
568
568
|
.sb-h-16 {
|
569
569
|
height: 4rem;
|
570
|
-
}
|
570
|
+
}
|
571
571
|
.sb-h-2 {
|
572
572
|
height: 0.5rem;
|
573
|
-
}
|
573
|
+
}
|
574
574
|
.sb-h-3 {
|
575
575
|
height: 0.75rem;
|
576
|
-
}
|
576
|
+
}
|
577
577
|
.sb-h-4 {
|
578
578
|
height: 1rem;
|
579
|
-
}
|
579
|
+
}
|
580
580
|
.sb-h-5 {
|
581
581
|
height: 1.25rem;
|
582
|
-
}
|
582
|
+
}
|
583
583
|
.sb-h-\[\.1px\] {
|
584
584
|
height: .1px;
|
585
|
-
}
|
585
|
+
}
|
586
586
|
.sb-h-full {
|
587
587
|
height: 100%;
|
588
|
-
}
|
588
|
+
}
|
589
589
|
.\!sb-w-16 {
|
590
590
|
width: 4rem !important;
|
591
|
-
}
|
591
|
+
}
|
592
592
|
.sb-w-1 {
|
593
593
|
width: 0.25rem;
|
594
|
-
}
|
594
|
+
}
|
595
595
|
.sb-w-16 {
|
596
596
|
width: 4rem;
|
597
|
-
}
|
597
|
+
}
|
598
598
|
.sb-w-3 {
|
599
599
|
width: 0.75rem;
|
600
|
-
}
|
600
|
+
}
|
601
601
|
.sb-w-4 {
|
602
602
|
width: 1rem;
|
603
|
-
}
|
603
|
+
}
|
604
604
|
.sb-w-5 {
|
605
605
|
width: 1.25rem;
|
606
|
-
}
|
606
|
+
}
|
607
607
|
.sb-w-\[150px\] {
|
608
608
|
width: 150px;
|
609
|
-
}
|
609
|
+
}
|
610
610
|
.sb-w-\[220px\] {
|
611
611
|
width: 220px;
|
612
|
-
}
|
612
|
+
}
|
613
613
|
.sb-w-\[22px\] {
|
614
614
|
width: 22px;
|
615
|
-
}
|
615
|
+
}
|
616
616
|
.sb-w-\[30\%\] {
|
617
617
|
width: 30%;
|
618
|
-
}
|
618
|
+
}
|
619
619
|
.sb-w-full {
|
620
620
|
width: 100%;
|
621
|
-
}
|
621
|
+
}
|
622
622
|
.-sb-translate-y-2 {
|
623
623
|
--tw-translate-y: -0.5rem;
|
624
624
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
625
|
-
}
|
625
|
+
}
|
626
626
|
.sb--translate-x-1\/2 {
|
627
627
|
--tw-translate-x: -50%;
|
628
628
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
629
|
-
}
|
629
|
+
}
|
630
630
|
.sb-translate-y-0 {
|
631
631
|
--tw-translate-y: 0px;
|
632
632
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
633
|
-
}
|
633
|
+
}
|
634
634
|
.-sb-rotate-90 {
|
635
635
|
--tw-rotate: -90deg;
|
636
636
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
637
|
-
}
|
637
|
+
}
|
638
638
|
.sb-rotate-0 {
|
639
639
|
--tw-rotate: 0deg;
|
640
640
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
641
|
-
}
|
641
|
+
}
|
642
642
|
.sb-transform {
|
643
643
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
644
|
-
}
|
644
|
+
}
|
645
645
|
.sb-cursor-pointer {
|
646
646
|
cursor: pointer;
|
647
|
-
}
|
647
|
+
}
|
648
648
|
.sb-appearance-none {
|
649
649
|
-webkit-appearance: none;
|
650
650
|
-moz-appearance: none;
|
651
651
|
appearance: none;
|
652
|
-
}
|
652
|
+
}
|
653
653
|
.sb-grid-cols-12 {
|
654
654
|
grid-template-columns: repeat(12, minmax(0, 1fr));
|
655
|
-
}
|
655
|
+
}
|
656
656
|
.\!sb-flex-row {
|
657
657
|
flex-direction: row !important;
|
658
|
-
}
|
658
|
+
}
|
659
659
|
.sb-flex-row {
|
660
660
|
flex-direction: row;
|
661
|
-
}
|
661
|
+
}
|
662
662
|
.sb-flex-col {
|
663
663
|
flex-direction: column;
|
664
|
-
}
|
664
|
+
}
|
665
665
|
.sb-flex-col-reverse {
|
666
666
|
flex-direction: column-reverse;
|
667
|
-
}
|
667
|
+
}
|
668
668
|
.sb-items-start {
|
669
669
|
align-items: flex-start;
|
670
|
-
}
|
670
|
+
}
|
671
671
|
.\!sb-items-end {
|
672
672
|
align-items: flex-end !important;
|
673
|
-
}
|
673
|
+
}
|
674
674
|
.sb-items-end {
|
675
675
|
align-items: flex-end;
|
676
|
-
}
|
676
|
+
}
|
677
677
|
.sb-items-center {
|
678
678
|
align-items: center;
|
679
|
-
}
|
679
|
+
}
|
680
680
|
.sb-justify-start {
|
681
681
|
justify-content: flex-start;
|
682
|
-
}
|
682
|
+
}
|
683
683
|
.sb-justify-center {
|
684
684
|
justify-content: center;
|
685
|
-
}
|
685
|
+
}
|
686
686
|
.sb-justify-between {
|
687
687
|
justify-content: space-between;
|
688
|
-
}
|
688
|
+
}
|
689
689
|
.sb-gap-2 {
|
690
690
|
gap: 0.5rem;
|
691
|
-
}
|
691
|
+
}
|
692
692
|
.sb-gap-3 {
|
693
693
|
gap: 0.75rem;
|
694
|
-
}
|
694
|
+
}
|
695
695
|
.sb-gap-4 {
|
696
696
|
gap: 1rem;
|
697
|
-
}
|
697
|
+
}
|
698
698
|
.sb-overflow-hidden {
|
699
699
|
overflow: hidden;
|
700
|
-
}
|
700
|
+
}
|
701
701
|
.sb-whitespace-nowrap {
|
702
702
|
white-space: nowrap;
|
703
|
-
}
|
703
|
+
}
|
704
704
|
.sb-rounded-full {
|
705
705
|
border-radius: 9999px;
|
706
|
-
}
|
706
|
+
}
|
707
707
|
.sb-rounded-lg {
|
708
708
|
border-radius: 0.5rem;
|
709
|
-
}
|
709
|
+
}
|
710
710
|
.sb-rounded-md {
|
711
711
|
border-radius: 0.375rem;
|
712
|
-
}
|
712
|
+
}
|
713
713
|
.sb-border {
|
714
714
|
border-width: 1px;
|
715
|
-
}
|
715
|
+
}
|
716
716
|
.sb-border-\[\#AAAAAA\] {
|
717
717
|
--tw-border-opacity: 1;
|
718
718
|
border-color: rgb(170 170 170 / var(--tw-border-opacity));
|
719
|
-
}
|
719
|
+
}
|
720
720
|
.sb-bg-\[\#303030\] {
|
721
721
|
--tw-bg-opacity: 1;
|
722
722
|
background-color: rgb(48 48 48 / var(--tw-bg-opacity));
|
723
|
-
}
|
723
|
+
}
|
724
724
|
.sb-bg-\[\#AAAAAA\] {
|
725
725
|
--tw-bg-opacity: 1;
|
726
726
|
background-color: rgb(170 170 170 / var(--tw-bg-opacity));
|
727
|
-
}
|
727
|
+
}
|
728
728
|
.sb-bg-orange-500 {
|
729
729
|
--tw-bg-opacity: 1;
|
730
730
|
background-color: rgb(249 115 22 / var(--tw-bg-opacity));
|
731
|
-
}
|
731
|
+
}
|
732
732
|
.sb-bg-slate-400 {
|
733
733
|
--tw-bg-opacity: 1;
|
734
734
|
background-color: rgb(148 163 184 / var(--tw-bg-opacity));
|
735
|
-
}
|
735
|
+
}
|
736
736
|
.sb-bg-transparent {
|
737
737
|
background-color: transparent;
|
738
|
-
}
|
738
|
+
}
|
739
739
|
.sb-bg-white {
|
740
740
|
--tw-bg-opacity: 1;
|
741
741
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
742
|
-
}
|
742
|
+
}
|
743
743
|
.sb-bg-white\/30 {
|
744
744
|
background-color: rgb(255 255 255 / 0.3);
|
745
|
-
}
|
745
|
+
}
|
746
746
|
.sb-bg-opacity-50 {
|
747
747
|
--tw-bg-opacity: 0.5;
|
748
|
-
}
|
748
|
+
}
|
749
749
|
.sb-bg-opacity-70 {
|
750
750
|
--tw-bg-opacity: 0.7;
|
751
|
-
}
|
751
|
+
}
|
752
752
|
.sb-p-2 {
|
753
753
|
padding: 0.5rem;
|
754
|
-
}
|
754
|
+
}
|
755
755
|
.sb-px-2 {
|
756
756
|
padding-left: 0.5rem;
|
757
757
|
padding-right: 0.5rem;
|
758
|
-
}
|
758
|
+
}
|
759
759
|
.sb-px-4 {
|
760
760
|
padding-left: 1rem;
|
761
761
|
padding-right: 1rem;
|
762
|
-
}
|
762
|
+
}
|
763
763
|
.sb-px-5 {
|
764
764
|
padding-left: 1.25rem;
|
765
765
|
padding-right: 1.25rem;
|
766
|
-
}
|
766
|
+
}
|
767
767
|
.sb-py-3 {
|
768
768
|
padding-top: 0.75rem;
|
769
769
|
padding-bottom: 0.75rem;
|
770
|
-
}
|
770
|
+
}
|
771
771
|
.sb-py-5 {
|
772
772
|
padding-top: 1.25rem;
|
773
773
|
padding-bottom: 1.25rem;
|
774
|
-
}
|
774
|
+
}
|
775
775
|
.sb-text-left {
|
776
776
|
text-align: left;
|
777
|
-
}
|
777
|
+
}
|
778
778
|
.sb-text-center {
|
779
779
|
text-align: center;
|
780
|
-
}
|
780
|
+
}
|
781
781
|
.sb-font-bold {
|
782
782
|
font-weight: 700;
|
783
|
-
}
|
783
|
+
}
|
784
784
|
.sb-text-white {
|
785
785
|
--tw-text-opacity: 1;
|
786
786
|
color: rgb(255 255 255 / var(--tw-text-opacity));
|
787
|
-
}
|
787
|
+
}
|
788
788
|
.sb-shadow-lg {
|
789
789
|
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
790
790
|
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
791
791
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
792
|
-
}
|
792
|
+
}
|
793
793
|
.sb-backdrop-blur-lg {
|
794
794
|
--tw-backdrop-blur: blur(16px);
|
795
795
|
-webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
796
796
|
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
797
|
-
}
|
797
|
+
}
|
798
798
|
.sb-transition-all {
|
799
799
|
transition-property: all;
|
800
800
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
801
801
|
transition-duration: 150ms;
|
802
|
-
}
|
802
|
+
}
|
803
803
|
.sb-duration-500 {
|
804
804
|
transition-duration: 500ms;
|
805
|
-
}
|
805
|
+
}
|
806
806
|
.sb-ease-in-out {
|
807
807
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
808
|
-
}
|
808
|
+
}
|
809
809
|
.placeholder\:sb-text-white::-moz-placeholder {
|
810
810
|
--tw-text-opacity: 1;
|
811
811
|
color: rgb(255 255 255 / var(--tw-text-opacity));
|
812
|
-
}
|
812
|
+
}
|
813
813
|
.placeholder\:sb-text-white::placeholder {
|
814
814
|
--tw-text-opacity: 1;
|
815
815
|
color: rgb(255 255 255 / var(--tw-text-opacity));
|
816
|
-
}
|
816
|
+
}
|
817
817
|
.hover\:sb-w-\[45\%\]:hover {
|
818
818
|
width: 45%;
|
819
|
-
}
|
819
|
+
}
|
820
820
|
.hover\:sb-scale-150:hover {
|
821
821
|
--tw-scale-x: 1.5;
|
822
822
|
--tw-scale-y: 1.5;
|
823
823
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
824
|
-
}
|
824
|
+
}
|
825
825
|
.hover\:sb-cursor-pointer:hover {
|
826
826
|
cursor: pointer;
|
827
|
-
}
|
827
|
+
}
|
828
828
|
.hover\:sb-text-orange-500:hover {
|
829
829
|
--tw-text-opacity: 1;
|
830
830
|
color: rgb(249 115 22 / var(--tw-text-opacity));
|
831
|
-
}
|
831
|
+
}
|