webs-sdk 0.18.77 → 0.18.78

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.
Files changed (36) hide show
  1. package/README.md +451 -451
  2. package/dist/components/ARFilters/ARFilters.js +54 -54
  3. package/dist/components/AvatarAI.js +6 -6
  4. package/dist/components/CookieConsent/constants.js +31 -31
  5. package/dist/components/CreativeFaceSwap.js +12 -12
  6. package/dist/components/MemeGenerator.js +12 -12
  7. package/dist/components/PasswordReset/constants.js +33 -33
  8. package/dist/components/Quiz.d.ts +2 -0
  9. package/dist/components/Quiz.d.ts.map +1 -1
  10. package/dist/components/Quiz.js +28 -11
  11. package/dist/components/Quiz.js.map +1 -1
  12. package/dist/components/SpinningWheel/SpinningWheel.js +7 -7
  13. package/dist/components/WallpapersName.d.ts +16 -6
  14. package/dist/components/WallpapersName.d.ts.map +1 -1
  15. package/dist/components/WallpapersName.js +42 -3
  16. package/dist/components/WallpapersName.js.map +1 -1
  17. package/dist/components/for-you/ForYouPage.d.ts +6 -1
  18. package/dist/components/for-you/ForYouPage.d.ts.map +1 -1
  19. package/dist/components/for-you/ForYouPage.js +15 -11
  20. package/dist/components/for-you/ForYouPage.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/package.json +79 -79
  25. package/public/spin2win/assets/border-afristream.svg +26 -26
  26. package/public/spin2win/assets/border-efc.svg +23 -23
  27. package/public/spin2win/assets/border-totalgym.svg +27 -27
  28. package/public/spin2win/assets/border-womantoday.svg +26 -26
  29. package/public/spin2win/assets/indicator-afristream.svg +28 -28
  30. package/public/spin2win/assets/indicator-efc.svg +29 -29
  31. package/public/spin2win/assets/indicator-totalgym.svg +29 -29
  32. package/public/spin2win/fonts/switzer/README.md +22 -22
  33. package/dist/libraries/globals.d.ts +0 -17
  34. package/dist/libraries/globals.d.ts.map +0 -1
  35. package/dist/libraries/globals.js +0 -38
  36. package/dist/libraries/globals.js.map +0 -1
