@cuemath/leap 3.3.34 → 3.3.36-m

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 (224) hide show
  1. package/dist/assets/gif/gif.js +1 -4
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +1 -1
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  6. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +1 -1
  7. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  8. package/dist/features/auth/comps/otp-input/otp-input.js +29 -35
  9. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  10. package/dist/features/auth/pla-signup/pla-analytics-events.js +3 -12
  11. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  12. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +34 -43
  13. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  14. package/dist/features/chapters-v2/chapter-details/chapter-details.js +101 -140
  15. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  16. package/dist/features/chapters-v2/utils/index.js +16 -20
  17. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  18. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js +6 -6
  19. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js.map +1 -1
  20. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +21 -20
  21. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  22. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  23. package/dist/features/circle-games/sign-up/sign-up.js +6 -6
  24. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  25. package/dist/features/homework/hw-card-list/hw-card-list-view.js +17 -17
  26. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  27. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  28. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  29. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  30. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +0 -400
  31. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  32. package/dist/features/milestone/constants.js +15 -28
  33. package/dist/features/milestone/constants.js.map +1 -1
  34. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  35. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +2 -2
  36. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js +16 -23
  37. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  38. package/dist/features/milestone/create/milestone-create-helpers.js +7 -13
  39. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  40. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +22 -28
  41. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -1
  42. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js +1 -1
  43. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js.map +1 -1
  44. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +46 -48
  45. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  46. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +12 -0
  47. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +1 -0
  48. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +17 -16
  49. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -1
  50. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +8 -4
  51. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -1
  52. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
  53. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
  54. package/dist/features/parent-dashboard/parent-dashboard-constants.js +4 -45
  55. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -1
  56. package/dist/features/parent-dashboard/parent-dashboard-types.js +3 -3
  57. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  58. package/dist/features/parent-dashboard/parent-dashboard-view.js +174 -197
  59. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  60. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js +32 -0
  61. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js.map +1 -0
  62. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js +72 -0
  63. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js.map +1 -0
  64. package/dist/features/stickers/sticker-selector/sticker-selector.js +58 -57
  65. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
  66. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js +34 -0
  67. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js.map +1 -0
  68. package/dist/features/stickers/stickers-effects/constants.js +26 -0
  69. package/dist/features/stickers/stickers-effects/constants.js.map +1 -0
  70. package/dist/features/stickers/stickers-effects/context/sticker-provider.js +28 -0
  71. package/dist/features/stickers/stickers-effects/context/sticker-provider.js.map +1 -0
  72. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js +12 -0
  73. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js.map +1 -0
  74. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -1
  75. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +32 -17
  76. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -1
  77. package/dist/features/stickers/stickers-effects/stickers-effects-types.js +6 -0
  78. package/dist/features/stickers/stickers-effects/stickers-effects-types.js.map +1 -0
  79. package/dist/features/stickers/stickers-effects/stickers-effects.js +40 -56
  80. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -1
  81. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  82. package/dist/features/trial-session/comps/class-preference/class-preference.js +58 -74
  83. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  84. package/dist/features/trial-session/comps/learning-plan/index.js +45 -47
  85. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  86. package/dist/features/trial-session/comps/navigation-bar/index.js +40 -41
  87. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  88. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/next-steps/next-steps-constants.js +1 -1
  89. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  90. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/next-steps/next-steps-styled.js +1 -1
  91. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  92. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/next-steps/next-steps.js +5 -5
  93. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  94. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  95. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  96. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +132 -0
  97. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  98. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  99. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  100. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  101. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  102. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/session-status/session-status-styled.js +2 -2
  103. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  104. package/dist/features/trial-session/comps/pla/session-status/session-status.js +127 -0
  105. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  106. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/session-summary/session-summary-constants.js +12 -18
  107. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  108. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +53 -0
  109. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  110. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/session-summary/summary-card/summary-card-styled.js +1 -1
  111. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  112. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  113. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  114. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  115. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions-styled.js +1 -1
  116. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  117. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  118. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions.js +14 -14
  119. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  120. package/dist/features/trial-session/comps/school-goals/school-goals.js +57 -59
  121. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  122. package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
  123. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  124. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +40 -41
  125. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  126. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +0 -5
  127. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  128. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +51 -96
  129. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  130. package/dist/features/trial-session/comps/student-profile/student-profile.js +63 -70
  131. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  132. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +44 -43
  133. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  134. package/dist/features/trial-session/comps/test-prep/test-prep.js +40 -41
  135. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  136. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js +61 -60
  137. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  138. package/dist/features/trial-session/helper.js +61 -76
  139. package/dist/features/trial-session/helper.js.map +1 -1
  140. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +144 -174
  141. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  142. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  143. package/dist/features/trial-session/trial-session-view.js +110 -99
  144. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  145. package/dist/features/ui/accordion/accordion-items/accordion-items.js +13 -13
  146. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
  147. package/dist/features/ui/modals/modal-styled.js +13 -45
  148. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  149. package/dist/features/ui/modals/modal.js +31 -31
  150. package/dist/features/ui/modals/modal.js.map +1 -1
  151. package/dist/features/utils/utils.js +1 -1
  152. package/dist/features/utils/utils.js.map +1 -1
  153. package/dist/index.d.ts +145 -94
  154. package/dist/index.js +301 -292
  155. package/dist/index.js.map +1 -1
  156. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  157. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  158. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  159. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  160. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  161. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  162. package/dist/static/trophy.a8ea85ef.json +6813 -0
  163. package/package.json +3 -2
  164. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +0 -86
  165. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +0 -1
  166. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +0 -140
  167. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +0 -1
  168. package/dist/features/parent-dashboard/api/cancel-subscription.js +0 -9
  169. package/dist/features/parent-dashboard/api/cancel-subscription.js.map +0 -1
  170. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +0 -20
  171. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +0 -1
  172. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +0 -74
  173. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +0 -1
  174. package/dist/features/parent-dashboard/comps/next-steps/next-steps-constants.js.map +0 -1
  175. package/dist/features/parent-dashboard/comps/next-steps/next-steps-styled.js.map +0 -1
  176. package/dist/features/parent-dashboard/comps/next-steps/next-steps.js.map +0 -1
  177. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js +0 -34
  178. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js.map +0 -1
  179. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js +0 -137
  180. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js.map +0 -1
  181. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js +0 -20
  182. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js.map +0 -1
  183. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js +0 -19
  184. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js.map +0 -1
  185. package/dist/features/parent-dashboard/comps/session-status/session-status-styled.js.map +0 -1
  186. package/dist/features/parent-dashboard/comps/session-status/session-status.js +0 -124
  187. package/dist/features/parent-dashboard/comps/session-status/session-status.js.map +0 -1
  188. package/dist/features/parent-dashboard/comps/session-summary/session-summary-constants.js.map +0 -1
  189. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js +0 -54
  190. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js.map +0 -1
  191. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card-styled.js.map +0 -1
  192. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js +0 -72
  193. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js.map +0 -1
  194. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-constants.js.map +0 -1
  195. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-styled.js.map +0 -1
  196. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-types.js.map +0 -1
  197. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions.js.map +0 -1
  198. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +0 -21
  199. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +0 -1
  200. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +0 -85
  201. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +0 -1
  202. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +0 -23
  203. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +0 -1
  204. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +0 -55
  205. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +0 -1
  206. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +0 -71
  207. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +0 -1
  208. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +0 -119
  209. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +0 -1
  210. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +0 -58
  211. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +0 -1
  212. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +0 -76
  213. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +0 -1
  214. package/dist/features/trial-session/api/teacher-availability.js +0 -9
  215. package/dist/features/trial-session/api/teacher-availability.js.map +0 -1
  216. package/dist/features/trial-session/comps/class-preference/helpers.js +0 -28
  217. package/dist/features/trial-session/comps/class-preference/helpers.js.map +0 -1
  218. package/dist/features/trial-session/hooks/use-slide-config-update.js +0 -49
  219. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +0 -1
  220. package/dist/static/learning-session-grid-bg-mobile.8d2b7258.gif +0 -0
  221. package/dist/static/way-forward-grid-bg-mobile.374043d7.gif +0 -0
  222. package/dist/static/your-goals-grid-bg-mobile.62557024.gif +0 -0
  223. /package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions-constants.js +0 -0
  224. /package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions-types.js +0 -0
