webs-sdk 0.18.62 → 0.18.63

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 (113) 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/SpinningWheel/SpinningWheel.js +7 -7
  9. package/dist/components/for-you/ForYouPage.d.ts +135 -0
  10. package/dist/components/for-you/ForYouPage.d.ts.map +1 -0
  11. package/dist/components/for-you/ForYouPage.js +106 -0
  12. package/dist/components/for-you/ForYouPage.js.map +1 -0
  13. package/dist/components/for-you/cards/ARFiltersCard.d.ts +5 -0
  14. package/dist/components/for-you/cards/ARFiltersCard.d.ts.map +1 -0
  15. package/dist/components/for-you/cards/ARFiltersCard.js +22 -0
  16. package/dist/components/for-you/cards/ARFiltersCard.js.map +1 -0
  17. package/dist/components/for-you/cards/AvatarAICard.d.ts +5 -0
  18. package/dist/components/for-you/cards/AvatarAICard.d.ts.map +1 -0
  19. package/dist/components/for-you/cards/AvatarAICard.js +22 -0
  20. package/dist/components/for-you/cards/AvatarAICard.js.map +1 -0
  21. package/dist/components/for-you/cards/CreativeFaceSwapCard.d.ts +5 -0
  22. package/dist/components/for-you/cards/CreativeFaceSwapCard.d.ts.map +1 -0
  23. package/dist/components/for-you/cards/CreativeFaceSwapCard.js +22 -0
  24. package/dist/components/for-you/cards/CreativeFaceSwapCard.js.map +1 -0
  25. package/dist/components/for-you/cards/ForYouCard.d.ts +20 -0
  26. package/dist/components/for-you/cards/ForYouCard.d.ts.map +1 -0
  27. package/dist/components/for-you/cards/ForYouCard.js +52 -0
  28. package/dist/components/for-you/cards/ForYouCard.js.map +1 -0
  29. package/dist/components/for-you/cards/MemeGeneratorCard.d.ts +5 -0
  30. package/dist/components/for-you/cards/MemeGeneratorCard.d.ts.map +1 -0
  31. package/dist/components/for-you/cards/MemeGeneratorCard.js +22 -0
  32. package/dist/components/for-you/cards/MemeGeneratorCard.js.map +1 -0
  33. package/dist/components/for-you/cards/QuizCard.d.ts +5 -0
  34. package/dist/components/for-you/cards/QuizCard.d.ts.map +1 -0
  35. package/dist/components/for-you/cards/QuizCard.js +22 -0
  36. package/dist/components/for-you/cards/QuizCard.js.map +1 -0
  37. package/dist/components/for-you/cards/RingtoneCard.d.ts +5 -0
  38. package/dist/components/for-you/cards/RingtoneCard.d.ts.map +1 -0
  39. package/dist/components/for-you/cards/RingtoneCard.js +22 -0
  40. package/dist/components/for-you/cards/RingtoneCard.js.map +1 -0
  41. package/dist/components/for-you/cards/StickersCard.d.ts +5 -0
  42. package/dist/components/for-you/cards/StickersCard.d.ts.map +1 -0
  43. package/dist/components/for-you/cards/StickersCard.js +22 -0
  44. package/dist/components/for-you/cards/StickersCard.js.map +1 -0
  45. package/dist/components/for-you/cards/WallpapersCard.d.ts +5 -0
  46. package/dist/components/for-you/cards/WallpapersCard.d.ts.map +1 -0
  47. package/dist/components/for-you/cards/WallpapersCard.js +22 -0
  48. package/dist/components/for-you/cards/WallpapersCard.js.map +1 -0
  49. package/dist/components/for-you/cards/WallpapersNameCard.d.ts +5 -0
  50. package/dist/components/for-you/cards/WallpapersNameCard.d.ts.map +1 -0
  51. package/dist/components/for-you/cards/WallpapersNameCard.js +22 -0
  52. package/dist/components/for-you/cards/WallpapersNameCard.js.map +1 -0
  53. package/dist/components/for-you/cards/index.d.ts +21 -0
  54. package/dist/components/for-you/cards/index.d.ts.map +1 -0
  55. package/dist/components/for-you/cards/index.js +24 -0
  56. package/dist/components/for-you/cards/index.js.map +1 -0
  57. package/dist/components/for-you/hooks/index.d.ts +19 -0
  58. package/dist/components/for-you/hooks/index.d.ts.map +1 -0
  59. package/dist/components/for-you/hooks/index.js +22 -0
  60. package/dist/components/for-you/hooks/index.js.map +1 -0
  61. package/dist/components/for-you/hooks/useARFilters.d.ts +31 -0
  62. package/dist/components/for-you/hooks/useARFilters.d.ts.map +1 -0
  63. package/dist/components/for-you/hooks/useARFilters.js +103 -0
  64. package/dist/components/for-you/hooks/useARFilters.js.map +1 -0
  65. package/dist/components/for-you/hooks/useAvatarAI.d.ts +72 -0
  66. package/dist/components/for-you/hooks/useAvatarAI.d.ts.map +1 -0
  67. package/dist/components/for-you/hooks/useAvatarAI.js +297 -0
  68. package/dist/components/for-you/hooks/useAvatarAI.js.map +1 -0
  69. package/dist/components/for-you/hooks/useCreativeFaceSwap.d.ts +51 -0
  70. package/dist/components/for-you/hooks/useCreativeFaceSwap.d.ts.map +1 -0
  71. package/dist/components/for-you/hooks/useCreativeFaceSwap.js +222 -0
  72. package/dist/components/for-you/hooks/useCreativeFaceSwap.js.map +1 -0
  73. package/dist/components/for-you/hooks/useMemeGenerator.d.ts +44 -0
  74. package/dist/components/for-you/hooks/useMemeGenerator.d.ts.map +1 -0
  75. package/dist/components/for-you/hooks/useMemeGenerator.js +151 -0
  76. package/dist/components/for-you/hooks/useMemeGenerator.js.map +1 -0
  77. package/dist/components/for-you/hooks/useQuiz.d.ts +62 -0
  78. package/dist/components/for-you/hooks/useQuiz.d.ts.map +1 -0
  79. package/dist/components/for-you/hooks/useQuiz.js +282 -0
  80. package/dist/components/for-you/hooks/useQuiz.js.map +1 -0
  81. package/dist/components/for-you/hooks/useRingtone.d.ts +28 -0
  82. package/dist/components/for-you/hooks/useRingtone.d.ts.map +1 -0
  83. package/dist/components/for-you/hooks/useRingtone.js +107 -0
  84. package/dist/components/for-you/hooks/useRingtone.js.map +1 -0
  85. package/dist/components/for-you/hooks/useStickers.d.ts +31 -0
  86. package/dist/components/for-you/hooks/useStickers.d.ts.map +1 -0
  87. package/dist/components/for-you/hooks/useStickers.js +113 -0
  88. package/dist/components/for-you/hooks/useStickers.js.map +1 -0
  89. package/dist/components/for-you/hooks/useWallpapers.d.ts +34 -0
  90. package/dist/components/for-you/hooks/useWallpapers.d.ts.map +1 -0
  91. package/dist/components/for-you/hooks/useWallpapers.js +109 -0
  92. package/dist/components/for-you/hooks/useWallpapers.js.map +1 -0
  93. package/dist/components/for-you/hooks/useWallpapersName.d.ts +38 -0
  94. package/dist/components/for-you/hooks/useWallpapersName.d.ts.map +1 -0
  95. package/dist/components/for-you/hooks/useWallpapersName.js +94 -0
  96. package/dist/components/for-you/hooks/useWallpapersName.js.map +1 -0
  97. package/dist/components/for-you/index.d.ts +41 -0
  98. package/dist/components/for-you/index.d.ts.map +1 -0
  99. package/dist/components/for-you/index.js +44 -0
  100. package/dist/components/for-you/index.js.map +1 -0
  101. package/dist/index.d.ts +40 -0
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +41 -1
  104. package/dist/index.js.map +1 -1
  105. package/package.json +79 -79
  106. package/public/spin2win/assets/border-afristream.svg +26 -26
  107. package/public/spin2win/assets/border-efc.svg +23 -23
  108. package/public/spin2win/assets/border-totalgym.svg +27 -27
  109. package/public/spin2win/assets/border-womantoday.svg +26 -26
  110. package/public/spin2win/assets/indicator-afristream.svg +28 -28
  111. package/public/spin2win/assets/indicator-efc.svg +29 -29
  112. package/public/spin2win/assets/indicator-totalgym.svg +29 -29
  113. package/public/spin2win/fonts/switzer/README.md +22 -22