@@ -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,12 +5,12 @@ 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; }
12
- @keyframes avatarai-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
13
- @keyframes avatarai-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }
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
+ @keyframes avatarai-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
13
+ @keyframes avatarai-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }
14
14
  `;
15
15
  const defaultStyles = [
16
16
  { 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
@@ -11,18 +11,18 @@ const react_1 = require("react");
11
11
  const link_1 = __importDefault(require("next/link"));
12
12
  const ui_1 = require("./ui");
13
13
  const utils_1 = require("../libraries/utils");
14
- const FACESWAP_CSS = `
15
- .faceswap-layout { display: flex; flex-direction: row; align-items: stretch; }
16
- .faceswap-col-left { width: 30%; min-width: 280px; background: white; border: 1px solid #e5e7eb; display: flex; flex-direction: column; }
17
- .faceswap-col-right { flex: 1; background: white; border: 1px solid #e5e7eb; border-left: none; display: flex; flex-direction: column; }
18
- .faceswap-col-right > div:first-child { flex: 0 0 auto; }
19
- .faceswap-col-right > div:last-child { flex: 1; display: flex; flex-direction: column; }
20
- .faceswap-col-right > div:last-child > .faceswap-result-area { flex: 1; min-height: 0; }
21
- @media (max-width: 768px) {
22
- .faceswap-layout { flex-direction: column; }
23
- .faceswap-col-left { width: 100%; min-width: unset; }
24
- .faceswap-col-right { border-left: 1px solid #e5e7eb; border-top: none; width: 100%; }
25
- }
14
+ const FACESWAP_CSS = `
15
+ .faceswap-layout { display: flex; flex-direction: row; align-items: stretch; }
16
+ .faceswap-col-left { width: 30%; min-width: 280px; background: white; border: 1px solid #e5e7eb; display: flex; flex-direction: column; }
17
+ .faceswap-col-right { flex: 1; background: white; border: 1px solid #e5e7eb; border-left: none; display: flex; flex-direction: column; }
18
+ .faceswap-col-right > div:first-child { flex: 0 0 auto; }
19
+ .faceswap-col-right > div:last-child { flex: 1; display: flex; flex-direction: column; }
20
+ .faceswap-col-right > div:last-child > .faceswap-result-area { flex: 1; min-height: 0; }
21
+ @media (max-width: 768px) {
22
+ .faceswap-layout { flex-direction: column; }
23
+ .faceswap-col-left { width: 100%; min-width: unset; }
24
+ .faceswap-col-right { border-left: 1px solid #e5e7eb; border-top: none; width: 100%; }
25
+ }
26
26
  `;
27
27
  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", }) {
28
28
  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
@@ -8,6 +8,7 @@ export interface QuizQuestion {
8
8
  }>;
9
9
  correctIndex?: number;
10
10
  explanation?: string;
11
+ maxPoints?: number;
11
12
  }
12
13
  export interface QuizResult {
13
14
  title: string;
@@ -21,6 +22,7 @@ export interface QuizItem {
21
22
  description?: string;
22
23
  thumbnail?: string;
23
24
  contentsId: string;
25
+ personality?: boolean;
24
26
  }
25
27
  export interface QuizTheme {
26
28
  primaryColor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Quiz.d.ts","sourceRoot":"","sources":["../../src/components/Quiz.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Quiz.d.ts","sourceRoot":"","sources":["../../src/components/Quiz.tsx"],"names":[],"mappings":"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"}
@@ -31,12 +31,16 @@ function toQuizItem(item) {
31
31
  item.image ||
32
32
  ((_b = (_a = item.files) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.url) ||
33
33
  '';
34
+ const meta = parseMeta(item.metadata);
35
+ const personalityRaw = meta.personality;
36
+ const personality = personalityRaw === true || personalityRaw === 'true';
34
37
  return {
35
38
  id: item.id,
36
39
  title,
37
40
  description: item.description,
38
41
  thumbnail: thumbnail || undefined,
39
42
  contentsId,
43
+ personality: personality || undefined,
40
44
  };
41
45
  }
42
46
  function extractResults(item, locale) {
@@ -110,10 +114,12 @@ function extractQuestions(item, locale) {
110
114
  .filter(o => o.text);
111
115
  if (options.length < 2)
112
116
  return null;
117
+ const maxPoints = Math.max(...options.map(o => o.points));
113
118
  return {
114
119
  id: `${item.id}_q${idx}`,
115
120
  question: titulo,
116
121
  options,
122
+ maxPoints: maxPoints > 0 ? maxPoints : undefined,
117
123
  };
118
124
  })
119
125
  .filter(Boolean);
@@ -217,8 +223,8 @@ function QuizCard({ quiz, index, theme, texts, onClick }) {
217
223
  transition: 'opacity 0.2s',
218
224
  }, onMouseEnter: (e) => { e.currentTarget.style.opacity = '0.85'; }, onMouseLeave: (e) => { e.currentTarget.style.opacity = '1'; }, children: texts.startQuiz })] })] }));
219
225
  }