@@ -0,0 +1,32 @@
1
+ import { useState as r, useCallback as c } from "react";
2
+ import n from "../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
3
+ const p = (l, e) => {
4
+ const { publish: a } = n({
5
+ studentClassroomId: l
6
+ }), [o, d] = r(null);
7
+ return { sendSticker: c(
8
+ (t, m) => {
9
+ const s = {
10
+ message: {
11
+ data: {
12
+ selectedSticker: {
13
+ id: t.id,
14
+ name: t.name
15
+ },
16
+ effectId: m
17
+ }
18
+ },
19
+ type: "STICKERS"
20
+ };
21
+ d(s), a == null || a({
22
+ eventName: "STICKERS",
23
+ eventPayload: s
24
+ }), e == null || e(s);
25
+ },
26
+ [e, a]
27
+ ), lastPayload: o };
28
+ };
29
+ export {
30
+ p as useHandleStickerSend
31
+ };
32
+ //# sourceMappingURL=use-handle-sticker-send.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-handle-sticker-send.js","sources":["../../../../../src/features/stickers/sticker-selector/hooks/use-handle-sticker-send.tsx"],"sourcesContent":["import type {\n IStickerData,\n TStickerAnimationEffects,\n TStickersPayload,\n} from '../../stickers-types';\n\nimport { useState, useCallback } from 'react';\n\nimport useInClassMessageBroker from '../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker';\n\nexport const useHandleStickerSend = (\n studentClassroomId: string,\n onStickerSend?: (payload: TStickersPayload) => void,\n) => {\n const { publish } = useInClassMessageBroker({\n studentClassroomId,\n });\n\n const [lastPayload, setLastPayload] = useState<TStickersPayload | null>(null);\n\n const sendSticker = useCallback(\n (sticker: IStickerData, effect: TStickerAnimationEffects) => {\n const payload: TStickersPayload = {\n message: {\n data: {\n selectedSticker: {\n id: sticker.id,\n name: sticker.name,\n },\n effectId: effect,\n },\n },\n type: 'STICKERS',\n };\n\n setLastPayload(payload);\n\n publish?.({\n eventName: 'STICKERS',\n eventPayload: payload,\n });\n\n onStickerSend?.(payload);\n },\n [onStickerSend, publish],\n );\n\n return { sendSticker, lastPayload };\n};\n"],"names":["useHandleStickerSend","studentClassroomId","onStickerSend","publish","useInClassMessageBroker","lastPayload","setLastPayload","useState","useCallback","sticker","effect","payload"],"mappings":";;AAUa,MAAAA,IAAuB,CAClCC,GACAC,MACG;AACG,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAwB;AAAA,IAC1C,oBAAAH;AAAA,EAAA,CACD,GAEK,CAACI,GAAaC,CAAc,IAAIC,EAAkC,IAAI;AA6BrE,SAAA,EAAE,aA3BWC;AAAA,IAClB,CAACC,GAAuBC,MAAqC;AAC3D,YAAMC,IAA4B;AAAA,QAChC,SAAS;AAAA,UACP,MAAM;AAAA,YACJ,iBAAiB;AAAA,cACf,IAAIF,EAAQ;AAAA,cACZ,MAAMA,EAAQ;AAAA,YAChB;AAAA,YACA,UAAUC;AAAA,UACZ;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MAAA;AAGR,MAAAJ,EAAeK,CAAO,GAEZR,KAAA,QAAAA,EAAA;AAAA,QACR,WAAW;AAAA,QACX,cAAcQ;AAAA,MAAA,IAGhBT,KAAA,QAAAA,EAAgBS;AAAA,IAClB;AAAA,IACA,CAACT,GAAeC,CAAO;AAAA,EAAA,GAGH,aAAAE;AACxB;"}
@@ -0,0 +1,72 @@
1
+ import { jsxs as l, jsx as e, Fragment as p } from "react/jsx-runtime";
2
+ import { useCallback as c } from "react";
3
+ import { JOURNEY_ID_TEACHER as t } from "../../../../journey/journey-id/journey-id-teacher.js";
4
+ import { IndicatorType as h } from "../../../../journey/use-journey/constants.js";
5
+ import { useJourney as u } from "../../../../journey/use-journey/use-journey.js";
6
+ import T from "../../../../ui/buttons/button/button.js";
7
+ import d from "../../../../ui/layout/flex-view.js";
8
+ import C from "../../../../ui/separator/separator.js";
9
+ import m from "../../../../ui/text/text.js";
10
+ const N = ({
11
+ triggerRef: o,
12
+ tooltipConfig: r
13
+ }) => {
14
+ const { setJourney: n, nextCoachmark: i, endJourney: a } = u(), s = c(() => {
15
+ a(t.STICKERS_INTRO_JOURNEY);
16
+ }, [a]);
17
+ return {
18
+ startTeacherStickersJourney: c(() => {
19
+ if (!o.current) return;
20
+ const O = {
21
+ position: r.position,
22
+ tooltipXCoOrdinates: r.tooltipXCoOrdinates,
23
+ tooltipYCoOrdinates: r.tooltipYCoOrdinates,
24
+ arrowXCoOrdinates: r.arrowXCoOrdinates,
25
+ arrowYCoOrdinates: r.arrowYCoOrdinates,
26
+ borderColor: "BLACK",
27
+ arrowColor: "BLACK",
28
+ backgroundColor: "PURPLE_4",
29
+ tooltipItem: /* @__PURE__ */ l(d, { children: [
30
+ /* @__PURE__ */ e(d, { children: /* @__PURE__ */ l(
31
+ m,
32
+ {
33
+ $renderOnMobileAs: "ab3",
34
+ $renderAs: "ab3",
35
+ as: "span",
36
+ $inline: !0,
37
+ $whiteSpace: "normal",
38
+ children: [
39
+ /* @__PURE__ */ e(m, { $renderAs: "ab3-bold", as: "span", $inline: !0, children: "New Stickers" }),
40
+ " ",
41
+ "- Use them to celebrate little moments of joy!"
42
+ ]
43
+ }
44
+ ) }),
45
+ /* @__PURE__ */ e(C, { height: 10 }),
46
+ /* @__PURE__ */ e(
47
+ T,
48
+ {
49
+ renderAs: "secondary",
50
+ label: "Got It",
51
+ size: "xsmall",
52
+ width: "50%",
53
+ onClick: s
54
+ }
55
+ )
56
+ ] })
57
+ };
58
+ n(t.STICKERS_INTRO_JOURNEY, [
59
+ {
60
+ originalElementToHighlightRef: o,
61
+ type: h.TOOLTIP,
62
+ elementToHighlight: /* @__PURE__ */ e(p, {}),
63
+ indicator: O
64
+ }
65
+ ]), i(t.STICKERS_INTRO_JOURNEY);
66
+ }, [o, n, s, i, r])
67
+ };
68
+ };
69
+ export {
70
+ N as useStickersJourney
71
+ };
72
+ //# sourceMappingURL=use-stickers-journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-stickers-journey.js","sources":["../../../../../../src/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.tsx"],"sourcesContent":["import type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type {\n IUseTeacherStickersJourneyProps,\n TArrowTooltipConfigProps,\n} from './use-stickers-journey-types';\n\nimport React, { useCallback } from 'react';\n\nimport { JOURNEY_ID_TEACHER } from '../../../../journey/journey-id/journey-id-teacher';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\n\nexport const useStickersJourney = ({\n triggerRef,\n tooltipConfig,\n}: IUseTeacherStickersJourneyProps) => {\n const { setJourney, nextCoachmark, endJourney } = useJourney();\n\n const endTeacherStickersOnboarding = useCallback(() => {\n endJourney(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [endJourney]);\n\n const startTeacherStickersJourney = useCallback(() => {\n if (!triggerRef.current) return;\n\n const indicatorPayload: TArrowTooltipConfigProps & {\n borderColor: string;\n arrowColor: string;\n backgroundColor: string;\n tooltipItem: React.ReactNode;\n } = {\n position: tooltipConfig.position,\n tooltipXCoOrdinates: tooltipConfig.tooltipXCoOrdinates,\n tooltipYCoOrdinates: tooltipConfig.tooltipYCoOrdinates,\n arrowXCoOrdinates: tooltipConfig.arrowXCoOrdinates,\n arrowYCoOrdinates: tooltipConfig.arrowYCoOrdinates,\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <FlexView>\n <Text\n $renderOnMobileAs=\"ab3\"\n $renderAs=\"ab3\"\n as=\"span\"\n $inline={true}\n $whiteSpace=\"normal\"\n >\n <Text $renderAs=\"ab3-bold\" as=\"span\" $inline={true}>\n New Stickers\n </Text>{' '}\n - Use them to celebrate little moments of joy!\n </Text>\n </FlexView>\n <Separator height={10} />\n <Button\n renderAs=\"secondary\"\n label=\"Got It\"\n size=\"xsmall\"\n width=\"50%\"\n onClick={endTeacherStickersOnboarding}\n />\n </FlexView>\n ),\n };\n\n setJourney(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY, [\n {\n originalElementToHighlightRef: triggerRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: indicatorPayload as IArrowTooltipProps,\n },\n ]);\n\n nextCoachmark(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [triggerRef, setJourney, endTeacherStickersOnboarding, nextCoachmark, tooltipConfig]);\n\n return {\n startTeacherStickersJourney,\n };\n};\n"],"names":["useStickersJourney","triggerRef","tooltipConfig","setJourney","nextCoachmark","endJourney","useJourney","endTeacherStickersOnboarding","useCallback","JOURNEY_ID_TEACHER","indicatorPayload","FlexView","jsx","jsxs","Text","Separator","Button","IndicatorType","Fragment"],"mappings":";;;;;;;;;AAgBO,MAAMA,IAAqB,CAAC;AAAA,EACjC,YAAAC;AAAA,EACA,eAAAC;AACF,MAAuC;AACrC,QAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,YAAAC,MAAeC,EAAW,GAEvDC,IAA+BC,EAAY,MAAM;AACrD,IAAAH,EAAWI,EAAmB,sBAAsB;AAAA,EAAA,GACnD,CAACJ,CAAU,CAAC;AA2DR,SAAA;AAAA,IACL,6BA1DkCG,EAAY,MAAM;AAChD,UAAA,CAACP,EAAW,QAAS;AAEzB,YAAMS,IAKF;AAAA,QACF,UAAUR,EAAc;AAAA,QACxB,qBAAqBA,EAAc;AAAA,QACnC,qBAAqBA,EAAc;AAAA,QACnC,mBAAmBA,EAAc;AAAA,QACjC,mBAAmBA,EAAc;AAAA,QACjC,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,+BACGS,GACC,EAAA,UAAA;AAAA,UAAA,gBAAAC,EAACD,GACC,EAAA,UAAA,gBAAAE;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,mBAAkB;AAAA,cAClB,WAAU;AAAA,cACV,IAAG;AAAA,cACH,SAAS;AAAA,cACT,aAAY;AAAA,cAEZ,UAAA;AAAA,gBAAA,gBAAAF,EAACE,KAAK,WAAU,YAAW,IAAG,QAAO,SAAS,IAAM,UAEpD,eAAA,CAAA;AAAA,gBAAQ;AAAA,gBAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAGhB;AAAA,UACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,UACvB,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAAST;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GACF;AAAA,MAAA;AAIJ,MAAAJ,EAAWM,EAAmB,wBAAwB;AAAA,QACpD;AAAA,UACE,+BAA+BR;AAAA,UAC/B,MAAMgB,EAAc;AAAA,UACpB,oBAAsB,gBAAAL,EAAAM,GAAA,EAAA;AAAA,UACtB,WAAWR;AAAA,QACb;AAAA,MAAA,CACD,GAEDN,EAAcK,EAAmB,sBAAsB;AAAA,IAAA,GACtD,CAACR,GAAYE,GAAYI,GAA8BH,GAAeF,CAAa,CAAC;AAAA,EAGrF;AAEJ;"}
@@ -1,85 +1,86 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { memo as E, useState as G, useCallback as M, useMemo as n } from "react";
3
- import S from "../../ui/arrow-tooltip/arrow-tooltip.js";
4
- import $ from "./comps/stiker-selector-grid/sticker-selector-grid.js";
5
- import { TriggerWrapper as q } from "./sticker-selector-styled.js";
6
- const v = ({
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { memo as j, useState as B, useCallback as G, useMemo as d } from "react";
3
+ import K from "../../ui/arrow-tooltip/arrow-tooltip.js";
4
+ import R from "./comps/stiker-selector-grid/sticker-selector-grid.js";
5
+ import { TriggerWrapper as _ } from "./sticker-selector-styled.js";
6
+ const $ = ({
7
7
  triggerNode: e,
8
- onStickerSend: t,
8
+ onStickerSend: r,
9
9
  gridConfig: c,
10
- tooltipConfig: d,
11
- visible: p
10
+ tooltipConfig: p,
11
+ visible: f
12
12
  }) => {
13
13
  const { columns: i = 4, gap: s = 8, stickerSize: a = 48 } = c, {
14
14
  isAnimated: u,
15
- arrowColor: f,
15
+ arrowColor: C,
16
16
  arrowSize: b,
17
- arrowXCoOrdinates: C,
17
+ arrowXCoOrdinates: h,
18
18
  arrowYCoOrdinates: w,
19
- backgroundColor: h,
20
- borderColor: T,
21
- position: g = "bottom",
22
- renderAs: k = "primary",
23
- textVariant: O,
24
- tooltipOffset: x,
19
+ backgroundColor: T,
20
+ borderColor: g,
21
+ position: k = "bottom",
22
+ renderAs: x = "primary",
23
+ textVariant: E,
24
+ tooltipOffset: O,
25
25
  tooltipXCoOrdinates: y,
26
- tooltipYCoOrdinates: z,
27
- width: A,
28
- widthX: I,
29
- zIndex: X,
30
- parentWidth: D,
31
- isBlocking: V = !1
32
- } = d, [r, l] = G(!1), m = M(
33
- (j) => {
34
- if (r) return;
35
- t == null || t(j), l(!0);
36
- const B = setTimeout(() => {
26
+ tooltipYCoOrdinates: I,
27
+ width: z,
28
+ widthX: A,
29
+ zIndex: M,
30
+ parentWidth: S,
31
+ isBlocking: X = !1
32
+ } = p, [o, l] = B(!1), n = G(
33
+ (V) => {
34
+ if (o) return;
35
+ const m = ["burst-from-edges", "pop-expand", "float-up", "fall-down"], W = m[Math.floor(Math.random() * m.length)];
36
+ r == null || r(V, W), l(!0);
37
+ const Y = setTimeout(() => {
37
38
  l(!1);
38
39
  }, 5e3);
39
- return () => clearTimeout(B);
40
+ return () => clearTimeout(Y);
40
41
  },
41
- [t, r]
42
- ), W = n(
43
- () => /* @__PURE__ */ o(
44
- $,
42
+ [r, o]
43
+ ), D = d(
44
+ () => /* @__PURE__ */ t(
45
+ R,
45
46
  {
46
47
  columns: i,
47
48
  gap: s,
48
49
  stickerSize: a,
49
- onStickerClick: m,
50
- disabled: r
50
+ onStickerClick: n,
51
+ disabled: o
51
52
  }
52
53
  ),
53
- [i, s, a, m, r]
54
- ), Y = n(() => /* @__PURE__ */ o(q, { $disabled: r, children: e }), [r, e]);
55
- return /* @__PURE__ */ o(
56
- S,
54
+ [i, s, a, n, o]
55
+ ), F = d(() => /* @__PURE__ */ t(_, { $disabled: o, children: e }), [o, e]);
56
+ return /* @__PURE__ */ t(
57
+ K,
57
58
  {
58
- children: Y,
59
+ children: F,
59
60
  alwaysVisible: !0,
60
- hidden: !p,
61
- tooltipItem: W,
62
- renderAs: k,
63
- position: g,
64
- isBlocking: V,
61
+ hidden: !f,
62
+ tooltipItem: D,
63
+ renderAs: x,
64
+ position: k,
65
+ isBlocking: X,
65
66
  isAnimated: u,
66
- zIndex: X,
67
- width: A,
68
- widthX: I,
69
- parentWidth: D,
70
- backgroundColor: h,
71
- borderColor: T,
72
- textVariant: O,
73
- tooltipOffset: x,
74
- arrowColor: f,
67
+ zIndex: M,
68
+ width: z,
69
+ widthX: A,
70
+ parentWidth: S,
71
+ backgroundColor: T,
72
+ borderColor: g,
73
+ textVariant: E,
74
+ tooltipOffset: O,
75
+ arrowColor: C,
75
76
  arrowSize: b,
76
- arrowXCoOrdinates: C,
77
+ arrowXCoOrdinates: h,
77
78
  arrowYCoOrdinates: w,
78
79
  tooltipXCoOrdinates: y,
79
- tooltipYCoOrdinates: z
80
+ tooltipYCoOrdinates: I
80
81
  }
81
82
  );
82
- }, P = E(v);
83
+ }, P = j($);
83
84
  export {
84
85
  P as default
85
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { IStickerData } from '../stickers-types';\nimport type { IStickerSelectorProps } from './sticker-selector-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo, useState, useCallback } from 'react';\n\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport StickerSelectorGrid from './comps/stiker-selector-grid/sticker-selector-grid';\nimport * as Styled from './sticker-selector-styled';\n\nconst StickerSelector: FC<IStickerSelectorProps> = ({\n triggerNode,\n onStickerSend,\n gridConfig,\n tooltipConfig,\n visible,\n}) => {\n const { columns = 4, gap = 8, stickerSize = 48 } = gridConfig;\n const {\n isAnimated,\n arrowColor,\n arrowSize,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n position = 'bottom',\n renderAs = 'primary',\n textVariant,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n parentWidth,\n isBlocking = false,\n } = tooltipConfig;\n\n const [isTemporarilyDisabled, setIsTemporarilyDisabled] = useState(false);\n\n const handleStickerSend = useCallback(\n (sticker: IStickerData) => {\n if (isTemporarilyDisabled) return;\n\n onStickerSend?.(sticker);\n setIsTemporarilyDisabled(true);\n\n const timeout = setTimeout(() => {\n setIsTemporarilyDisabled(false);\n }, 5000);\n\n return () => clearTimeout(timeout);\n },\n [onStickerSend, isTemporarilyDisabled],\n );\n\n const tooltipItem = useMemo(\n () => (\n <StickerSelectorGrid\n columns={columns}\n gap={gap}\n stickerSize={stickerSize}\n onStickerClick={handleStickerSend}\n disabled={isTemporarilyDisabled}\n />\n ),\n [columns, gap, stickerSize, handleStickerSend, isTemporarilyDisabled],\n );\n\n const triggerEle = useMemo(() => {\n return (\n <Styled.TriggerWrapper $disabled={isTemporarilyDisabled}>{triggerNode}</Styled.TriggerWrapper>\n );\n }, [isTemporarilyDisabled, triggerNode]);\n\n return (\n <ArrowTooltip\n children={triggerEle}\n alwaysVisible\n hidden={!visible}\n tooltipItem={tooltipItem}\n renderAs={renderAs}\n position={position}\n isBlocking={isBlocking}\n isAnimated={isAnimated}\n zIndex={zIndex}\n width={width}\n widthX={widthX}\n parentWidth={parentWidth}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n textVariant={textVariant}\n tooltipOffset={tooltipOffset}\n arrowColor={arrowColor}\n arrowSize={arrowSize}\n arrowXCoOrdinates={arrowXCoOrdinates}\n arrowYCoOrdinates={arrowYCoOrdinates}\n tooltipXCoOrdinates={tooltipXCoOrdinates}\n tooltipYCoOrdinates={tooltipYCoOrdinates}\n />\n );\n};\n\nexport default memo(StickerSelector);\n"],"names":["StickerSelector","triggerNode","onStickerSend","gridConfig","tooltipConfig","visible","columns","gap","stickerSize","isAnimated","arrowColor","arrowSize","arrowXCoOrdinates","arrowYCoOrdinates","backgroundColor","borderColor","position","renderAs","textVariant","tooltipOffset","tooltipXCoOrdinates","tooltipYCoOrdinates","width","widthX","zIndex","parentWidth","isBlocking","isTemporarilyDisabled","setIsTemporarilyDisabled","useState","handleStickerSend","useCallback","sticker","timeout","tooltipItem","useMemo","jsx","StickerSelectorGrid","triggerEle","Styled.TriggerWrapper","ArrowTooltip","stickerSelector","memo"],"mappings":";;;;;AAUA,MAAMA,IAA6C,CAAC;AAAA,EAClD,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAM,EAAE,SAAAC,IAAU,GAAG,KAAAC,IAAM,GAAG,aAAAC,IAAc,GAAO,IAAAL,GAC7C;AAAA,IACJ,YAAAM;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,EACX,IAAAtB,GAEE,CAACuB,GAAuBC,CAAwB,IAAIC,EAAS,EAAK,GAElEC,IAAoBC;AAAA,IACxB,CAACC,MAA0B;AACzB,UAAIL,EAAuB;AAE3B,MAAAzB,KAAA,QAAAA,EAAgB8B,IAChBJ,EAAyB,EAAI;AAEvB,YAAAK,IAAU,WAAW,MAAM;AAC/B,QAAAL,EAAyB,EAAK;AAAA,SAC7B,GAAI;AAEA,aAAA,MAAM,aAAaK,CAAO;AAAA,IACnC;AAAA,IACA,CAAC/B,GAAeyB,CAAqB;AAAA,EAAA,GAGjCO,IAAcC;AAAA,IAClB,MACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAA/B;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAgBsB;AAAA,QAChB,UAAUH;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,CAACrB,GAASC,GAAKC,GAAasB,GAAmBH,CAAqB;AAAA,EAAA,GAGhEW,IAAaH,EAAQ,wBAEtBI,GAAA,EAAsB,WAAWZ,GAAwB,UAAY1B,EAAA,CAAA,GAEvE,CAAC0B,GAAuB1B,CAAW,CAAC;AAGrC,SAAA,gBAAAmC;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,UAAUF;AAAA,MACV,eAAa;AAAA,MACb,QAAQ,CAACjC;AAAA,MACT,aAAA6B;AAAA,MACA,UAAAjB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAU;AAAA,MACA,YAAAjB;AAAA,MACA,QAAAe;AAAA,MACA,OAAAF;AAAA,MACA,QAAAC;AAAA,MACA,aAAAE;AAAA,MACA,iBAAAX;AAAA,MACA,aAAAC;AAAA,MACA,aAAAG;AAAA,MACA,eAAAC;AAAA,MACA,YAAAT;AAAA,MACA,WAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,qBAAAO;AAAA,MACA,qBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeoB,IAAAC,EAAK1C,CAAe;"}
1
+ {"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { IStickerData, TStickerAnimationEffects } from '../stickers-types';\nimport type { IStickerSelectorProps } from './sticker-selector-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo, useState, useCallback } from 'react';\n\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport StickerSelectorGrid from './comps/stiker-selector-grid/sticker-selector-grid';\nimport * as Styled from './sticker-selector-styled';\n\nconst StickerSelector: FC<IStickerSelectorProps> = ({\n triggerNode,\n onStickerSend,\n gridConfig,\n tooltipConfig,\n visible,\n}) => {\n const { columns = 4, gap = 8, stickerSize = 48 } = gridConfig;\n const {\n isAnimated,\n arrowColor,\n arrowSize,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n position = 'bottom',\n renderAs = 'primary',\n textVariant,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n parentWidth,\n isBlocking = false,\n } = tooltipConfig;\n\n const [isTemporarilyDisabled, setIsTemporarilyDisabled] = useState(false);\n\n const handleStickerSend = useCallback(\n (sticker: IStickerData) => {\n if (isTemporarilyDisabled) return;\n\n const STICKER_EFFECTS = ['burst-from-edges', 'pop-expand', 'float-up', 'fall-down'] as const;\n\n const randomEffect: TStickerAnimationEffects =\n STICKER_EFFECTS[Math.floor(Math.random() * STICKER_EFFECTS.length)]!;\n\n onStickerSend?.(sticker, randomEffect);\n setIsTemporarilyDisabled(true);\n\n const timeout = setTimeout(() => {\n setIsTemporarilyDisabled(false);\n }, 5000);\n\n return () => clearTimeout(timeout);\n },\n [onStickerSend, isTemporarilyDisabled],\n );\n\n const tooltipItem = useMemo(\n () => (\n <StickerSelectorGrid\n columns={columns}\n gap={gap}\n stickerSize={stickerSize}\n onStickerClick={handleStickerSend}\n disabled={isTemporarilyDisabled}\n />\n ),\n [columns, gap, stickerSize, handleStickerSend, isTemporarilyDisabled],\n );\n\n const triggerEle = useMemo(() => {\n return (\n <Styled.TriggerWrapper $disabled={isTemporarilyDisabled}>{triggerNode}</Styled.TriggerWrapper>\n );\n }, [isTemporarilyDisabled, triggerNode]);\n\n return (\n <ArrowTooltip\n children={triggerEle}\n alwaysVisible\n hidden={!visible}\n tooltipItem={tooltipItem}\n renderAs={renderAs}\n position={position}\n isBlocking={isBlocking}\n isAnimated={isAnimated}\n zIndex={zIndex}\n width={width}\n widthX={widthX}\n parentWidth={parentWidth}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n textVariant={textVariant}\n tooltipOffset={tooltipOffset}\n arrowColor={arrowColor}\n arrowSize={arrowSize}\n arrowXCoOrdinates={arrowXCoOrdinates}\n arrowYCoOrdinates={arrowYCoOrdinates}\n tooltipXCoOrdinates={tooltipXCoOrdinates}\n tooltipYCoOrdinates={tooltipYCoOrdinates}\n />\n );\n};\n\nexport default memo(StickerSelector);\n"],"names":["StickerSelector","triggerNode","onStickerSend","gridConfig","tooltipConfig","visible","columns","gap","stickerSize","isAnimated","arrowColor","arrowSize","arrowXCoOrdinates","arrowYCoOrdinates","backgroundColor","borderColor","position","renderAs","textVariant","tooltipOffset","tooltipXCoOrdinates","tooltipYCoOrdinates","width","widthX","zIndex","parentWidth","isBlocking","isTemporarilyDisabled","setIsTemporarilyDisabled","useState","handleStickerSend","useCallback","sticker","STICKER_EFFECTS","randomEffect","timeout","tooltipItem","useMemo","jsx","StickerSelectorGrid","triggerEle","Styled.TriggerWrapper","ArrowTooltip","stickerSelector","memo"],"mappings":";;;;;AAUA,MAAMA,IAA6C,CAAC;AAAA,EAClD,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAM,EAAE,SAAAC,IAAU,GAAG,KAAAC,IAAM,GAAG,aAAAC,IAAc,GAAO,IAAAL,GAC7C;AAAA,IACJ,YAAAM;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,EACX,IAAAtB,GAEE,CAACuB,GAAuBC,CAAwB,IAAIC,EAAS,EAAK,GAElEC,IAAoBC;AAAA,IACxB,CAACC,MAA0B;AACzB,UAAIL,EAAuB;AAE3B,YAAMM,IAAkB,CAAC,oBAAoB,cAAc,YAAY,WAAW,GAE5EC,IACJD,EAAgB,KAAK,MAAM,KAAK,WAAWA,EAAgB,MAAM,CAAC;AAEpE,MAAA/B,KAAA,QAAAA,EAAgB8B,GAASE,IACzBN,EAAyB,EAAI;AAEvB,YAAAO,IAAU,WAAW,MAAM;AAC/B,QAAAP,EAAyB,EAAK;AAAA,SAC7B,GAAI;AAEA,aAAA,MAAM,aAAaO,CAAO;AAAA,IACnC;AAAA,IACA,CAACjC,GAAeyB,CAAqB;AAAA,EAAA,GAGjCS,IAAcC;AAAA,IAClB,MACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAAjC;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAgBsB;AAAA,QAChB,UAAUH;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,CAACrB,GAASC,GAAKC,GAAasB,GAAmBH,CAAqB;AAAA,EAAA,GAGhEa,IAAaH,EAAQ,wBAEtBI,GAAA,EAAsB,WAAWd,GAAwB,UAAY1B,EAAA,CAAA,GAEvE,CAAC0B,GAAuB1B,CAAW,CAAC;AAGrC,SAAA,gBAAAqC;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,UAAUF;AAAA,MACV,eAAa;AAAA,MACb,QAAQ,CAACnC;AAAA,MACT,aAAA+B;AAAA,MACA,UAAAnB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAU;AAAA,MACA,YAAAjB;AAAA,MACA,QAAAe;AAAA,MACA,OAAAF;AAAA,MACA,QAAAC;AAAA,MACA,aAAAE;AAAA,MACA,iBAAAX;AAAA,MACA,aAAAC;AAAA,MACA,aAAAG;AAAA,MACA,eAAAC;AAAA,MACA,YAAAT;AAAA,MACA,WAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,qBAAAO;AAAA,MACA,qBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN,GAEesB,IAAAC,EAAK5C,CAAe;"}
@@ -0,0 +1,34 @@
1
+ import { jsx as n, Fragment as l } from "react/jsx-runtime";
2
+ import { memo as d, useState as f, useEffect as p } from "react";
3
+ import h from "../../../ui/dot-lottie-animations/dot-lottie-animation.js";
4
+ import { preloadLottieFile as g } from "../stickers-effects-cache.js";
5
+ const D = d(({ url: t, sticker: s, size: o }) => {
6
+ const [i, m] = f(), [u, e] = f(!1), c = {
7
+ loop: !0,
8
+ autoplay: !0
9
+ };
10
+ return p(() => {
11
+ let r = !0;
12
+ if (t)
13
+ return g(t).then((a) => {
14
+ r && (a ? m(a) : e(!0));
15
+ }).catch(() => {
16
+ r && e(!0);
17
+ }), () => {
18
+ r = !1;
19
+ };
20
+ }, [t]), !t || u || !i ? /* @__PURE__ */ n(l, { children: s }) : /* @__PURE__ */ n(
21
+ h,
22
+ {
23
+ data: i,
24
+ width: o,
25
+ height: o,
26
+ settings: c,
27
+ onError: () => e(!0)
28
+ }
29
+ );
30
+ });
31
+ export {
32
+ D as default
33
+ };
34
+ //# sourceMappingURL=sticker-with-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticker-with-fallback.js","sources":["../../../../../src/features/stickers/stickers-effects/comps/sticker-with-fallback.tsx"],"sourcesContent":["import type { Data } from '@lottiefiles/dotlottie-web';\n\nimport { memo, useEffect, useState, type FC } from 'react';\n\nimport DotLottieAnimation from '../../../ui/dot-lottie-animations/dot-lottie-animation';\nimport { preloadLottieFile } from '../stickers-effects-cache';\n\nconst StickerWithFallback: FC<{\n url?: string;\n sticker: string;\n size: number;\n}> = memo(({ url, sticker, size }) => {\n const [data, setData] = useState<Data>();\n const [failed, setFailed] = useState(false);\n const renderSettings = {\n loop: true,\n autoplay: true,\n };\n\n useEffect(() => {\n let isMounted = true;\n\n if (!url) return;\n\n preloadLottieFile(url)\n .then(result => {\n if (isMounted) {\n if (result) {\n setData(result);\n } else {\n setFailed(true);\n }\n }\n })\n .catch(() => {\n if (isMounted) setFailed(true);\n });\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n if (!url || failed || !data) {\n return <>{sticker}</>;\n }\n\n return (\n <DotLottieAnimation\n data={data}\n width={size}\n height={size}\n settings={renderSettings}\n onError={() => setFailed(true)}\n />\n );\n});\n\nexport default StickerWithFallback;\n"],"names":["StickerWithFallback","memo","url","sticker","size","data","setData","useState","failed","setFailed","renderSettings","useEffect","isMounted","preloadLottieFile","result","jsx","DotLottieAnimation"],"mappings":";;;;AAOA,MAAMA,IAIDC,EAAK,CAAC,EAAE,KAAAC,GAAK,SAAAC,GAAS,MAAAC,QAAW;AACpC,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAe,GACjC,CAACC,GAAQC,CAAS,IAAIF,EAAS,EAAK,GACpCG,IAAiB;AAAA,IACrB,MAAM;AAAA,IACN,UAAU;AAAA,EAAA;AA2BZ,SAxBAC,EAAU,MAAM;AACd,QAAIC,IAAY;AAEhB,QAAKV;AAEa,aAAAW,EAAAX,CAAG,EAClB,KAAK,CAAUY,MAAA;AACd,QAAIF,MACEE,IACFR,EAAQQ,CAAM,IAEdL,EAAU,EAAI;AAAA,MAElB,CACD,EACA,MAAM,MAAM;AACP,QAAAG,OAAqB,EAAI;AAAA,MAAA,CAC9B,GAEI,MAAM;AACC,QAAAA,IAAA;AAAA,MAAA;AAAA,EACd,GACC,CAACV,CAAG,CAAC,GAEJ,CAACA,KAAOM,KAAU,CAACH,2BACX,UAAQF,EAAA,CAAA,IAIlB,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAX;AAAA,MACA,OAAOD;AAAA,MACP,QAAQA;AAAA,MACR,UAAUM;AAAA,MACV,SAAS,MAAMD,EAAU,EAAI;AAAA,IAAA;AAAA,EAAA;AAGnC,CAAC;"}
@@ -0,0 +1,26 @@
1
+ const e = {
2
+ "burst-from-edges": {
3
+ effect: "burst-from-edges",
4
+ duration: 3e3,
5
+ count: 10
6
+ },
7
+ "pop-expand": {
8
+ effect: "pop-expand",
9
+ duration: 3e3,
10
+ count: 5
11
+ },
12
+ "float-up": {
13
+ effect: "float-up",
14
+ duration: 3e3,
15
+ count: 7
16
+ },
17
+ "fall-down": {
18
+ effect: "fall-down",
19
+ duration: 3e3,
20
+ count: 7
21
+ }
22
+ };
23
+ export {
24
+ e as EFFECTS_MAP
25
+ };
26
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/stickers/stickers-effects/constants.ts"],"sourcesContent":["import type { TStickerAnimationEffects } from '../stickers-types';\nimport type { IStickersProps } from './stickers-effects-types';\n\nexport const EFFECTS_MAP: Record<TStickerAnimationEffects, Omit<IStickersProps, 'stickerId'>> = {\n 'burst-from-edges': {\n effect: 'burst-from-edges',\n duration: 3000,\n count: 10,\n },\n 'pop-expand': {\n effect: 'pop-expand',\n duration: 3000,\n count: 5,\n },\n 'float-up': {\n effect: 'float-up',\n duration: 3000,\n count: 7,\n },\n 'fall-down': {\n effect: 'fall-down',\n duration: 3000,\n count: 7,\n },\n};\n"],"names":["EFFECTS_MAP"],"mappings":"AAGO,MAAMA,IAAmF;AAAA,EAC9F,oBAAoB;AAAA,IAClB,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AACF;"}
@@ -0,0 +1,28 @@
1
+ import { jsxs as n, jsx as l } from "react/jsx-runtime";
2
+ import { useState as d, useCallback as r } from "react";
3
+ import m from "../stickers-effects.js";
4
+ import { StickersContext as f } from "../stickers-effects-types.js";
5
+ const x = ({ children: s }) => {
6
+ const [e, t] = d(null), o = r((a) => {
7
+ t(a);
8
+ }, []), c = r(() => {
9
+ t(null);
10
+ }, []), i = {
11
+ showSticker: o
12
+ };
13
+ return /* @__PURE__ */ n(f.Provider, { value: i, children: [
14
+ s,
15
+ e && /* @__PURE__ */ l(
16
+ m,
17
+ {
18
+ stickerId: e.message.data.selectedSticker.id,
19
+ effectType: e.message.data.effectId,
20
+ onClose: c
21
+ }
22
+ )
23
+ ] });
24
+ };
25
+ export {
26
+ x as StickersProvider
27
+ };
28
+ //# sourceMappingURL=sticker-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticker-provider.js","sources":["../../../../../src/features/stickers/stickers-effects/context/sticker-provider.tsx"],"sourcesContent":["import type { TStickerAnimationEffects, TStickersPayload } from '../../stickers-types';\nimport type { StickersContextType } from '../stickers-effects-types';\n\nimport { useCallback, useState, type ReactNode } from 'react';\n\nimport StickersEffect from '../stickers-effects';\nimport { StickersContext } from '../stickers-effects-types';\n\ninterface StickersProviderProps {\n children: ReactNode;\n}\n\nexport const StickersProvider = ({ children }: StickersProviderProps) => {\n const [stickerData, setStickerData] = useState<TStickersPayload | null>(null);\n\n const showSticker = useCallback((payload: TStickersPayload) => {\n setStickerData(payload);\n }, []);\n\n const handleAnimationEnd = useCallback(() => {\n setStickerData(null);\n }, []);\n\n const contextValue: StickersContextType = {\n showSticker,\n };\n\n return (\n <StickersContext.Provider value={contextValue}>\n {children}\n {stickerData && (\n <StickersEffect\n stickerId={stickerData.message.data.selectedSticker.id}\n effectType={stickerData.message.data.effectId as TStickerAnimationEffects}\n onClose={handleAnimationEnd}\n />\n )}\n </StickersContext.Provider>\n );\n};\n"],"names":["StickersProvider","children","stickerData","setStickerData","useState","showSticker","useCallback","payload","handleAnimationEnd","contextValue","jsxs","StickersContext","jsx","StickersEffect"],"mappings":";;;;AAYO,MAAMA,IAAmB,CAAC,EAAE,UAAAC,QAAsC;AACvE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAkC,IAAI,GAEtEC,IAAcC,EAAY,CAACC,MAA8B;AAC7D,IAAAJ,EAAeI,CAAO;AAAA,EACxB,GAAG,CAAE,CAAA,GAECC,IAAqBF,EAAY,MAAM;AAC3C,IAAAH,EAAe,IAAI;AAAA,EACrB,GAAG,CAAE,CAAA,GAECM,IAAoC;AAAA,IACxC,aAAAJ;AAAA,EAAA;AAGF,SACG,gBAAAK,EAAAC,EAAgB,UAAhB,EAAyB,OAAOF,GAC9B,UAAA;AAAA,IAAAR;AAAA,IACAC,KACC,gBAAAU;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWX,EAAY,QAAQ,KAAK,gBAAgB;AAAA,QACpD,YAAYA,EAAY,QAAQ,KAAK;AAAA,QACrC,SAASM;AAAA,MAAA;AAAA,IACX;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,12 @@
1
+ import { useContext as r } from "react";
2
+ import { StickersContext as e } from "../stickers-effects-types.js";
3
+ const i = () => {
4
+ const t = r(e);
5
+ if (!t)
6
+ throw new Error("useStickers must be used within a StickersProvider");
7
+ return t;
8
+ };
9
+ export {
10
+ i as useStickers
11
+ };
12
+ //# sourceMappingURL=use-stickers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-stickers.js","sources":["../../../../../src/features/stickers/stickers-effects/hooks/use-stickers.tsx"],"sourcesContent":["import { useContext } from 'react';\n\nimport { StickersContext, type StickersContextType } from '../stickers-effects-types';\n\nexport const useStickers = (): StickersContextType => {\n const context = useContext(StickersContext);\n\n if (!context) {\n throw new Error('useStickers must be used within a StickersProvider');\n }\n\n return context;\n};\n"],"names":["useStickers","context","useContext","StickersContext"],"mappings":";;AAIO,MAAMA,IAAc,MAA2B;AAC9C,QAAAC,IAAUC,EAAWC,CAAe;AAE1C,MAAI,CAACF;AACG,UAAA,IAAI,MAAM,oDAAoD;AAG/D,SAAAA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"stickers-effects-helper.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-helper.ts"],"sourcesContent":["import type { TStickerData, IGenerateStickersData } from './stickers-effects-types';\n\nimport { STICKERS_DATA } from '../constants';\n\nconst getBurstPosition = (\n index: number,\n total: number,\n): {\n fromX: string;\n fromY: string;\n x: number;\n y: number;\n} => {\n const countPerSide = Math.ceil(total / 4);\n const sideIndex = Math.floor(index / countPerSide);\n const pos = index % countPerSide;\n\n const sides = ['top', 'right', 'bottom', 'left'] as const;\n const side = sides[sideIndex] ?? 'left';\n\n const basePercent = ((pos + 0.5) / countPerSide) * 100;\n const jitter = (Math.random() - 0.5) * 25;\n const edgePercent = Math.min(Math.max(basePercent + jitter, 0), 100);\n\n const centerX = 45 + Math.random() * 10;\n const centerY = 45 + Math.random() * 10;\n\n let fromX = 0;\n let fromY = 0;\n\n switch (side) {\n case 'top':\n fromX = edgePercent - centerX;\n fromY = -centerY + jitter;\n break;\n case 'right':\n fromX = 100 - centerX + jitter;\n fromY = edgePercent - centerY;\n break;\n case 'bottom':\n fromX = edgePercent - centerX;\n fromY = 100 - centerY + jitter;\n break;\n case 'left':\n fromX = -centerX + jitter;\n fromY = edgePercent - centerY;\n break;\n }\n\n return {\n fromX: `${fromX}vw`,\n fromY: `${fromY}vh`,\n x: centerX,\n y: centerY,\n };\n};\n\nconst getRandomNonOverlappingPositions = (count: number, buffer = 10): number[] => {\n const used: number[] = [];\n let attempts = 0;\n const maxAttempts = count;\n\n while (used.length < count && attempts < maxAttempts) {\n const value = Math.floor(Math.random() * (100 - 2 * buffer) + buffer);\n\n if (used.every(v => Math.abs(v - value) >= buffer)) {\n used.push(value);\n }\n attempts++;\n }\n\n while (used.length < count) {\n used.push(Math.floor(Math.random() * (100 - 2 * buffer) + buffer));\n }\n\n return used;\n};\n\nexport function generateStickerData({\n count,\n effect,\n stickerId,\n minSize,\n maxSize,\n}: IGenerateStickersData): TStickerData[] {\n const buffer = (100 / count) * 2;\n const getSize = () => Math.random() * (maxSize - minSize) + minSize;\n const result: TStickerData[] = [];\n const xPositions = ['float-up', 'fall-down'].includes(effect)\n ? getRandomNonOverlappingPositions(count, buffer)\n : [];\n\n for (let i = 0; i < count; i++) {\n const { emoji: sticker = '', lottieUrl: lottie } =\n STICKERS_DATA.find(({ id }) => id === stickerId) || {};\n\n const size = getSize();\n const x = xPositions[i]!;\n const common = { id: stickerId, sticker, size };\n\n switch (effect) {\n case 'float-up':\n result.push({\n ...common,\n x,\n y: 110 + (Math.random() - 0.5) * size,\n lottie: lottie,\n });\n break;\n\n case 'fall-down':\n result.push({\n ...common,\n x,\n y: -10 + (Math.random() - 0.5) * size,\n lottie: lottie,\n });\n break;\n\n case 'burst-from-edges': {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { x, y, fromX, fromY } = getBurstPosition(i, count);\n\n result.push({\n ...common,\n x,\n y,\n fromX,\n fromY,\n size,\n lottie: lottie,\n });\n break;\n }\n\n case 'pop-expand':\n result.push({\n ...common,\n x: 50,\n y: 100,\n fromX: `${(Math.random() - 0.5) * 27.5}vw`,\n fromY: `${-50 - Math.random() * 27.5}vh`,\n lottie: lottie,\n });\n break;\n\n default:\n result.push({\n ...common,\n x: Math.random() * 100,\n y: Math.random() * 100,\n });\n }\n }\n\n return result;\n}\n\nexport const randomizeDuration = (base: number, variancePercent = 0.2): number => {\n const delta = base * variancePercent;\n const min = base - delta;\n const max = base + delta;\n\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n"],"names":["getBurstPosition","index","total","countPerSide","sideIndex","pos","side","basePercent","jitter","edgePercent","centerX","centerY","fromX","fromY","getRandomNonOverlappingPositions","count","buffer","used","attempts","maxAttempts","value","v","generateStickerData","effect","stickerId","minSize","maxSize","getSize","result","xPositions","i","sticker","lottie","STICKERS_DATA","id","size","x","common","y","randomizeDuration","base","variancePercent","delta","min","max"],"mappings":"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"}
1
+ {"version":3,"file":"stickers-effects-helper.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-helper.ts"],"sourcesContent":["import type { TStickerAnimationData, IGenerateStickersData } from './stickers-effects-types';\n\nimport { STICKERS_DATA } from '../constants';\n\nconst getBurstPosition = (\n index: number,\n total: number,\n): {\n fromX: string;\n fromY: string;\n x: number;\n y: number;\n} => {\n const countPerSide = Math.ceil(total / 4);\n const sideIndex = Math.floor(index / countPerSide);\n const pos = index % countPerSide;\n\n const sides = ['top', 'right', 'bottom', 'left'] as const;\n const side = sides[sideIndex] ?? 'left';\n\n const basePercent = ((pos + 0.5) / countPerSide) * 100;\n const jitter = (Math.random() - 0.5) * 25;\n const edgePercent = Math.min(Math.max(basePercent + jitter, 0), 100);\n\n const centerX = 45 + Math.random() * 10;\n const centerY = 45 + Math.random() * 10;\n\n let fromX = 0;\n let fromY = 0;\n\n switch (side) {\n case 'top':\n fromX = edgePercent - centerX;\n fromY = -centerY + jitter;\n break;\n case 'right':\n fromX = 100 - centerX + jitter;\n fromY = edgePercent - centerY;\n break;\n case 'bottom':\n fromX = edgePercent - centerX;\n fromY = 100 - centerY + jitter;\n break;\n case 'left':\n fromX = -centerX + jitter;\n fromY = edgePercent - centerY;\n break;\n }\n\n return {\n fromX: `${fromX}vw`,\n fromY: `${fromY}vh`,\n x: centerX,\n y: centerY,\n };\n};\n\nconst getRandomNonOverlappingPositions = (count: number, buffer = 10): number[] => {\n const used: number[] = [];\n let attempts = 0;\n const maxAttempts = count;\n\n while (used.length < count && attempts < maxAttempts) {\n const value = Math.floor(Math.random() * (100 - 2 * buffer) + buffer);\n\n if (used.every(v => Math.abs(v - value) >= buffer)) {\n used.push(value);\n }\n attempts++;\n }\n\n while (used.length < count) {\n used.push(Math.floor(Math.random() * (100 - 2 * buffer) + buffer));\n }\n\n return used;\n};\n\nexport function generateStickerData({\n count,\n effect,\n stickerId,\n minSize,\n maxSize,\n}: IGenerateStickersData): TStickerAnimationData[] {\n const buffer = (100 / count) * 2;\n const getSize = () => Math.random() * (maxSize - minSize) + minSize;\n const result: TStickerAnimationData[] = [];\n const xPositions = ['float-up', 'fall-down'].includes(effect)\n ? getRandomNonOverlappingPositions(count, buffer)\n : [];\n\n for (let i = 0; i < count; i++) {\n const { emoji: sticker = '', lottieUrl: lottie } =\n STICKERS_DATA.find(({ id }) => id === stickerId) || {};\n\n const size = getSize();\n const x = xPositions[i]!;\n const common = { id: stickerId, sticker, size };\n\n switch (effect) {\n case 'float-up':\n result.push({\n ...common,\n x,\n y: 110 + (Math.random() - 0.5) * size,\n lottie: lottie,\n });\n break;\n\n case 'fall-down':\n result.push({\n ...common,\n x,\n y: -10 + (Math.random() - 0.5) * size,\n lottie: lottie,\n });\n break;\n\n case 'burst-from-edges': {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { x, y, fromX, fromY } = getBurstPosition(i, count);\n\n result.push({\n ...common,\n x,\n y,\n fromX,\n fromY,\n size,\n lottie: lottie,\n });\n break;\n }\n\n case 'pop-expand':\n result.push({\n ...common,\n x: 50,\n y: 100,\n fromX: `${(Math.random() - 0.5) * 27.5}vw`,\n fromY: `${-50 - Math.random() * 27.5}vh`,\n lottie: lottie,\n });\n break;\n\n default:\n result.push({\n ...common,\n x: Math.random() * 100,\n y: Math.random() * 100,\n });\n }\n }\n\n return result;\n}\n\nexport const randomizeDuration = (base: number, variancePercent = 0.2): number => {\n const delta = base * variancePercent;\n const min = base - delta;\n const max = base + delta;\n\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n"],"names":["getBurstPosition","index","total","countPerSide","sideIndex","pos","side","basePercent","jitter","edgePercent","centerX","centerY","fromX","fromY","getRandomNonOverlappingPositions","count","buffer","used","attempts","maxAttempts","value","v","generateStickerData","effect","stickerId","minSize","maxSize","getSize","result","xPositions","i","sticker","lottie","STICKERS_DATA","id","size","x","common","y","randomizeDuration","base","variancePercent","delta","min","max"],"mappings":"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"}
@@ -1,37 +1,52 @@
1
- import o, { css as n } from "styled-components";
2
- import { effectAnimations as r } from "./stickers-effects-animations.js";
3
- const d = o.div`
1
+ import t, { css as o } from "styled-components";
2
+ import p from "../../ui/layout/flex-view.js";
3
+ import { effectAnimations as $ } from "./stickers-effects-animations.js";
4
+ const v = t(p)`
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ width: 100vw;
9
+ height: 100vh;
10
+ z-index: 999;
11
+ pointer-events: none;
12
+ user-select: none;
13
+
14
+ & * {
15
+ pointer-events: none;
16
+ }
17
+ `, l = t.div`
4
18
  position: relative;
5
19
  width: 100vw;
6
20
  height: 100vh;
7
21
  background: transparent;
8
22
  pointer-events: none;
9
- `, h = o.div`
23
+ `, m = t.div`
10
24
  position: absolute;
11
25
  z-index: 10;
12
26
 
13
- left: ${({ x: i }) => `${i}%`};
14
- top: ${({ y: i }) => `${i}%`};
15
- width: ${({ size: i }) => `${i}px`};
16
- height: ${({ size: i }) => `${i}px`};
17
- font-size: ${({ size: i }) => `${i}px`};
27
+ left: ${({ x: e }) => `${e}%`};
28
+ top: ${({ y: e }) => `${e}%`};
29
+ width: ${({ size: e }) => `${e}px`};
30
+ height: ${({ size: e }) => `${e}px`};
31
+ font-size: ${({ size: e }) => `${e}px`};
18
32
 
19
33
  pointer-events: none;
20
34
  visibility: hidden;
21
35
  animation-fill-mode: both;
22
36
 
23
- ${({ effect: i, duration: $, delay: s = 0, fromX: t, fromY: e }) => n`
24
- ${r[i]($)}
25
- animation-delay: ${s}ms;
37
+ ${({ effect: e, duration: s, delay: r = 0, fromX: i, fromY: n }) => o`
38
+ ${$[e](s)}
39
+ animation-delay: ${r}ms;
26
40
 
27
- ${t && e && n`
28
- --from-x: ${t};
29
- --from-y: ${e};
41
+ ${i && n && o`
42
+ --from-x: ${i};
43
+ --from-y: ${n};
30
44
  `}
31
45
  `}
32
46
  `;
33
47
  export {
34
- d as Container,
35
- h as Sticker
48
+ l as Container,
49
+ m as Sticker,
50
+ v as StickersWrapper
36
51
  };
37
52
  //# sourceMappingURL=stickers-effects-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stickers-effects-styled.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-styled.ts"],"sourcesContent":["import type { IStickersProps } from './stickers-effects-types';\n\nimport styled, { css } from 'styled-components';\n\nimport { effectAnimations } from './stickers-effects-animations';\n\nexport const Container = styled.div`\n position: relative;\n width: 100vw;\n height: 100vh;\n background: transparent;\n pointer-events: none;\n`;\n\nexport const Sticker = styled.div<{\n effect: IStickersProps['effect'];\n duration: number;\n delay?: number;\n fromX?: string;\n fromY?: string;\n x: number;\n y: number;\n size: number;\n}>`\n position: absolute;\n z-index: 10;\n\n left: ${({ x }) => `${x}%`};\n top: ${({ y }) => `${y}%`};\n width: ${({ size }) => `${size}px`};\n height: ${({ size }) => `${size}px`};\n font-size: ${({ size }) => `${size}px`};\n\n pointer-events: none;\n visibility: hidden;\n animation-fill-mode: both;\n\n ${({ effect, duration, delay = 0, fromX, fromY }) => css`\n ${effectAnimations[effect](duration)}\n animation-delay: ${delay}ms;\n\n ${fromX &&\n fromY &&\n css`\n --from-x: ${fromX};\n --from-y: ${fromY};\n `}\n `}\n`;\n"],"names":["Container","styled","Sticker","x","y","size","effect","duration","delay","fromX","fromY","css","effectAnimations"],"mappings":";;AAMO,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQnBC,IAAUD,EAAO;AAAA;AAAA;AAAA;AAAA,UAapB,CAAC,EAAE,GAAAE,EAAQ,MAAA,GAAGA,CAAC,GAAG;AAAA,SACnB,CAAC,EAAE,GAAAC,EAAQ,MAAA,GAAGA,CAAC,GAAG;AAAA,WAChB,CAAC,EAAE,MAAAC,EAAW,MAAA,GAAGA,CAAI,IAAI;AAAA,YACxB,CAAC,EAAE,MAAAA,EAAW,MAAA,GAAGA,CAAI,IAAI;AAAA,eACtB,CAAC,EAAE,MAAAA,EAAW,MAAA,GAAGA,CAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpC,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,OAAAC,IAAQ,GAAG,OAAAC,GAAO,OAAAC,EAAY,MAAAC;AAAA,MACjDC,EAAiBN,CAAM,EAAEC,CAAQ,CAAC;AAAA,uBACjBC,CAAK;AAAA;AAAA,MAEtBC,KACFC,KACAC;AAAA,kBACcF,CAAK;AAAA,kBACLC,CAAK;AAAA,KAClB;AAAA,GACF;AAAA;"}
1
+ {"version":3,"file":"stickers-effects-styled.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-styled.ts"],"sourcesContent":["import type { IStickersProps } from './stickers-effects-types';\n\nimport styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { effectAnimations } from './stickers-effects-animations';\n\nexport const StickersWrapper = styled(FlexView)`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 999;\n pointer-events: none;\n user-select: none;\n\n & * {\n pointer-events: none;\n }\n`;\n\nexport const Container = styled.div`\n position: relative;\n width: 100vw;\n height: 100vh;\n background: transparent;\n pointer-events: none;\n`;\n\nexport const Sticker = styled.div<{\n effect: IStickersProps['effect'];\n duration: number;\n delay?: number;\n fromX?: string;\n fromY?: string;\n x: number;\n y: number;\n size: number;\n}>`\n position: absolute;\n z-index: 10;\n\n left: ${({ x }) => `${x}%`};\n top: ${({ y }) => `${y}%`};\n width: ${({ size }) => `${size}px`};\n height: ${({ size }) => `${size}px`};\n font-size: ${({ size }) => `${size}px`};\n\n pointer-events: none;\n visibility: hidden;\n animation-fill-mode: both;\n\n ${({ effect, duration, delay = 0, fromX, fromY }) => css`\n ${effectAnimations[effect](duration)}\n animation-delay: ${delay}ms;\n\n ${fromX &&\n fromY &&\n css`\n --from-x: ${fromX};\n --from-y: ${fromY};\n `}\n `}\n`;\n"],"names":["StickersWrapper","styled","FlexView","Container","Sticker","x","y","size","effect","duration","delay","fromX","fromY","css","effectAnimations"],"mappings":";;;AAOa,MAAAA,IAAkBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAejCC,IAAYF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQnBG,IAAUH,EAAO;AAAA;AAAA;AAAA;AAAA,UAapB,CAAC,EAAE,GAAAI,EAAQ,MAAA,GAAGA,CAAC,GAAG;AAAA,SACnB,CAAC,EAAE,GAAAC,EAAQ,MAAA,GAAGA,CAAC,GAAG;AAAA,WAChB,CAAC,EAAE,MAAAC,EAAW,MAAA,GAAGA,CAAI,IAAI;AAAA,YACxB,CAAC,EAAE,MAAAA,EAAW,MAAA,GAAGA,CAAI,IAAI;AAAA,eACtB,CAAC,EAAE,MAAAA,EAAW,MAAA,GAAGA,CAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpC,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,OAAAC,IAAQ,GAAG,OAAAC,GAAO,OAAAC,EAAY,MAAAC;AAAA,MACjDC,EAAiBN,CAAM,EAAEC,CAAQ,CAAC;AAAA,uBACjBC,CAAK;AAAA;AAAA,MAEtBC,KACFC,KACAC;AAAA,kBACcF,CAAK;AAAA,kBACLC,CAAK;AAAA,KAClB;AAAA,GACF;AAAA;"}
@@ -0,0 +1,6 @@
1
+ import { createContext as t } from "react";
2
+ const e = t(void 0);
3
+ export {
4
+ e as StickersContext
5
+ };
6
+ //# sourceMappingURL=stickers-effects-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stickers-effects-types.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-types.ts"],"sourcesContent":["import type { IStickerData, TStickerAnimationEffects, TStickersPayload } from '../stickers-types';\n\nimport { createContext } from 'react';\n\nexport type TStickerAnimationData = {\n id: string;\n sticker: string;\n lottie?: string;\n x: number;\n y: number;\n size: number;\n fromX?: string;\n fromY?: string;\n};\nexport interface IStickersProps {\n stickerId: IStickerData['id'];\n effect: TStickerAnimationEffects;\n count: number;\n duration: number;\n}\n\nexport interface IGenerateStickersData extends Omit<IStickersProps, 'duration'> {\n minSize: number;\n maxSize: number;\n}\n\nexport interface StickersEffectProps {\n stickerId: string;\n effectType: TStickerAnimationEffects;\n duration?: number;\n onClose?: () => void;\n}\nexport interface StickersContextType {\n showSticker: (payload: TStickersPayload) => void;\n}\n\nexport const StickersContext = createContext<StickersContextType | undefined>(undefined);\n"],"names":["StickersContext","createContext"],"mappings":";AAoCa,MAAAA,IAAkBC,EAA+C,MAAS;"}