webs-sdk 0.18.57 → 0.18.58

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.
@@ -7,60 +7,60 @@ const useDeepAR_1 = require("./useDeepAR");
7
7
  const FilterCarousel_1 = require("./FilterCarousel");
8
8
  const Popups_1 = require("./Popups");
9
9
  const constants_1 = require("./constants");
10
- const DEEPAR_CSS = `
11
- .deepar-container{position:relative;width:100%;max-width:800px;margin:0 auto;aspect-ratio:4/3;background-color:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3)}
12
- @media(max-width:768px){.deepar-container{max-width:100%;aspect-ratio:auto;height:70vh;max-height:600px;border-radius:8px}}
13
- .deepar-canvas{width:100%;height:100%;object-fit:contain}
14
- .deepar-loading-veil{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10}
15
- .deepar-loading-items{display:flex;flex-direction:column;align-items:center;gap:16px}
16
- .deepar-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:deepar-spin 1s linear infinite}
17
- @keyframes deepar-spin{to{transform:rotate(360deg)}}
18
- .deepar-loading-text{color:#fff;font-size:16px;font-weight:500}
19
- .deepar-top-buttons{position:absolute;top:0;right:0;display:flex;gap:12px;padding:16px;z-index:20}
20
- .deepar-fullscreen-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
21
- .deepar-fullscreen-button:hover{background:rgba(0,0,0,.8);border-color:rgba(255,255,255,.5)}
22
- .deepar-fullscreen-button:active{transform:scale(.95);background:rgba(0,0,0,.9)}
23
- @media(max-width:768px){.deepar-fullscreen-button{width:56px;height:56px;background:rgba(0,0,0,.7)}}
24
- .deepar-recording-progress-bar{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:400px;height:8px;background:rgba(255,255,255,.2);border-radius:17px;overflow:hidden;z-index:5}
25
- .deepar-time-progress{height:100%;background:#dc2626;border-radius:17px;transition:width 100ms linear}
26
- .deepar-pause-recording-container{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;z-index:5}
27
- .deepar-pause-recording-button{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(0,0,0,.5);border:3px solid #fff;border-radius:50%;cursor:pointer;transition:all .2s}
28
- .deepar-pause-recording-inner{width:24px;height:24px;background:#dc2626;border-radius:4px}
29
- .deepar-carousel-container{position:absolute;bottom:0;left:0;width:100%;visibility:hidden;opacity:0;transition:opacity .3s;z-index:4}
30
- .deepar-carousel-container.visible{visibility:visible;opacity:1}
31
- .deepar-carousel-wrapper{position:relative;display:flex;align-items:center;justify-content:center;padding:24px 0;background:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.95) 50%,rgba(0,0,0,0) 100%)}
32
- .deepar-carousel-content{position:relative;display:flex;align-items:center;justify-content:center;flex:1}
33
- .deepar-carousel{max-width:368px;overflow:hidden;padding:0 20px}
34
- @media(max-width:768px){.deepar-carousel{max-width:280px;padding:0 10px}}
35
- .deepar-carousel-slides{display:flex;gap:16px}
36
- .deepar-carousel-slide{flex:0 0 auto;cursor:pointer;transition:all .3s ease;opacity:.6}
37
- .deepar-carousel-slide:hover{opacity:.8}
38
- .deepar-carousel-slide.active{opacity:1}
39
- .deepar-filter-thumb{width:64px;height:64px;border-radius:50%;overflow:hidden;transition:all .3s ease;border:3px solid rgba(255,255,255,.2)}
40
- .deepar-carousel-slide.active .deepar-filter-thumb{width:76px;height:76px;border:3px solid rgba(255,255,255,1);box-shadow:0 0 0 8px rgba(0,0,0,.4)}
41
- .deepar-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;transition:all .3s;z-index:5;color:#fff}
42
- .deepar-carousel-arrow.prev{left:16px}
43
- .deepar-carousel-arrow.next{right:16px}
44
- .deepar-carousel-arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.1);background:rgba(0,0,0,.6)}
45
- .deepar-carousel-arrow:disabled{opacity:.3;cursor:not-allowed}
46
- .deepar-selection-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110px;height:110px;background:rgba(0,0,0,.4);border:4px solid rgba(255,255,255,.9);border-radius:50%;cursor:pointer;z-index:6;transition:all .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(0,0,0,.3)}
47
- .deepar-selection-ring:hover{transform:translate(-50%,-50%) scale(1.05);border-color:#fff}
48
- .deepar-selection-ring-camera{color:#fff}
49
- .deepar-creation-container{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;z-index:8}
50
- .deepar-created-video,.deepar-created-image{width:100%;height:100%;object-fit:cover}
51
- .deepar-creation-buttons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
52
- .deepar-creation-buttons>*{pointer-events:all}
53
- .deepar-discard-button{position:absolute;top:24px;left:24px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:rgba(0,0,0,.5);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
54
- .deepar-bottom-buttons-creation{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:16px}
55
- .deepar-creation-button{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(0,0,0,.5);border:3px solid #fff;border-radius:50%;cursor:pointer;transition:all .2s}
56
- .deepar-creation-button:hover{background:rgba(0,0,0,.7);transform:scale(1.1)}
57
- .deepar-popup{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:50}
58
- .deepar-popup-box{background:#fff;border-radius:12px;padding:48px 32px;max-width:400px;width:90%;text-align:center}
59
- .deepar-popup-image{margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
60
- .deepar-popup-title{font-size:18px;font-weight:600;color:#111;margin-bottom:24px}
61
- .deepar-popup-button{display:inline-block;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .2s}
62
- .deepar-popup-button:hover{transform:scale(1.05)}
63
- .deepar-download-success{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 32px;background:rgba(34,197,94,.95);color:#fff;border-radius:8px;font-size:16px;font-weight:600;z-index:100}
10
+ const DEEPAR_CSS = `
11
+ .deepar-container{position:relative;width:100%;max-width:800px;margin:0 auto;aspect-ratio:4/3;background-color:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3)}
12
+ @media(max-width:768px){.deepar-container{max-width:100%;aspect-ratio:auto;height:70vh;max-height:600px;border-radius:8px}}
13
+ .deepar-canvas{width:100%;height:100%;object-fit:contain}
14
+ .deepar-loading-veil{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10}
15
+ .deepar-loading-items{display:flex;flex-direction:column;align-items:center;gap:16px}
16
+ .deepar-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:deepar-spin 1s linear infinite}
17
+ @keyframes deepar-spin{to{transform:rotate(360deg)}}
18
+ .deepar-loading-text{color:#fff;font-size:16px;font-weight:500}
19
+ .deepar-top-buttons{position:absolute;top:0;right:0;display:flex;gap:12px;padding:16px;z-index:20}
20
+ .deepar-fullscreen-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
21
+ .deepar-fullscreen-button:hover{background:rgba(0,0,0,.8);border-color:rgba(255,255,255,.5)}
22
+ .deepar-fullscreen-button:active{transform:scale(.95);background:rgba(0,0,0,.9)}
23
+ @media(max-width:768px){.deepar-fullscreen-button{width:56px;height:56px;background:rgba(0,0,0,.7)}}
24
+ .deepar-recording-progress-bar{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:400px;height:8px;background:rgba(255,255,255,.2);border-radius:17px;overflow:hidden;z-index:5}
25
+ .deepar-time-progress{height:100%;background:#dc2626;border-radius:17px;transition:width 100ms linear}
26
+ .deepar-pause-recording-container{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;z-index:5}
27
+ .deepar-pause-recording-button{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(0,0,0,.5);border:3px solid #fff;border-radius:50%;cursor:pointer;transition:all .2s}
28
+ .deepar-pause-recording-inner{width:24px;height:24px;background:#dc2626;border-radius:4px}
29
+ .deepar-carousel-container{position:absolute;bottom:0;left:0;width:100%;visibility:hidden;opacity:0;transition:opacity .3s;z-index:4}
30
+ .deepar-carousel-container.visible{visibility:visible;opacity:1}
31
+ .deepar-carousel-wrapper{position:relative;display:flex;align-items:center;justify-content:center;padding:24px 0;background:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.95) 50%,rgba(0,0,0,0) 100%)}
32
+ .deepar-carousel-content{position:relative;display:flex;align-items:center;justify-content:center;flex:1}
33
+ .deepar-carousel{max-width:368px;overflow:hidden;padding:0 20px}
34
+ @media(max-width:768px){.deepar-carousel{max-width:280px;padding:0 10px}}
35
+ .deepar-carousel-slides{display:flex;gap:16px}
36
+ .deepar-carousel-slide{flex:0 0 auto;cursor:pointer;transition:all .3s ease;opacity:.6}
37
+ .deepar-carousel-slide:hover{opacity:.8}
38
+ .deepar-carousel-slide.active{opacity:1}
39
+ .deepar-filter-thumb{width:64px;height:64px;border-radius:50%;overflow:hidden;transition:all .3s ease;border:3px solid rgba(255,255,255,.2)}
40
+ .deepar-carousel-slide.active .deepar-filter-thumb{width:76px;height:76px;border:3px solid rgba(255,255,255,1);box-shadow:0 0 0 8px rgba(0,0,0,.4)}
41
+ .deepar-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;transition:all .3s;z-index:5;color:#fff}
42
+ .deepar-carousel-arrow.prev{left:16px}
43
+ .deepar-carousel-arrow.next{right:16px}
44
+ .deepar-carousel-arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.1);background:rgba(0,0,0,.6)}
45
+ .deepar-carousel-arrow:disabled{opacity:.3;cursor:not-allowed}
46
+ .deepar-selection-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110px;height:110px;background:rgba(0,0,0,.4);border:4px solid rgba(255,255,255,.9);border-radius:50%;cursor:pointer;z-index:6;transition:all .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(0,0,0,.3)}
47
+ .deepar-selection-ring:hover{transform:translate(-50%,-50%) scale(1.05);border-color:#fff}
48
+ .deepar-selection-ring-camera{color:#fff}
49
+ .deepar-creation-container{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;z-index:8}
50
+ .deepar-created-video,.deepar-created-image{width:100%;height:100%;object-fit:cover}
51
+ .deepar-creation-buttons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
52
+ .deepar-creation-buttons>*{pointer-events:all}
53
+ .deepar-discard-button{position:absolute;top:24px;left:24px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:rgba(0,0,0,.5);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
54
+ .deepar-bottom-buttons-creation{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:16px}
55
+ .deepar-creation-button{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(0,0,0,.5);border:3px solid #fff;border-radius:50%;cursor:pointer;transition:all .2s}
56
+ .deepar-creation-button:hover{background:rgba(0,0,0,.7);transform:scale(1.1)}
57
+ .deepar-popup{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:50}
58
+ .deepar-popup-box{background:#fff;border-radius:12px;padding:48px 32px;max-width:400px;width:90%;text-align:center}
59
+ .deepar-popup-image{margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
60
+ .deepar-popup-title{font-size:18px;font-weight:600;color:#111;margin-bottom:24px}
61
+ .deepar-popup-button{display:inline-block;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .2s}
62
+ .deepar-popup-button:hover{transform:scale(1.05)}
63
+ .deepar-download-success{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 32px;background:rgba(34,197,94,.95);color:#fff;border-radius:8px;font-size:16px;font-weight:600;z-index:100}
64
64
  `;
65
65
  function ARFilters(props) {
66
66
  (0, react_1.useEffect)(() => {
@@ -5,10 +5,10 @@ exports.AvatarAIForYouCard = AvatarAIForYouCard;
5
5
  exports.AvatarAIPage = AvatarAIPage;
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
- const AVATAR_AI_CSS = `
9
- .avatarai-styles-grid::-webkit-scrollbar { width: 6px; }
10
- .avatarai-styles-grid::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; }
11
- .avatarai-styles-grid::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
8
+ const AVATAR_AI_CSS = `
9
+ .avatarai-styles-grid::-webkit-scrollbar { width: 6px; }
10
+ .avatarai-styles-grid::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; }
11
+ .avatarai-styles-grid::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
12
12
  `;
13
13
  const defaultStyles = [
14
14
  { id: 1, name: 'Pirate', image: 'https://cdn.smarthubtech.net/upload/20240426_135427_99796_1_cuadrada.png' },
@@ -5,36 +5,36 @@ exports.COOKIE_CONSENT_COOKIE_NAME = 'cookieConsent';
5
5
  exports.COOKIE_CONSENT_COOKIE_MAX_AGE = 60 * 60 * 24 * 365;
6
6
  exports.TRACKING_PERMISSION_KEY = 'TRACKING_PERMISSION';
7
7
  exports.FUNCTIONAL_PERMISSION_KEY = 'FUNCTIONAL_PERMISSION';
8
- exports.COOKIE_CONSENT_CSS = `
9
- .cc-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:16px;box-sizing:border-box}
10
- .cc-banner{max-width:960px;margin:0 auto;padding:24px 28px;border-radius:12px;box-shadow:0 -4px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.12);display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
11
- @media(min-width:640px){.cc-banner{flex-wrap:nowrap;align-items:center}}
12
- .cc-content{flex:1;min-width:0}
13
- .cc-title{font-size:16px;font-weight:700;margin:0 0 6px 0;line-height:1.3}
14
- .cc-description{font-size:13px;line-height:1.55;margin:0;opacity:.85}
15
- .cc-link{text-decoration:underline;cursor:pointer;margin-left:4px}
16
- .cc-actions{display:flex;gap:8px;flex-shrink:0;flex-direction:column;align-items:stretch}
17
- @media(min-width:480px){.cc-actions{flex-direction:row;align-items:center}}
18
- .cc-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .2s;white-space:nowrap;line-height:1}
19
- .cc-btn:hover{opacity:.88}
20
- .cc-btn-essential{background:transparent}
21
- .cc-config-link{background:none;border:none;cursor:pointer;font-size:12px;text-decoration:underline;padding:4px 0;font-family:inherit;line-height:1;opacity:.7;white-space:nowrap;display:block;text-align:center}
22
- .cc-config-link:hover{opacity:1}
23
- .cc-banner.cc-settings-mode{display:block}
24
- .cc-settings-title{font-size:15px;font-weight:700;margin:0 0 14px 0}
25
- .cc-settings-sep{border:none;border-top:1px solid rgba(255,255,255,.12);margin:0 0 16px}
26
- .cc-category{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
27
- .cc-category:last-of-type{margin-bottom:0}
28
- .cc-category-row{display:flex;align-items:center;gap:10px}
29
- .cc-category-label{font-size:13px;font-weight:600;cursor:pointer;user-select:none;line-height:1.3}
30
- .cc-category-label.cc-mandatory{cursor:default;opacity:.55}
31
- .cc-category-desc{font-size:12px;line-height:1.55;opacity:.7;padding-left:26px;margin:0}
32
- .cc-checkbox{width:15px;height:15px;flex-shrink:0;cursor:pointer;margin:0}
33
- .cc-checkbox:disabled{cursor:default}
34
- .cc-settings-footer{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
35
- .cc-enter{animation:cc-slideup .28s ease-out}
36
- .cc-exit{animation:cc-slidedown .22s ease-in forwards}
37
- @keyframes cc-slideup{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
38
- @keyframes cc-slidedown{from{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}
8
+ exports.COOKIE_CONSENT_CSS = `
9
+ .cc-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:16px;box-sizing:border-box}
10
+ .cc-banner{max-width:960px;margin:0 auto;padding:24px 28px;border-radius:12px;box-shadow:0 -4px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.12);display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
11
+ @media(min-width:640px){.cc-banner{flex-wrap:nowrap;align-items:center}}
12
+ .cc-content{flex:1;min-width:0}
13
+ .cc-title{font-size:16px;font-weight:700;margin:0 0 6px 0;line-height:1.3}
14
+ .cc-description{font-size:13px;line-height:1.55;margin:0;opacity:.85}
15
+ .cc-link{text-decoration:underline;cursor:pointer;margin-left:4px}
16
+ .cc-actions{display:flex;gap:8px;flex-shrink:0;flex-direction:column;align-items:stretch}
17
+ @media(min-width:480px){.cc-actions{flex-direction:row;align-items:center}}
18
+ .cc-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .2s;white-space:nowrap;line-height:1}
19
+ .cc-btn:hover{opacity:.88}
20
+ .cc-btn-essential{background:transparent}
21
+ .cc-config-link{background:none;border:none;cursor:pointer;font-size:12px;text-decoration:underline;padding:4px 0;font-family:inherit;line-height:1;opacity:.7;white-space:nowrap;display:block;text-align:center}
22
+ .cc-config-link:hover{opacity:1}
23
+ .cc-banner.cc-settings-mode{display:block}
24
+ .cc-settings-title{font-size:15px;font-weight:700;margin:0 0 14px 0}
25
+ .cc-settings-sep{border:none;border-top:1px solid rgba(255,255,255,.12);margin:0 0 16px}
26
+ .cc-category{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
27
+ .cc-category:last-of-type{margin-bottom:0}
28
+ .cc-category-row{display:flex;align-items:center;gap:10px}
29
+ .cc-category-label{font-size:13px;font-weight:600;cursor:pointer;user-select:none;line-height:1.3}
30
+ .cc-category-label.cc-mandatory{cursor:default;opacity:.55}
31
+ .cc-category-desc{font-size:12px;line-height:1.55;opacity:.7;padding-left:26px;margin:0}
32
+ .cc-checkbox{width:15px;height:15px;flex-shrink:0;cursor:pointer;margin:0}
33
+ .cc-checkbox:disabled{cursor:default}
34
+ .cc-settings-footer{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
35
+ .cc-enter{animation:cc-slideup .28s ease-out}
36
+ .cc-exit{animation:cc-slidedown .22s ease-in forwards}
37
+ @keyframes cc-slideup{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
38
+ @keyframes cc-slidedown{from{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}
39
39
  `;
40
40
  //# sourceMappingURL=constants.js.map
@@ -9,18 +9,18 @@ exports.CreativeFaceSwap = CreativeFaceSwap;
9
9
  const jsx_runtime_1 = require("react/jsx-runtime");
10
10
  const react_1 = require("react");
11
11
  const link_1 = __importDefault(require("next/link"));
12
- const FACESWAP_CSS = `
13
- .faceswap-layout { display: flex; flex-direction: row; align-items: stretch; }
14
- .faceswap-col-left { width: 30%; min-width: 280px; background: white; border: 1px solid #e5e7eb; display: flex; flex-direction: column; }
15
- .faceswap-col-right { flex: 1; background: white; border: 1px solid #e5e7eb; border-left: none; display: flex; flex-direction: column; }
16
- .faceswap-col-right > div:first-child { flex: 0 0 auto; }
17
- .faceswap-col-right > div:last-child { flex: 1; display: flex; flex-direction: column; }
18
- .faceswap-col-right > div:last-child > .faceswap-result-area { flex: 1; min-height: 0; }
19
- @media (max-width: 768px) {
20
- .faceswap-layout { flex-direction: column; }
21
- .faceswap-col-left { width: 100%; min-width: unset; }
22
- .faceswap-col-right { border-left: 1px solid #e5e7eb; border-top: none; width: 100%; }
23
- }
12
+ const FACESWAP_CSS = `
13
+ .faceswap-layout { display: flex; flex-direction: row; align-items: stretch; }
14
+ .faceswap-col-left { width: 30%; min-width: 280px; background: white; border: 1px solid #e5e7eb; display: flex; flex-direction: column; }
15
+ .faceswap-col-right { flex: 1; background: white; border: 1px solid #e5e7eb; border-left: none; display: flex; flex-direction: column; }
16
+ .faceswap-col-right > div:first-child { flex: 0 0 auto; }
17
+ .faceswap-col-right > div:last-child { flex: 1; display: flex; flex-direction: column; }
18
+ .faceswap-col-right > div:last-child > .faceswap-result-area { flex: 1; min-height: 0; }
19
+ @media (max-width: 768px) {
20
+ .faceswap-layout { flex-direction: column; }
21
+ .faceswap-col-left { width: 100%; min-width: unset; }
22
+ .faceswap-col-right { border-left: 1px solid #e5e7eb; border-top: none; width: 100%; }
23
+ }
24
24
  `;
25
25
  function CreativeFaceSwapForYouCard({ title, description, ctaText, ctaHref, desktopImage, mobileImage, imageAlt = '', imageOnRight = true, titleColor = '#001B5E', descriptionColor = '#001B5E', ctaColor = '#FF5500', ctaHoverColor = '#ff1600', backgroundColor = '#F9F9F9', paddingClass = 'py-12 md:py-16 lg:py-20', }) {
26
26
  const effectiveMobileImage = mobileImage || desktopImage;
@@ -31,18 +31,18 @@ const defaultTexts = {
31
31
  noMemes: 'No memes available',
32
32
  };
33
33
  const TEXT_SHADOW = '2px 2px 0 #000, -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000';
34
- const MEME_CSS = `
35
- .memegen-grid {
36
- display: grid;
37
- grid-template-columns: 1fr;
38
- gap: 24px;
39
- align-items: stretch;
40
- }
41
- @media (min-width: 1024px) {
42
- .memegen-grid {
43
- grid-template-columns: 1fr 1fr;
44
- }
45
- }
34
+ const MEME_CSS = `
35
+ .memegen-grid {
36
+ display: grid;
37
+ grid-template-columns: 1fr;
38
+ gap: 24px;
39
+ align-items: stretch;
40
+ }
41
+ @media (min-width: 1024px) {
42
+ .memegen-grid {
43
+ grid-template-columns: 1fr 1fr;
44
+ }
45
+ }
46
46
  `;
47
47
  function MemeGenerator({ memes: memesProp, config, fonts = defaultFonts, defaultMemeIndex = 0, theme = {}, texts = {}, imageProxyUrl, onDownload, }) {
48
48
  const mergedTheme = Object.assign(Object.assign({}, defaultTheme), theme);
@@ -23,38 +23,38 @@ exports.DEFAULT_PASSWORD_RULES = {
23
23
  requireNumber: true,
24
24
  requireSpecialChar: false,
25
25
  };
26
- exports.PASSWORD_RESET_CSS = `
27
- .pr-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px;box-sizing:border-box}
28
- .pr-logo-wrap{margin-bottom:24px;text-align:center}
29
- .pr-logo{display:block;max-width:200px;max-height:60px;width:auto;height:auto;object-fit:contain;margin:0 auto}
30
- .pr-card{width:100%;max-width:var(--pr-card-max-width,400px);padding:32px 24px;border-radius:16px;box-sizing:border-box}
31
- .pr-title{font-size:32px;font-weight:600;text-align:center;margin:0;line-height:1.2}
32
- .pr-subtitle{font-size:20px;text-align:center;margin:24px 0 0 0;line-height:1.4;font-weight:400;opacity:0.8}
33
- .pr-field{margin-bottom:16px}
34
- .pr-label{display:block;font-size:20px;font-weight:500;margin-bottom:12px}
35
- .pr-input-wrap{position:relative;display:flex;align-items:center}
36
- .pr-input-icon{position:absolute;left:14px;width:20px;height:20px;flex-shrink:0;pointer-events:none;display:flex;align-items:center;justify-content:center}
37
- .pr-input-icon svg{width:20px;height:20px;display:block}
38
- .pr-input{width:100%;padding:14px 44px;border-radius:999px;border:1.5px solid;font-size:16px;outline:none;transition:border-color .18s,opacity .18s;box-sizing:border-box;font-family:inherit;line-height:1.4}
39
- .pr-input::placeholder{color:var(--pr-ph,rgba(255,255,255,0.35))}
40
- .pr-input:disabled{opacity:.6;cursor:not-allowed}
41
- .pr-input-eye{position:absolute;right:14px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:opacity .18s;line-height:0}
42
- .pr-input-eye:hover{opacity:.7}
43
- .pr-input-eye svg{width:20px;height:20px;display:block}
44
- .pr-btn{width:100%;padding:16px 24px;border-radius:999px;border:none;font-size:18px;font-weight:700;cursor:pointer;transition:opacity .18s,transform .1s;margin-top:12px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1}
45
- .pr-btn:hover:not(:disabled){opacity:.85}
46
- .pr-btn:active:not(:disabled){transform:scale(.98)}
47
- .pr-btn:disabled{cursor:not-allowed;opacity:.5}
48
- .pr-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pr-spin .65s linear infinite;flex-shrink:0}
49
- @keyframes pr-spin{to{transform:rotate(360deg)}}
50
- .pr-error-msg{font-size:15px;text-align:center;margin:16px 0 0 0;line-height:1.5}
51
- .pr-success{text-align:center;padding:8px 0}
52
- .pr-success-icon{font-size:52px;margin-bottom:24px;line-height:1}
53
- .pr-success-text{font-size:18px;line-height:1.65;margin:0}
54
- .pr-rules{margin:14px 0 4px 6px;display:flex;flex-direction:column;gap:10px}
55
- .pr-rule{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.3;transition:color .2s}
56
- .pr-rule-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;transition:background-color .2s}
57
- @media(min-width:768px){.pr-card{max-width:var(--pr-card-max-width,448px);padding:32px}.pr-subtitle{margin:32px 0 0 0}.pr-field{margin-bottom:20px}}
58
- @media(min-width:1024px){.pr-card{max-width:var(--pr-card-max-width,512px);padding:40px}.pr-subtitle{margin:40px 0 0 0}.pr-field{margin-bottom:24px}}
26
+ exports.PASSWORD_RESET_CSS = `
27
+ .pr-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px;box-sizing:border-box}
28
+ .pr-logo-wrap{margin-bottom:24px;text-align:center}
29
+ .pr-logo{display:block;max-width:200px;max-height:60px;width:auto;height:auto;object-fit:contain;margin:0 auto}
30
+ .pr-card{width:100%;max-width:var(--pr-card-max-width,400px);padding:32px 24px;border-radius:16px;box-sizing:border-box}
31
+ .pr-title{font-size:32px;font-weight:600;text-align:center;margin:0;line-height:1.2}
32
+ .pr-subtitle{font-size:20px;text-align:center;margin:24px 0 0 0;line-height:1.4;font-weight:400;opacity:0.8}
33
+ .pr-field{margin-bottom:16px}
34
+ .pr-label{display:block;font-size:20px;font-weight:500;margin-bottom:12px}
35
+ .pr-input-wrap{position:relative;display:flex;align-items:center}
36
+ .pr-input-icon{position:absolute;left:14px;width:20px;height:20px;flex-shrink:0;pointer-events:none;display:flex;align-items:center;justify-content:center}
37
+ .pr-input-icon svg{width:20px;height:20px;display:block}
38
+ .pr-input{width:100%;padding:14px 44px;border-radius:999px;border:1.5px solid;font-size:16px;outline:none;transition:border-color .18s,opacity .18s;box-sizing:border-box;font-family:inherit;line-height:1.4}
39
+ .pr-input::placeholder{color:var(--pr-ph,rgba(255,255,255,0.35))}
40
+ .pr-input:disabled{opacity:.6;cursor:not-allowed}
41
+ .pr-input-eye{position:absolute;right:14px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:opacity .18s;line-height:0}
42
+ .pr-input-eye:hover{opacity:.7}
43
+ .pr-input-eye svg{width:20px;height:20px;display:block}
44
+ .pr-btn{width:100%;padding:16px 24px;border-radius:999px;border:none;font-size:18px;font-weight:700;cursor:pointer;transition:opacity .18s,transform .1s;margin-top:12px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1}
45
+ .pr-btn:hover:not(:disabled){opacity:.85}
46
+ .pr-btn:active:not(:disabled){transform:scale(.98)}
47
+ .pr-btn:disabled{cursor:not-allowed;opacity:.5}
48
+ .pr-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pr-spin .65s linear infinite;flex-shrink:0}
49
+ @keyframes pr-spin{to{transform:rotate(360deg)}}
50
+ .pr-error-msg{font-size:15px;text-align:center;margin:16px 0 0 0;line-height:1.5}
51
+ .pr-success{text-align:center;padding:8px 0}
52
+ .pr-success-icon{font-size:52px;margin-bottom:24px;line-height:1}
53
+ .pr-success-text{font-size:18px;line-height:1.65;margin:0}
54
+ .pr-rules{margin:14px 0 4px 6px;display:flex;flex-direction:column;gap:10px}
55
+ .pr-rule{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.3;transition:color .2s}
56
+ .pr-rule-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;transition:background-color .2s}
57
+ @media(min-width:768px){.pr-card{max-width:var(--pr-card-max-width,448px);padding:32px}.pr-subtitle{margin:32px 0 0 0}.pr-field{margin-bottom:20px}}
58
+ @media(min-width:1024px){.pr-card{max-width:var(--pr-card-max-width,512px);padding:40px}.pr-subtitle{margin:40px 0 0 0}.pr-field{margin-bottom:24px}}
59
59
  `;
60
60
  //# sourceMappingURL=constants.js.map
@@ -231,13 +231,13 @@ function SpinningWheel({ config: configProp, onResult, onError, canSpin = true,
231
231
  }
232
232
  };
233
233
  const backgroundAsset = currentTheme.backgroundAsset;
234
- return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', display: 'flex', flexDirection: 'column', alignItems: 'center', gap: '32px', padding: '32px', minHeight: '100vh', overflow: 'hidden' }, children: [backgroundAsset && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("style", { children: `
235
- .sw-bg-desktop { display: block; }
236
- .sw-bg-mobile { display: none; }
237
- @media (max-width: 767px) {
238
- .sw-bg-desktop { display: none; }
239
- .sw-bg-mobile { display: block; }
240
- }
234
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', display: 'flex', flexDirection: 'column', alignItems: 'center', gap: '32px', padding: '32px', minHeight: '100vh', overflow: 'hidden' }, children: [backgroundAsset && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("style", { children: `
235
+ .sw-bg-desktop { display: block; }
236
+ .sw-bg-mobile { display: none; }
237
+ @media (max-width: 767px) {
238
+ .sw-bg-desktop { display: none; }
239
+ .sw-bg-mobile { display: block; }
240
+ }
241
241
  ` }), (0, jsx_runtime_1.jsx)("img", { src: backgroundAsset.desktop, alt: "", className: "sw-bg-desktop", style: {
242
242
  position: 'absolute',
243
243
  top: 0,
@@ -1,11 +1,16 @@
1
- interface VideoPlayerProps {
1
+ import React from "react";
2
+ interface VideoPlayerProps extends React.HTMLAttributes<HTMLVideoElement> {
2
3
  videoUrl: string;
3
4
  posterImage?: string;
4
5
  title?: string;
5
6
  className?: string;
6
7
  autoPlay?: boolean;
7
8
  contentId?: string | number;
9
+ onNext?: () => void;
10
+ onPrev?: () => void;
11
+ hasNext?: boolean;
12
+ hasPrev?: boolean;
8
13
  }
9
- export declare function VideoPlayer({ videoUrl, posterImage, title, className, autoPlay, contentId }: VideoPlayerProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function VideoPlayer({ videoUrl, posterImage, title, className, autoPlay, contentId, onNext, onPrev, hasNext, hasPrev, ...props }: VideoPlayerProps): import("react/jsx-runtime").JSX.Element;
10
15
  export {};
11
16
  //# sourceMappingURL=VideoPlayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/VideoPlayer.tsx"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAc,EAAE,QAAgB,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAsO1H"}
1
+ {"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/VideoPlayer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,UAAU,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,WAAW,EACX,KAAK,EACL,SAAc,EACd,QAAgB,EAChB,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAc,EACd,OAAc,EACd,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAmSlB"}
@@ -1,9 +1,22 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.VideoPlayer = VideoPlayer;
4
15
  const jsx_runtime_1 = require("react/jsx-runtime");
16
+ const utils_1 = require("../../libraries/utils");
5
17
  const react_1 = require("react");
6
- function VideoPlayer({ videoUrl, posterImage, title, className = '', autoPlay = false, contentId }) {
18
+ function VideoPlayer(_a) {
19
+ var { videoUrl, posterImage, title, className = "", autoPlay = false, contentId, onNext, onPrev, hasNext = true, hasPrev = true } = _a, props = __rest(_a, ["videoUrl", "posterImage", "title", "className", "autoPlay", "contentId", "onNext", "onPrev", "hasNext", "hasPrev"]);
7
20
  const [isPlaying, setIsPlaying] = (0, react_1.useState)(autoPlay);
8
21
  const [isMuted, setIsMuted] = (0, react_1.useState)(false);
9
22
  const [currentTime, setCurrentTime] = (0, react_1.useState)(0);
@@ -29,8 +42,8 @@ function VideoPlayer({ videoUrl, posterImage, title, className = '', autoPlay =
29
42
  const handleCanPlay = () => {
30
43
  setIsLoading(false);
31
44
  if (autoPlay && !isPlaying) {
32
- video.play().catch(err => {
33
- console.warn('Autoplay prevented:', err);
45
+ video.play().catch((err) => {
46
+ console.warn("Autoplay prevented:", err);
34
47
  });
35
48
  }
36
49
  };
@@ -38,17 +51,17 @@ function VideoPlayer({ videoUrl, posterImage, title, className = '', autoPlay =
38
51
  setIsPlaying(false);
39
52
  setCurrentTime(0);
40
53
  };
41
- video.addEventListener('loadedmetadata', handleLoadedMetadata);
42
- video.addEventListener('timeupdate', handleTimeUpdate);
43
- video.addEventListener('waiting', handleWaiting);
44
- video.addEventListener('canplay', handleCanPlay);
45
- video.addEventListener('ended', handleEnded);
54
+ video.addEventListener("loadedmetadata", handleLoadedMetadata);
55
+ video.addEventListener("timeupdate", handleTimeUpdate);
56
+ video.addEventListener("waiting", handleWaiting);
57
+ video.addEventListener("canplay", handleCanPlay);
58
+ video.addEventListener("ended", handleEnded);
46
59
  return () => {
47
- video.removeEventListener('loadedmetadata', handleLoadedMetadata);
48
- video.removeEventListener('timeupdate', handleTimeUpdate);
49
- video.removeEventListener('waiting', handleWaiting);
50
- video.removeEventListener('canplay', handleCanPlay);
51
- video.removeEventListener('ended', handleEnded);
60
+ video.removeEventListener("loadedmetadata", handleLoadedMetadata);
61
+ video.removeEventListener("timeupdate", handleTimeUpdate);
62
+ video.removeEventListener("waiting", handleWaiting);
63
+ video.removeEventListener("canplay", handleCanPlay);
64
+ video.removeEventListener("ended", handleEnded);
52
65
  };
53
66
  }, [autoPlay, isPlaying]);
54
67
  const togglePlay = () => {
@@ -90,7 +103,7 @@ function VideoPlayer({ videoUrl, posterImage, title, className = '', autoPlay =
90
103
  const formatTime = (seconds) => {
91
104
  const mins = Math.floor(seconds / 60);
92
105
  const secs = Math.floor(seconds % 60);
93
- return `${mins}:${secs.toString().padStart(2, '0')}`;
106
+ return `${mins}:${secs.toString().padStart(2, "0")}`;
94
107
  };
95
108
  const handleMouseMove = () => {
96
109
  setShowControls(true);
@@ -108,11 +121,11 @@ function VideoPlayer({ videoUrl, posterImage, title, className = '', autoPlay =
108
121
  setShowControls(false);
109
122
  }
110
123
  };
111
- return ((0, jsx_runtime_1.jsxs)("div", { className: `relative w-full bg-black rounded-lg overflow-hidden shadow-lg group ${className}`, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, style: { aspectRatio: '16/9' }, children: [(0, jsx_runtime_1.jsx)("video", { ref: videoRef, src: videoUrl, poster: posterImage, className: "w-full h-full object-contain", onClick: togglePlay }), !isPlaying && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "absolute inset-0 flex items-center justify-center bg-black/30 cursor-pointer", onClick: togglePlay }, (contentId !== undefined && {
112
- 'data-track-consume': 'play',
113
- 'data-content-id': String(contentId),
114
- }), { children: (0, jsx_runtime_1.jsx)("div", { className: "bg-red-600 rounded-full p-6 hover:bg-red-700 transition-colors", children: (0, jsx_runtime_1.jsx)("svg", { className: "w-12 h-12 text-white fill-current", viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { d: "M8 5v14l11-7z" }) }) }) }))), isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20", children: (0, jsx_runtime_1.jsx)("div", { className: "w-12 h-12 border-4 border-white border-t-transparent rounded-full animate-spin" }) })), (0, jsx_runtime_1.jsxs)("div", { className: `absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4 transition-opacity duration-300 ${showControls ? 'opacity-100' : 'opacity-0'}`, children: [(0, jsx_runtime_1.jsx)("input", { type: "range", min: "0", max: duration || 0, value: currentTime, onChange: handleSeek, className: "w-full h-1 mb-3 bg-gray-600 rounded-lg appearance-none cursor-pointer accent-red-600", style: {
115
- background: `linear-gradient(to right, #dc2626 0%, #dc2626 ${(currentTime / duration) * 100}%, #4b5563 ${(currentTime / duration) * 100}%, #4b5563 100%)`
116
- } }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between text-white", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("button", { onClick: togglePlay, className: "hover:text-red-600 transition-colors", children: isPlaying ? ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }) })) : ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M8 5v14l11-7z" }) })) }), (0, jsx_runtime_1.jsx)("button", { onClick: toggleMute, className: "hover:text-red-600 transition-colors", children: isMuted ? ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z" }) })) : ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z" }) })) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-sm", children: [formatTime(currentTime), " / ", formatTime(duration)] })] }), (0, jsx_runtime_1.jsx)("button", { onClick: handleFullscreen, className: "hover:text-red-600 transition-colors", children: (0, jsx_runtime_1.jsx)("svg", { className: "w-5 h-5", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" }) }) })] })] })] }));
124
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)("relative w-full bg-black rounded-lg overflow-hidden shadow-lg group", className), onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, style: { aspectRatio: "16/9" }, children: [(0, jsx_runtime_1.jsx)("video", Object.assign({ ref: videoRef, src: videoUrl, poster: posterImage, className: "w-full h-full object-contain", onClick: togglePlay }, props)), !isPlaying && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "absolute inset-0 flex items-center justify-center bg-black/30 cursor-pointer", onClick: togglePlay }, (contentId !== undefined && {
125
+ "data-track-consume": "play",
126
+ "data-content-id": String(contentId),
127
+ }), { children: (0, jsx_runtime_1.jsx)("div", { className: "bg-red-600 rounded-full p-6 hover:bg-red-700 transition-colors", children: (0, jsx_runtime_1.jsx)("svg", { className: "w-12 h-12 text-white fill-current", viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { d: "M8 5v14l11-7z" }) }) }) }))), isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20", children: (0, jsx_runtime_1.jsx)("div", { className: "w-12 h-12 border-4 border-white border-t-transparent rounded-full animate-spin" }) })), (0, jsx_runtime_1.jsxs)("div", { className: `absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4 transition-opacity duration-300 ${showControls ? "opacity-100" : "opacity-0"}`, children: [(0, jsx_runtime_1.jsx)("input", { type: "range", min: "0", max: duration || 0, value: currentTime, onChange: handleSeek, className: "w-full h-1 mb-3 bg-gray-600 rounded-lg appearance-none cursor-pointer accent-red-600", style: {
128
+ background: `linear-gradient(to right, #dc2626 0%, #dc2626 ${(currentTime / duration) * 100}%, #4b5563 ${(currentTime / duration) * 100}%, #4b5563 100%)`,
129
+ } }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between text-white", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [onPrev && ((0, jsx_runtime_1.jsx)("button", { onClick: onPrev, disabled: !hasPrev, className: `hover:text-red-600 transition-colors ${!hasPrev ? "opacity-40 cursor-not-allowed" : ""}`, children: (0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M6 6h2v12H6zm3.5 6l8.5 6V6z" }) }) })), (0, jsx_runtime_1.jsx)("button", { onClick: togglePlay, className: "hover:text-red-600 transition-colors", children: isPlaying ? ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }) })) : ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M8 5v14l11-7z" }) })) }), onNext && ((0, jsx_runtime_1.jsx)("button", { onClick: onNext, disabled: !hasNext, className: `hover:text-red-600 transition-colors ${!hasNext ? "opacity-40 cursor-not-allowed" : ""}`, children: (0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z" }) }) })), (0, jsx_runtime_1.jsx)("button", { onClick: toggleMute, className: "hover:text-red-600 transition-colors", children: isMuted ? ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z" }) })) : ((0, jsx_runtime_1.jsx)("svg", { className: "w-6 h-6", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z" }) })) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-sm", children: [formatTime(currentTime), " / ", formatTime(duration)] })] }), (0, jsx_runtime_1.jsx)("button", { onClick: handleFullscreen, className: "hover:text-red-600 transition-colors", children: (0, jsx_runtime_1.jsx)("svg", { className: "w-5 h-5", viewBox: "0 0 24 24", fill: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" }) }) })] })] })] }));
117
130
  }
118
131
  //# sourceMappingURL=VideoPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../src/components/ui/VideoPlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../src/components/ui/VideoPlayer.tsx"],"names":[],"mappings":"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"}