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 CHANGED
@@ -76,7 +76,11 @@
76
76
  --lighter: #fafafa ;
77
77
  --hoverable: #fcfcfc ;
78
78
  --muted: #78716c;
79
- --dark: #71717a;
79
+ --dark: #121212;
80
+ --cardBg: var(--raiseOpaque);
81
+ --card: 8px 8px 16px #d1d9e6, /* soft shadow */
82
+ -8px -8px 16px #ffffff; /* soft highlight */
83
+ --linkColor:rgb(58, 58, 58);
80
84
 
81
85
  /* Primary Colors */
82
86
  --primary: #6366f1;
@@ -179,26 +183,10 @@
179
183
  --black: #000000;
180
184
  --lightText: #FFFFFF;
181
185
  --darkText: #27272a;
182
-
183
- --bd-color:#1e1e1e;
184
- --bd-theme:#fff;
185
- --dark: #1e1e1e;
186
- --lightDark: #4e4e4e66;
187
- --success: #48c78e;
188
- --successLight:var(--success200);
189
- --warning: #dc8001cc;
190
- --warningLight:#fff4e5 ;
191
- --danger: #dc1101cc;
192
- --dangerLight:#fdeded;
193
- --info: #5fbbe2;
194
- --infoLight:#e5f6fd;
195
186
  --light: var(--lighter);
196
- --deepLight: #2fa2b1;
197
187
  --gradient:linear-gradient(90deg, var(--secondary) 0%, var(--primary) 100%);
198
188
  --gradientColors:90deg, var(--secondary) 0%, var(--primary) 100%;
199
- --linkColor:rgb(124, 124, 124);
200
-
201
- /* Body and font */
189
+ --danger:var(--error);
202
190
  --bd-font-weight: 400;
203
191
  --bdfontSize: 1rem;
204
192
  --minifiedFontSize:0.88rem;
@@ -226,7 +214,6 @@
226
214
  --inputPadding:0.5rem 0;
227
215
  --inputRoundedPadding:0.5rem 1rem;
228
216
  --shadowMedium:0 0.8rem 2rem 0 rgba(3, 3, 3, 0.1);
229
- --card:rgba(0, 0, 0, 0.05) 0px 4px 16px, rgba(0, 0, 0, 0.05) 0px 8px 32px;
230
217
  --raised:0 0.1rem 0.2rem 0rem rgba(0, 0, 0, 0.3);
231
218
  /* medium Screen body */
232
219
 
@@ -234,13 +221,6 @@
234
221
  }
235
222
 
236
223
 
237
- /* DarkTheme */
238
- :root{
239
- --inputOutline:var(--primary);
240
- --lightThemeDark: var(--dark)
241
- }
242
-
243
-
244
224
  /* For WebKit browsers (Chrome, Edge, Brave, Safari) */