220
- function QuizModal({ questions, results, startIndex, theme, texts, onClose }) {
221
- var _a;
226
+ function QuizModal({ questions, results, personality, startIndex, theme, texts, onClose }) {
227
+ var _a, _b;
222
228
  const [currentIndex, setCurrentIndex] = (0, react_1.useState)(startIndex);
223
229
  const [answers, setAnswers] = (0, react_1.useState)(new Map());
224
230
  const [finished, setFinished] = (0, react_1.useState)(false);
@@ -289,18 +295,23 @@ function QuizModal({ questions, results, startIndex, theme, texts, onClose }) {
289
295
  if (finished) {
290
296
  let score = 0;
291
297
  answers.forEach((optionIdx, questionIdx) => {
298
+ var _a, _b;
292
299
  const question = questions[questionIdx];
293
300
  if (question.correctIndex === undefined) {
294
- score += question.options[optionIdx].points;
301
+ score += (_b = (_a = question.options[optionIdx]) === null || _a === void 0 ? void 0 : _a.points) !== null && _b !== void 0 ? _b : 0;
295
302
  }
296
303
  else {
297
- if (optionIdx === question.correctIndex) {
304
+ if (optionIdx === question.correctIndex)
298
305
  score += 1;
299
- }
300
306
  }
301
307
  });
302
308
  const firstQuestion = questions[0];
303
- const isQuizPointsBased = firstQuestion.correctIndex === undefined;
309
+ const isQuizPointsBased = (firstQuestion === null || firstQuestion === void 0 ? void 0 : firstQuestion.correctIndex) === undefined;
310
+ const dynamicMax = questions.reduce((sum, q) => { var _a; return sum + ((_a = q.maxPoints) !== null && _a !== void 0 ? _a : 0); }, 0);
311
+ const lastResult = results && results.length > 0 ? results[results.length - 1] : undefined;
312
+ const totalMax = dynamicMax > 0
313
+ ? dynamicMax
314
+ : ((_b = lastResult === null || lastResult === void 0 ? void 0 : lastResult.maxPoints) !== null && _b !== void 0 ? _b : score);
304
315
  const matchedResult = (isQuizPointsBased && results && results.length > 0)
305
316
  ? results.find(r => score >= r.minPoints && score <= r.maxPoints)
306
317
  : undefined;
@@ -326,18 +337,24 @@ function QuizModal({ questions, results, startIndex, theme, texts, onClose }) {
326
337
  justifyContent: 'center',
327
338
  fontSize: '32px',
328
339
  color: theme.buttonTextColor,
329
- }, children: "\uD83C\uDFC6" }), isQuizPointsBased ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { style: {
340
+ }, children: "\uD83C\uDFC6" }), isQuizPointsBased ? (personality ? (resultMessage ? ((0, jsx_runtime_1.jsx)("p", { style: {
341
+ fontSize: '24px',
342
+ fontWeight: 700,
343
+ color: theme.textColor,
344
+ margin: 0,
345
+ lineHeight: 1.4,
346
+ }, children: resultMessage })) : null) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { style: {
330
347
  fontSize: '18px',
331
348
  fontWeight: 600,
332
349
  color: theme.textColor,
333
350
  margin: '0 0 16px',
334
- }, children: formatLabel(texts.scoreLabel, { score, total: matchedResult ? matchedResult.maxPoints : score }) }), resultMessage && ((0, jsx_runtime_1.jsx)("p", { style: {
351
+ }, children: formatLabel(texts.scoreLabel, { score, total: totalMax }) }), resultMessage && ((0, jsx_runtime_1.jsx)("p", { style: {
335
352
  fontSize: '15px',
336
353
  lineHeight: 1.6,
337
354
  color: theme.neutralMid,
338
355
  margin: 0,
339
- textAlign: 'left',
340
- }, children: resultMessage }))] })) : ((0, jsx_runtime_1.jsx)("p", { style: {
356
+ textAlign: 'center',
357
+ }, children: resultMessage }))] }))) : ((0, jsx_runtime_1.jsx)("p", { style: {
341
358
  fontSize: '22px',
342
359
  fontWeight: 700,
343
360
  color: theme.textColor,
@@ -636,7 +653,7 @@ function Quiz({ config, theme: themeP, texts: textsP, onQuizStart, onQuizComplet
636
653
  padding: '40px',
637
654
  textAlign: 'center',
638
655
  color: theme.textColor,
639
- }, children: texts.loadingQuestions }) })), activeQuiz && !loadingQuestions && activeQuestions.length > 0 && ((0, jsx_runtime_1.jsx)(QuizModal, { questions: activeQuestions, results: activeResults, startIndex: 0, theme: theme, texts: texts, onClose: handleCloseModal }))] }));
656
+ }, children: texts.loadingQuestions }) })), activeQuiz && !loadingQuestions && activeQuestions.length > 0 && ((0, jsx_runtime_1.jsx)(QuizModal, { questions: activeQuestions, results: activeResults, personality: activeQuiz.personality, startIndex: 0, theme: theme, texts: texts, onClose: handleCloseModal }))] }));
640
657
  }
641
658
  function QuizForYouCard({ title, description, ctaText, ctaHref, desktopImage, mobileImage, imageAlt = '', imageOnRight = false, titleColor = '#210F5C', descriptionColor = '#0F1F35', ctaColor = '#FF2273', ctaHoverColor = '#E81F69', backgroundColor = '#FFFFFF', paddingClass = '', }) {
642
659
  return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor, width: '100%' }, className: paddingClass, children: (0, jsx_runtime_1.jsxs)("div", { style: {