@@ -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
@@ -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,
@@ -0,0 +1,135 @@
1
+ import type { RingtoneTheme, RingtoneTexts, RingtoneItem } from '../Ringtone';
2
+ import type { WallpapersTheme, WallpapersTexts, WallpaperItem } from '../Wallpapers';
3
+ import type { WallpapersNameTheme, WallpapersNameTexts, WallpapersNameItem, WallpapersNameCategory, WallpapersNameHowItWorksStep } from '../WallpapersName';
4
+ import type { MemeGeneratorTheme, MemeGeneratorTexts, MemeItem, MemeFont } from '../MemeGenerator';
5
+ import type { QuizTheme, QuizTexts, QuizItem } from '../Quiz';
6
+ import type { StickersTheme, StickersTexts, StickerItem } from '../Stickers';
7
+ import type { AvatarAITheme, AvatarAITexts, AvatarAIConfig, AvatarStyle, AvatarMood } from '../AvatarAI';
8
+ import type { FaceSwapTheme, FaceSwapTexts, FaceSwapConfig, FaceSwapExample } from '../CreativeFaceSwap';
9
+ import type { DeepARTexts, DeepARFilter } from '../ARFilters/types';
10
+ export interface ForYouFeatureConfig {
11
+ apiUrl?: string;
12
+ tags?: string | string[];
13
+ locale?: string;
14
+ website_id?: string;
15
+ initialCount?: number;
16
+ loadMoreCount?: number;
17
+ }
18
+ export interface RingtoneFeatureOverride {
19
+ theme?: Partial<RingtoneTheme>;
20
+ texts?: Partial<RingtoneTexts>;
21
+ config?: ForYouFeatureConfig;
22
+ ringtones?: RingtoneItem[];
23
+ onListen?: (ringtone: RingtoneItem) => void;
24
+ onDownload?: (ringtone: RingtoneItem) => void;
25
+ }
26
+ export interface WallpapersFeatureOverride {
27
+ theme?: Partial<WallpapersTheme>;
28
+ texts?: Partial<WallpapersTexts>;
29
+ config?: ForYouFeatureConfig & {
30
+ wallpapers?: WallpaperItem[];
31
+ fallbackImage?: string;
32
+ heroBannerImage?: string;
33
+ };
34
+ wallpapers?: WallpaperItem[];
35
+ breadcrumbItems?: {
36
+ label: string;
37
+ href?: string;
38
+ }[];
39
+ onDownloadSuccess?: (wallpaper: WallpaperItem) => void;
40
+ onDownloadError?: (wallpaper: WallpaperItem, error: unknown) => void;
41
+ }
42
+ export interface WallpapersNameFeatureOverride {
43
+ theme?: Partial<WallpapersNameTheme>;
44
+ texts?: Partial<WallpapersNameTexts>;
45
+ config?: ForYouFeatureConfig & {
46
+ wid?: string;
47
+ };
48
+ items?: WallpapersNameItem[];
49
+ categories?: WallpapersNameCategory[];
50
+ howItWorksSteps?: WallpapersNameHowItWorksStep[];
51
+ showEmptyState?: boolean;
52
+ onCustomise?: (item: WallpapersNameItem) => void;
53
+ }
54
+ export interface MemeGeneratorFeatureOverride {
55
+ theme?: Partial<MemeGeneratorTheme>;
56
+ texts?: Partial<MemeGeneratorTexts>;
57
+ config?: ForYouFeatureConfig;
58
+ memes?: MemeItem[];
59
+ fonts?: MemeFont[];
60
+ defaultMemeIndex?: number;
61
+ imageProxyUrl?: string;
62
+ onDownload?: (meme: MemeItem, topText: string, bottomText: string) => void;
63
+ }
64
+ export interface QuizFeatureOverride {
65
+ theme?: Partial<QuizTheme>;
66
+ texts?: Partial<QuizTexts>;
67
+ config?: ForYouFeatureConfig & {
68
+ questionsApiUrl?: string;
69
+ includeIds?: number[];
70
+ };
71
+ onQuizStart?: (quiz: QuizItem) => void;
72
+ onQuizComplete?: (score: number, totalQuestions: number) => void;
73
+ }
74
+ export interface StickersFeatureOverride {
75
+ theme?: Partial<StickersTheme>;
76
+ texts?: Partial<StickersTexts>;
77
+ config?: ForYouFeatureConfig & {
78
+ preset?: string;
79
+ };
80
+ downloadProxyUrl?: string;
81
+ onDownload?: (sticker: StickerItem) => void;
82
+ }
83
+ export interface AvatarAIFeatureOverride {
84
+ theme?: Partial<AvatarAITheme>;
85
+ texts?: Partial<AvatarAITexts>;
86
+ config?: AvatarAIConfig;
87
+ styles?: AvatarStyle[];
88
+ stylesTag?: string;
89
+ apiBaseUrl?: string;
90
+ locale?: string;
91
+ moods?: AvatarMood[];
92
+ onGenerationComplete?: (imageUrl: string) => void;
93
+ onError?: (error: string) => void;
94
+ }
95
+ export interface CreativeFaceSwapFeatureOverride {
96
+ theme?: Partial<FaceSwapTheme>;
97
+ texts?: Partial<FaceSwapTexts>;
98
+ config?: FaceSwapConfig;
99
+ examples?: FaceSwapExample[];
100
+ }
101
+ export interface ARFiltersFeatureOverride {
102
+ texts?: Partial<DeepARTexts>;
103
+ filters?: DeepARFilter[];
104
+ tags?: string | string[];
105
+ locale?: string;
106
+ licenseKey?: string;
107
+ websiteId?: string | number;
108
+ apiBaseUrl?: string;
109
+ downloadProxyUrl?: string;
110
+ onPhotoTaken?: (blob: Blob) => void;
111
+ onVideoRecorded?: (blob: Blob) => void;
112
+ }
113
+ export interface ForYouFeatures {
114
+ ringtone?: RingtoneFeatureOverride;
115
+ wallpapers?: WallpapersFeatureOverride;
116
+ wallpapersName?: WallpapersNameFeatureOverride;
117
+ memeGenerator?: MemeGeneratorFeatureOverride;
118
+ quiz?: QuizFeatureOverride;
119
+ stickers?: StickersFeatureOverride;
120
+ avatarAI?: AvatarAIFeatureOverride;
121
+ creativeFaceSwap?: CreativeFaceSwapFeatureOverride;
122
+ arFilters?: ARFiltersFeatureOverride;
123
+ }
124
+ export interface ForYouPageTheme {
125
+ backgroundColor?: string;
126
+ sectionSpacing?: string;
127
+ }
128
+ export interface ForYouPageProps {
129
+ features: ForYouFeatures;
130
+ order?: Array<keyof ForYouFeatures>;
131
+ pageTheme?: ForYouPageTheme;
132
+ }
133
+ export declare function ForYouPage({ features, order, pageTheme }: ForYouPageProps): import("react/jsx-runtime").JSX.Element | null;
134
+ export default ForYouPage;
135
+ //# sourceMappingURL=ForYouPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForYouPage.d.ts","sourceRoot":"","sources":["../../../src/components/for-you/ForYouPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
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
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ForYouPage = ForYouPage;
15
+ const jsx_runtime_1 = require("react/jsx-runtime");
16
+ const Ringtone_1 = require("../Ringtone");
17
+ const Wallpapers_1 = require("../Wallpapers");
18
+ const WallpapersName_1 = require("../WallpapersName");
19
+ const MemeGenerator_1 = require("../MemeGenerator");
20
+ const Quiz_1 = require("../Quiz");
21
+ const Stickers_1 = require("../Stickers");
22
+ const AvatarAI_1 = require("../AvatarAI");
23
+ const CreativeFaceSwap_1 = require("../CreativeFaceSwap");
24
+ const ARFilters_1 = require("../ARFilters");
25
+ const DEFAULT_API_URL = '/api/get_contents_by_tags';
26
+ function normalizeTags(tags) {
27
+ if (!tags)
28
+ return undefined;
29
+ return Array.isArray(tags) ? tags : [tags];
30
+ }
31
+ const DEFAULT_DEEPAR_TEXTS = {
32
+ filmVideo: 'Film video',
33
+ creatingVideo: 'Creating video...',
34
+ discardCreation: 'Discard',
35
+ discardConfirmationTitle: 'Discard this creation?',
36
+ discardConfirmationLink: 'Yes, discard',
37
+ discardCancelText: 'Cancel',
38
+ noAudioMessage: 'No audio detected.',
39
+ noAudioLink: 'Allow microphone',
40
+ noSupportMessage: 'Your browser does not support AR filters.',
41
+ noSupportLink: 'Learn more',
42
+ successfulDownload: 'Downloaded!',
43
+ takePhoto: 'Take photo',
44
+ download: 'Download',
45
+ };
46
+ function ForYouPage({ features, order, pageTheme = {} }) {
47
+ const { backgroundColor = 'transparent', sectionSpacing = '0' } = pageTheme;
48
+ const featureKeys = (order && order.length > 0
49
+ ? order.filter(key => key in features)
50
+ : Object.keys(features));
51
+ if (featureKeys.length === 0)
52
+ return null;
53
+ return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor, width: '100%' }, children: featureKeys.map((key, index) => {
54
+ const isLast = index === featureKeys.length - 1;
55
+ const wrapper = (child) => ((0, jsx_runtime_1.jsx)("div", { style: { marginBottom: isLast ? '0' : sectionSpacing }, children: child }, key));
56
+ switch (key) {
57
+ case 'ringtone': {
58
+ const f = features.ringtone;
59
+ return wrapper((0, jsx_runtime_1.jsx)(Ringtone_1.Ringtone, { ringtones: f.ringtones, config: Object.assign({ apiUrl: DEFAULT_API_URL }, f.config), theme: f.theme, texts: f.texts, onListen: f.onListen, onDownload: f.onDownload }));
60
+ }
61
+ case 'wallpapers': {
62
+ const f = features.wallpapers;
63
+ return wrapper((0, jsx_runtime_1.jsx)(Wallpapers_1.Wallpapers, { config: Object.assign({ apiUrl: DEFAULT_API_URL }, f.config), theme: f.theme, texts: f.texts, wallpapers: f.wallpapers, breadcrumbItems: f.breadcrumbItems, onDownloadSuccess: f.onDownloadSuccess, onDownloadError: f.onDownloadError }));
64
+ }
65
+ case 'wallpapersName': {
66
+ const f = features.wallpapersName;
67
+ return wrapper((0, jsx_runtime_1.jsx)(WallpapersName_1.WallpapersName, { config: Object.assign({ apiUrl: DEFAULT_API_URL }, f.config), theme: f.theme, texts: f.texts, items: f.items, categories: f.categories, howItWorksSteps: f.howItWorksSteps, showEmptyState: f.showEmptyState, onCustomise: f.onCustomise }));
68
+ }
69
+ case 'memeGenerator': {
70
+ const f = features.memeGenerator;
71
+ return wrapper((0, jsx_runtime_1.jsx)(MemeGenerator_1.MemeGenerator, { config: Object.assign({ apiUrl: DEFAULT_API_URL }, f.config), theme: f.theme, texts: f.texts, memes: f.memes, fonts: f.fonts, defaultMemeIndex: f.defaultMemeIndex, imageProxyUrl: f.imageProxyUrl, onDownload: f.onDownload }));
72
+ }
73
+ case 'quiz': {
74
+ const f = features.quiz;
75
+ const _a = f.config || {}, { tags: quizTags } = _a, quizRest = __rest(_a, ["tags"]);
76
+ const quizConfig = Object.assign(Object.assign({ apiUrl: DEFAULT_API_URL }, quizRest), (quizTags !== undefined && { tags: normalizeTags(quizTags) }));
77
+ return wrapper((0, jsx_runtime_1.jsx)(Quiz_1.Quiz, { config: quizConfig, theme: f.theme, texts: f.texts, onQuizStart: f.onQuizStart, onQuizComplete: f.onQuizComplete }));
78
+ }
79
+ case 'stickers': {
80
+ const f = features.stickers;
81
+ const _b = f.config || {}, { tags: stickersTags } = _b, stickersRest = __rest(_b, ["tags"]);
82
+ const stickersConfig = Object.assign(Object.assign({ apiUrl: DEFAULT_API_URL }, stickersRest), (stickersTags !== undefined && { tags: normalizeTags(stickersTags) }));
83
+ return wrapper((0, jsx_runtime_1.jsx)(Stickers_1.Stickers, { config: stickersConfig, theme: f.theme, texts: f.texts, downloadProxyUrl: f.downloadProxyUrl, onDownload: f.onDownload }));
84
+ }
85
+ case 'avatarAI': {
86
+ const f = features.avatarAI;
87
+ return wrapper((0, jsx_runtime_1.jsx)(AvatarAI_1.AvatarAI, { config: f.config, theme: f.theme, texts: f.texts, styles: f.styles, stylesTag: f.stylesTag, apiBaseUrl: f.apiBaseUrl, locale: f.locale, moods: f.moods, onGenerationComplete: f.onGenerationComplete, onError: f.onError }));
88
+ }
89
+ case 'creativeFaceSwap': {
90
+ const f = features.creativeFaceSwap;
91
+ return wrapper((0, jsx_runtime_1.jsx)(CreativeFaceSwap_1.CreativeFaceSwap, { config: f.config, theme: f.theme, texts: f.texts, examples: f.examples }));
92
+ }
93
+ case 'arFilters': {
94
+ const f = features.arFilters;
95
+ const mergedTexts = Object.assign(Object.assign({}, DEFAULT_DEEPAR_TEXTS), f.texts);
96
+ const arFilterTags = normalizeTags(f.tags);
97
+ const filterTag = arFilterTags === null || arFilterTags === void 0 ? void 0 : arFilterTags[0];
98
+ return wrapper((0, jsx_runtime_1.jsx)(ARFilters_1.ARFilters, { texts: mergedTexts, filters: f.filters, filterTag: filterTag, locale: f.locale, licenseKey: f.licenseKey, websiteId: f.websiteId, apiBaseUrl: f.apiBaseUrl, downloadProxyUrl: f.downloadProxyUrl, onPhotoTaken: f.onPhotoTaken, onVideoRecorded: f.onVideoRecorded }));
99
+ }
100
+ default:
101
+ return null;
102
+ }
103
+ }) }));
104
+ }
105
+ exports.default = ForYouPage;
106
+ //# sourceMappingURL=ForYouPage.js.map