245
225
  ::-webkit-scrollbar {
246
226
  width: 10px;
@@ -272,7 +252,40 @@
272
252
  *{
273
253
  font-family: var(--font-font);
274
254
  scroll-behavior: smooth;
275
-
255
+ transition: 0.3s ease-in-out all !important;
256
+ }
257
+
258
+ .card,
259
+ .input,
260
+ .navigation-bar ,
261
+ .modal ,
262
+ .modal-content,
263
+ .button,
264
+ .text,
265
+ .div,
266
+ .table,
267
+ .table-head,
268
+ .table-body,
269
+ .table-row,
270
+ .table-cell,
271
+ .list,
272
+ .list-item,
273
+ .breadcrumb,
274
+ .breadcrumb-link,
275
+ .breadcrumb-item,
276
+ .loader,
277
+ .grid,
278
+ .col,
279
+ .container,
280
+ .step-container,
281
+ .step,
282
+ .step-header,
283
+ .step-line,
284
+ .dropdown,
285
+ .dropdown-menu,
286
+ .dropdown-item,
287
+ .progress-bar{
288
+ color: var(--text-color) ;
276
289
  }
277
290
 
278
291
  /* normalise css */
@@ -316,6 +329,7 @@ Link {
316
329
  background: transparent;
317
330
  transition: 0.3s;
318
331
  color: var(--linkColor);
332
+ font-weight: 500;
319
333
  }
320
334
  a:hover {
321
335
  color: var(--linkHover);
@@ -1832,6 +1846,7 @@ button:disabled {
1832
1846
  /* Typography */
1833
1847
  .baseColor, .text-base{
1834
1848
  color: var(--text-color) !important;}
1849
+
1835
1850
  body {
1836
1851
  font-size: var(--text-base);
1837
1852
  line-height: 1.5rem;
@@ -2389,13 +2404,8 @@ h6, .h6 {
2389
2404
  border-top-right-radius: 0 !important;
2390
2405
  border-bottom-right-radius: 0 !important;
2391
2406
  }
2392
- /* avatar */
2393
- .avatar {
2394
- display: flex;
2395
- align-items: center;
2396
- justify-content: center;
2397
- border-radius: 50%;
2398
- }
2407
+
2408
+
2399
2409
  /* cursor */
2400
2410
  .cursor-pointer {
2401
2411
  cursor: pointer;
@@ -2585,11 +2595,11 @@ h6, .h6 {
2585
2595
 
2586
2596
  /*cards*/
2587
2597
  .card {
2588
- box-shadow: var(--card);
2589
- transition: 0.3s;
2590
- background-color: var(--raiseThemes);
2591
- backdrop-filter: var(--raiseBackdrop) ;
2592
- color: var(--text-color);
2598
+ background: var(--cardBg) !important;
2599
+ box-shadow: var(--card);
2600
+ transition: 0.3s;
2601
+ backdrop-filter: var(--raiseBackdrop) ;
2602
+ color: var(--text-color);
2593
2603
  }
2594
2604
  .card.xl{
2595
2605
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px !important;
@@ -2677,6 +2687,7 @@ h6, .h6 {
2677
2687
 
2678
2688
  .linkWrapper {
2679
2689
  display: none;
2690
+ animation: SlideRight 0.2s linear;
2680
2691
  }
2681
2692
 
2682
2693
  .sidebar-trigger {
@@ -2686,6 +2697,149 @@ h6, .h6 {
2686
2697
 
2687
2698
 
2688
2699
 
2700
+ /* video */
2701
+ .video_player{
2702
+ border-radius: 1rem;
2703
+ width: 100%;
2704
+ }
2705
+ .video_container{
2706
+ position: relative;
2707
+ width: fit-content;
2708
+ height: fit-content;
2709
+ padding: 0;
2710
+ border-radius: 1rem;
2711
+ color: var(--text-color);
2712
+ }
2713
+ .video_controls{
2714
+ position: absolute;
2715
+ bottom: 0;
2716
+ left: 0;
2717
+ width: 100%;
2718
+ height: 100%;
2719
+ display: flex;
2720
+ flex-direction: column;
2721
+ justify-content: flex-end;
2722
+ padding: 1rem;
2723
+ display: none;
2724
+ color: rgb(218, 217, 217);
2725
+ border-radius: 1rem;
2726
+ }
2727
+
2728
+ .video_poster{
2729
+ position: absolute;
2730
+ top: 0;
2731
+ width: 100%;
2732
+ height: 100%;
2733
+ border-radius: 1rem;
2734
+ background-position: center !important;
2735
+ background-size: cover;
2736
+ background-repeat: no-repeat;
2737
+ }
2738
+ .video_controls.show_controls{
2739
+ display: flex ;
2740
+ }
2741
+
2742
+ .video_controls.hide_controls{
2743
+ display: none !important;
2744
+ }
2745
+
2746
+ .video_container:hover .video_controls{
2747
+ display: flex;
2748
+ }
2749
+
2750
+ .video_player_design {
2751
+ border-radius: 1.5rem;
2752
+ /* box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px; */
2753
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
2754
+ }
2755
+
2756
+ .center-play-icon{
2757
+ position: absolute;
2758
+ top: 50%;
2759
+ left: 50%;
2760
+ transform: translate(-50%, -50%);
2761
+ z-index: 2;
2762
+ }
2763
+ .play-button {
2764
+ display: flex;
2765
+ align-items: center;
2766
+ justify-content: center;
2767
+ width: 60px;
2768
+ height: 60px;
2769
+ border: 3px solid var(--primary300);
2770
+ border-radius: 50%;
2771
+ background: var(--primary);
2772
+ color: var(--white);
2773
+ transition: transform 0.3s ease;
2774
+ animation: pulse 2s infinite;
2775
+ cursor: pointer;
2776
+
2777
+ }
2778
+
2779
+ .play-button:hover {
2780
+ transform: scale(1.1);
2781
+ background: var(--raiseThemes);
2782
+ backdrop-filter: var(--raiseBackdrop) !important;
2783
+ border-color: var(--borderColor);
2784
+ color: var(--text-color);
2785
+ }
2786
+
2787
+ @keyframes pulse {
2788
+ 0% {
2789
+ box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
2790
+ }
2791
+ 70% {
2792
+ box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
2793
+ }
2794
+ 100% {
2795
+ box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
2796
+ }
2797
+ }
2798
+
2799
+ .styled-slider {
2800
+ appearance: none;
2801
+ width: 100%;
2802
+ height: 10px;
2803
+ background: linear-gradient(
2804
+ to right,
2805
+ var(--primary) 0%,
2806
+ var(--primary) calc(var(--progress, 0%) * 1%),
2807
+ var(--primary50) calc(var(--progress, 0%) * 1%),
2808
+ var(--primary50) 100%
2809
+ );
2810
+ border-radius: 3px;
2811
+ outline: none;
2812
+ transition: background 0.3s ease;
2813
+ position: relative;
2814
+ }
2815
+
2816
+ /* Thumb hidden by default */
2817
+ .styled-slider::-webkit-slider-thumb {
2818
+ appearance: none;
2819
+ height: 14px;
2820
+ width: 14px;
2821
+ border-radius: 50%;
2822
+ background: var(--primary);
2823
+ border: none;
2824
+ cursor: pointer;
2825
+ opacity: 0;
2826
+ transition: opacity 0.3s ease;
2827
+ margin-top: -4px;
2828
+ }
2829
+
2830
+
2831
+ .styled-slider::-moz-range-thumb {
2832
+ height: 14px;
2833
+ width: 14px;
2834
+ border-radius: 50%;
2835
+ background: var(--primary);
2836
+ border: none;
2837
+ cursor: pointer;
2838
+ opacity: 0;
2839
+ transition: opacity 0.3s ease;
2840
+ }
2841
+
2842
+
2689
2843
 
2690
2844
  /* Mobile layout when menu is open */
2691
2845
  .navbar-mobile-open {
@@ -2992,6 +3146,7 @@ h6, .h6 {
2992
3146
 
2993
3147
  .alert-container > .alert{
2994
3148
  box-shadow: var(--card);
3149
+ background: var(--cardBg);
2995
3150
  }
2996
3151
  .alert-container
2997
3152
  {
@@ -3031,35 +3186,6 @@ h6, .h6 {
3031
3186
  justify-content: center;
3032
3187
  }
3033
3188
 
3034
- .alert.success {
3035
- background-color: var(--successLight) !important;
3036
-
3037
- }
3038
- .alert.info {
3039
- background-color: var(--infoLight) !important;
3040
- }
3041
- .alert.warning {
3042
- background-color: var(--warningLight) !important;
3043
- }
3044
- .alert.danger {
3045
- background-color: var(--dangerLight) !important;
3046
- }
3047
- .alert.success .alert-text,
3048
- .alert-icon {
3049
- color: rgb(30, 70, 32) !important;
3050
- }
3051
- .alert.info .alert-text,
3052
- .alert-icon {
3053
- color: rgb(1, 67, 97) !important;
3054
- }
3055
- .alert.warning .alert-text,
3056
- .alert-icon {
3057
- color: rgb(102, 60, 0) !important;
3058
- }
3059
- .alert.danger .alert-text,
3060
- .alert-icon {
3061
- color: rgb(95, 33, 32) !important;
3062
- }
3063
3189
 
3064
3190
  /*border radius and borders*/
3065
3191
  .round, .circle {
@@ -3144,6 +3270,7 @@ h6, .h6 {
3144
3270
  border-radius: 50%;
3145
3271
  }
3146
3272
 
3273
+
3147
3274
  .avatar {
3148
3275
  display: flex;
3149
3276
  align-items: center;
@@ -3151,6 +3278,9 @@ h6, .h6 {
3151
3278
  border-radius: 50%;
3152
3279
  overflow: hidden;
3153
3280
  font-weight: bold;
3281
+ background-color: var(--raiseOpaque);
3282
+ backdrop-filter: var(--raiseBackdrop);
3283
+ color: var(--text-color);
3154
3284
  }
3155
3285
 
3156
3286
 
@@ -3174,10 +3304,11 @@ h6, .h6 {
3174
3304
  transition: 0.5s;
3175
3305
  z-index: 1;
3176
3306
  width: 100%;
3307
+ min-width: max-content !important;
3177
3308
  overflow: hidden;
3178
3309
  border-radius: 0.5rem;
3179
- background-color: var(--raiseThemes);
3180
- backdrop-filter: var(--raiseBackdrop) ;
3310
+ background-color: var(--raiseOpaque) !important;
3311
+ backdrop-filter: var(--raiseBackdrop) !important ;
3181
3312
  display: none;
3182
3313
  }
3183
3314
 
@@ -3709,6 +3840,91 @@ th {
3709
3840
  }
3710
3841
  }
3711
3842
 
3843
+ /* Base Animation Setup */
3844
+ .animated {
3845
+ animation-duration: 0.4s;
3846
+ animation-fill-mode: both;
3847
+ animation-timing-function: ease;
3848
+ will-change: transform, opacity;
3849
+ }
3850
+
3851
+ /* Slide Animations */
3852
+ .slide-up {
3853
+ animation-name: slideUp;
3854
+ }
3855
+
3856
+ .slide-down {
3857
+ animation-name: slideDown;
3858
+ }
3859
+
3860
+ .slide-left {
3861
+ animation-name: slideLeft;
3862
+ }
3863
+
3864
+ .slide-right {
3865
+ animation-name: slideRight;
3866
+ }
3867
+
3868
+ /* Fade Animation */
3869
+ .fade-in {
3870
+ animation-name: fadeIn;
3871
+ }
3872
+
3873
+ /* Keyframes */
3874
+ @keyframes slideUp {
3875
+ from {
3876
+ transform: translateY(20px);
3877
+ opacity: 0;
3878
+ }
3879
+ to {
3880
+ transform: translateY(0);
3881
+ opacity: 1;
3882
+ }
3883
+ }
3884
+
3885
+ @keyframes slideDown {
3886
+ from {
3887
+ transform: translateY(-20px);
3888
+ opacity: 0;
3889
+ }
3890
+ to {
3891
+ transform: translateY(0);
3892
+ opacity: 1;
3893
+ }
3894
+ }
3895
+
3896
+ @keyframes slideLeft {
3897
+ from {
3898
+ transform: translateX(20px);
3899
+ opacity: 0;
3900
+ }
3901
+ to {
3902
+ transform: translateX(0);
3903
+ opacity: 1;
3904
+ }
3905
+ }
3906
+
3907
+ @keyframes slideRight {
3908
+ from {
3909
+ transform: translateX(-20px);
3910
+ opacity: 0;
3911
+ }
3912
+ to {
3913
+ transform: translateX(0);
3914
+ opacity: 1;
3915
+ }
3916
+ }
3917
+
3918
+ @keyframes fadeIn {
3919
+ from {
3920
+ opacity: 0;
3921
+ }
3922
+ to {
3923
+ opacity: 1;
3924
+ }
3925
+ }
3926
+
3927
+
3712
3928
  /*icons*/
3713
3929
  .icon.size-smaller {
3714
3930
  font-size: 0.5em;
@@ -3803,7 +4019,7 @@ th {
3803
4019
  gap: 1rem;
3804
4020
  }
3805
4021
  .modal-content {
3806
- background-color: var(--raiseOpaque);
4022
+ background: var(--cardBg);
3807
4023
  backdrop-filter: blur(20rem) ;
3808
4024
  max-width: 700px;
3809
4025
  padding: 1rem 1.5rem;
@@ -0,0 +1,8 @@
1
+ interface UseHlsOptions {
2
+ videoRef: React.RefObject<HTMLVideoElement>;
3
+ src: string;
4
+ autoPlay?: boolean;
5
+ onLoaded?: () => void;
6
+ }
7
+ export declare function useHls({ videoRef, src, autoPlay, onLoaded }: UseHlsOptions): void;
8
+ export {};
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.useHls = useHls;
43
+ // hooks/useHls.ts
44
+ var react_1 = require("react");
45
+ var hls_js_1 = __importDefault(require("hls.js"));
46
+ function useHls(_a) {
47
+ var _this = this;
48
+ var videoRef = _a.videoRef, src = _a.src, autoPlay = _a.autoPlay, onLoaded = _a.onLoaded;
49
+ (0, react_1.useEffect)(function () {
50
+ var video = videoRef.current;
51
+ if (!video || !src)
52
+ return;
53
+ var hls = null;
54
+ var isHls = src.endsWith('.m3u8');
55
+ var setup = function () { return __awaiter(_this, void 0, void 0, function () {
56
+ return __generator(this, function (_a) {
57
+ if (isHls && hls_js_1.default.isSupported()) {
58
+ hls = new hls_js_1.default();
59
+ hls.loadSource(src);
60
+ hls.attachMedia(video);
61
+ hls.on(hls_js_1.default.Events.MANIFEST_PARSED, function () {
62
+ onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded();
63
+ if (autoPlay) {
64
+ video
65
+ .play()
66
+ .then(function () { return console.log('HLS auto-play success'); })
67
+ .catch(function (err) { return console.warn('HLS auto-play error:', err); });
68
+ }
69
+ });
70
+ hls.on(hls_js_1.default.Events.ERROR, function (event, data) {
71
+ console.error('HLS.js error:', data);
72
+ });
73
+ }
74
+ else if (video.canPlayType('application/vnd.apple.mpegurl')) {
75
+ video.src = src;
76
+ video.onloadedmetadata = function () {
77
+ onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded();
78
+ if (autoPlay) {
79
+ video
80
+ .play()
81
+ .then(function () { return console.log('Native HLS auto-play success'); })
82
+ .catch(function (err) { return console.warn('Native HLS auto-play error:', err); });
83
+ }
84
+ };
85
+ }
86
+ else {
87
+ video.src = src;
88
+ onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded();
89
+ if (autoPlay) {
90
+ video
91
+ .play()
92
+ .then(function () { return console.log('MP4 auto-play success'); })
93
+ .catch(function (err) { return console.warn('MP4 auto-play error:', err); });
94
+ }
95
+ }
96
+ return [2 /*return*/];
97
+ });
98
+ }); };
99
+ setup();
100
+ return function () {
101
+ if (hls)
102
+ hls.destroy();
103
+ };
104
+ }, [videoRef, src, autoPlay, onLoaded]);
105
+ }
@@ -0,0 +1,69 @@
1
+ // hooks/useHls.ts
2
+ import { useEffect } from 'react';
3
+ import Hls from 'hls.js';
4
+
5
+ interface UseHlsOptions {
6
+ videoRef: React.RefObject<HTMLVideoElement>;
7
+ src: string;
8
+ autoPlay?: boolean;
9
+ onLoaded?: () => void;
10
+ }
11
+
12
+ export function useHls({ videoRef, src, autoPlay, onLoaded }: UseHlsOptions) {
13
+ useEffect(() => {
14
+ const video = videoRef.current;
15
+ if (!video || !src) return;
16
+
17
+ let hls: Hls | null = null;
18
+ const isHls = src.endsWith('.m3u8');
19
+
20
+ const setup = async () => {
21
+ if (isHls && Hls.isSupported()) {
22
+ hls = new Hls();
23
+ hls.loadSource(src);
24
+ hls.attachMedia(video);
25
+
26
+ hls.on(Hls.Events.MANIFEST_PARSED, () => {
27
+ onLoaded?.();
28
+ if (autoPlay) {
29
+ video
30
+ .play()
31
+ .then(() => console.log('HLS auto-play success'))
32
+ .catch((err) => console.warn('HLS auto-play error:', err));
33
+ }
34
+ });
35
+
36
+ hls.on(Hls.Events.ERROR, (event, data) => {
37
+ console.error('HLS.js error:', data);
38
+ });
39
+ } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
40
+ video.src = src;
41
+
42
+ video.onloadedmetadata = () => {
43
+ onLoaded?.();
44
+ if (autoPlay) {
45
+ video
46
+ .play()
47
+ .then(() => console.log('Native HLS auto-play success'))
48
+ .catch((err) => console.warn('Native HLS auto-play error:', err));
49
+ }
50
+ };
51
+ } else {
52
+ video.src = src;
53
+ onLoaded?.();
54
+ if (autoPlay) {
55
+ video
56
+ .play()
57
+ .then(() => console.log('MP4 auto-play success'))
58
+ .catch((err) => console.warn('MP4 auto-play error:', err));
59
+ }
60
+ }
61
+ };
62
+
63
+ setup();
64
+
65
+ return () => {
66
+ if (hls) hls.destroy();
67
+ };
68
+ }, [videoRef, src, autoPlay, onLoaded]);
69
+ }
package/index.d.ts CHANGED
@@ -40,3 +40,4 @@ export { default as Bars } from "./ui/chart/Bar";
40
40
  export { default as Lines } from "./ui/chart/Line";
41
41
  export { default as ChartPie } from "./ui/chart/Pie";
42
42
  export { default as SideBar } from "./ui/sidebar/SideBar";
43
+ export { default as Video } from "./ui/video/Video";
package/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SideBar = exports.ChartPie = exports.Lines = exports.Bars = exports.FullCenteredPage = exports.CircleGroup = exports.Circle = exports.Hr = exports.Section = exports.RowFlex = exports.Tip = exports.AppBar = exports.ToolTip = exports.Notification = exports.FunLoader = exports.ProgressBar = exports.DropMenu = exports.DropItem = exports.Dropdown = exports.DropDown = exports.DropUp = exports.UnAuthorized = exports.NotFound = exports.StepLine = exports.StepHeader = exports.Step = exports.StepContainer = exports.Div = exports.Text = exports.List = exports.Table = exports.Modal = exports.Loader = exports.Input = exports.Col = exports.Grid = exports.Container = exports.BreadCrumb = exports.Card = exports.Button = exports.ThemeProvider = exports.Alert = void 0;
6
+ exports.Video = exports.SideBar = exports.ChartPie = exports.Lines = exports.Bars = exports.FullCenteredPage = exports.CircleGroup = exports.Circle = exports.Hr = exports.Section = exports.RowFlex = exports.Tip = exports.AppBar = exports.ToolTip = exports.Notification = exports.FunLoader = exports.ProgressBar = exports.DropMenu = exports.DropItem = exports.Dropdown = exports.DropDown = exports.DropUp = exports.UnAuthorized = exports.NotFound = exports.StepLine = exports.StepHeader = exports.Step = exports.StepContainer = exports.Div = exports.Text = exports.List = exports.Table = exports.Modal = exports.Loader = exports.Input = exports.Col = exports.Grid = exports.Container = exports.BreadCrumb = exports.Card = exports.Button = exports.ThemeProvider = exports.Alert = void 0;
7
7
  var Alert_1 = require("./ui/alert/Alert");
8
8
  Object.defineProperty(exports, "Alert", { enumerable: true, get: function () { return __importDefault(Alert_1).default; } });
9
9
  var theme_1 = require("./ui/theme/theme");
@@ -88,3 +88,5 @@ var Pie_1 = require("./ui/chart/Pie");
88
88
  Object.defineProperty(exports, "ChartPie", { enumerable: true, get: function () { return __importDefault(Pie_1).default; } });
89
89
  var SideBar_1 = require("./ui/sidebar/SideBar");
90
90
  Object.defineProperty(exports, "SideBar", { enumerable: true, get: function () { return __importDefault(SideBar_1).default; } });
91
+ var Video_1 = require("./ui/video/Video");
92
+ Object.defineProperty(exports, "Video", { enumerable: true, get: function () { return __importDefault(Video_1).default; } });
package/index.tsx CHANGED
@@ -39,4 +39,5 @@ export { default as FullCenteredPage } from "./ui/specials/FullCenteredPage"
39
39
  export { default as Bars } from "./ui/chart/Bar"
40
40
  export { default as Lines } from "./ui/chart/Line"
41
41
  export { default as ChartPie } from "./ui/chart/Pie"
42
- export { default as SideBar } from "./ui/sidebar/SideBar"
42
+ export { default as SideBar } from "./ui/sidebar/SideBar"
43
+ export { default as Video } from "./ui/video/Video"