@wakastellar/ui 4.0.1 → 4.1.1

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 (622) hide show
  1. package/dist/blocks/_shared/identity/InviteUserPanel.cjs.js +1 -1
  2. package/dist/blocks/_shared/identity/RoleSelect.cjs.js +1 -1
  3. package/dist/blocks/_shared/identity/SidePushLayout.cjs.js +1 -1
  4. package/dist/blocks/activity-timeline/index.cjs.js +1 -1
  5. package/dist/blocks/activity-timeline/index.es.js +1 -1
  6. package/dist/blocks/antivirus-dashboard/index.cjs.js +1 -1
  7. package/dist/blocks/antivirus-dashboard/index.es.js +1 -1
  8. package/dist/blocks/api-keys-manager/index.cjs.js +1 -1
  9. package/dist/blocks/apm-overview/index.cjs.js +1 -1
  10. package/dist/blocks/auth-2fa/index.cjs.js +2 -2
  11. package/dist/blocks/auth-2fa/index.es.js +1 -1
  12. package/dist/blocks/avatar-upload/index.cjs.js +1 -1
  13. package/dist/blocks/avatar-upload/index.es.js +13 -13
  14. package/dist/blocks/calendar-view/index.cjs.js +1 -1
  15. package/dist/blocks/calendar-view/index.es.js +1 -1
  16. package/dist/blocks/chat/index.cjs.js +1 -1
  17. package/dist/blocks/chat/index.es.js +162 -162
  18. package/dist/blocks/chat/widget.cjs.js +1 -1
  19. package/dist/blocks/chat/widget.es.js +19 -13
  20. package/dist/blocks/chat-interface/index.cjs.js +1 -1
  21. package/dist/blocks/chat-interface/index.es.js +1 -1
  22. package/dist/blocks/checkout-flow/index.cjs.js +1 -1
  23. package/dist/blocks/checkout-flow/index.es.js +1 -1
  24. package/dist/blocks/cicd-builder/index.cjs.js +1 -1
  25. package/dist/blocks/clamav-service-status/index.cjs.js +1 -1
  26. package/dist/blocks/cloud-cost-dashboard/index.cjs.js +1 -1
  27. package/dist/blocks/container-orchestrator/index.cjs.js +1 -1
  28. package/dist/blocks/container-orchestrator/index.es.js +2 -1
  29. package/dist/blocks/dashboard/index.cjs.js +1 -1
  30. package/dist/blocks/dashboard/index.es.js +2 -2
  31. package/dist/blocks/dashboard-kpi/index.cjs.js +1 -1
  32. package/dist/blocks/dashboard-kpi/index.es.js +1 -1
  33. package/dist/blocks/database-admin/index.cjs.js +1 -1
  34. package/dist/blocks/deployment-dashboard/index.cjs.js +1 -1
  35. package/dist/blocks/deployment-dashboard/index.es.js +1 -1
  36. package/dist/blocks/empty-states/index.cjs.js +1 -1
  37. package/dist/blocks/empty-states/index.es.js +1 -1
  38. package/dist/blocks/error-pages/index.cjs.js +1 -1
  39. package/dist/blocks/error-pages/index.es.js +1 -1
  40. package/dist/blocks/faq/index.cjs.js +1 -1
  41. package/dist/blocks/faq/index.es.js +1 -1
  42. package/dist/blocks/file-manager/index.cjs.js +1 -1
  43. package/dist/blocks/file-manager/index.es.js +1 -1
  44. package/dist/blocks/file-scan-uploader/index.cjs.js +1 -1
  45. package/dist/blocks/file-scan-uploader/index.es.js +2 -2
  46. package/dist/blocks/footer/index.cjs.js +1 -1
  47. package/dist/blocks/gitops-sync-status/index.cjs.js +1 -1
  48. package/dist/blocks/header/index.cjs.js +1 -1
  49. package/dist/blocks/header/index.es.js +1 -1
  50. package/dist/blocks/headtab/index.cjs.js +1 -1
  51. package/dist/blocks/i18n-editor/index.cjs.js +1 -1
  52. package/dist/blocks/i18n-editor/index.es.js +127 -127
  53. package/dist/blocks/incident-manager/index.cjs.js +1 -1
  54. package/dist/blocks/infrastructure-map/index.cjs.js +1 -1
  55. package/dist/blocks/kanban-board/index.cjs.js +1 -1
  56. package/dist/blocks/kanban-board/index.es.js +1 -1
  57. package/dist/blocks/landing/index.cjs.js +1 -1
  58. package/dist/blocks/landing/index.es.js +1 -1
  59. package/dist/blocks/language-selector/index.cjs.js +1 -1
  60. package/dist/blocks/layout/index.cjs.js +1 -1
  61. package/dist/blocks/login/index.cjs.js +1 -1
  62. package/dist/blocks/on-call-schedule/index.cjs.js +1 -1
  63. package/dist/blocks/player-profile/index.cjs.js +1 -1
  64. package/dist/blocks/player-profile/index.es.js +1 -1
  65. package/dist/blocks/pricing/index.cjs.js +1 -1
  66. package/dist/blocks/pricing/index.es.js +1 -1
  67. package/dist/blocks/profile/index.cjs.js +1 -1
  68. package/dist/blocks/profile/index.es.js +1 -1
  69. package/dist/blocks/profile-list/index.cjs.js +1 -1
  70. package/dist/blocks/quarantine-manager/index.cjs.js +1 -1
  71. package/dist/blocks/quarantine-manager/index.es.js +1 -1
  72. package/dist/blocks/release-notes/index.cjs.js +1 -1
  73. package/dist/blocks/scan-history-log/index.cjs.js +1 -1
  74. package/dist/blocks/scan-history-log/index.es.js +1 -1
  75. package/dist/blocks/scan-policy-editor/index.cjs.js +1 -1
  76. package/dist/blocks/scan-report-generator/index.cjs.js +1 -1
  77. package/dist/blocks/settings/index.cjs.js +1 -1
  78. package/dist/blocks/settings/index.es.js +1 -1
  79. package/dist/blocks/sidebar/index.cjs.js +1 -1
  80. package/dist/blocks/sidebar/index.es.js +1 -1
  81. package/dist/blocks/signature-database-manager/index.cjs.js +1 -1
  82. package/dist/blocks/team-form/index.cjs.js +1 -1
  83. package/dist/blocks/threat-alert-banner/index.cjs.js +1 -1
  84. package/dist/blocks/user-management/index.cjs.js +1 -1
  85. package/dist/blocks/waka-doc-shell/index.cjs.js +1 -1
  86. package/dist/blocks/wizard/index.cjs.js +1 -1
  87. package/dist/blocks/wizard/index.es.js +37 -37
  88. package/dist/charts.cjs.js +1 -1
  89. package/dist/charts.es.js +8 -8
  90. package/dist/cli/index.cjs +5 -1
  91. package/dist/components/DataTable/DataTable.cjs.js +1 -1
  92. package/dist/components/DataTable/DataTable.es.js +68 -66
  93. package/dist/components/DataTable/DataTableAdvanced.cjs.js +1 -1
  94. package/dist/components/DataTable/DataTableColumnResizer.cjs.js +1 -1
  95. package/dist/components/DataTable/DataTableContextMenu.cjs.js +1 -1
  96. package/dist/components/DataTable/DataTableEditCell.cjs.js +1 -1
  97. package/dist/components/DataTable/DataTableFilters.cjs.js +1 -1
  98. package/dist/components/DataTable/DataTableGrouping.cjs.js +1 -1
  99. package/dist/components/DataTable/DataTablePagination.cjs.js +1 -1
  100. package/dist/components/DataTable/DataTablePagination.d.ts +3 -1
  101. package/dist/components/DataTable/DataTablePagination.es.js +38 -27
  102. package/dist/components/DataTable/DataTableSelection.cjs.js +1 -1
  103. package/dist/components/DataTable/DataTableToolbar.cjs.js +1 -1
  104. package/dist/components/DataTable/hooks/useDataTable.cjs.js +1 -1
  105. package/dist/components/DataTable/hooks/useDataTable.es.js +5 -1
  106. package/dist/components/DataTable/hooks/useDataTableAdvanced.cjs.js +1 -1
  107. package/dist/components/DataTable/hooks/useDataTableEdit.cjs.js +1 -1
  108. package/dist/components/DataTable/hooks/useDataTableExport.cjs.js +2 -2
  109. package/dist/components/DataTable/hooks/useDataTableImport.cjs.js +2 -2
  110. package/dist/components/DataTable/hooks/useDataTableImport.es.js +2 -1
  111. package/dist/components/DataTable/hooks/useDataTableTheme.cjs.js +1 -1
  112. package/dist/components/DataTable/hooks/useDataTableVirtualization.cjs.js +1 -1
  113. package/dist/components/DataTable/hooks/useTableLayout.cjs.js +1 -1
  114. package/dist/components/DataTable/utils.cjs.js +1 -1
  115. package/dist/components/accordion/index.cjs.js +1 -1
  116. package/dist/components/alert/index.cjs.js +1 -1
  117. package/dist/components/alert-dialog/index.cjs.js +1 -1
  118. package/dist/components/aspect-ratio/index.cjs.js +1 -1
  119. package/dist/components/avatar/index.cjs.js +1 -1
  120. package/dist/components/badge/index.cjs.js +1 -1
  121. package/dist/components/button/index.cjs.js +1 -1
  122. package/dist/components/calendar/index.cjs.js +1 -1
  123. package/dist/components/card/index.cjs.js +1 -1
  124. package/dist/components/checkbox/index.cjs.js +1 -1
  125. package/dist/components/code/index.cjs.js +2 -2
  126. package/dist/components/code/index.es.js +3 -2
  127. package/dist/components/collapsible/index.cjs.js +1 -1
  128. package/dist/components/command/index.cjs.js +1 -1
  129. package/dist/components/context-menu/index.cjs.js +1 -1
  130. package/dist/components/dialog/index.cjs.js +1 -1
  131. package/dist/components/dropdown-menu/index.cjs.js +1 -1
  132. package/dist/components/editor/blocks/index.cjs.js +1 -1
  133. package/dist/components/editor/blocks/index.es.js +12 -12
  134. package/dist/components/editor/blocks/waka-acceptance-criteria-block.cjs.js +1 -1
  135. package/dist/components/editor/blocks/waka-ai-assist-block.cjs.js +1 -1
  136. package/dist/components/editor/blocks/waka-api-endpoint-block.cjs.js +1 -1
  137. package/dist/components/editor/blocks/waka-code-playground-block.cjs.js +1 -1
  138. package/dist/components/editor/blocks/waka-comment-thread-block.cjs.js +1 -1
  139. package/dist/components/editor/blocks/waka-diagram-block.cjs.js +3 -3
  140. package/dist/components/editor/blocks/waka-diagram-block.es.js +21 -40
  141. package/dist/components/editor/blocks/waka-embed-block.cjs.js +1 -1
  142. package/dist/components/editor/blocks/waka-slash-menu-block.cjs.js +1 -1
  143. package/dist/components/editor/blocks/waka-user-story-block.cjs.js +1 -1
  144. package/dist/components/editor/blocks/waka-version-diff-block.cjs.js +1 -1
  145. package/dist/components/editor/waka-ai-writer.cjs.js +1 -1
  146. package/dist/components/editor/waka-collaborative-editor.cjs.js +1 -1
  147. package/dist/components/editor/waka-diff-viewer.cjs.js +1 -1
  148. package/dist/components/editor/waka-dnd-editor.cjs.js +1 -1
  149. package/dist/components/editor/waka-document-editor.cjs.js +1 -1
  150. package/dist/components/editor/waka-document-editor.es.js +1 -1
  151. package/dist/components/editor/waka-editor-elements.cjs.js +1 -1
  152. package/dist/components/editor/waka-editor-leaves.cjs.js +1 -1
  153. package/dist/components/editor/waka-editor-toolbar.cjs.js +1 -1
  154. package/dist/components/editor/waka-editor.cjs.js +1 -1
  155. package/dist/components/editor/waka-floating-toolbar.cjs.js +1 -1
  156. package/dist/components/editor/waka-markdown-editor.cjs.js +1 -1
  157. package/dist/components/editor/waka-mention-editor.cjs.js +1 -1
  158. package/dist/components/editor/waka-mention-editor.es.js +2 -2
  159. package/dist/components/editor/waka-slash-menu.cjs.js +1 -1
  160. package/dist/components/editor/waka-spec-editor.cjs.js +1 -1
  161. package/dist/components/form/index.cjs.js +1 -1
  162. package/dist/components/hover-card/index.cjs.js +1 -1
  163. package/dist/components/input/index.cjs.js +1 -1
  164. package/dist/components/input-otp/index.cjs.js +1 -1
  165. package/dist/components/input-otp/index.es.js +2 -1
  166. package/dist/components/label/index.cjs.js +1 -1
  167. package/dist/components/language-selector/index.cjs.js +1 -1
  168. package/dist/components/menubar/index.cjs.js +1 -1
  169. package/dist/components/navigation-menu/index.cjs.js +1 -1
  170. package/dist/components/popover/index.cjs.js +1 -1
  171. package/dist/components/progress/index.cjs.js +1 -1
  172. package/dist/components/radio-group/index.cjs.js +1 -1
  173. package/dist/components/resizable/index.cjs.js +1 -1
  174. package/dist/components/resizable/index.es.js +9 -9
  175. package/dist/components/scroll-area/index.cjs.js +1 -1
  176. package/dist/components/select/index.cjs.js +1 -1
  177. package/dist/components/separator/index.cjs.js +1 -1
  178. package/dist/components/sheet/index.cjs.js +1 -1
  179. package/dist/components/skeleton/index.cjs.js +1 -1
  180. package/dist/components/slider/index.cjs.js +1 -1
  181. package/dist/components/switch/index.cjs.js +1 -1
  182. package/dist/components/table/index.cjs.js +1 -1
  183. package/dist/components/tabs/index.cjs.js +1 -1
  184. package/dist/components/textarea/index.cjs.js +1 -1
  185. package/dist/components/theme-selector/index.cjs.js +1 -1
  186. package/dist/components/toast/index.cjs.js +1 -1
  187. package/dist/components/toaster/index.cjs.js +1 -1
  188. package/dist/components/toggle/index.cjs.js +1 -1
  189. package/dist/components/toggle-group/index.cjs.js +1 -1
  190. package/dist/components/tooltip/index.cjs.js +1 -1
  191. package/dist/components/typography/index.cjs.js +1 -1
  192. package/dist/components/waka-3d-pie-chart/index.cjs.js +1 -1
  193. package/dist/components/waka-3d-pie-chart/index.es.js +1 -1
  194. package/dist/components/waka-achievement-unlock/index.cjs.js +1 -1
  195. package/dist/components/waka-achievement-unlock/index.es.js +1 -1
  196. package/dist/components/waka-activity-feed/index.cjs.js +2 -2
  197. package/dist/components/waka-activity-feed/index.es.js +1 -1
  198. package/dist/components/waka-ad-banner/index.cjs.js +1 -1
  199. package/dist/components/waka-ad-banner/index.es.js +18 -15
  200. package/dist/components/waka-ad-fallback/index.cjs.js +1 -1
  201. package/dist/components/waka-ad-fallback/index.es.js +1 -1
  202. package/dist/components/waka-ad-inline/index.cjs.js +1 -1
  203. package/dist/components/waka-ad-inline/index.es.js +2 -2
  204. package/dist/components/waka-ad-interstitial/index.cjs.js +1 -1
  205. package/dist/components/waka-ad-interstitial/index.es.js +3 -3
  206. package/dist/components/waka-ad-placeholder/index.cjs.js +2 -2
  207. package/dist/components/waka-ad-placeholder/index.es.js +1 -1
  208. package/dist/components/waka-ad-provider/index.cjs.js +1 -1
  209. package/dist/components/waka-ad-provider/index.es.js +1 -1
  210. package/dist/components/waka-ad-sidebar/index.cjs.js +1 -1
  211. package/dist/components/waka-ad-sidebar/index.es.js +2 -2
  212. package/dist/components/waka-ad-sticky-footer/index.cjs.js +1 -1
  213. package/dist/components/waka-ad-sticky-footer/index.es.js +2 -2
  214. package/dist/components/waka-address-autocomplete/index.cjs.js +2 -2
  215. package/dist/components/waka-address-autocomplete/index.es.js +10 -6
  216. package/dist/components/waka-admincrumb/index.cjs.js +1 -1
  217. package/dist/components/waka-alert-panel/index.cjs.js +1 -1
  218. package/dist/components/waka-alert-stack/index.cjs.js +1 -1
  219. package/dist/components/waka-alert-stack/index.es.js +1 -1
  220. package/dist/components/waka-allocation-matrix/index.cjs.js +2 -2
  221. package/dist/components/waka-allocation-matrix/index.es.js +1 -1
  222. package/dist/components/waka-approval-chain/index.cjs.js +1 -1
  223. package/dist/components/waka-approval-chain/index.es.js +1 -1
  224. package/dist/components/waka-artifact-list/index.cjs.js +1 -1
  225. package/dist/components/waka-artifact-list/index.es.js +1 -1
  226. package/dist/components/waka-audit-log/index.cjs.js +2 -2
  227. package/dist/components/waka-audit-log/index.es.js +1 -1
  228. package/dist/components/waka-autocomplete/index.cjs.js +1 -1
  229. package/dist/components/waka-autocomplete/index.es.js +3 -2
  230. package/dist/components/waka-badge-showcase/index.cjs.js +1 -1
  231. package/dist/components/waka-barcode/index.cjs.js +1 -1
  232. package/dist/components/waka-barcode/index.es.js +1 -1
  233. package/dist/components/waka-biometric-prompt/index.cjs.js +2 -2
  234. package/dist/components/waka-biometric-prompt/index.es.js +1 -1
  235. package/dist/components/waka-bottom-sheet/index.cjs.js +1 -1
  236. package/dist/components/waka-bottom-sheet/index.es.js +12 -7
  237. package/dist/components/waka-breadcrumb/index.cjs.js +1 -1
  238. package/dist/components/waka-breadcrumb/index.es.js +1 -1
  239. package/dist/components/waka-breadcrumb-path/index.cjs.js +1 -1
  240. package/dist/components/waka-breadcrumb-path/index.es.js +1 -1
  241. package/dist/components/waka-budget-burn/index.cjs.js +2 -2
  242. package/dist/components/waka-budget-burn/index.es.js +3 -3
  243. package/dist/components/waka-build-matrix/index.cjs.js +1 -1
  244. package/dist/components/waka-capacity-planner/index.cjs.js +2 -2
  245. package/dist/components/waka-capacity-planner/index.es.js +1 -1
  246. package/dist/components/waka-carousel/index.cjs.js +1 -1
  247. package/dist/components/waka-carousel/index.es.js +2 -2
  248. package/dist/components/waka-cart-summary/index.cjs.js +1 -1
  249. package/dist/components/waka-cart-summary/index.es.js +2 -2
  250. package/dist/components/waka-challenge-timer/index.cjs.js +1 -1
  251. package/dist/components/waka-charts/WakaAreaChart.cjs.js +1 -1
  252. package/dist/components/waka-charts/WakaAreaChart.es.js +2 -2
  253. package/dist/components/waka-charts/WakaBarChart.cjs.js +1 -1
  254. package/dist/components/waka-charts/WakaBarChart.es.js +2 -2
  255. package/dist/components/waka-charts/WakaChart.cjs.js +1 -1
  256. package/dist/components/waka-charts/WakaChart.es.js +1 -1
  257. package/dist/components/waka-charts/WakaLineChart.cjs.js +1 -1
  258. package/dist/components/waka-charts/WakaLineChart.es.js +2 -2
  259. package/dist/components/waka-charts/WakaMiniChart.cjs.js +1 -1
  260. package/dist/components/waka-charts/WakaMiniChart.es.js +2 -2
  261. package/dist/components/waka-charts/WakaPieChart.cjs.js +1 -1
  262. package/dist/components/waka-charts/WakaPieChart.es.js +2 -2
  263. package/dist/components/waka-charts/WakaSparkline.cjs.js +1 -1
  264. package/dist/components/waka-charts/WakaSparkline.es.js +1 -1
  265. package/dist/components/waka-charts/dataTableHelpers.cjs.js +1 -1
  266. package/dist/components/waka-charts/dataTableHelpers.es.js +1 -1
  267. package/dist/components/waka-charts/hooks/useChartTheme.cjs.js +1 -1
  268. package/dist/components/waka-charts/hooks/useChartTheme.es.js +1 -1
  269. package/dist/components/waka-charts/hooks/useRechartsLoader.cjs.js +1 -1
  270. package/dist/components/waka-charts/hooks/useRechartsLoader.es.js +1 -1
  271. package/dist/components/waka-chat-bubble/index.cjs.js +1 -1
  272. package/dist/components/waka-checklist/index.cjs.js +2 -2
  273. package/dist/components/waka-checklist/index.es.js +1 -1
  274. package/dist/components/waka-checkout-stepper/index.cjs.js +1 -1
  275. package/dist/components/waka-checkout-stepper/index.es.js +1 -1
  276. package/dist/components/waka-cohort-table/index.cjs.js +2 -2
  277. package/dist/components/waka-cohort-table/index.es.js +1 -1
  278. package/dist/components/waka-color-picker/index.cjs.js +2 -2
  279. package/dist/components/waka-color-picker/index.es.js +1 -1
  280. package/dist/components/waka-combo-counter/index.cjs.js +1 -1
  281. package/dist/components/waka-combobox/index.cjs.js +1 -1
  282. package/dist/components/waka-combobox/index.es.js +3 -2
  283. package/dist/components/waka-command-bar/index.cjs.js +1 -1
  284. package/dist/components/waka-compare-period/index.cjs.js +2 -2
  285. package/dist/components/waka-compare-period/index.es.js +7 -5
  286. package/dist/components/waka-config-comparator/index.cjs.js +1 -1
  287. package/dist/components/waka-config-comparator/index.es.js +1 -1
  288. package/dist/components/waka-connection-matrix/index.cjs.js +1 -1
  289. package/dist/components/waka-connection-matrix/index.es.js +1 -1
  290. package/dist/components/waka-container-list/index.cjs.js +1 -1
  291. package/dist/components/waka-container-list/index.es.js +1 -1
  292. package/dist/components/waka-content-recommendation/index.cjs.js +1 -1
  293. package/dist/components/waka-content-recommendation/index.es.js +2 -2
  294. package/dist/components/waka-contribution-graph/index.cjs.js +1 -1
  295. package/dist/components/waka-contribution-graph/index.es.js +4 -4
  296. package/dist/components/waka-cost-breakdown/index.cjs.js +1 -1
  297. package/dist/components/waka-cost-breakdown/index.es.js +7 -7
  298. package/dist/components/waka-coupon-input/index.cjs.js +2 -2
  299. package/dist/components/waka-coupon-input/index.es.js +1 -1
  300. package/dist/components/waka-credit-activity-feed/index.cjs.js +2 -2
  301. package/dist/components/waka-credit-activity-feed/index.es.js +1 -1
  302. package/dist/components/waka-credit-alert/index.cjs.js +1 -1
  303. package/dist/components/waka-credit-alert/index.es.js +1 -1
  304. package/dist/components/waka-credit-balance/index.cjs.js +1 -1
  305. package/dist/components/waka-credit-balance/index.es.js +3 -3
  306. package/dist/components/waka-credit-breakdown/index.cjs.js +1 -1
  307. package/dist/components/waka-credit-breakdown/index.es.js +1 -1
  308. package/dist/components/waka-credit-burn-rate/index.cjs.js +1 -1
  309. package/dist/components/waka-credit-burn-rate/index.es.js +1 -1
  310. package/dist/components/waka-credit-card-input/index.cjs.js +1 -1
  311. package/dist/components/waka-credit-card-input/index.es.js +1 -1
  312. package/dist/components/waka-credit-history/index.cjs.js +1 -1
  313. package/dist/components/waka-credit-history/index.es.js +1 -1
  314. package/dist/components/waka-credit-meter/index.cjs.js +2 -2
  315. package/dist/components/waka-credit-meter/index.es.js +3 -3
  316. package/dist/components/waka-credit-pricing-pack/index.cjs.js +1 -1
  317. package/dist/components/waka-credit-pricing-pack/index.es.js +1 -1
  318. package/dist/components/waka-credit-projection/index.cjs.js +1 -1
  319. package/dist/components/waka-credit-projection/index.es.js +1 -1
  320. package/dist/components/waka-credit-quota/index.cjs.js +1 -1
  321. package/dist/components/waka-credit-quota/index.es.js +3 -3
  322. package/dist/components/waka-credit-receipt/index.cjs.js +1 -1
  323. package/dist/components/waka-credit-receipt/index.es.js +1 -1
  324. package/dist/components/waka-credit-top-up/index.cjs.js +1 -1
  325. package/dist/components/waka-credit-top-up/index.es.js +1 -1
  326. package/dist/components/waka-credit-transaction/index.cjs.js +1 -1
  327. package/dist/components/waka-credit-transaction/index.es.js +1 -1
  328. package/dist/components/waka-credit-transfer-form/index.cjs.js +1 -1
  329. package/dist/components/waka-credit-transfer-form/index.es.js +1 -1
  330. package/dist/components/waka-credit-usage-chart/index.cjs.js +1 -1
  331. package/dist/components/waka-credit-usage-chart/index.es.js +1 -1
  332. package/dist/components/waka-daily-reward/index.cjs.js +1 -1
  333. package/dist/components/waka-database-card/index.cjs.js +1 -1
  334. package/dist/components/waka-database-card/index.es.js +1 -1
  335. package/dist/components/waka-date-range-picker/index.cjs.js +1 -1
  336. package/dist/components/waka-date-range-picker/index.es.js +3 -2
  337. package/dist/components/waka-datetime-picker/index.cjs.js +1 -1
  338. package/dist/components/waka-datetime-picker/index.es.js +4 -1
  339. package/dist/components/waka-datetime-picker.form-integration/index.cjs.js +1 -1
  340. package/dist/components/waka-dependency-tree/index.cjs.js +1 -1
  341. package/dist/components/waka-dependency-tree/index.es.js +1 -1
  342. package/dist/components/waka-deployment-lane/index.cjs.js +1 -1
  343. package/dist/components/waka-deployment-lane/index.es.js +1 -1
  344. package/dist/components/waka-device-trust/index.cjs.js +2 -2
  345. package/dist/components/waka-device-trust/index.es.js +1 -1
  346. package/dist/components/waka-doc-breadcrumb/index.cjs.js +1 -1
  347. package/dist/components/waka-doc-callout/index.cjs.js +1 -1
  348. package/dist/components/waka-doc-code-block/index.cjs.js +1 -1
  349. package/dist/components/waka-doc-nav/index.cjs.js +1 -1
  350. package/dist/components/waka-doc-renderer/index.cjs.js +1 -1
  351. package/dist/components/waka-doc-search/index.cjs.js +1 -1
  352. package/dist/components/waka-doc-table/index.cjs.js +1 -1
  353. package/dist/components/waka-doc-toc/index.cjs.js +1 -1
  354. package/dist/components/waka-doc-toolbar/index.cjs.js +1 -1
  355. package/dist/components/waka-doc-version/index.cjs.js +1 -1
  356. package/dist/components/waka-dock/index.cjs.js +1 -1
  357. package/dist/components/waka-dock/index.es.js +2 -2
  358. package/dist/components/waka-drawer/index.cjs.js +1 -1
  359. package/dist/components/waka-drawer/index.es.js +1 -1
  360. package/dist/components/waka-empty-state/index.cjs.js +1 -1
  361. package/dist/components/waka-env-var-editor/index.cjs.js +1 -1
  362. package/dist/components/waka-error-shake/index.cjs.js +1 -1
  363. package/dist/components/waka-feature-announcement/index.cjs.js +2 -2
  364. package/dist/components/waka-feature-announcement/index.es.js +1 -1
  365. package/dist/components/waka-feature-flag-row/index.cjs.js +1 -1
  366. package/dist/components/waka-file-upload/index.cjs.js +1 -1
  367. package/dist/components/waka-file-upload/index.es.js +2 -2
  368. package/dist/components/waka-floating-nav/index.cjs.js +1 -1
  369. package/dist/components/waka-floating-nav/index.es.js +1 -1
  370. package/dist/components/waka-flow-diagram/index.cjs.js +1 -1
  371. package/dist/components/waka-funnel-chart/index.cjs.js +2 -2
  372. package/dist/components/waka-funnel-chart/index.es.js +1 -1
  373. package/dist/components/waka-glow-card/index.cjs.js +1 -1
  374. package/dist/components/waka-glow-card/index.es.js +3 -3
  375. package/dist/components/waka-goal-progress/index.cjs.js +3 -3
  376. package/dist/components/waka-goal-progress/index.es.js +3 -3
  377. package/dist/components/waka-haptic-button/index.cjs.js +1 -1
  378. package/dist/components/waka-health-pulse/index.cjs.js +2 -2
  379. package/dist/components/waka-health-pulse/index.es.js +1 -1
  380. package/dist/components/waka-heatmap/index.cjs.js +1 -1
  381. package/dist/components/waka-heatmap/index.es.js +3 -3
  382. package/dist/components/waka-hotspot/index.cjs.js +1 -1
  383. package/dist/components/waka-image/index.cjs.js +1 -1
  384. package/dist/components/waka-image/index.es.js +1 -1
  385. package/dist/components/waka-incident-timeline/index.cjs.js +1 -1
  386. package/dist/components/waka-incident-timeline/index.es.js +3 -2
  387. package/dist/components/waka-invoice-preview/index.cjs.js +1 -1
  388. package/dist/components/waka-invoice-preview/index.es.js +1 -1
  389. package/dist/components/waka-kanban/index.cjs.js +1 -1
  390. package/dist/components/waka-kanban/index.es.js +1 -1
  391. package/dist/components/waka-kpi-dashboard/index.cjs.js +1 -1
  392. package/dist/components/waka-kpi-dashboard/index.es.js +6 -4
  393. package/dist/components/waka-kubernetes-overview/index.cjs.js +1 -1
  394. package/dist/components/waka-kubernetes-overview/index.es.js +1 -1
  395. package/dist/components/waka-leaderboard/index.cjs.js +1 -1
  396. package/dist/components/waka-level-progress/index.cjs.js +2 -2
  397. package/dist/components/waka-level-progress/index.es.js +2 -2
  398. package/dist/components/waka-liquid-button/index.cjs.js +1 -1
  399. package/dist/components/waka-loading-orbit/index.cjs.js +1 -1
  400. package/dist/components/waka-log-viewer/index.cjs.js +1 -1
  401. package/dist/components/waka-loot-box/index.cjs.js +2 -2
  402. package/dist/components/waka-loot-box/index.es.js +1 -1
  403. package/dist/components/waka-magic-link/index.cjs.js +2 -2
  404. package/dist/components/waka-magnetic-button/index.cjs.js +1 -1
  405. package/dist/components/waka-mention-input/index.cjs.js +1 -1
  406. package/dist/components/waka-mention-input/index.es.js +52 -40
  407. package/dist/components/waka-metric-sparkline/index.cjs.js +1 -1
  408. package/dist/components/waka-metric-sparkline/index.es.js +1 -1
  409. package/dist/components/waka-migration-list/index.cjs.js +1 -1
  410. package/dist/components/waka-milestone-road/index.cjs.js +2 -2
  411. package/dist/components/waka-milestone-road/index.es.js +5 -5
  412. package/dist/components/waka-modal/index.cjs.js +1 -1
  413. package/dist/components/waka-modal/index.es.js +1 -1
  414. package/dist/components/waka-morph-button/index.cjs.js +2 -2
  415. package/dist/components/waka-morph-button/index.es.js +6 -2
  416. package/dist/components/waka-network-topology/index.cjs.js +1 -1
  417. package/dist/components/waka-network-topology/index.es.js +4 -2
  418. package/dist/components/waka-notifications/index.cjs.js +1 -1
  419. package/dist/components/waka-number-input/index.cjs.js +1 -1
  420. package/dist/components/waka-number-input/index.es.js +1 -1
  421. package/dist/components/waka-orbital-menu/index.cjs.js +1 -1
  422. package/dist/components/waka-orbital-menu/index.es.js +1 -1
  423. package/dist/components/waka-order-tracker/index.cjs.js +1 -1
  424. package/dist/components/waka-order-tracker/index.es.js +3 -2
  425. package/dist/components/waka-outstream-video/index.cjs.js +1 -1
  426. package/dist/components/waka-outstream-video/index.es.js +2 -2
  427. package/dist/components/waka-pagination/index.cjs.js +1 -1
  428. package/dist/components/waka-pagination/index.es.js +1 -1
  429. package/dist/components/waka-password-strength/index.cjs.js +2 -2
  430. package/dist/components/waka-password-strength/index.es.js +3 -3
  431. package/dist/components/waka-payment-method-picker/index.cjs.js +1 -1
  432. package/dist/components/waka-payment-method-picker/index.es.js +1 -1
  433. package/dist/components/waka-permission-matrix/index.cjs.js +2 -2
  434. package/dist/components/waka-permission-matrix/index.es.js +3 -2
  435. package/dist/components/waka-phone-input/index.cjs.js +1 -1
  436. package/dist/components/waka-phone-input/index.es.js +5 -3
  437. package/dist/components/waka-pipeline-view/index.cjs.js +2 -2
  438. package/dist/components/waka-pipeline-view/index.es.js +1 -1
  439. package/dist/components/waka-player-card/index.cjs.js +2 -2
  440. package/dist/components/waka-player-card/index.es.js +4 -4
  441. package/dist/components/waka-pod-card/index.cjs.js +1 -1
  442. package/dist/components/waka-pod-card/index.es.js +1 -1
  443. package/dist/components/waka-points-popup/index.cjs.js +1 -1
  444. package/dist/components/waka-points-popup/index.es.js +5 -1
  445. package/dist/components/waka-power-up/index.cjs.js +1 -1
  446. package/dist/components/waka-presence-indicator/index.cjs.js +2 -2
  447. package/dist/components/waka-presence-indicator/index.es.js +1 -1
  448. package/dist/components/waka-pricing-table/index.cjs.js +2 -2
  449. package/dist/components/waka-pricing-table/index.es.js +1 -1
  450. package/dist/components/waka-product-card/index.cjs.js +1 -1
  451. package/dist/components/waka-progress-onboarding/index.cjs.js +3 -3
  452. package/dist/components/waka-progress-onboarding/index.es.js +1 -1
  453. package/dist/components/waka-pull-to-refresh/index.cjs.js +1 -1
  454. package/dist/components/waka-qrcode/index.cjs.js +1 -1
  455. package/dist/components/waka-qrcode/index.es.js +1 -1
  456. package/dist/components/waka-query-explain/index.cjs.js +1 -1
  457. package/dist/components/waka-quest-card/index.cjs.js +2 -2
  458. package/dist/components/waka-quest-card/index.es.js +4 -1
  459. package/dist/components/waka-quota-bar/index.cjs.js +2 -2
  460. package/dist/components/waka-quota-bar/index.es.js +11 -4
  461. package/dist/components/waka-radar-score/index.cjs.js +1 -1
  462. package/dist/components/waka-radar-score/index.es.js +6 -6
  463. package/dist/components/waka-rank-badge/index.cjs.js +2 -2
  464. package/dist/components/waka-rank-badge/index.es.js +1 -1
  465. package/dist/components/waka-rating-input/index.cjs.js +2 -2
  466. package/dist/components/waka-rating-input/index.es.js +1 -1
  467. package/dist/components/waka-reaction-picker/index.cjs.js +1 -1
  468. package/dist/components/waka-reaction-picker/index.es.js +7 -4
  469. package/dist/components/waka-region-map/index.cjs.js +1 -1
  470. package/dist/components/waka-region-map/index.es.js +1 -1
  471. package/dist/components/waka-resource-gauge/index.cjs.js +2 -2
  472. package/dist/components/waka-resource-gauge/index.es.js +3 -3
  473. package/dist/components/waka-resource-pool/index.cjs.js +2 -2
  474. package/dist/components/waka-resource-pool/index.es.js +1 -1
  475. package/dist/components/waka-rich-text-editor/index.cjs.js +1 -1
  476. package/dist/components/waka-rich-text-editor/index.es.js +1 -1
  477. package/dist/components/waka-rollback-slider/index.cjs.js +2 -2
  478. package/dist/components/waka-rollback-slider/index.es.js +5 -3
  479. package/dist/components/waka-sankey-diagram/index.cjs.js +2 -2
  480. package/dist/components/waka-sankey-diagram/index.es.js +5 -5
  481. package/dist/components/waka-schedule-picker/index.cjs.js +1 -1
  482. package/dist/components/waka-schedule-picker/index.es.js +3 -2
  483. package/dist/components/waka-scratch-card/index.cjs.js +2 -2
  484. package/dist/components/waka-scratch-card/index.es.js +1 -1
  485. package/dist/components/waka-season-pass/index.cjs.js +1 -1
  486. package/dist/components/waka-secret-card/index.cjs.js +1 -1
  487. package/dist/components/waka-security-scan-result/index.cjs.js +1 -1
  488. package/dist/components/waka-security-score/index.cjs.js +2 -2
  489. package/dist/components/waka-security-score/index.es.js +5 -5
  490. package/dist/components/waka-segmented-control/index.cjs.js +1 -1
  491. package/dist/components/waka-segmented-control/index.es.js +1 -1
  492. package/dist/components/waka-server-rack/index.cjs.js +1 -1
  493. package/dist/components/waka-service-graph/index.cjs.js +1 -1
  494. package/dist/components/waka-session-manager/index.cjs.js +1 -1
  495. package/dist/components/waka-session-manager/index.es.js +3 -2
  496. package/dist/components/waka-signature-pad/index.cjs.js +1 -1
  497. package/dist/components/waka-signature-pad/index.es.js +1 -1
  498. package/dist/components/waka-skeleton-wave/index.cjs.js +1 -1
  499. package/dist/components/waka-skill-tree/index.cjs.js +2 -2
  500. package/dist/components/waka-skill-tree/index.es.js +32 -32
  501. package/dist/components/waka-sla-tracker/index.cjs.js +1 -1
  502. package/dist/components/waka-sla-tracker/index.es.js +1 -1
  503. package/dist/components/waka-slider-range/index.cjs.js +1 -1
  504. package/dist/components/waka-slider-range/index.es.js +3 -3
  505. package/dist/components/waka-spin-wheel/index.cjs.js +2 -2
  506. package/dist/components/waka-spin-wheel/index.es.js +6 -6
  507. package/dist/components/waka-spinner/index.cjs.js +1 -1
  508. package/dist/components/waka-sponsored-badge/index.cjs.js +1 -1
  509. package/dist/components/waka-sponsored-badge/index.es.js +1 -1
  510. package/dist/components/waka-sponsored-card/index.cjs.js +1 -1
  511. package/dist/components/waka-sponsored-card/index.es.js +2 -2
  512. package/dist/components/waka-sponsored-feed/index.cjs.js +1 -1
  513. package/dist/components/waka-sponsored-feed/index.es.js +2 -2
  514. package/dist/components/waka-spotlight/index.cjs.js +1 -1
  515. package/dist/components/waka-spotlight/index.es.js +2 -1
  516. package/dist/components/waka-stat/index.cjs.js +1 -1
  517. package/dist/components/waka-stat/index.es.js +1 -1
  518. package/dist/components/waka-stats-hexagon/index.cjs.js +1 -1
  519. package/dist/components/waka-stats-hexagon/index.es.js +9 -9
  520. package/dist/components/waka-status-matrix/index.cjs.js +1 -1
  521. package/dist/components/waka-status-matrix/index.es.js +1 -1
  522. package/dist/components/waka-stepper/index.cjs.js +1 -1
  523. package/dist/components/waka-stepper/index.es.js +1 -1
  524. package/dist/components/waka-streak-counter/index.cjs.js +1 -1
  525. package/dist/components/waka-success-explosion/index.cjs.js +1 -1
  526. package/dist/components/waka-swipe-card/index.cjs.js +1 -1
  527. package/dist/components/waka-swipe-card/index.es.js +2 -2
  528. package/dist/components/waka-tabs-morph/index.cjs.js +1 -1
  529. package/dist/components/waka-tabs-morph/index.es.js +1 -1
  530. package/dist/components/waka-tag-input/index.cjs.js +1 -1
  531. package/dist/components/waka-tag-input/index.es.js +3 -2
  532. package/dist/components/waka-team-banner/index.cjs.js +2 -2
  533. package/dist/components/waka-team-banner/index.es.js +1 -1
  534. package/dist/components/waka-terminal-output/index.cjs.js +2 -2
  535. package/dist/components/waka-terminal-output/index.es.js +5 -3
  536. package/dist/components/waka-test-report/index.cjs.js +1 -1
  537. package/dist/components/waka-theme-creator/index.cjs.js +1 -1
  538. package/dist/components/waka-theme-manager/index.cjs.js +1 -1
  539. package/dist/components/waka-theme-manager/index.es.js +5 -2
  540. package/dist/components/waka-thread-view/index.cjs.js +2 -2
  541. package/dist/components/waka-thread-view/index.es.js +1 -1
  542. package/dist/components/waka-tilt-card/index.cjs.js +1 -1
  543. package/dist/components/waka-tilt-card/index.es.js +8 -6
  544. package/dist/components/waka-time-picker/index.cjs.js +1 -1
  545. package/dist/components/waka-time-picker/index.es.js +10 -6
  546. package/dist/components/waka-timeline/index.cjs.js +1 -1
  547. package/dist/components/waka-timeline/index.es.js +1 -1
  548. package/dist/components/waka-tooltip-tour/index.cjs.js +3 -3
  549. package/dist/components/waka-tooltip-tour/index.es.js +53 -51
  550. package/dist/components/waka-tour-guide/index.cjs.js +2 -2
  551. package/dist/components/waka-tour-guide/index.es.js +1 -1
  552. package/dist/components/waka-tournament-bracket/index.cjs.js +2 -2
  553. package/dist/components/waka-tournament-bracket/index.es.js +1 -1
  554. package/dist/components/waka-trace-viewer/index.cjs.js +1 -1
  555. package/dist/components/waka-tree/index.cjs.js +1 -1
  556. package/dist/components/waka-tree/index.es.js +1 -1
  557. package/dist/components/waka-treemap-chart/index.cjs.js +1 -1
  558. package/dist/components/waka-treemap-chart/index.es.js +1 -1
  559. package/dist/components/waka-two-factor-setup/index.cjs.js +2 -2
  560. package/dist/components/waka-two-factor-setup/index.es.js +5 -4
  561. package/dist/components/waka-typewriter/index.cjs.js +1 -1
  562. package/dist/components/waka-typewriter/index.es.js +7 -2
  563. package/dist/components/waka-typing-indicator/index.cjs.js +2 -2
  564. package/dist/components/waka-typing-indicator/index.es.js +1 -1
  565. package/dist/components/waka-versus-card/index.cjs.js +3 -3
  566. package/dist/components/waka-versus-card/index.es.js +5 -4
  567. package/dist/components/waka-video/index.cjs.js +1 -1
  568. package/dist/components/waka-video/index.es.js +1 -1
  569. package/dist/components/waka-video-ad/index.cjs.js +1 -1
  570. package/dist/components/waka-video-ad/index.es.js +3 -3
  571. package/dist/components/waka-video-call/index.cjs.js +2 -2
  572. package/dist/components/waka-video-call/index.es.js +1 -1
  573. package/dist/components/waka-video-overlay/index.cjs.js +1 -1
  574. package/dist/components/waka-video-overlay/index.es.js +2 -2
  575. package/dist/components/waka-virtual-list/index.cjs.js +1 -1
  576. package/dist/components/waka-virtual-list/index.es.js +1 -1
  577. package/dist/components/waka-voice-message/index.cjs.js +1 -1
  578. package/dist/components/waka-voice-message/index.es.js +6 -5
  579. package/dist/components/waka-welcome-modal/index.cjs.js +2 -2
  580. package/dist/components/waka-welcome-modal/index.es.js +1 -1
  581. package/dist/components/waka-xp-bar/index.cjs.js +1 -1
  582. package/dist/components/waka-xp-bar/index.es.js +2 -2
  583. package/dist/context/admincrumb-context.cjs.js +1 -1
  584. package/dist/context/language-context.cjs.js +1 -1
  585. package/dist/context/language-context.es.js +2 -2
  586. package/dist/context/theme-context.cjs.js +1 -1
  587. package/dist/context/theme-provider.cjs.js +1 -1
  588. package/dist/context/theme-provider.es.js +9 -6
  589. package/dist/context/waka-provider.cjs.js +1 -1
  590. package/dist/context/waka-provider.es.js +57 -53
  591. package/dist/doc.cjs.js +1 -1
  592. package/dist/editor.cjs.js +1 -1
  593. package/dist/export.cjs.js +1 -1
  594. package/dist/hooks/use-toast.cjs.js +1 -1
  595. package/dist/hooks/use-translation.cjs.js +1 -1
  596. package/dist/index.cjs.js +1 -1
  597. package/dist/index.d.ts +2 -0
  598. package/dist/index.es.js +279 -278
  599. package/dist/lib/i18n.cjs.js +1 -1
  600. package/dist/lib/i18n.es.js +11 -9
  601. package/dist/locales/default-resources.cjs.js +1 -0
  602. package/dist/locales/default-resources.d.ts +155 -0
  603. package/dist/locales/default-resources.es.js +150 -0
  604. package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js +13 -13
  605. package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.es.js +13 -13
  606. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.cjs.js +1 -1
  607. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.es.js +19 -19
  608. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.cjs.js +1 -1
  609. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.es.js +24 -25
  610. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.js +1 -1
  611. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-resizable-panels/dist/react-resizable-panels.es.js +26 -23
  612. package/dist/rich-text.cjs.js +1 -1
  613. package/dist/ui.css +1 -1
  614. package/dist/utils/cn.cjs.js +1 -1
  615. package/dist/utils/datetime-helpers.cjs.js +1 -1
  616. package/dist/utils/theme-loader.cjs.js +1 -1
  617. package/dist/utils/tweak.cjs.js +1 -1
  618. package/package.json +28 -27
  619. package/src/components/DataTable/DataTable.tsx +2 -0
  620. package/src/components/DataTable/DataTablePagination.tsx +28 -8
  621. package/src/components/DataTable/hooks/useDataTable.ts +13 -0
  622. package/src/components/editor/blocks/waka-diagram-block.tsx +7 -36
@@ -96,7 +96,8 @@ function S(e) {
96
96
  if (i) {
97
97
  S(!0);
98
98
  try {
99
- E(await i());
99
+ let e = await i();
100
+ E(e);
100
101
  } catch (e) {
101
102
  console.error("Failed to regenerate backup codes:", e);
102
103
  } finally {
@@ -405,8 +406,8 @@ function D({ verificationCode: r, onCodeChange: o, onVerify: s, isVerifying: c,
405
406
  t.key === "Backspace" && !p[e] && e > 0 && d.current[e - 1]?.focus(), t.key === "Enter" && r.length === 6 && s();
406
407
  }, x = (e) => {
407
408
  e.preventDefault();
408
- let t = e.clipboardData.getData("text").replace(/\D/g, "").slice(0, 6);
409
- m(t.split("").concat(Array(6 - t.length).fill(""))), o(t), d.current[Math.min(t.length, 5)]?.focus();
409
+ let t = e.clipboardData.getData("text").replace(/\D/g, "").slice(0, 6), n = t.split("").concat(Array(6 - t.length).fill(""));
410
+ m(n), o(t), d.current[Math.min(t.length, 5)]?.focus();
410
411
  };
411
412
  return /* @__PURE__ */ y("div", {
412
413
  className: "space-y-6 animate-in fade-in slide-in-from-right-4 duration-300",
@@ -607,4 +608,4 @@ function k({ config: t, onComplete: r, onCancel: i, onVerify: a, onRegenerateBac
607
608
  });
608
609
  }
609
610
  //#endregion
610
- export { k as default, S as useTwoFactorSetup };
611
+ export { k as WakaTwoFactorSetup, k as default, S as useTwoFactorSetup };
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);var i={slow:100,normal:50,fast:25};function a(e){return typeof e==`number`?e:i[e]??50}function o(e){let{strings:t,typeSpeed:r,deleteSpeed:i,startDelay:a,pauseDelay:o,nextDelay:s,loop:c,pauseOnChars:l,charPauseDuration:u,onTypeComplete:d,onDeleteComplete:f,onComplete:p,active:m}=e,[h,g]=n.useState(``),[_,v]=n.useState(0),[y,b]=n.useState(!0),[x,S]=n.useState(!1),C=n.useRef(null),w=n.useRef(0),T=n.useRef(!1),E=n.useCallback(()=>{C.current&&=(clearTimeout(C.current),null)},[]),D=n.useCallback(()=>{if(!m||x)return;let e=t[_];if(e)if(y)if(w.current<e.length){let t=e[w.current],n=l.includes(t)?r+u:r;w.current++,g(e.slice(0,w.current)),C.current=setTimeout(D,n)}else d?.(_),_===t.length-1&&!c?p?.():C.current=setTimeout(()=>{b(!1),D()},o);else w.current>0?(w.current--,g(e.slice(0,w.current)),C.current=setTimeout(D,i)):(f?.(_),v((_+1)%t.length),b(!0),C.current=setTimeout(D,s))},[m,x,t,_,y,r,i,o,s,l,u,c,d,f,p]);n.useEffect(()=>{if(!(!m||T.current))return T.current=!0,C.current=setTimeout(D,a),()=>{E()}},[m,a,D,E]);let O=n.useCallback(()=>{E(),T.current=!1,w.current=0,g(``),v(0),b(!0),S(!1),T.current=!0,C.current=setTimeout(D,a)},[E,D,a]),k=n.useCallback(()=>{S(!0),E()},[E]),A=n.useCallback(()=>{x&&(S(!1),C.current=setTimeout(D,0))},[x,D]),j=n.useCallback(e=>{e<0||e>=t.length||(E(),w.current=0,g(``),v(e),b(!0),C.current=setTimeout(D,0))},[t.length,E,D]);return n.useEffect(()=>()=>{E()},[E]),{text:h,currentIndex:_,isTyping:y,isActive:m&&!x,restart:O,pause:k,resume:A,skipTo:j}}function s({char:e,blinkSpeed:i,className:a}){let[o,s]=n.useState(!0);return n.useEffect(()=>{let e=setInterval(()=>{s(e=>!e)},i);return()=>clearInterval(e)},[i]),(0,r.jsx)(`span`,{className:t.cn(`inline-block`,a),style:{opacity:+!!o},"aria-hidden":`true`,children:e})}var c=n.forwardRef(({className:e,strings:n,typeSpeed:i=`normal`,deleteSpeed:c=`fast`,startDelay:l=500,pauseDelay:u=2e3,nextDelay:d=500,loop:f=!0,cursor:p=!0,cursorChar:m=`|`,cursorBlinkSpeed:h=500,pauseOnChars:g=`.,!?`,charPauseDuration:_=300,onTypeComplete:v,onDeleteComplete:y,onComplete:b,active:x=!0,as:S=`span`,...C},w)=>{let{text:T}=o({strings:n,typeSpeed:a(i),deleteSpeed:a(c),startDelay:l,pauseDelay:u,nextDelay:d,loop:f,pauseOnChars:g,charPauseDuration:_,onTypeComplete:v,onDeleteComplete:y,onComplete:b,active:x});return(0,r.jsxs)(S,{ref:w,className:t.cn(`inline`,e),...C,children:[(0,r.jsx)(`span`,{className:`whitespace-pre-wrap`,children:T}),p&&(0,r.jsx)(s,{char:m,blinkSpeed:h,className:`ml-0.5`})]})});c.displayName=`WakaTypewriter`;var l=n.forwardRef(({level:e=1,className:n,...i},a)=>(0,r.jsx)(c,{ref:a,className:t.cn({1:`text-4xl font-bold tracking-tight`,2:`text-3xl font-semibold tracking-tight`,3:`text-2xl font-semibold`,4:`text-xl font-semibold`,5:`text-lg font-medium`,6:`text-base font-medium`}[e],n),as:`h${e}`,...i}));l.displayName=`WakaTypewriterHeading`;var u=n.forwardRef(({className:e,lines:i,staggerDelay:a=1500,typeSpeed:o=`normal`,cursor:l=!0,cursorChar:u=`|`,activeLineCursorOnly:d=!0,...f},p)=>{let[m,h]=n.useState(0),[g,_]=n.useState(new Set),v=n.useCallback(e=>{_(t=>new Set([...t,e])),e<i.length-1&&setTimeout(()=>{h(e+1)},a/3)},[i.length,a]);return(0,r.jsx)(`div`,{ref:p,className:t.cn(`space-y-2`,e),...f,children:i.map((e,t)=>{let n=t===m,i=g.has(t);return t<=m?i?(0,r.jsxs)(`div`,{className:`flex items-center`,children:[(0,r.jsx)(`span`,{children:e}),l&&!d&&(0,r.jsx)(s,{char:u,blinkSpeed:500,className:`ml-0.5 opacity-0`})]},t):(0,r.jsx)(`div`,{children:(0,r.jsx)(c,{strings:[e],typeSpeed:o,startDelay:t===0?500:0,loop:!1,cursor:l&&(d?n:!0),cursorChar:u,onTypeComplete:()=>v(t),active:n})},t):(0,r.jsx)(`div`,{className:`h-6`},t)})})});u.displayName=`WakaTypewriterLines`;var d=n.forwardRef(({className:e,language:n,...i},a)=>(0,r.jsx)(c,{ref:a,className:t.cn(`font-mono text-sm bg-muted px-1.5 py-0.5 rounded`,e),as:`code`,cursorChar:`_`,cursorBlinkSpeed:400,typeSpeed:`fast`,...i}));if(d.displayName=`WakaTypewriterCode`,typeof document<`u`){let e=`waka-typewriter-styles`;if(!document.getElementById(e)){let t=document.createElement(`style`);t.id=e,t.textContent=`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime");var i={slow:100,normal:50,fast:25};function a(e){return typeof e==`number`?e:i[e]??50}function o(e){let{strings:t,typeSpeed:r,deleteSpeed:i,startDelay:a,pauseDelay:o,nextDelay:s,loop:c,pauseOnChars:l,charPauseDuration:u,onTypeComplete:d,onDeleteComplete:f,onComplete:p,active:m}=e,[h,g]=n.useState(``),[_,v]=n.useState(0),[y,b]=n.useState(!0),[x,S]=n.useState(!1),C=n.useRef(null),w=n.useRef(0),T=n.useRef(!1),E=n.useCallback(()=>{C.current&&=(clearTimeout(C.current),null)},[]),D=n.useCallback(()=>{if(!m||x)return;let e=t[_];if(e)if(y)if(w.current<e.length){let t=e[w.current],n=l.includes(t)?r+u:r;w.current++,g(e.slice(0,w.current)),C.current=setTimeout(D,n)}else d?.(_),_===t.length-1&&!c?p?.():C.current=setTimeout(()=>{b(!1),D()},o);else if(w.current>0)w.current--,g(e.slice(0,w.current)),C.current=setTimeout(D,i);else{f?.(_);let e=(_+1)%t.length;v(e),b(!0),C.current=setTimeout(D,s)}},[m,x,t,_,y,r,i,o,s,l,u,c,d,f,p]);n.useEffect(()=>{if(!(!m||T.current))return T.current=!0,C.current=setTimeout(D,a),()=>{E()}},[m,a,D,E]);let O=n.useCallback(()=>{E(),T.current=!1,w.current=0,g(``),v(0),b(!0),S(!1),T.current=!0,C.current=setTimeout(D,a)},[E,D,a]),k=n.useCallback(()=>{S(!0),E()},[E]),A=n.useCallback(()=>{x&&(S(!1),C.current=setTimeout(D,0))},[x,D]),j=n.useCallback(e=>{e<0||e>=t.length||(E(),w.current=0,g(``),v(e),b(!0),C.current=setTimeout(D,0))},[t.length,E,D]);return n.useEffect(()=>()=>{E()},[E]),{text:h,currentIndex:_,isTyping:y,isActive:m&&!x,restart:O,pause:k,resume:A,skipTo:j}}function s({char:e,blinkSpeed:i,className:a}){let[o,s]=n.useState(!0);return n.useEffect(()=>{let e=setInterval(()=>{s(e=>!e)},i);return()=>clearInterval(e)},[i]),(0,r.jsx)(`span`,{className:t.cn(`inline-block`,a),style:{opacity:+!!o},"aria-hidden":`true`,children:e})}var c=n.forwardRef(({className:e,strings:n,typeSpeed:i=`normal`,deleteSpeed:c=`fast`,startDelay:l=500,pauseDelay:u=2e3,nextDelay:d=500,loop:f=!0,cursor:p=!0,cursorChar:m=`|`,cursorBlinkSpeed:h=500,pauseOnChars:g=`.,!?`,charPauseDuration:_=300,onTypeComplete:v,onDeleteComplete:y,onComplete:b,active:x=!0,as:S=`span`,...C},w)=>{let{text:T}=o({strings:n,typeSpeed:a(i),deleteSpeed:a(c),startDelay:l,pauseDelay:u,nextDelay:d,loop:f,pauseOnChars:g,charPauseDuration:_,onTypeComplete:v,onDeleteComplete:y,onComplete:b,active:x});return(0,r.jsxs)(S,{ref:w,className:t.cn(`inline`,e),...C,children:[(0,r.jsx)(`span`,{className:`whitespace-pre-wrap`,children:T}),p&&(0,r.jsx)(s,{char:m,blinkSpeed:h,className:`ml-0.5`})]})});c.displayName=`WakaTypewriter`;var l=n.forwardRef(({level:e=1,className:n,...i},a)=>(0,r.jsx)(c,{ref:a,className:t.cn({1:`text-4xl font-bold tracking-tight`,2:`text-3xl font-semibold tracking-tight`,3:`text-2xl font-semibold`,4:`text-xl font-semibold`,5:`text-lg font-medium`,6:`text-base font-medium`}[e],n),as:`h${e}`,...i}));l.displayName=`WakaTypewriterHeading`;var u=n.forwardRef(({className:e,lines:i,staggerDelay:a=1500,typeSpeed:o=`normal`,cursor:l=!0,cursorChar:u=`|`,activeLineCursorOnly:d=!0,...f},p)=>{let[m,h]=n.useState(0),[g,_]=n.useState(new Set),v=n.useCallback(e=>{_(t=>new Set([...t,e])),e<i.length-1&&setTimeout(()=>{h(e+1)},a/3)},[i.length,a]);return(0,r.jsx)(`div`,{ref:p,className:t.cn(`space-y-2`,e),...f,children:i.map((e,t)=>{let n=t===m,i=g.has(t);return t<=m?i?(0,r.jsxs)(`div`,{className:`flex items-center`,children:[(0,r.jsx)(`span`,{children:e}),l&&!d&&(0,r.jsx)(s,{char:u,blinkSpeed:500,className:`ml-0.5 opacity-0`})]},t):(0,r.jsx)(`div`,{children:(0,r.jsx)(c,{strings:[e],typeSpeed:o,startDelay:t===0?500:0,loop:!1,cursor:l&&(d?n:!0),cursorChar:u,onTypeComplete:()=>v(t),active:n})},t):(0,r.jsx)(`div`,{className:`h-6`},t)})})});u.displayName=`WakaTypewriterLines`;var d=n.forwardRef(({className:e,language:n,...i},a)=>(0,r.jsx)(c,{ref:a,className:t.cn(`font-mono text-sm bg-muted px-1.5 py-0.5 rounded`,e),as:`code`,cursorChar:`_`,cursorBlinkSpeed:400,typeSpeed:`fast`,...i}));if(d.displayName=`WakaTypewriterCode`,typeof document<`u`){let e=`waka-typewriter-styles`;if(!document.getElementById(e)){let t=document.createElement(`style`);t.id=e,t.textContent=`
2
2
  @keyframes typewriter-blink {
3
3
  0%, 50% {
4
4
  opacity: 1;
@@ -24,7 +24,12 @@ function o(e) {
24
24
  } else d?.(_), _ === n.length - 1 && !c ? p?.() : C.current = setTimeout(() => {
25
25
  b(!1), D();
26
26
  }, o);
27
- else w.current > 0 ? (w.current--, g(e.slice(0, w.current)), C.current = setTimeout(D, i)) : (f?.(_), v((_ + 1) % n.length), b(!0), C.current = setTimeout(D, s));
27
+ else if (w.current > 0) w.current--, g(e.slice(0, w.current)), C.current = setTimeout(D, i);
28
+ else {
29
+ f?.(_);
30
+ let e = (_ + 1) % n.length;
31
+ v(e), b(!0), C.current = setTimeout(D, s);
32
+ }
28
33
  }, [
29
34
  m,
30
35
  x,
@@ -143,7 +148,7 @@ var l = t.forwardRef(({ level: t = 1, className: r, ...i }, a) => /* @__PURE__ *
143
148
  l.displayName = "WakaTypewriterHeading";
144
149
  var u = t.forwardRef(({ className: i, lines: a, staggerDelay: o = 1500, typeSpeed: l = "normal", cursor: u = !0, cursorChar: d = "|", activeLineCursorOnly: f = !0, ...p }, m) => {
145
150
  let [h, g] = t.useState(0), [_, v] = t.useState(/* @__PURE__ */ new Set()), y = t.useCallback((e) => {
146
- v((t) => new Set([...t, e])), e < a.length - 1 && setTimeout(() => {
151
+ v((t) => /* @__PURE__ */ new Set([...t, e])), e < a.length - 1 && setTimeout(() => {
147
152
  g(e + 1);
148
153
  }, o / 3);
149
154
  }, [a.length, o]);
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`class-variance-authority`),a=require(`react/jsx-runtime`);var o=(0,i.cva)(`inline-flex items-center gap-2 transition-all duration-300`,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-base`}},defaultVariants:{size:`md`}}),s={sm:`h-1.5 w-1.5`,md:`h-2 w-2`,lg:`h-2.5 w-2.5`},c={sm:`h-5 w-5 text-[8px]`,md:`h-6 w-6 text-[10px]`,lg:`h-8 w-8 text-xs`},l={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`};function u(e){if(e.length===0)return``;if(e.length===1)return`${e[0].name} is typing...`;if(e.length===2)return`${e[0].name} and ${e[1].name} are typing...`;if(e.length===3)return`${e[0].name}, ${e[1].name}, and ${e[2].name} are typing...`;let t=e.length-2;return`${e[0].name}, ${e[1].name}, and ${t} ${t===1?`other`:`others`} are typing...`}function d(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function f({user:e,size:n,className:r}){return(0,a.jsx)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full font-semibold flex-shrink-0`,c[n],e.avatar?``:`bg-muted text-muted-foreground`,r),children:e.avatar?(0,a.jsx)(`img`,{src:e.avatar,alt:e.name,className:`h-full w-full rounded-full object-cover`}):d(e.name)})}function p({users:e,max:n,size:r}){let i=e.slice(0,n),o=e.length-n;return(0,a.jsxs)(`div`,{className:`flex -space-x-1.5`,children:[i.map((e,n)=>(0,a.jsx)(f,{user:e,size:r,className:t.cn(`ring-2 ring-background`,n>0&&`relative`)},e.id)),o>0&&(0,a.jsxs)(`div`,{className:t.cn(`flex items-center justify-center rounded-full bg-muted text-muted-foreground font-medium ring-2 ring-background`,c[r]),children:[`+`,o]})]})}function m({size:e,speed:n}){let r=s[e],i=n/300;return(0,a.jsx)(`div`,{className:`flex items-center gap-0.5`,children:[0,1,2].map(e=>(0,a.jsx)(`span`,{className:t.cn(r,`rounded-full bg-muted-foreground`),style:{animation:`waka-typing-bounce ${n*1.5}ms ease-in-out infinite`,animationDelay:`${n/3*e*i}ms`}},e))})}function h({size:e,speed:n}){return(0,a.jsxs)(`div`,{className:t.cn(`relative flex items-center justify-center`,l[e]),children:[(0,a.jsx)(`span`,{className:`absolute inset-0 rounded-full bg-primary/30`,style:{animation:`waka-typing-pulse ${n*2}ms ease-in-out infinite`}}),(0,a.jsx)(r.MessageCircle,{className:t.cn(`relative`,l[e],`text-primary`),style:{animation:`waka-typing-pulse-icon ${n*2}ms ease-in-out infinite`}})]})}function g({text:e,speed:t}){return(0,a.jsx)(`span`,{className:`text-muted-foreground`,children:e.split(``).map((e,n)=>(0,a.jsx)(`span`,{style:{animation:e===`.`?`waka-typing-text-bounce ${t*1.5}ms ease-in-out infinite`:`none`,animationDelay:e===`.`?`${n*50}ms`:`0ms`,display:`inline-block`},children:e},n))})}var _=n.forwardRef(({className:e,size:r=`md`,users:i=[],variant:s=`dots`,animationSpeed:c=300,autoHideTimeout:l=0,customText:d,showAvatars:f=!0,maxAvatars:_=3,visible:v=!0,onVisibilityChange:y,...b},x)=>{let[S,C]=n.useState(v),[w,T]=n.useState(!1),[E,D]=n.useState(!1),O=n.useRef(null);if(n.useEffect(()=>{if(v&&!S){T(!0),C(!0);let e=setTimeout(()=>T(!1),200);return()=>clearTimeout(e)}else if(!v&&S){D(!0);let e=setTimeout(()=>{C(!1),D(!1)},200);return()=>clearTimeout(e)}},[v,S]),n.useEffect(()=>(l>0&&v&&(O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{D(!0),setTimeout(()=>{C(!1),D(!1),y?.(!1)},200)},l)),()=>{O.current&&clearTimeout(O.current)}),[l,v,i,y]),!S&&!E||i.length===0&&!d)return null;let k=d||u(i),A=r??`md`;return(0,a.jsxs)(`div`,{ref:x,className:t.cn(o({size:r,className:e}),w&&`animate-typing-enter`,E&&`animate-typing-leave`),role:`status`,"aria-live":`polite`,"aria-label":k,...b,children:[f&&i.length>0&&(0,a.jsx)(p,{users:i,max:_,size:A}),s===`dots`&&(0,a.jsx)(m,{size:A,speed:c}),s===`pulse`&&(0,a.jsx)(h,{size:A,speed:c}),s===`text`&&(0,a.jsx)(g,{text:k,speed:c}),s!==`text`&&(0,a.jsx)(`span`,{className:`text-muted-foreground`,children:k}),(0,a.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("class-variance-authority"),a=require("react/jsx-runtime");var o=(0,i.cva)(`inline-flex items-center gap-2 transition-all duration-300`,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-base`}},defaultVariants:{size:`md`}}),s={sm:`h-1.5 w-1.5`,md:`h-2 w-2`,lg:`h-2.5 w-2.5`},c={sm:`h-5 w-5 text-[8px]`,md:`h-6 w-6 text-[10px]`,lg:`h-8 w-8 text-xs`},l={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`};function u(e){if(e.length===0)return``;if(e.length===1)return`${e[0].name} is typing...`;if(e.length===2)return`${e[0].name} and ${e[1].name} are typing...`;if(e.length===3)return`${e[0].name}, ${e[1].name}, and ${e[2].name} are typing...`;let t=e.length-2;return`${e[0].name}, ${e[1].name}, and ${t} ${t===1?`other`:`others`} are typing...`}function d(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function f({user:e,size:n,className:r}){return(0,a.jsx)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full font-semibold flex-shrink-0`,c[n],e.avatar?``:`bg-muted text-muted-foreground`,r),children:e.avatar?(0,a.jsx)(`img`,{src:e.avatar,alt:e.name,className:`h-full w-full rounded-full object-cover`}):d(e.name)})}function p({users:e,max:n,size:r}){let i=e.slice(0,n),o=e.length-n;return(0,a.jsxs)(`div`,{className:`flex -space-x-1.5`,children:[i.map((e,n)=>(0,a.jsx)(f,{user:e,size:r,className:t.cn(`ring-2 ring-background`,n>0&&`relative`)},e.id)),o>0&&(0,a.jsxs)(`div`,{className:t.cn(`flex items-center justify-center rounded-full bg-muted text-muted-foreground font-medium ring-2 ring-background`,c[r]),children:[`+`,o]})]})}function m({size:e,speed:n}){let r=s[e],i=n/300;return(0,a.jsx)(`div`,{className:`flex items-center gap-0.5`,children:[0,1,2].map(e=>(0,a.jsx)(`span`,{className:t.cn(r,`rounded-full bg-muted-foreground`),style:{animation:`waka-typing-bounce ${n*1.5}ms ease-in-out infinite`,animationDelay:`${n/3*e*i}ms`}},e))})}function h({size:e,speed:n}){return(0,a.jsxs)(`div`,{className:t.cn(`relative flex items-center justify-center`,l[e]),children:[(0,a.jsx)(`span`,{className:`absolute inset-0 rounded-full bg-primary/30`,style:{animation:`waka-typing-pulse ${n*2}ms ease-in-out infinite`}}),(0,a.jsx)(r.MessageCircle,{className:t.cn(`relative`,l[e],`text-primary`),style:{animation:`waka-typing-pulse-icon ${n*2}ms ease-in-out infinite`}})]})}function g({text:e,speed:t}){return(0,a.jsx)(`span`,{className:`text-muted-foreground`,children:e.split(``).map((e,n)=>(0,a.jsx)(`span`,{style:{animation:e===`.`?`waka-typing-text-bounce ${t*1.5}ms ease-in-out infinite`:`none`,animationDelay:e===`.`?`${n*50}ms`:`0ms`,display:`inline-block`},children:e},n))})}var _=n.forwardRef(({className:e,size:r=`md`,users:i=[],variant:s=`dots`,animationSpeed:c=300,autoHideTimeout:l=0,customText:d,showAvatars:f=!0,maxAvatars:_=3,visible:v=!0,onVisibilityChange:y,...b},x)=>{let[S,C]=n.useState(v),[w,T]=n.useState(!1),[E,D]=n.useState(!1),O=n.useRef(null);if(n.useEffect(()=>{if(v&&!S){T(!0),C(!0);let e=setTimeout(()=>T(!1),200);return()=>clearTimeout(e)}else if(!v&&S){D(!0);let e=setTimeout(()=>{C(!1),D(!1)},200);return()=>clearTimeout(e)}},[v,S]),n.useEffect(()=>(l>0&&v&&(O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{D(!0),setTimeout(()=>{C(!1),D(!1),y?.(!1)},200)},l)),()=>{O.current&&clearTimeout(O.current)}),[l,v,i,y]),!S&&!E||i.length===0&&!d)return null;let k=d||u(i),A=r??`md`;return(0,a.jsxs)(`div`,{ref:x,className:t.cn(o({size:r,className:e}),w&&`animate-typing-enter`,E&&`animate-typing-leave`),role:`status`,"aria-live":`polite`,"aria-label":k,...b,children:[f&&i.length>0&&(0,a.jsx)(p,{users:i,max:_,size:A}),s===`dots`&&(0,a.jsx)(m,{size:A,speed:c}),s===`pulse`&&(0,a.jsx)(h,{size:A,speed:c}),s===`text`&&(0,a.jsx)(g,{text:k,speed:c}),s!==`text`&&(0,a.jsx)(`span`,{className:`text-muted-foreground`,children:k}),(0,a.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
2
2
  @keyframes waka-typing-bounce {
3
3
  0%, 100% {
4
4
  transform: translateY(0);
@@ -68,4 +68,4 @@
68
68
  .animate-typing-leave {
69
69
  animation: waka-typing-leave 0.2s ease-in forwards;
70
70
  }
71
- `}})]})});_.displayName=`WakaTypingIndicator`;function v(e={}){let{typingTimeout:t=3e3,autoHideTimeout:r=0,onTypingChange:i}=e,[a,o]=n.useState([]),s=n.useRef(new Map),c=n.useRef(null);n.useEffect(()=>{i?.(a)},[a,i]),n.useEffect(()=>(r>0&&a.length>0&&(c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{o([])},r)),()=>{c.current&&clearTimeout(c.current)}),[r,a]),n.useEffect(()=>()=>{s.current.forEach(e=>clearTimeout(e)),s.current.clear()},[]);let l=n.useCallback(e=>{if(o(t=>t.some(t=>t.id===e.id)?t:[...t,e]),t>0){let n=s.current.get(e.id);n&&clearTimeout(n);let r=setTimeout(()=>{o(t=>t.filter(t=>t.id!==e.id)),s.current.delete(e.id)},t);s.current.set(e.id,r)}},[t]),u=n.useCallback(e=>{o(t=>t.filter(t=>t.id!==e));let t=s.current.get(e);t&&(clearTimeout(t),s.current.delete(e))},[]),d=n.useCallback(e=>{if(o(t=>{let n=t.findIndex(t=>t.id===e.id);if(n>=0){let r=[...t];return r[n]=e,r}return[...t,e]}),t>0){let n=s.current.get(e.id);n&&clearTimeout(n);let r=setTimeout(()=>{o(t=>t.filter(t=>t.id!==e.id)),s.current.delete(e.id)},t);s.current.set(e.id,r)}},[t]),f=n.useCallback(()=>{o([]),s.current.forEach(e=>clearTimeout(e)),s.current.clear()},[]);return{typingUsers:a,isTyping:a.length>0,addTypingUser:l,removeTypingUser:u,updateTypingStatus:d,clearTypingUsers:f,setTypingUsers:o}}var y=n.forwardRef((e,t)=>(0,a.jsx)(_,{ref:t,variant:`dots`,...e}));y.displayName=`WakaTypingIndicatorDots`;var b=n.forwardRef((e,t)=>(0,a.jsx)(_,{ref:t,variant:`text`,...e}));b.displayName=`WakaTypingIndicatorText`;var x=n.forwardRef((e,t)=>(0,a.jsx)(_,{ref:t,variant:`pulse`,...e}));x.displayName=`WakaTypingIndicatorPulse`,exports.WakaTypingIndicatorDots=y,exports.WakaTypingIndicatorPulse=x,exports.WakaTypingIndicatorText=b,exports.default=_,exports.useTypingIndicator=v;
71
+ `}})]})});_.displayName=`WakaTypingIndicator`;function v(e={}){let{typingTimeout:t=3e3,autoHideTimeout:r=0,onTypingChange:i}=e,[a,o]=n.useState([]),s=n.useRef(new Map),c=n.useRef(null);n.useEffect(()=>{i?.(a)},[a,i]),n.useEffect(()=>(r>0&&a.length>0&&(c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{o([])},r)),()=>{c.current&&clearTimeout(c.current)}),[r,a]),n.useEffect(()=>()=>{s.current.forEach(e=>clearTimeout(e)),s.current.clear()},[]);let l=n.useCallback(e=>{if(o(t=>t.some(t=>t.id===e.id)?t:[...t,e]),t>0){let n=s.current.get(e.id);n&&clearTimeout(n);let r=setTimeout(()=>{o(t=>t.filter(t=>t.id!==e.id)),s.current.delete(e.id)},t);s.current.set(e.id,r)}},[t]),u=n.useCallback(e=>{o(t=>t.filter(t=>t.id!==e));let t=s.current.get(e);t&&(clearTimeout(t),s.current.delete(e))},[]),d=n.useCallback(e=>{if(o(t=>{let n=t.findIndex(t=>t.id===e.id);if(n>=0){let r=[...t];return r[n]=e,r}return[...t,e]}),t>0){let n=s.current.get(e.id);n&&clearTimeout(n);let r=setTimeout(()=>{o(t=>t.filter(t=>t.id!==e.id)),s.current.delete(e.id)},t);s.current.set(e.id,r)}},[t]),f=n.useCallback(()=>{o([]),s.current.forEach(e=>clearTimeout(e)),s.current.clear()},[]);return{typingUsers:a,isTyping:a.length>0,addTypingUser:l,removeTypingUser:u,updateTypingStatus:d,clearTypingUsers:f,setTypingUsers:o}}var y=n.forwardRef((e,t)=>(0,a.jsx)(_,{ref:t,variant:`dots`,...e}));y.displayName=`WakaTypingIndicatorDots`;var b=n.forwardRef((e,t)=>(0,a.jsx)(_,{ref:t,variant:`text`,...e}));b.displayName=`WakaTypingIndicatorText`;var x=n.forwardRef((e,t)=>(0,a.jsx)(_,{ref:t,variant:`pulse`,...e}));x.displayName=`WakaTypingIndicatorPulse`,exports.WakaTypingIndicator=_,exports.default=_,exports.WakaTypingIndicatorDots=y,exports.WakaTypingIndicatorPulse=x,exports.WakaTypingIndicatorText=b,exports.useTypingIndicator=v;
@@ -239,4 +239,4 @@ var x = t.forwardRef((e, t) => /* @__PURE__ */ i(_, {
239
239
  }));
240
240
  x.displayName = "WakaTypingIndicatorPulse";
241
241
  //#endregion
242
- export { y as WakaTypingIndicatorDots, x as WakaTypingIndicatorPulse, b as WakaTypingIndicatorText, _ as default, v as useTypingIndicator };
242
+ export { _ as WakaTypingIndicator, _ as default, y as WakaTypingIndicatorDots, x as WakaTypingIndicatorPulse, b as WakaTypingIndicatorText, v as useTypingIndicator };
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);var a={score:{icon:r.Target,label:`Score Challenge`,color:`text-blue-500`,bgColor:`bg-blue-500/10`},time:{icon:r.Timer,label:`Time Trial`,color:`text-purple-500`,bgColor:`bg-purple-500/10`},streak:{icon:r.Flame,label:`Streak Battle`,color:`text-orange-500`,bgColor:`bg-orange-500/10`},collection:{icon:r.Star,label:`Collection Race`,color:`text-yellow-500`,bgColor:`bg-yellow-500/10`},custom:{icon:r.Swords,label:`Custom Challenge`,color:`text-red-500`,bgColor:`bg-red-500/10`}},o={upcoming:{label:`Upcoming`,color:`text-muted-foreground`,bgColor:`bg-muted`,dotColor:`bg-muted-foreground`},live:{label:`LIVE`,color:`text-red-500`,bgColor:`bg-red-500/10`,dotColor:`bg-red-500`},finished:{label:`Finished`,color:`text-green-500`,bgColor:`bg-green-500/10`,dotColor:`bg-green-500`}},s={xp:r.Zap,badge:r.Trophy,item:r.Gift,currency:r.Star},c={sm:{card:`p-3`,avatar:`h-12 w-12`,name:`text-sm`,score:`text-xl`,vsSize:`h-10 w-10 text-sm`,stats:`text-xs`},default:{card:`p-4`,avatar:`h-16 w-16`,name:`text-base`,score:`text-3xl`,vsSize:`h-14 w-14 text-lg`,stats:`text-sm`},lg:{card:`p-6`,avatar:`h-20 w-20`,name:`text-lg`,score:`text-4xl`,vsSize:`h-16 w-16 text-xl`,stats:`text-base`}};function l({name:e,avatar:n,size:a,isWinner:o,isLoser:s,className:l}){return(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full font-semibold overflow-hidden`,c[a].avatar,n?``:`bg-muted text-muted-foreground`,o&&`ring-4 ring-yellow-400 shadow-lg shadow-yellow-400/30`,s&&`opacity-60 grayscale`,l),children:[n?(0,i.jsx)(`img`,{src:n,alt:e,className:`h-full w-full object-cover`}):(e=>e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2))(e),o&&(0,i.jsx)(`div`,{className:`absolute -top-2 left-1/2 -translate-x-1/2 animate-bounce`,children:(0,i.jsx)(r.Crown,{className:`h-6 w-6 text-yellow-400 fill-yellow-400 drop-shadow-lg`})})]})}function u({size:e,isLive:n,isFinished:a}){return(0,i.jsxs)(`div`,{className:`relative flex flex-col items-center justify-center`,children:[(0,i.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,i.jsx)(`div`,{className:`w-full border-t border-dashed border-muted-foreground/30`})}),(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full font-bold`,`bg-gradient-to-br from-red-500 via-orange-500 to-yellow-500`,`text-white shadow-lg`,c[e].vsSize,n&&`animate-versus-pulse`,a&&`from-green-500 via-emerald-500 to-teal-500`),children:[n&&(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-full border-2 border-white/30 animate-versus-spin`}),(0,i.jsx)(`div`,{className:`absolute inset-1 rounded-full bg-gradient-to-br from-white/20 to-transparent`}),(0,i.jsx)(`span`,{className:`relative`,children:`VS`})]}),n&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Sparkles,{className:`absolute -top-2 -left-2 h-4 w-4 text-yellow-400 animate-versus-sparkle`}),(0,i.jsx)(r.Sparkles,{className:`absolute -bottom-2 -right-2 h-4 w-4 text-orange-400 animate-versus-sparkle-delay`})]}),(0,i.jsx)(`style`,{children:`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");var a={score:{icon:r.Target,label:`Score Challenge`,color:`text-blue-500`,bgColor:`bg-blue-500/10`},time:{icon:r.Timer,label:`Time Trial`,color:`text-purple-500`,bgColor:`bg-purple-500/10`},streak:{icon:r.Flame,label:`Streak Battle`,color:`text-orange-500`,bgColor:`bg-orange-500/10`},collection:{icon:r.Star,label:`Collection Race`,color:`text-yellow-500`,bgColor:`bg-yellow-500/10`},custom:{icon:r.Swords,label:`Custom Challenge`,color:`text-red-500`,bgColor:`bg-red-500/10`}},o={upcoming:{label:`Upcoming`,color:`text-muted-foreground`,bgColor:`bg-muted`,dotColor:`bg-muted-foreground`},live:{label:`LIVE`,color:`text-red-500`,bgColor:`bg-red-500/10`,dotColor:`bg-red-500`},finished:{label:`Finished`,color:`text-green-500`,bgColor:`bg-green-500/10`,dotColor:`bg-green-500`}},s={xp:r.Zap,badge:r.Trophy,item:r.Gift,currency:r.Star},c={sm:{card:`p-3`,avatar:`h-12 w-12`,name:`text-sm`,score:`text-xl`,vsSize:`h-10 w-10 text-sm`,stats:`text-xs`},default:{card:`p-4`,avatar:`h-16 w-16`,name:`text-base`,score:`text-3xl`,vsSize:`h-14 w-14 text-lg`,stats:`text-sm`},lg:{card:`p-6`,avatar:`h-20 w-20`,name:`text-lg`,score:`text-4xl`,vsSize:`h-16 w-16 text-xl`,stats:`text-base`}};function l({name:e,avatar:n,size:a,isWinner:o,isLoser:s,className:l}){return(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full font-semibold overflow-hidden`,c[a].avatar,n?``:`bg-muted text-muted-foreground`,o&&`ring-4 ring-yellow-400 shadow-lg shadow-yellow-400/30`,s&&`opacity-60 grayscale`,l),children:[n?(0,i.jsx)(`img`,{src:n,alt:e,className:`h-full w-full object-cover`}):(e=>e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2))(e),o&&(0,i.jsx)(`div`,{className:`absolute -top-2 left-1/2 -translate-x-1/2 animate-bounce`,children:(0,i.jsx)(r.Crown,{className:`h-6 w-6 text-yellow-400 fill-yellow-400 drop-shadow-lg`})})]})}function u({size:e,isLive:n,isFinished:a}){return(0,i.jsxs)(`div`,{className:`relative flex flex-col items-center justify-center`,children:[(0,i.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,i.jsx)(`div`,{className:`w-full border-t border-dashed border-muted-foreground/30`})}),(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full font-bold`,`bg-gradient-to-br from-red-500 via-orange-500 to-yellow-500`,`text-white shadow-lg`,c[e].vsSize,n&&`animate-versus-pulse`,a&&`from-green-500 via-emerald-500 to-teal-500`),children:[n&&(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-full border-2 border-white/30 animate-versus-spin`}),(0,i.jsx)(`div`,{className:`absolute inset-1 rounded-full bg-gradient-to-br from-white/20 to-transparent`}),(0,i.jsx)(`span`,{className:`relative`,children:`VS`})]}),n&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Sparkles,{className:`absolute -top-2 -left-2 h-4 w-4 text-yellow-400 animate-versus-sparkle`}),(0,i.jsx)(r.Sparkles,{className:`absolute -bottom-2 -right-2 h-4 w-4 text-orange-400 animate-versus-sparkle-delay`})]}),(0,i.jsx)(`style`,{children:`
2
2
  @keyframes versus-pulse {
3
3
  0%, 100% { transform: scale(1); box-shadow: 0 0 20px rgba(239, 68, 68, 0.5); }
4
4
  50% { transform: scale(1.1); box-shadow: 0 0 30px rgba(239, 68, 68, 0.8); }
@@ -23,7 +23,7 @@
23
23
  .animate-versus-sparkle-delay {
24
24
  animation: versus-sparkle 1.5s ease-in-out infinite 0.75s;
25
25
  }
26
- `})]})}function d({competitor:e,size:a,isWinner:o,isLoser:s,side:u,targetScore:d}){let[f,p]=n.useState(e.score),[m,h]=n.useState(!1),g=n.useRef(e.score);n.useEffect(()=>{if(e.score!==g.current){h(!0);let t=g.current,n=e.score,r=performance.now(),i=e=>{let a=e-r,o=Math.min(a/500,1),s=1-(1-o)**3;p(Math.round(t+(n-t)*s)),o<1?requestAnimationFrame(i):h(!1)};requestAnimationFrame(i),g.current=e.score}},[e.score]);let _=e.previousScore===void 0?0:e.score-e.previousScore,v=d?e.score/d*100:null;return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col items-center space-y-2 flex-1`,u===`right`&&`items-center`),children:[(0,i.jsx)(l,{name:e.name,avatar:e.avatar,size:a,isWinner:o,isLoser:s}),(0,i.jsxs)(`div`,{className:`text-center space-y-0.5`,children:[(0,i.jsxs)(`div`,{className:t.cn(`font-semibold`,c[a].name),children:[e.name,e.isCurrentUser&&(0,i.jsx)(`span`,{className:`ml-1.5 text-xs text-primary`,children:`(You)`})]}),e.rank&&(0,i.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.rank})]}),(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`div`,{className:t.cn(`font-bold tabular-nums transition-all`,c[a].score,o&&`text-yellow-500`,s&&`text-muted-foreground`,m&&`text-primary scale-110`),children:f.toLocaleString()}),_!==0&&(0,i.jsxs)(`div`,{className:t.cn(`absolute -right-6 top-1/2 -translate-y-1/2 flex items-center text-xs font-medium`,_>0?`text-green-500`:`text-red-500`),children:[_>0?(0,i.jsx)(r.TrendingUp,{className:`h-3 w-3`}):(0,i.jsx)(r.TrendingDown,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{children:Math.abs(_)})]})]}),v!==null&&(0,i.jsxs)(`div`,{className:`w-full max-w-[100px]`,children:[(0,i.jsx)(`div`,{className:`h-1.5 w-full rounded-full bg-muted overflow-hidden`,children:(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500`,o?`bg-gradient-to-r from-yellow-400 to-amber-500`:`bg-gradient-to-r from-blue-500 to-purple-500`),style:{width:`${Math.min(100,v)}%`}})}),(0,i.jsxs)(`div`,{className:`mt-0.5 text-center text-[10px] text-muted-foreground`,children:[Math.round(v),`%`]})]}),e.winStreak&&e.winStreak>0&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-orange-500`,children:[(0,i.jsx)(r.Flame,{className:`h-3 w-3`}),(0,i.jsxs)(`span`,{children:[e.winStreak,` streak`]})]}),e.stats&&e.stats.length>0&&(0,i.jsx)(`div`,{className:t.cn(`flex flex-wrap justify-center gap-2 mt-2`,c[a].stats),children:e.stats.map((e,t)=>(0,i.jsxs)(`div`,{className:`flex items-center gap-1 rounded-full bg-muted px-2 py-0.5`,children:[e.icon,(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.name,`:`]}),(0,i.jsx)(`span`,{className:`font-medium`,children:e.value})]},t))})]})}function f({endTime:e,onExpire:a,className:o}){let[s,c]=n.useState(``),[l,u]=n.useState(!1);return n.useEffect(()=>{let t=()=>{let t=new Date,n=e.getTime()-t.getTime();if(n<=0){c(`00:00`),u(!0),a?.();return}let r=Math.floor(n/(1e3*60*60)),i=Math.floor(n%(1e3*60*60)/(1e3*60)),o=Math.floor(n%(1e3*60)/1e3);r>0?(c(`${r}:${String(i).padStart(2,`0`)}:${String(o).padStart(2,`0`)}`),u(!1)):(c(`${String(i).padStart(2,`0`)}:${String(o).padStart(2,`0`)}`),u(i<1))};t();let n=setInterval(t,1e3);return()=>clearInterval(n)},[e,a]),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 font-mono text-sm`,l?`text-red-500 animate-pulse`:`text-muted-foreground`,o),children:[(0,i.jsx)(r.Clock,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{children:s})]})}function p({reward:e,compact:n}){let r=s[e.type];return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 rounded-full px-2 py-1`,{xp:`text-yellow-500 bg-yellow-500/10`,badge:`text-purple-500 bg-purple-500/10`,item:`text-blue-500 bg-blue-500/10`,currency:`text-amber-500 bg-amber-500/10`}[e.type],n&&`px-1.5 py-0.5`),children:[e.icon||(0,i.jsx)(r,{className:t.cn(`h-3.5 w-3.5`,n&&`h-3 w-3`)}),(0,i.jsxs)(`span`,{className:t.cn(`text-xs font-medium`,n&&`text-[10px]`),children:[typeof e.value==`number`?`+${e.value}`:e.value,e.type===`xp`&&` XP`]})]})}function m({active:e,side:n}){if(!e)return null;let r=[`#fbbf24`,`#f59e0b`,`#22c55e`,`#fcd34d`,`#fef08a`];return(0,i.jsxs)(`div`,{className:t.cn(`absolute inset-0 pointer-events-none overflow-hidden`,n===`left`?`right-1/2`:`left-1/2`),children:[[...Array(20)].map((e,t)=>{let n=20+Math.random()*60,a=4+Math.random()*8;return(0,i.jsx)(`div`,{className:`absolute animate-winner-confetti`,style:{left:`${n}%`,width:a,height:a,backgroundColor:r[Math.floor(Math.random()*r.length)],borderRadius:Math.random()>.5?`50%`:`2px`,animationDelay:`${Math.random()*.5}s`}},t)}),(0,i.jsx)(`div`,{className:t.cn(`absolute inset-0 animate-winner-glow`,n===`left`?`bg-gradient-to-r from-yellow-400/20 to-transparent`:`bg-gradient-to-l from-yellow-400/20 to-transparent`)}),(0,i.jsx)(`style`,{children:`
26
+ `})]})}function d({competitor:e,size:a,isWinner:o,isLoser:s,side:u,targetScore:d}){let[f,p]=n.useState(e.score),[m,h]=n.useState(!1),g=n.useRef(e.score);n.useEffect(()=>{if(e.score!==g.current){h(!0);let t=g.current,n=e.score,r=performance.now(),i=e=>{let a=e-r,o=Math.min(a/500,1),s=1-(1-o)**3,c=Math.round(t+(n-t)*s);p(c),o<1?requestAnimationFrame(i):h(!1)};requestAnimationFrame(i),g.current=e.score}},[e.score]);let _=e.previousScore===void 0?0:e.score-e.previousScore,v=d?e.score/d*100:null;return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col items-center space-y-2 flex-1`,u===`right`&&`items-center`),children:[(0,i.jsx)(l,{name:e.name,avatar:e.avatar,size:a,isWinner:o,isLoser:s}),(0,i.jsxs)(`div`,{className:`text-center space-y-0.5`,children:[(0,i.jsxs)(`div`,{className:t.cn(`font-semibold`,c[a].name),children:[e.name,e.isCurrentUser&&(0,i.jsx)(`span`,{className:`ml-1.5 text-xs text-primary`,children:`(You)`})]}),e.rank&&(0,i.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.rank})]}),(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`div`,{className:t.cn(`font-bold tabular-nums transition-all`,c[a].score,o&&`text-yellow-500`,s&&`text-muted-foreground`,m&&`text-primary scale-110`),children:f.toLocaleString()}),_!==0&&(0,i.jsxs)(`div`,{className:t.cn(`absolute -right-6 top-1/2 -translate-y-1/2 flex items-center text-xs font-medium`,_>0?`text-green-500`:`text-red-500`),children:[_>0?(0,i.jsx)(r.TrendingUp,{className:`h-3 w-3`}):(0,i.jsx)(r.TrendingDown,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{children:Math.abs(_)})]})]}),v!==null&&(0,i.jsxs)(`div`,{className:`w-full max-w-[100px]`,children:[(0,i.jsx)(`div`,{className:`h-1.5 w-full rounded-full bg-muted overflow-hidden`,children:(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500`,o?`bg-gradient-to-r from-yellow-400 to-amber-500`:`bg-gradient-to-r from-blue-500 to-purple-500`),style:{width:`${Math.min(100,v)}%`}})}),(0,i.jsxs)(`div`,{className:`mt-0.5 text-center text-[10px] text-muted-foreground`,children:[Math.round(v),`%`]})]}),e.winStreak&&e.winStreak>0&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-orange-500`,children:[(0,i.jsx)(r.Flame,{className:`h-3 w-3`}),(0,i.jsxs)(`span`,{children:[e.winStreak,` streak`]})]}),e.stats&&e.stats.length>0&&(0,i.jsx)(`div`,{className:t.cn(`flex flex-wrap justify-center gap-2 mt-2`,c[a].stats),children:e.stats.map((e,t)=>(0,i.jsxs)(`div`,{className:`flex items-center gap-1 rounded-full bg-muted px-2 py-0.5`,children:[e.icon,(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.name,`:`]}),(0,i.jsx)(`span`,{className:`font-medium`,children:e.value})]},t))})]})}function f({endTime:e,onExpire:a,className:o}){let[s,c]=n.useState(``),[l,u]=n.useState(!1);return n.useEffect(()=>{let t=()=>{let t=new Date,n=e.getTime()-t.getTime();if(n<=0){c(`00:00`),u(!0),a?.();return}let r=Math.floor(n/(1e3*60*60)),i=Math.floor(n%(1e3*60*60)/(1e3*60)),o=Math.floor(n%(1e3*60)/1e3);r>0?(c(`${r}:${String(i).padStart(2,`0`)}:${String(o).padStart(2,`0`)}`),u(!1)):(c(`${String(i).padStart(2,`0`)}:${String(o).padStart(2,`0`)}`),u(i<1))};t();let n=setInterval(t,1e3);return()=>clearInterval(n)},[e,a]),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 font-mono text-sm`,l?`text-red-500 animate-pulse`:`text-muted-foreground`,o),children:[(0,i.jsx)(r.Clock,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{children:s})]})}function p({reward:e,compact:n}){let r=s[e.type];return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 rounded-full px-2 py-1`,{xp:`text-yellow-500 bg-yellow-500/10`,badge:`text-purple-500 bg-purple-500/10`,item:`text-blue-500 bg-blue-500/10`,currency:`text-amber-500 bg-amber-500/10`}[e.type],n&&`px-1.5 py-0.5`),children:[e.icon||(0,i.jsx)(r,{className:t.cn(`h-3.5 w-3.5`,n&&`h-3 w-3`)}),(0,i.jsxs)(`span`,{className:t.cn(`text-xs font-medium`,n&&`text-[10px]`),children:[typeof e.value==`number`?`+${e.value}`:e.value,e.type===`xp`&&` XP`]})]})}function m({active:e,side:n}){if(!e)return null;let r=[`#fbbf24`,`#f59e0b`,`#22c55e`,`#fcd34d`,`#fef08a`];return(0,i.jsxs)(`div`,{className:t.cn(`absolute inset-0 pointer-events-none overflow-hidden`,n===`left`?`right-1/2`:`left-1/2`),children:[[...Array(20)].map((e,t)=>{let n=20+Math.random()*60,a=4+Math.random()*8;return(0,i.jsx)(`div`,{className:`absolute animate-winner-confetti`,style:{left:`${n}%`,width:a,height:a,backgroundColor:r[Math.floor(Math.random()*r.length)],borderRadius:Math.random()>.5?`50%`:`2px`,animationDelay:`${Math.random()*.5}s`}},t)}),(0,i.jsx)(`div`,{className:t.cn(`absolute inset-0 animate-winner-glow`,n===`left`?`bg-gradient-to-r from-yellow-400/20 to-transparent`:`bg-gradient-to-l from-yellow-400/20 to-transparent`)}),(0,i.jsx)(`style`,{children:`
27
27
  @keyframes winner-confetti {
28
28
  0% {
29
29
  top: 100%;
@@ -54,4 +54,4 @@
54
54
  .animate-winner-reveal {
55
55
  animation: winner-reveal 0.5s ease-out;
56
56
  }
57
- `})]})]})}function g({competitorLeft:e,competitorRight:t,challenge:r,initialStatus:i=`upcoming`,onStatusChange:a,onWinner:o,autoWinner:s=!0}){let[c,l]=n.useState(e),[u,d]=n.useState(t),[f,p]=n.useState(i),[m,h]=n.useState(),g=n.useCallback(e=>{if(p(e),a?.(e),e===`finished`&&s&&!m){let e=c.score>u.score?c.id:u.score>c.score?u.id:void 0;e&&(h(e),o?.(e))}},[c,u,s,m,a,o]),_=n.useCallback((e,t)=>{e===c.id?l(e=>({...e,previousScore:e.score,score:t})):e===u.id&&d(e=>({...e,previousScore:e.score,score:t})),r.targetScore&&t>=r.targetScore&&f===`live`&&(h(e),o?.(e),g(`finished`))},[c.id,u.id,r.targetScore,f,o,g]);return{competitorLeft:c,competitorRight:u,status:f,winnerId:m,updateScore:_,incrementScore:n.useCallback((e,t=1)=>{_(e,(e===c.id?c:u).score+t)},[c,u,_]),updateStatus:g,declareWinner:n.useCallback(e=>{h(e),o?.(e),f!==`finished`&&g(`finished`)},[f,o,g]),start:n.useCallback(()=>{f===`upcoming`&&g(`live`)},[f,g]),finish:n.useCallback(()=>{f===`live`&&g(`finished`)},[f,g]),reset:n.useCallback(()=>{l({...e,previousScore:void 0}),d({...t,previousScore:void 0}),p(`upcoming`),h(void 0)},[e,t]),isLive:f===`live`,isFinished:f===`finished`,isUpcoming:f===`upcoming`,leftIsWinning:c.score>u.score,rightIsWinning:u.score>c.score,isTied:c.score===u.score,scoreDifference:Math.abs(c.score-u.score)}}exports.default=h,exports.useVersusCard=g;
57
+ `})]})]})}function g({competitorLeft:e,competitorRight:t,challenge:r,initialStatus:i=`upcoming`,onStatusChange:a,onWinner:o,autoWinner:s=!0}){let[c,l]=n.useState(e),[u,d]=n.useState(t),[f,p]=n.useState(i),[m,h]=n.useState(),g=n.useCallback(e=>{if(p(e),a?.(e),e===`finished`&&s&&!m){let e=c.score>u.score?c.id:u.score>c.score?u.id:void 0;e&&(h(e),o?.(e))}},[c,u,s,m,a,o]),_=n.useCallback((e,t)=>{e===c.id?l(e=>({...e,previousScore:e.score,score:t})):e===u.id&&d(e=>({...e,previousScore:e.score,score:t})),r.targetScore&&t>=r.targetScore&&f===`live`&&(h(e),o?.(e),g(`finished`))},[c.id,u.id,r.targetScore,f,o,g]);return{competitorLeft:c,competitorRight:u,status:f,winnerId:m,updateScore:_,incrementScore:n.useCallback((e,t=1)=>{let n=e===c.id?c:u;_(e,n.score+t)},[c,u,_]),updateStatus:g,declareWinner:n.useCallback(e=>{h(e),o?.(e),f!==`finished`&&g(`finished`)},[f,o,g]),start:n.useCallback(()=>{f===`upcoming`&&g(`live`)},[f,g]),finish:n.useCallback(()=>{f===`live`&&g(`finished`)},[f,g]),reset:n.useCallback(()=>{l({...e,previousScore:void 0}),d({...t,previousScore:void 0}),p(`upcoming`),h(void 0)},[e,t]),isLive:f===`live`,isFinished:f===`finished`,isUpcoming:f===`upcoming`,leftIsWinning:c.score>u.score,rightIsWinning:u.score>c.score,isTied:c.score===u.score,scoreDifference:Math.abs(c.score-u.score)}}exports.WakaVersusCard=h,exports.default=h,exports.useVersusCard=g;
@@ -129,8 +129,8 @@ function w({ competitor: n, size: r, isWinner: a, isLoser: o, side: s, targetSco
129
129
  if (n.score !== h.current) {
130
130
  m(!0);
131
131
  let e = h.current, t = n.score, r = performance.now(), i = (n) => {
132
- let a = n - r, o = Math.min(a / 500, 1), s = 1 - (1 - o) ** 3;
133
- u(Math.round(e + (t - e) * s)), o < 1 ? requestAnimationFrame(i) : m(!1);
132
+ let a = n - r, o = Math.min(a / 500, 1), s = 1 - (1 - o) ** 3, c = Math.round(e + (t - e) * s);
133
+ u(c), o < 1 ? requestAnimationFrame(i) : m(!1);
134
134
  };
135
135
  requestAnimationFrame(i), h.current = n.score;
136
136
  }
@@ -424,7 +424,8 @@ function k({ competitorLeft: e, competitorRight: n, challenge: r, initialStatus:
424
424
  winnerId: m,
425
425
  updateScore: _,
426
426
  incrementScore: t.useCallback((e, t = 1) => {
427
- _(e, (e === c.id ? c : u).score + t);
427
+ let n = e === c.id ? c : u;
428
+ _(e, n.score + t);
428
429
  }, [
429
430
  c,
430
431
  u,
@@ -463,4 +464,4 @@ function k({ competitorLeft: e, competitorRight: n, challenge: r, initialStatus:
463
464
  };
464
465
  }
465
466
  //#endregion
466
- export { O as default, k as useVersusCard };
467
+ export { O as WakaVersusCard, O as default, k as useVersusCard };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../button/index.cjs.js`),r=require(`../dropdown-menu/index.cjs.js`),i=require(`../slider/index.cjs.js`);let a=require(`react`);a=e.__toESM(a);let o=require(`lucide-react`),s=require(`react/jsx-runtime`);function c(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return t>0?`${t}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`:`${n}:${r.toString().padStart(2,`0`)}`}function l({src:e,poster:l,autoPlay:u=!1,loop:d=!1,muted:f=!1,controls:p=!0,preload:ee=`metadata`,width:m,height:h,aspectRatio:g=`16/9`,showFullscreen:_=!0,showPlaybackSpeed:v=!0,showQualitySelector:y=!1,playbackSpeeds:b=[.5,.75,1,1.25,1.5,2],onReady:x,onPlay:te,onPause:ne,onEnded:re,onTimeUpdate:S,onError:C,className:w}){let T=a.useRef(null),E=a.useRef(null),[D,O]=a.useState(u),[k,A]=a.useState(f),[j,M]=a.useState(1),[N,P]=a.useState(0),[F,I]=a.useState(0),[L,R]=a.useState(!1),[z,B]=a.useState(!0),[V,H]=a.useState(!0),[U,W]=a.useState(1),[G,K]=a.useState(``),q=a.useRef(void 0),J=a.useMemo(()=>typeof e==`string`?[{src:e,type:`video/mp4`}]:e,[e]);a.useEffect(()=>{J.length>0&&J[0].quality&&K(J[0].quality)},[J]);let Y=()=>{let e=T.current;e&&(I(e.duration),B(!1),x?.())},X=()=>{let e=T.current;e&&(P(e.currentTime),S?.(e.currentTime))},ie=()=>{O(!0),te?.()},Z=()=>{O(!1),ne?.()},ae=()=>{O(!1),re?.()},oe=()=>{B(!1),C?.(Error(`Video failed to load`))},se=()=>{B(!0)},ce=()=>{B(!1)},Q=()=>{let e=T.current;e&&(D?e.pause():e.play())},le=()=>{let e=T.current;e&&(e.muted=!k,A(!k))},ue=e=>{let t=T.current;if(!t)return;let n=e[0];t.volume=n,M(n),A(n===0)},de=e=>{let t=T.current;t&&(t.currentTime=e[0],P(e[0]))},$=e=>{let t=T.current;t&&(t.currentTime=Math.max(0,Math.min(F,t.currentTime+e)))},fe=e=>{let t=T.current;t&&(t.playbackRate=e,W(e))},pe=e=>{let t=T.current;if(!t)return;let n=t.currentTime;t.src=e.src,t.currentTime=n,K(e.quality||``),D&&t.play()};return a.useEffect(()=>()=>{q.current&&clearTimeout(q.current)},[]),a.useEffect(()=>{let e=()=>{R(!!document.fullscreenElement)};return document.addEventListener(`fullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e)}},[]),(0,s.jsxs)(`div`,{ref:E,className:t.cn(`relative bg-black overflow-hidden group`,w),style:{width:m,height:h,aspectRatio:h?void 0:g},onMouseMove:()=>{H(!0),q.current&&clearTimeout(q.current),D&&(q.current=setTimeout(()=>{H(!1)},3e3))},onMouseLeave:()=>D&&H(!1),children:[(0,s.jsx)(`video`,{ref:T,className:`w-full h-full`,poster:l,autoPlay:u,loop:d,muted:f,preload:ee,playsInline:!0,onLoadedMetadata:Y,onTimeUpdate:X,onPlay:ie,onPause:Z,onEnded:ae,onError:oe,onWaiting:se,onCanPlay:ce,onClick:Q,children:J.map((e,t)=>(0,s.jsx)(`source`,{src:e.src,type:e.type},t))}),z&&(0,s.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-black/50`,children:(0,s.jsx)(o.Loader2,{className:`h-10 w-10 text-white animate-spin`})}),!D&&!z&&(0,s.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-black/30`,children:(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-16 w-16 rounded-full bg-white/90 hover:bg-white text-black`,onClick:Q,children:(0,s.jsx)(o.Play,{className:`h-8 w-8 ml-1`})})}),p&&(0,s.jsxs)(`div`,{className:t.cn(`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4 transition-opacity duration-300`,V||!D?`opacity-100`:`opacity-0`),children:[(0,s.jsx)(i.Slider,{value:[N],max:F||100,step:.1,onValueChange:de,className:`mb-3`}),(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:Q,children:D?(0,s.jsx)(o.Pause,{className:`h-5 w-5`}):(0,s.jsx)(o.Play,{className:`h-5 w-5`})}),(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:()=>$(-10),children:(0,s.jsx)(o.SkipBack,{className:`h-4 w-4`})}),(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:()=>$(10),children:(0,s.jsx)(o.SkipForward,{className:`h-4 w-4`})}),(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:le,children:k||j===0?(0,s.jsx)(o.VolumeX,{className:`h-5 w-5`}):(0,s.jsx)(o.Volume2,{className:`h-5 w-5`})}),(0,s.jsx)(i.Slider,{value:[k?0:j],max:1,step:.1,onValueChange:ue,className:`w-20`}),(0,s.jsxs)(`span`,{className:`text-white text-sm ml-2`,children:[c(N),` / `,c(F)]})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(v||y)&&(0,s.jsxs)(r.DropdownMenu,{children:[(0,s.jsx)(r.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,children:(0,s.jsx)(o.Settings,{className:`h-5 w-5`})})}),(0,s.jsxs)(r.DropdownMenuContent,{align:`end`,children:[v&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`div`,{className:`px-2 py-1 text-xs text-muted-foreground`,children:`Vitesse`}),b.map(e=>(0,s.jsxs)(r.DropdownMenuItem,{onClick:()=>fe(e),className:t.cn(U===e&&`bg-muted`),children:[e,`x`]},e))]}),y&&J.some(e=>e.quality)&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`div`,{className:`px-2 py-1 text-xs text-muted-foreground mt-2`,children:`Qualité`}),J.filter(e=>e.quality).map((e,n)=>(0,s.jsx)(r.DropdownMenuItem,{onClick:()=>pe(e),className:t.cn(G===e.quality&&`bg-muted`),children:e.quality},n))]})]})]}),_&&(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:async()=>{let e=E.current;if(e)try{document.fullscreenElement?(await document.exitFullscreen(),R(!1)):(await e.requestFullscreen(),R(!0))}catch(e){console.error(`Fullscreen error:`,e)}},children:L?(0,s.jsx)(o.Minimize,{className:`h-5 w-5`}):(0,s.jsx)(o.Maximize,{className:`h-5 w-5`})})]})]})]})]})}function u(e={}){let[t,n]=a.useState(e.autoPlay??!1),[r,i]=a.useState(e.muted??!1),[o,s]=a.useState(0),[c,l]=a.useState(0);return{isPlaying:t,isMuted:r,currentTime:o,duration:c,onPlay:()=>n(!0),onPause:()=>n(!1),onTimeUpdate:s,onReady:()=>{}}}exports.default=l,exports.useVideo=u;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../button/index.cjs.js"),r=require("../dropdown-menu/index.cjs.js"),i=require("../slider/index.cjs.js");let a=require("react");a=e.__toESM(a);let o=require("lucide-react"),s=require("react/jsx-runtime");function c(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return t>0?`${t}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`:`${n}:${r.toString().padStart(2,`0`)}`}function l({src:e,poster:l,autoPlay:u=!1,loop:d=!1,muted:f=!1,controls:p=!0,preload:ee=`metadata`,width:m,height:h,aspectRatio:g=`16/9`,showFullscreen:_=!0,showPlaybackSpeed:v=!0,showQualitySelector:y=!1,playbackSpeeds:b=[.5,.75,1,1.25,1.5,2],onReady:x,onPlay:te,onPause:ne,onEnded:re,onTimeUpdate:S,onError:C,className:w}){let T=a.useRef(null),E=a.useRef(null),[D,O]=a.useState(u),[k,A]=a.useState(f),[j,M]=a.useState(1),[N,P]=a.useState(0),[F,I]=a.useState(0),[L,R]=a.useState(!1),[z,B]=a.useState(!0),[V,H]=a.useState(!0),[U,W]=a.useState(1),[G,K]=a.useState(``),q=a.useRef(void 0),J=a.useMemo(()=>typeof e==`string`?[{src:e,type:`video/mp4`}]:e,[e]);a.useEffect(()=>{J.length>0&&J[0].quality&&K(J[0].quality)},[J]);let Y=()=>{let e=T.current;e&&(I(e.duration),B(!1),x?.())},X=()=>{let e=T.current;e&&(P(e.currentTime),S?.(e.currentTime))},ie=()=>{O(!0),te?.()},Z=()=>{O(!1),ne?.()},ae=()=>{O(!1),re?.()},oe=()=>{B(!1),C?.(Error(`Video failed to load`))},se=()=>{B(!0)},ce=()=>{B(!1)},Q=()=>{let e=T.current;e&&(D?e.pause():e.play())},le=()=>{let e=T.current;e&&(e.muted=!k,A(!k))},ue=e=>{let t=T.current;if(!t)return;let n=e[0];t.volume=n,M(n),A(n===0)},de=e=>{let t=T.current;t&&(t.currentTime=e[0],P(e[0]))},$=e=>{let t=T.current;t&&(t.currentTime=Math.max(0,Math.min(F,t.currentTime+e)))},fe=e=>{let t=T.current;t&&(t.playbackRate=e,W(e))},pe=e=>{let t=T.current;if(!t)return;let n=t.currentTime;t.src=e.src,t.currentTime=n,K(e.quality||``),D&&t.play()};return a.useEffect(()=>()=>{q.current&&clearTimeout(q.current)},[]),a.useEffect(()=>{let e=()=>{R(!!document.fullscreenElement)};return document.addEventListener(`fullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e)}},[]),(0,s.jsxs)(`div`,{ref:E,className:t.cn(`relative bg-black overflow-hidden group`,w),style:{width:m,height:h,aspectRatio:h?void 0:g},onMouseMove:()=>{H(!0),q.current&&clearTimeout(q.current),D&&(q.current=setTimeout(()=>{H(!1)},3e3))},onMouseLeave:()=>D&&H(!1),children:[(0,s.jsx)(`video`,{ref:T,className:`w-full h-full`,poster:l,autoPlay:u,loop:d,muted:f,preload:ee,playsInline:!0,onLoadedMetadata:Y,onTimeUpdate:X,onPlay:ie,onPause:Z,onEnded:ae,onError:oe,onWaiting:se,onCanPlay:ce,onClick:Q,children:J.map((e,t)=>(0,s.jsx)(`source`,{src:e.src,type:e.type},t))}),z&&(0,s.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-black/50`,children:(0,s.jsx)(o.Loader2,{className:`h-10 w-10 text-white animate-spin`})}),!D&&!z&&(0,s.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-black/30`,children:(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-16 w-16 rounded-full bg-white/90 hover:bg-white text-black`,onClick:Q,children:(0,s.jsx)(o.Play,{className:`h-8 w-8 ml-1`})})}),p&&(0,s.jsxs)(`div`,{className:t.cn(`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4 transition-opacity duration-300`,V||!D?`opacity-100`:`opacity-0`),children:[(0,s.jsx)(i.Slider,{value:[N],max:F||100,step:.1,onValueChange:de,className:`mb-3`}),(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:Q,children:D?(0,s.jsx)(o.Pause,{className:`h-5 w-5`}):(0,s.jsx)(o.Play,{className:`h-5 w-5`})}),(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:()=>$(-10),children:(0,s.jsx)(o.SkipBack,{className:`h-4 w-4`})}),(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:()=>$(10),children:(0,s.jsx)(o.SkipForward,{className:`h-4 w-4`})}),(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:le,children:k||j===0?(0,s.jsx)(o.VolumeX,{className:`h-5 w-5`}):(0,s.jsx)(o.Volume2,{className:`h-5 w-5`})}),(0,s.jsx)(i.Slider,{value:[k?0:j],max:1,step:.1,onValueChange:ue,className:`w-20`}),(0,s.jsxs)(`span`,{className:`text-white text-sm ml-2`,children:[c(N),` / `,c(F)]})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(v||y)&&(0,s.jsxs)(r.DropdownMenu,{children:[(0,s.jsx)(r.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,children:(0,s.jsx)(o.Settings,{className:`h-5 w-5`})})}),(0,s.jsxs)(r.DropdownMenuContent,{align:`end`,children:[v&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`div`,{className:`px-2 py-1 text-xs text-muted-foreground`,children:`Vitesse`}),b.map(e=>(0,s.jsxs)(r.DropdownMenuItem,{onClick:()=>fe(e),className:t.cn(U===e&&`bg-muted`),children:[e,`x`]},e))]}),y&&J.some(e=>e.quality)&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`div`,{className:`px-2 py-1 text-xs text-muted-foreground mt-2`,children:`Qualité`}),J.filter(e=>e.quality).map((e,n)=>(0,s.jsx)(r.DropdownMenuItem,{onClick:()=>pe(e),className:t.cn(G===e.quality&&`bg-muted`),children:e.quality},n))]})]})]}),_&&(0,s.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-white hover:bg-white/20`,onClick:async()=>{let e=E.current;if(e)try{document.fullscreenElement?(await document.exitFullscreen(),R(!1)):(await e.requestFullscreen(),R(!0))}catch(e){console.error(`Fullscreen error:`,e)}},children:L?(0,s.jsx)(o.Minimize,{className:`h-5 w-5`}):(0,s.jsx)(o.Maximize,{className:`h-5 w-5`})})]})]})]})]})}function u(e={}){let[t,n]=a.useState(e.autoPlay??!1),[r,i]=a.useState(e.muted??!1),[o,s]=a.useState(0),[c,l]=a.useState(0);return{isPlaying:t,isMuted:r,currentTime:o,duration:c,onPlay:()=>n(!0),onPause:()=>n(!1),onTimeUpdate:s,onReady:()=>{}}}exports.WakaVideo=l,exports.default=l,exports.useVideo=u;
@@ -250,4 +250,4 @@ function x(e = {}) {
250
250
  };
251
251
  }
252
252
  //#endregion
253
- export { b as default, x as useVideo };
253
+ export { b as WakaVideo, b as default, x as useVideo };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../waka-ad-provider/index.cjs.js`),r=require(`../waka-ad-placeholder/index.cjs.js`),i=require(`../waka-sponsored-badge/index.cjs.js`);let a=require(`react`);a=e.__toESM(a);let o=require(`lucide-react`),s=require(`react/jsx-runtime`);function c({slotId:e,width:c=640,height:l=360,aspectRatio:u=`16/9`,autoplay:d=!0,muted:f=!0,showControls:ee=!0,skipAfter:p=5,showProgress:m=!0,ctaPosition:h=`bottom`,className:g,onComplete:_,onSkip:v,onClick:y}){let b=(0,a.useRef)(null),x=(0,a.useRef)(null),{config:te,isReady:S,hasConsent:C,getCustomAd:w,trackEvent:T}=n.useAdContext(),{isVisible:E}=n.useAdVisibility(b),[D,O]=(0,a.useState)(`loading`),[k,ne]=(0,a.useState)(null),[A,j]=(0,a.useState)(!1),[M,N]=(0,a.useState)(f),[P,F]=(0,a.useState)(0),[I,L]=(0,a.useState)(0),[R,z]=(0,a.useState)(p===0),[B,V]=(0,a.useState)(p),[H,U]=(0,a.useState)(!1);(0,a.useEffect)(()=>{!S||C===!1||(async()=>{try{let t=await w(e);t?.videoUrl?(ne(t),O(`loaded`),T({type:`loaded`,slotId:e,timestamp:new Date})):O(`error`)}catch{O(`error`)}})()},[S,C,e,w,T]),(0,a.useEffect)(()=>{!x.current||!d||D!==`loaded`||(E?x.current.play().catch(()=>{}):x.current.pause())},[E,d,D]),(0,a.useEffect)(()=>{A&&k&&(T({type:`impression`,slotId:e,timestamp:new Date}),k.impressionUrl&&fetch(k.impressionUrl,{mode:`no-cors`}).catch(()=>{}))},[A,k,e,T]),(0,a.useEffect)(()=>{if(!A||R||p===0)return;let e=setInterval(()=>{V(e=>e<=1?(z(!0),0):e-1)},1e3);return()=>clearInterval(e)},[A,R,p]);let W=()=>{x.current?.play()},G=()=>{x.current?.pause()},K=()=>{A?G():W()},q=()=>{x.current&&(x.current.muted=!M,N(!M))},J=()=>{b.current?.requestFullscreen?.()},Y=()=>{if(x.current){let e=x.current.currentTime,t=x.current.duration;F(e/t*100),h===`end`&&t-e<5&&U(!0)}},X=()=>{x.current&&L(x.current.duration)},Z=()=>{j(!1),U(!0),T({type:`viewable`,slotId:e,timestamp:new Date,data:{completed:!0}}),_?.()},re=()=>{R&&(x.current?.pause(),U(!0),v?.())},Q=(0,a.useCallback)(()=>{k&&(T({type:`click`,slotId:e,timestamp:new Date}),y?.(),k.clickUrl&&fetch(k.clickUrl,{mode:`no-cors`}).catch(()=>{}),k.targetUrl&&window.open(k.targetUrl,`_blank`,`noopener,noreferrer`))},[k,e,T,y]),$=e=>`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`;return D===`error`?null:D===`loading`?(0,s.jsx)(`div`,{ref:b,children:(0,s.jsx)(r.default,{width:c,height:l})}):(0,s.jsxs)(`div`,{ref:b,className:t.cn(`relative overflow-hidden rounded-lg bg-black group`,g),style:{width:c,maxWidth:`100%`},children:[(0,s.jsxs)(`div`,{className:t.cn(`relative`,`aspect-[${u}]`),children:[(0,s.jsx)(`video`,{ref:x,src:k?.videoUrl,muted:M,playsInline:!0,onClick:K,onPlay:()=>j(!0),onPause:()=>j(!1),onTimeUpdate:Y,onLoadedMetadata:X,onEnded:Z,className:`w-full h-full object-contain cursor-pointer`}),(0,s.jsx)(`div`,{className:`absolute top-2 left-2 z-10`,children:(0,s.jsx)(i.default,{variant:`dark`,size:`sm`,sponsor:k?.sponsor})}),p>0&&(0,s.jsx)(`div`,{className:`absolute top-2 right-2 z-10`,children:R?(0,s.jsx)(`button`,{onClick:re,className:`px-3 py-1.5 bg-white/90 text-black text-sm font-medium rounded hover:bg-white transition-colors`,children:`Skip Ad`}):(0,s.jsxs)(`div`,{className:`px-3 py-1.5 bg-black/50 text-white text-sm rounded`,children:[`Skip in `,B,`s`]})}),!A&&(0,s.jsx)(`button`,{onClick:W,className:`absolute inset-0 flex items-center justify-center bg-black/30 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,s.jsx)(o.Play,{className:`h-16 w-16 text-white fill-white`})}),h===`overlay`&&k?.cta&&(0,s.jsxs)(`button`,{onClick:Q,className:`absolute bottom-16 left-1/2 -translate-x-1/2 px-6 py-2 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors flex items-center gap-2`,children:[k.cta,(0,s.jsx)(o.ExternalLink,{className:`h-4 w-4`})]}),H&&h===`end`&&(0,s.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center bg-black/80 p-6`,children:[k?.imageUrl&&(0,s.jsx)(`img`,{src:k.imageUrl,alt:``,className:`w-24 h-24 rounded-lg object-cover mb-4`}),(0,s.jsx)(`h3`,{className:`text-white text-xl font-bold text-center mb-2`,children:k?.title}),k?.description&&(0,s.jsx)(`p`,{className:`text-white/80 text-center mb-4 max-w-sm`,children:k.description}),(0,s.jsxs)(`button`,{onClick:Q,className:`px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors flex items-center gap-2`,children:[k?.cta||`Learn More`,(0,s.jsx)(o.ExternalLink,{className:`h-4 w-4`})]})]}),ee&&(0,s.jsxs)(`div`,{className:`absolute bottom-0 left-0 right-0 p-3 bg-gradient-to-t from-black/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity`,children:[m&&(0,s.jsx)(`div`,{className:`mb-2`,children:(0,s.jsx)(`div`,{className:`h-1 bg-white/30 rounded-full overflow-hidden`,children:(0,s.jsx)(`div`,{className:`h-full bg-primary transition-all`,style:{width:`${P}%`}})})}),(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`button`,{onClick:K,className:`p-1.5 hover:bg-white/20 rounded transition-colors`,children:A?(0,s.jsx)(o.Pause,{className:`h-5 w-5 text-white`}):(0,s.jsx)(o.Play,{className:`h-5 w-5 text-white fill-white`})}),(0,s.jsx)(`button`,{onClick:q,className:`p-1.5 hover:bg-white/20 rounded transition-colors`,children:M?(0,s.jsx)(o.VolumeX,{className:`h-5 w-5 text-white`}):(0,s.jsx)(o.Volume2,{className:`h-5 w-5 text-white`})}),(0,s.jsxs)(`span`,{className:`text-white text-xs`,children:[$(P/100*I),` / `,$(I)]})]}),(0,s.jsx)(`button`,{onClick:J,className:`p-1.5 hover:bg-white/20 rounded transition-colors`,children:(0,s.jsx)(o.Maximize,{className:`h-5 w-5 text-white`})})]})]})]}),h===`bottom`&&k?.cta&&(0,s.jsxs)(`button`,{onClick:Q,className:`w-full px-4 py-3 bg-muted hover:bg-muted/80 transition-colors flex items-center justify-between`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-3`,children:[k.imageUrl&&(0,s.jsx)(`img`,{src:k.imageUrl,alt:``,className:`w-10 h-10 rounded object-cover`}),(0,s.jsxs)(`div`,{className:`text-left`,children:[(0,s.jsx)(`p`,{className:`font-medium text-sm`,children:k.title}),(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:k.sponsor})]})]}),(0,s.jsxs)(`span`,{className:`px-4 py-1.5 bg-primary text-primary-foreground rounded text-sm font-medium flex items-center gap-1`,children:[k.cta,(0,s.jsx)(o.ExternalLink,{className:`h-3 w-3`})]})]})]})}exports.default=c;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../waka-ad-provider/index.cjs.js"),r=require("../waka-ad-placeholder/index.cjs.js"),i=require("../waka-sponsored-badge/index.cjs.js");let a=require("react");a=e.__toESM(a);let o=require("lucide-react"),s=require("react/jsx-runtime");function c({slotId:e,width:c=640,height:l=360,aspectRatio:u=`16/9`,autoplay:d=!0,muted:f=!0,showControls:ee=!0,skipAfter:p=5,showProgress:m=!0,ctaPosition:h=`bottom`,className:g,onComplete:_,onSkip:v,onClick:y}){let b=(0,a.useRef)(null),x=(0,a.useRef)(null),{config:te,isReady:S,hasConsent:C,getCustomAd:w,trackEvent:T}=n.useAdContext(),{isVisible:E}=n.useAdVisibility(b),[D,O]=(0,a.useState)(`loading`),[k,ne]=(0,a.useState)(null),[A,j]=(0,a.useState)(!1),[M,N]=(0,a.useState)(f),[P,F]=(0,a.useState)(0),[I,L]=(0,a.useState)(0),[R,z]=(0,a.useState)(p===0),[B,V]=(0,a.useState)(p),[H,U]=(0,a.useState)(!1);(0,a.useEffect)(()=>{!S||C===!1||(async()=>{try{let t=await w(e);t?.videoUrl?(ne(t),O(`loaded`),T({type:`loaded`,slotId:e,timestamp:new Date})):O(`error`)}catch{O(`error`)}})()},[S,C,e,w,T]),(0,a.useEffect)(()=>{!x.current||!d||D!==`loaded`||(E?x.current.play().catch(()=>{}):x.current.pause())},[E,d,D]),(0,a.useEffect)(()=>{A&&k&&(T({type:`impression`,slotId:e,timestamp:new Date}),k.impressionUrl&&fetch(k.impressionUrl,{mode:`no-cors`}).catch(()=>{}))},[A,k,e,T]),(0,a.useEffect)(()=>{if(!A||R||p===0)return;let e=setInterval(()=>{V(e=>e<=1?(z(!0),0):e-1)},1e3);return()=>clearInterval(e)},[A,R,p]);let W=()=>{x.current?.play()},G=()=>{x.current?.pause()},K=()=>{A?G():W()},q=()=>{x.current&&(x.current.muted=!M,N(!M))},J=()=>{b.current?.requestFullscreen?.()},Y=()=>{if(x.current){let e=x.current.currentTime,t=x.current.duration;F(e/t*100),h===`end`&&t-e<5&&U(!0)}},X=()=>{x.current&&L(x.current.duration)},Z=()=>{j(!1),U(!0),T({type:`viewable`,slotId:e,timestamp:new Date,data:{completed:!0}}),_?.()},re=()=>{R&&(x.current?.pause(),U(!0),v?.())},Q=(0,a.useCallback)(()=>{k&&(T({type:`click`,slotId:e,timestamp:new Date}),y?.(),k.clickUrl&&fetch(k.clickUrl,{mode:`no-cors`}).catch(()=>{}),k.targetUrl&&window.open(k.targetUrl,`_blank`,`noopener,noreferrer`))},[k,e,T,y]),$=e=>`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`;return D===`error`?null:D===`loading`?(0,s.jsx)(`div`,{ref:b,children:(0,s.jsx)(r.WakaAdPlaceholder,{width:c,height:l})}):(0,s.jsxs)(`div`,{ref:b,className:t.cn(`relative overflow-hidden rounded-lg bg-black group`,g),style:{width:c,maxWidth:`100%`},children:[(0,s.jsxs)(`div`,{className:t.cn(`relative`,`aspect-[${u}]`),children:[(0,s.jsx)(`video`,{ref:x,src:k?.videoUrl,muted:M,playsInline:!0,onClick:K,onPlay:()=>j(!0),onPause:()=>j(!1),onTimeUpdate:Y,onLoadedMetadata:X,onEnded:Z,className:`w-full h-full object-contain cursor-pointer`}),(0,s.jsx)(`div`,{className:`absolute top-2 left-2 z-10`,children:(0,s.jsx)(i.WakaSponsoredBadge,{variant:`dark`,size:`sm`,sponsor:k?.sponsor})}),p>0&&(0,s.jsx)(`div`,{className:`absolute top-2 right-2 z-10`,children:R?(0,s.jsx)(`button`,{onClick:re,className:`px-3 py-1.5 bg-white/90 text-black text-sm font-medium rounded hover:bg-white transition-colors`,children:`Skip Ad`}):(0,s.jsxs)(`div`,{className:`px-3 py-1.5 bg-black/50 text-white text-sm rounded`,children:[`Skip in `,B,`s`]})}),!A&&(0,s.jsx)(`button`,{onClick:W,className:`absolute inset-0 flex items-center justify-center bg-black/30 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,s.jsx)(o.Play,{className:`h-16 w-16 text-white fill-white`})}),h===`overlay`&&k?.cta&&(0,s.jsxs)(`button`,{onClick:Q,className:`absolute bottom-16 left-1/2 -translate-x-1/2 px-6 py-2 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors flex items-center gap-2`,children:[k.cta,(0,s.jsx)(o.ExternalLink,{className:`h-4 w-4`})]}),H&&h===`end`&&(0,s.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center bg-black/80 p-6`,children:[k?.imageUrl&&(0,s.jsx)(`img`,{src:k.imageUrl,alt:``,className:`w-24 h-24 rounded-lg object-cover mb-4`}),(0,s.jsx)(`h3`,{className:`text-white text-xl font-bold text-center mb-2`,children:k?.title}),k?.description&&(0,s.jsx)(`p`,{className:`text-white/80 text-center mb-4 max-w-sm`,children:k.description}),(0,s.jsxs)(`button`,{onClick:Q,className:`px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors flex items-center gap-2`,children:[k?.cta||`Learn More`,(0,s.jsx)(o.ExternalLink,{className:`h-4 w-4`})]})]}),ee&&(0,s.jsxs)(`div`,{className:`absolute bottom-0 left-0 right-0 p-3 bg-gradient-to-t from-black/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity`,children:[m&&(0,s.jsx)(`div`,{className:`mb-2`,children:(0,s.jsx)(`div`,{className:`h-1 bg-white/30 rounded-full overflow-hidden`,children:(0,s.jsx)(`div`,{className:`h-full bg-primary transition-all`,style:{width:`${P}%`}})})}),(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`button`,{onClick:K,className:`p-1.5 hover:bg-white/20 rounded transition-colors`,children:A?(0,s.jsx)(o.Pause,{className:`h-5 w-5 text-white`}):(0,s.jsx)(o.Play,{className:`h-5 w-5 text-white fill-white`})}),(0,s.jsx)(`button`,{onClick:q,className:`p-1.5 hover:bg-white/20 rounded transition-colors`,children:M?(0,s.jsx)(o.VolumeX,{className:`h-5 w-5 text-white`}):(0,s.jsx)(o.Volume2,{className:`h-5 w-5 text-white`})}),(0,s.jsxs)(`span`,{className:`text-white text-xs`,children:[$(P/100*I),` / `,$(I)]})]}),(0,s.jsx)(`button`,{onClick:J,className:`p-1.5 hover:bg-white/20 rounded transition-colors`,children:(0,s.jsx)(o.Maximize,{className:`h-5 w-5 text-white`})})]})]})]}),h===`bottom`&&k?.cta&&(0,s.jsxs)(`button`,{onClick:Q,className:`w-full px-4 py-3 bg-muted hover:bg-muted/80 transition-colors flex items-center justify-between`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-3`,children:[k.imageUrl&&(0,s.jsx)(`img`,{src:k.imageUrl,alt:``,className:`w-10 h-10 rounded object-cover`}),(0,s.jsxs)(`div`,{className:`text-left`,children:[(0,s.jsx)(`p`,{className:`font-medium text-sm`,children:k.title}),(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:k.sponsor})]})]}),(0,s.jsxs)(`span`,{className:`px-4 py-1.5 bg-primary text-primary-foreground rounded text-sm font-medium flex items-center gap-1`,children:[k.cta,(0,s.jsx)(o.ExternalLink,{className:`h-3 w-3`})]})]})]})}exports.WakaVideoAd=c,exports.default=c;
@@ -2,8 +2,8 @@
2
2
  "use client";
3
3
  import { cn as e } from "../../utils/cn.es.js";
4
4
  import { useAdContext as t, useAdVisibility as n } from "../waka-ad-provider/index.es.js";
5
- import r from "../waka-ad-placeholder/index.es.js";
6
- import i from "../waka-sponsored-badge/index.es.js";
5
+ import { WakaAdPlaceholder as r } from "../waka-ad-placeholder/index.es.js";
6
+ import { WakaSponsoredBadge as i } from "../waka-sponsored-badge/index.es.js";
7
7
  import { useCallback as a, useEffect as o, useRef as s, useState as c } from "react";
8
8
  import { ExternalLink as l, Maximize as u, Pause as d, Play as f, Volume2 as ee, VolumeX as p } from "lucide-react";
9
9
  import { jsx as m, jsxs as h } from "react/jsx-runtime";
@@ -250,4 +250,4 @@ function g({ slotId: g, width: _ = 640, height: v = 360, aspectRatio: y = "16/9"
250
250
  });
251
251
  }
252
252
  //#endregion
253
- export { g as default };
253
+ export { g as WakaVideoAd, g as default };
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);var a={excellent:{color:`text-green-500`,bars:4,label:`Excellent`},good:{color:`text-green-400`,bars:3,label:`Good`},fair:{color:`text-yellow-500`,bars:2,label:`Fair`},poor:{color:`text-red-500`,bars:1,label:`Poor`},disconnected:{color:`text-gray-500`,bars:0,label:`Disconnected`}},o={grid:{icon:r.Grid3X3,label:`Grid`},speaker:{icon:r.LayoutGrid,label:`Speaker`},sidebar:{icon:r.Sidebar,label:`Sidebar`}};function s(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return t>0?`${t}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`:`${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`}function c(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function l({quality:e,showLabel:n=!1,size:o=`default`,className:s}){let c=a[e],l=o===`sm`?[3,5,7,9]:[4,6,8,10],u=o===`sm`?2:3;return e===`disconnected`?(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,s),children:[(0,i.jsx)(r.WifiOff,{className:t.cn(`h-3 w-3`,c.color)}),n&&(0,i.jsx)(`span`,{className:t.cn(`text-xs`,c.color),children:c.label})]}):(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,s),children:[(0,i.jsx)(`div`,{className:`flex items-end gap-0.5`,children:l.map((e,n)=>(0,i.jsx)(`div`,{className:t.cn(`rounded-sm transition-colors`,n<c.bars?c.color.replace(`text-`,`bg-`):`bg-gray-400/30`),style:{width:u,height:e}},n))}),n&&(0,i.jsx)(`span`,{className:t.cn(`text-xs`,c.color),children:c.label})]})}function u({className:e}){return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 px-2 py-1 rounded-md bg-red-500/20`,e),children:[(0,i.jsx)(r.Circle,{className:`h-2.5 w-2.5 fill-red-500 text-red-500 animate-pulse`}),(0,i.jsx)(`span`,{className:`text-xs font-medium text-red-500`,children:`REC`})]})}function d({startTime:e,className:r}){let[a,o]=n.useState(0);return n.useEffect(()=>{if(!e)return;let t=setInterval(()=>{o(Math.floor((Date.now()-e.getTime())/1e3))},1e3);return()=>clearInterval(t)},[e]),(0,i.jsx)(`div`,{className:t.cn(`text-sm font-medium text-muted-foreground tabular-nums`,r),children:s(a)})}function f({participant:e,size:n=`default`,showStatus:a=!0,className:o}){return(0,i.jsxs)(`div`,{className:t.cn(`relative`,o),children:[(0,i.jsx)(`div`,{className:t.cn(`flex items-center justify-center rounded-full bg-muted font-semibold`,{sm:`h-8 w-8 text-xs`,default:`h-12 w-12 text-sm`,lg:`h-16 w-16 text-lg`,xl:`h-24 w-24 text-2xl`}[n],e.isSpeaking&&`ring-2 ring-green-500 ring-offset-2 ring-offset-background`),children:e.avatar?(0,i.jsx)(`img`,{src:e.avatar,alt:e.name,className:`h-full w-full rounded-full object-cover`}):(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:c(e.name)})}),a&&(0,i.jsxs)(i.Fragment,{children:[e.isMuted&&(0,i.jsx)(`div`,{className:`absolute -bottom-1 -right-1 rounded-full bg-red-500 p-0.5`,children:(0,i.jsx)(r.MicOff,{className:`h-2.5 w-2.5 text-white`})}),e.hasRaisedHand&&(0,i.jsx)(`div`,{className:`absolute -top-1 -right-1 rounded-full bg-yellow-500 p-0.5 animate-bounce`,children:(0,i.jsx)(r.Hand,{className:`h-2.5 w-2.5 text-white`})})]})]})}function p({participant:e,isMain:a=!1,showControls:o=!0,onPin:s,onUnpin:c,onMute:u,onRemove:d,className:p}){let[m,h]=n.useState(!1);return(0,i.jsxs)(`div`,{className:t.cn(`relative group rounded-xl overflow-hidden bg-gray-900 transition-all`,`aspect-video`,e.isSpeaking&&`ring-2 ring-green-500`,p),children:[e.isVideoOff?(0,i.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gradient-to-br from-gray-800 to-gray-900`,children:(0,i.jsx)(f,{participant:e,size:a?`xl`:`lg`,showStatus:!1})}):(0,i.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-br from-gray-800 to-gray-900`,children:(0,i.jsx)(`div`,{className:`h-full w-full flex items-center justify-center text-muted-foreground text-sm`,children:e.isScreenSharing?(0,i.jsx)(r.Monitor,{className:`h-12 w-12 opacity-50`}):(0,i.jsx)(r.Video,{className:`h-12 w-12 opacity-50`})})}),(0,i.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity`}),(0,i.jsxs)(`div`,{className:`absolute bottom-2 left-2 right-2 flex items-center justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsxs)(`span`,{className:`text-white text-sm font-medium truncate max-w-[120px]`,children:[e.name,e.isLocal&&` (You)`]}),e.isMuted&&(0,i.jsx)(r.MicOff,{className:`h-3.5 w-3.5 text-red-400`}),e.isScreenSharing&&(0,i.jsx)(r.Monitor,{className:`h-3.5 w-3.5 text-blue-400`})]}),e.connectionQuality&&(0,i.jsx)(l,{quality:e.connectionQuality,size:`sm`})]}),e.hasRaisedHand&&(0,i.jsx)(`div`,{className:`absolute top-2 right-2 rounded-full bg-yellow-500 p-1.5 animate-bounce`,children:(0,i.jsx)(r.Hand,{className:`h-4 w-4 text-white`})}),e.isPinned&&(0,i.jsx)(`div`,{className:`absolute top-2 left-2 rounded-full bg-blue-500 p-1`,children:(0,i.jsx)(r.Pin,{className:`h-3 w-3 text-white`})}),o&&!e.isLocal&&(0,i.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`button`,{onClick:()=>h(!m),className:`rounded-full bg-black/50 p-1.5 hover:bg-black/70 transition-colors`,children:(0,i.jsx)(r.MoreVertical,{className:`h-4 w-4 text-white`})}),m&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`fixed inset-0 z-10`,onClick:()=>h(!1)}),(0,i.jsxs)(`div`,{className:`absolute right-0 top-8 z-20 w-40 rounded-lg bg-popover border shadow-lg py-1`,children:[e.isPinned?(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent`,onClick:()=>{c?.(),h(!1)},children:[(0,i.jsx)(r.PinOff,{className:`h-4 w-4`}),`Unpin`]}):(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent`,onClick:()=>{s?.(),h(!1)},children:[(0,i.jsx)(r.Pin,{className:`h-4 w-4`}),`Pin`]}),(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent`,onClick:()=>{u?.(),h(!1)},children:[(0,i.jsx)(r.VolumeX,{className:`h-4 w-4`}),`Mute`]}),(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent text-red-500`,onClick:()=>{d?.(),h(!1)},children:[(0,i.jsx)(r.UserMinus,{className:`h-4 w-4`}),`Remove`]})]})]})]})}),(0,i.jsx)(`style`,{children:`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");var a={excellent:{color:`text-green-500`,bars:4,label:`Excellent`},good:{color:`text-green-400`,bars:3,label:`Good`},fair:{color:`text-yellow-500`,bars:2,label:`Fair`},poor:{color:`text-red-500`,bars:1,label:`Poor`},disconnected:{color:`text-gray-500`,bars:0,label:`Disconnected`}},o={grid:{icon:r.Grid3X3,label:`Grid`},speaker:{icon:r.LayoutGrid,label:`Speaker`},sidebar:{icon:r.Sidebar,label:`Sidebar`}};function s(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return t>0?`${t}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`:`${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`}function c(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function l({quality:e,showLabel:n=!1,size:o=`default`,className:s}){let c=a[e],l=o===`sm`?[3,5,7,9]:[4,6,8,10],u=o===`sm`?2:3;return e===`disconnected`?(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,s),children:[(0,i.jsx)(r.WifiOff,{className:t.cn(`h-3 w-3`,c.color)}),n&&(0,i.jsx)(`span`,{className:t.cn(`text-xs`,c.color),children:c.label})]}):(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,s),children:[(0,i.jsx)(`div`,{className:`flex items-end gap-0.5`,children:l.map((e,n)=>(0,i.jsx)(`div`,{className:t.cn(`rounded-sm transition-colors`,n<c.bars?c.color.replace(`text-`,`bg-`):`bg-gray-400/30`),style:{width:u,height:e}},n))}),n&&(0,i.jsx)(`span`,{className:t.cn(`text-xs`,c.color),children:c.label})]})}function u({className:e}){return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 px-2 py-1 rounded-md bg-red-500/20`,e),children:[(0,i.jsx)(r.Circle,{className:`h-2.5 w-2.5 fill-red-500 text-red-500 animate-pulse`}),(0,i.jsx)(`span`,{className:`text-xs font-medium text-red-500`,children:`REC`})]})}function d({startTime:e,className:r}){let[a,o]=n.useState(0);return n.useEffect(()=>{if(!e)return;let t=setInterval(()=>{o(Math.floor((Date.now()-e.getTime())/1e3))},1e3);return()=>clearInterval(t)},[e]),(0,i.jsx)(`div`,{className:t.cn(`text-sm font-medium text-muted-foreground tabular-nums`,r),children:s(a)})}function f({participant:e,size:n=`default`,showStatus:a=!0,className:o}){return(0,i.jsxs)(`div`,{className:t.cn(`relative`,o),children:[(0,i.jsx)(`div`,{className:t.cn(`flex items-center justify-center rounded-full bg-muted font-semibold`,{sm:`h-8 w-8 text-xs`,default:`h-12 w-12 text-sm`,lg:`h-16 w-16 text-lg`,xl:`h-24 w-24 text-2xl`}[n],e.isSpeaking&&`ring-2 ring-green-500 ring-offset-2 ring-offset-background`),children:e.avatar?(0,i.jsx)(`img`,{src:e.avatar,alt:e.name,className:`h-full w-full rounded-full object-cover`}):(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:c(e.name)})}),a&&(0,i.jsxs)(i.Fragment,{children:[e.isMuted&&(0,i.jsx)(`div`,{className:`absolute -bottom-1 -right-1 rounded-full bg-red-500 p-0.5`,children:(0,i.jsx)(r.MicOff,{className:`h-2.5 w-2.5 text-white`})}),e.hasRaisedHand&&(0,i.jsx)(`div`,{className:`absolute -top-1 -right-1 rounded-full bg-yellow-500 p-0.5 animate-bounce`,children:(0,i.jsx)(r.Hand,{className:`h-2.5 w-2.5 text-white`})})]})]})}function p({participant:e,isMain:a=!1,showControls:o=!0,onPin:s,onUnpin:c,onMute:u,onRemove:d,className:p}){let[m,h]=n.useState(!1);return(0,i.jsxs)(`div`,{className:t.cn(`relative group rounded-xl overflow-hidden bg-gray-900 transition-all`,`aspect-video`,e.isSpeaking&&`ring-2 ring-green-500`,p),children:[e.isVideoOff?(0,i.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gradient-to-br from-gray-800 to-gray-900`,children:(0,i.jsx)(f,{participant:e,size:a?`xl`:`lg`,showStatus:!1})}):(0,i.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-br from-gray-800 to-gray-900`,children:(0,i.jsx)(`div`,{className:`h-full w-full flex items-center justify-center text-muted-foreground text-sm`,children:e.isScreenSharing?(0,i.jsx)(r.Monitor,{className:`h-12 w-12 opacity-50`}):(0,i.jsx)(r.Video,{className:`h-12 w-12 opacity-50`})})}),(0,i.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-black/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity`}),(0,i.jsxs)(`div`,{className:`absolute bottom-2 left-2 right-2 flex items-center justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsxs)(`span`,{className:`text-white text-sm font-medium truncate max-w-[120px]`,children:[e.name,e.isLocal&&` (You)`]}),e.isMuted&&(0,i.jsx)(r.MicOff,{className:`h-3.5 w-3.5 text-red-400`}),e.isScreenSharing&&(0,i.jsx)(r.Monitor,{className:`h-3.5 w-3.5 text-blue-400`})]}),e.connectionQuality&&(0,i.jsx)(l,{quality:e.connectionQuality,size:`sm`})]}),e.hasRaisedHand&&(0,i.jsx)(`div`,{className:`absolute top-2 right-2 rounded-full bg-yellow-500 p-1.5 animate-bounce`,children:(0,i.jsx)(r.Hand,{className:`h-4 w-4 text-white`})}),e.isPinned&&(0,i.jsx)(`div`,{className:`absolute top-2 left-2 rounded-full bg-blue-500 p-1`,children:(0,i.jsx)(r.Pin,{className:`h-3 w-3 text-white`})}),o&&!e.isLocal&&(0,i.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`button`,{onClick:()=>h(!m),className:`rounded-full bg-black/50 p-1.5 hover:bg-black/70 transition-colors`,children:(0,i.jsx)(r.MoreVertical,{className:`h-4 w-4 text-white`})}),m&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`fixed inset-0 z-10`,onClick:()=>h(!1)}),(0,i.jsxs)(`div`,{className:`absolute right-0 top-8 z-20 w-40 rounded-lg bg-popover border shadow-lg py-1`,children:[e.isPinned?(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent`,onClick:()=>{c?.(),h(!1)},children:[(0,i.jsx)(r.PinOff,{className:`h-4 w-4`}),`Unpin`]}):(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent`,onClick:()=>{s?.(),h(!1)},children:[(0,i.jsx)(r.Pin,{className:`h-4 w-4`}),`Pin`]}),(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent`,onClick:()=>{u?.(),h(!1)},children:[(0,i.jsx)(r.VolumeX,{className:`h-4 w-4`}),`Mute`]}),(0,i.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent text-red-500`,onClick:()=>{d?.(),h(!1)},children:[(0,i.jsx)(r.UserMinus,{className:`h-4 w-4`}),`Remove`]})]})]})]})}),(0,i.jsx)(`style`,{children:`
2
2
  @keyframes speaking-pulse {
3
3
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
4
4
  50% { box-shadow: 0 0 0 4px rgba(34, 197, 94, 0); }
@@ -8,4 +8,4 @@
8
8
  0%, 100% { opacity: 1; }
9
9
  50% { opacity: 0.5; }
10
10
  }
11
- `})]})}function v(e={}){let{initialMuted:t=!1,initialVideoOff:r=!1,onStateChange:i}=e,[a,o]=n.useState({isMuted:t,isVideoOff:r,isScreenSharing:!1,hasRaisedHand:!1,layout:`speaker`,showChat:!1,isFullscreen:!1,isPictureInPicture:!1,showParticipantList:!1,showSettings:!1,pinnedParticipantId:null,elapsedTime:0}),[s,c]=n.useState(null);n.useEffect(()=>{if(!s)return;let e=setInterval(()=>{o(e=>({...e,elapsedTime:Math.floor((Date.now()-s.getTime())/1e3)}))},1e3);return()=>clearInterval(e)},[s]),n.useEffect(()=>{i?.(a)},[a,i]);let l=n.useCallback(()=>{c(new Date)},[]),u=n.useCallback(()=>{c(null),o(e=>({...e,elapsedTime:0,isScreenSharing:!1,hasRaisedHand:!1,isPictureInPicture:!1}))},[]),d=n.useCallback(()=>{o(e=>({...e,isMuted:!e.isMuted}))},[]),f=n.useCallback(()=>{o(e=>({...e,isVideoOff:!e.isVideoOff}))},[]),p=n.useCallback(()=>{o(e=>({...e,isScreenSharing:!e.isScreenSharing}))},[]),m=n.useCallback(()=>{o(e=>({...e,hasRaisedHand:!e.hasRaisedHand}))},[]),h=n.useCallback(e=>{o(t=>({...t,layout:e}))},[]),g=n.useCallback(()=>{o(e=>({...e,showChat:!e.showChat}))},[]),_=n.useCallback(()=>{o(e=>({...e,isFullscreen:!e.isFullscreen}))},[]),v=n.useCallback(()=>{o(e=>({...e,isPictureInPicture:!e.isPictureInPicture}))},[]),y=n.useCallback(()=>{o(e=>({...e,showParticipantList:!e.showParticipantList}))},[]),b=n.useCallback(e=>{o(t=>({...t,pinnedParticipantId:e}))},[]);return{...a,callStartTime:s,isInCall:s!==null,startCall:l,endCall:u,toggleMute:d,toggleVideo:f,toggleScreenShare:p,toggleRaiseHand:m,setLayout:h,toggleChat:g,toggleFullscreen:_,togglePictureInPicture:v,toggleParticipantList:y,pinParticipant:b}}exports.default=_,exports.useVideoCall=v;
11
+ `})]})}function v(e={}){let{initialMuted:t=!1,initialVideoOff:r=!1,onStateChange:i}=e,[a,o]=n.useState({isMuted:t,isVideoOff:r,isScreenSharing:!1,hasRaisedHand:!1,layout:`speaker`,showChat:!1,isFullscreen:!1,isPictureInPicture:!1,showParticipantList:!1,showSettings:!1,pinnedParticipantId:null,elapsedTime:0}),[s,c]=n.useState(null);n.useEffect(()=>{if(!s)return;let e=setInterval(()=>{o(e=>({...e,elapsedTime:Math.floor((Date.now()-s.getTime())/1e3)}))},1e3);return()=>clearInterval(e)},[s]),n.useEffect(()=>{i?.(a)},[a,i]);let l=n.useCallback(()=>{c(new Date)},[]),u=n.useCallback(()=>{c(null),o(e=>({...e,elapsedTime:0,isScreenSharing:!1,hasRaisedHand:!1,isPictureInPicture:!1}))},[]),d=n.useCallback(()=>{o(e=>({...e,isMuted:!e.isMuted}))},[]),f=n.useCallback(()=>{o(e=>({...e,isVideoOff:!e.isVideoOff}))},[]),p=n.useCallback(()=>{o(e=>({...e,isScreenSharing:!e.isScreenSharing}))},[]),m=n.useCallback(()=>{o(e=>({...e,hasRaisedHand:!e.hasRaisedHand}))},[]),h=n.useCallback(e=>{o(t=>({...t,layout:e}))},[]),g=n.useCallback(()=>{o(e=>({...e,showChat:!e.showChat}))},[]),_=n.useCallback(()=>{o(e=>({...e,isFullscreen:!e.isFullscreen}))},[]),v=n.useCallback(()=>{o(e=>({...e,isPictureInPicture:!e.isPictureInPicture}))},[]),y=n.useCallback(()=>{o(e=>({...e,showParticipantList:!e.showParticipantList}))},[]),b=n.useCallback(e=>{o(t=>({...t,pinnedParticipantId:e}))},[]);return{...a,callStartTime:s,isInCall:s!==null,startCall:l,endCall:u,toggleMute:d,toggleVideo:f,toggleScreenShare:p,toggleRaiseHand:m,setLayout:h,toggleChat:g,toggleFullscreen:_,togglePictureInPicture:v,toggleParticipantList:y,pinParticipant:b}}exports.CallTimer=d,exports.ConnectionQualityIndicator=l,exports.ControlButton=m,exports.LayoutSelector=g,exports.ParticipantAvatar=f,exports.ParticipantsPanel=h,exports.RecordingIndicator=u,exports.VideoTile=p,exports.WakaVideoCall=_,exports.default=_,exports.useVideoCall=v;
@@ -601,4 +601,4 @@ function W(e = {}) {
601
601
  };
602
602
  }
603
603
  //#endregion
604
- export { U as default, W as useVideoCall };
604
+ export { L as CallTimer, F as ConnectionQualityIndicator, B as ControlButton, H as LayoutSelector, R as ParticipantAvatar, V as ParticipantsPanel, I as RecordingIndicator, z as VideoTile, U as WakaVideoCall, U as default, W as useVideoCall };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../waka-ad-provider/index.cjs.js`),r=require(`../waka-sponsored-badge/index.cjs.js`);let i=require(`react`);i=e.__toESM(i);let a=require(`lucide-react`),o=require(`react/jsx-runtime`);function s({slotId:e,visible:s=!0,trigger:c=`manual`,triggerTime:l=0,position:u=`bottom`,dismissable:d=!0,hideAfter:f=0,className:p,onDismiss:m,onClick:h}){let{config:g,isReady:_,hasConsent:v,getCustomAd:y,trackEvent:b}=n.useAdContext(),[x,S]=(0,i.useState)(`loading`),[C,w]=(0,i.useState)(null),[T,E]=(0,i.useState)(s);(0,i.useEffect)(()=>{!_||v===!1||(async()=>{try{let t=await y(e);t?(w(t),S(`loaded`),b({type:`loaded`,slotId:e,timestamp:new Date})):S(`error`)}catch{S(`error`)}})()},[_,v,e,y,b]),(0,i.useEffect)(()=>{T&&x===`loaded`&&C&&(b({type:`impression`,slotId:e,timestamp:new Date}),C.impressionUrl&&fetch(C.impressionUrl,{mode:`no-cors`}).catch(()=>{}))},[T,x,C,e,b]),(0,i.useEffect)(()=>{E(s)},[s]),(0,i.useEffect)(()=>{if(f===0||!T)return;let e=setTimeout(()=>{E(!1),S(`hidden`),m?.()},f*1e3);return()=>clearTimeout(e)},[f,T,m]);let D=(0,i.useCallback)(()=>{d&&(E(!1),S(`hidden`),m?.())},[d,m]),O=(0,i.useCallback)(()=>{C&&(b({type:`click`,slotId:e,timestamp:new Date}),h?.(),C.clickUrl&&fetch(C.clickUrl,{mode:`no-cors`}).catch(()=>{}),C.targetUrl&&window.open(C.targetUrl,`_blank`,`noopener,noreferrer`))},[C,e,b,h]);if(x===`error`||x===`hidden`||!T||x===`loading`)return null;let k={bottom:`bottom-0 left-0 right-0`,top:`top-0 left-0 right-0`,corner:`bottom-4 right-4 max-w-sm`};return u===`corner`?(0,o.jsxs)(`div`,{className:t.cn(`absolute z-20 rounded-lg overflow-hidden shadow-lg bg-card border animate-in slide-in-from-right`,k[u],p),children:[d&&(0,o.jsx)(`button`,{onClick:D,className:`absolute top-2 right-2 p-1 rounded-full bg-black/50 hover:bg-black/70 transition-colors z-10`,children:(0,o.jsx)(a.X,{className:`h-3 w-3 text-white`})}),(0,o.jsxs)(`button`,{onClick:O,className:`w-full text-left`,children:[C?.imageUrl&&(0,o.jsx)(`div`,{className:`aspect-video bg-muted`,children:(0,o.jsx)(`img`,{src:C.imageUrl,alt:``,className:`w-full h-full object-cover`})}),(0,o.jsxs)(`div`,{className:`p-3`,children:[(0,o.jsx)(`div`,{className:`flex items-start justify-between gap-2 mb-1`,children:(0,o.jsx)(`p`,{className:`font-medium text-sm line-clamp-2`,children:C?.title})}),C?.description&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2 mb-2`,children:C.description}),(0,o.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,o.jsx)(r.default,{size:`sm`,sponsor:C?.sponsor,showIcon:!1}),C?.cta&&(0,o.jsxs)(`span`,{className:`text-xs text-primary font-medium flex items-center gap-1`,children:[C.cta,(0,o.jsx)(a.ExternalLink,{className:`h-3 w-3`})]})]})]})]})]}):(0,o.jsx)(`div`,{className:t.cn(`absolute z-20 bg-gradient-to-t from-black/80 to-black/50 backdrop-blur-sm`,u===`top`&&`bg-gradient-to-b`,k[u],p),children:(0,o.jsxs)(`div`,{className:`flex items-center gap-4 p-3`,children:[C?.imageUrl&&(0,o.jsx)(`button`,{onClick:O,className:`flex-shrink-0`,children:(0,o.jsx)(`img`,{src:C.imageUrl,alt:``,className:`w-16 h-16 rounded object-cover`})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,o.jsx)(`div`,{className:`flex items-center gap-2 mb-0.5`,children:(0,o.jsx)(r.default,{variant:`dark`,size:`sm`,showIcon:!1})}),(0,o.jsxs)(`button`,{onClick:O,className:`text-left`,children:[(0,o.jsx)(`p`,{className:`font-medium text-white text-sm line-clamp-1`,children:C?.title}),C?.description&&(0,o.jsx)(`p`,{className:`text-xs text-white/70 line-clamp-1`,children:C.description})]})]}),(0,o.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[C?.cta&&(0,o.jsxs)(`button`,{onClick:O,className:`px-4 py-2 bg-primary text-primary-foreground rounded text-sm font-medium hover:bg-primary/90 transition-colors flex items-center gap-1`,children:[C.cta,(0,o.jsx)(a.ExternalLink,{className:`h-3 w-3`})]}),d&&(0,o.jsx)(`button`,{onClick:D,className:`p-1.5 rounded-full hover:bg-white/20 transition-colors`,children:(0,o.jsx)(a.X,{className:`h-4 w-4 text-white`})})]})]})})}exports.default=s;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../waka-ad-provider/index.cjs.js"),r=require("../waka-sponsored-badge/index.cjs.js");let i=require("react");i=e.__toESM(i);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({slotId:e,visible:s=!0,trigger:c=`manual`,triggerTime:l=0,position:u=`bottom`,dismissable:d=!0,hideAfter:f=0,className:p,onDismiss:m,onClick:h}){let{config:g,isReady:_,hasConsent:v,getCustomAd:y,trackEvent:b}=n.useAdContext(),[x,S]=(0,i.useState)(`loading`),[C,w]=(0,i.useState)(null),[T,E]=(0,i.useState)(s);(0,i.useEffect)(()=>{!_||v===!1||(async()=>{try{let t=await y(e);t?(w(t),S(`loaded`),b({type:`loaded`,slotId:e,timestamp:new Date})):S(`error`)}catch{S(`error`)}})()},[_,v,e,y,b]),(0,i.useEffect)(()=>{T&&x===`loaded`&&C&&(b({type:`impression`,slotId:e,timestamp:new Date}),C.impressionUrl&&fetch(C.impressionUrl,{mode:`no-cors`}).catch(()=>{}))},[T,x,C,e,b]),(0,i.useEffect)(()=>{E(s)},[s]),(0,i.useEffect)(()=>{if(f===0||!T)return;let e=setTimeout(()=>{E(!1),S(`hidden`),m?.()},f*1e3);return()=>clearTimeout(e)},[f,T,m]);let D=(0,i.useCallback)(()=>{d&&(E(!1),S(`hidden`),m?.())},[d,m]),O=(0,i.useCallback)(()=>{C&&(b({type:`click`,slotId:e,timestamp:new Date}),h?.(),C.clickUrl&&fetch(C.clickUrl,{mode:`no-cors`}).catch(()=>{}),C.targetUrl&&window.open(C.targetUrl,`_blank`,`noopener,noreferrer`))},[C,e,b,h]);if(x===`error`||x===`hidden`||!T||x===`loading`)return null;let k={bottom:`bottom-0 left-0 right-0`,top:`top-0 left-0 right-0`,corner:`bottom-4 right-4 max-w-sm`};return u===`corner`?(0,o.jsxs)(`div`,{className:t.cn(`absolute z-20 rounded-lg overflow-hidden shadow-lg bg-card border animate-in slide-in-from-right`,k[u],p),children:[d&&(0,o.jsx)(`button`,{onClick:D,className:`absolute top-2 right-2 p-1 rounded-full bg-black/50 hover:bg-black/70 transition-colors z-10`,children:(0,o.jsx)(a.X,{className:`h-3 w-3 text-white`})}),(0,o.jsxs)(`button`,{onClick:O,className:`w-full text-left`,children:[C?.imageUrl&&(0,o.jsx)(`div`,{className:`aspect-video bg-muted`,children:(0,o.jsx)(`img`,{src:C.imageUrl,alt:``,className:`w-full h-full object-cover`})}),(0,o.jsxs)(`div`,{className:`p-3`,children:[(0,o.jsx)(`div`,{className:`flex items-start justify-between gap-2 mb-1`,children:(0,o.jsx)(`p`,{className:`font-medium text-sm line-clamp-2`,children:C?.title})}),C?.description&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2 mb-2`,children:C.description}),(0,o.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,o.jsx)(r.WakaSponsoredBadge,{size:`sm`,sponsor:C?.sponsor,showIcon:!1}),C?.cta&&(0,o.jsxs)(`span`,{className:`text-xs text-primary font-medium flex items-center gap-1`,children:[C.cta,(0,o.jsx)(a.ExternalLink,{className:`h-3 w-3`})]})]})]})]})]}):(0,o.jsx)(`div`,{className:t.cn(`absolute z-20 bg-gradient-to-t from-black/80 to-black/50 backdrop-blur-sm`,u===`top`&&`bg-gradient-to-b`,k[u],p),children:(0,o.jsxs)(`div`,{className:`flex items-center gap-4 p-3`,children:[C?.imageUrl&&(0,o.jsx)(`button`,{onClick:O,className:`flex-shrink-0`,children:(0,o.jsx)(`img`,{src:C.imageUrl,alt:``,className:`w-16 h-16 rounded object-cover`})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,o.jsx)(`div`,{className:`flex items-center gap-2 mb-0.5`,children:(0,o.jsx)(r.WakaSponsoredBadge,{variant:`dark`,size:`sm`,showIcon:!1})}),(0,o.jsxs)(`button`,{onClick:O,className:`text-left`,children:[(0,o.jsx)(`p`,{className:`font-medium text-white text-sm line-clamp-1`,children:C?.title}),C?.description&&(0,o.jsx)(`p`,{className:`text-xs text-white/70 line-clamp-1`,children:C.description})]})]}),(0,o.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[C?.cta&&(0,o.jsxs)(`button`,{onClick:O,className:`px-4 py-2 bg-primary text-primary-foreground rounded text-sm font-medium hover:bg-primary/90 transition-colors flex items-center gap-1`,children:[C.cta,(0,o.jsx)(a.ExternalLink,{className:`h-3 w-3`})]}),d&&(0,o.jsx)(`button`,{onClick:D,className:`p-1.5 rounded-full hover:bg-white/20 transition-colors`,children:(0,o.jsx)(a.X,{className:`h-4 w-4 text-white`})})]})]})})}exports.WakaVideoOverlay=s,exports.default=s;
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  import { cn as e } from "../../utils/cn.es.js";
4
4
  import { useAdContext as t } from "../waka-ad-provider/index.es.js";
5
- import n from "../waka-sponsored-badge/index.es.js";
5
+ import { WakaSponsoredBadge as n } from "../waka-sponsored-badge/index.es.js";
6
6
  import { useCallback as r, useEffect as i, useState as a } from "react";
7
7
  import { ExternalLink as o, X as s } from "lucide-react";
8
8
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -169,4 +169,4 @@ function u({ slotId: u, visible: d = !0, trigger: f = "manual", triggerTime: p =
169
169
  });
170
170
  }
171
171
  //#endregion
172
- export { u as default };
172
+ export { u as WakaVideoOverlay, u as default };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i(e,t,r,i,a){return n.useMemo(()=>{let n=typeof t==`number`,o=0,s=[];for(let r=0;r<e.length;r++){s.push(o);let i=n?t:t(e[r],r);o+=i}let c=0,l=e.length-1;if(n)c=Math.floor(i/t),l=Math.min(e.length-1,Math.ceil((i+r)/t));else{let a=0,o=e.length-1;for(;a<=o;){let e=Math.floor((a+o)/2);s[e]<i?a=e+1:o=e-1}c=Math.max(0,o);for(let a=c;a<e.length;a++)if(s[a]+(n?t:t(e[a],a))>i+r){l=a;break}}c=Math.max(0,c-a),l=Math.min(e.length-1,l+a);let u=[];for(let r=c;r<=l;r++){let i=n?t:t(e[r],r);u.push({item:e[r],index:r,style:{position:`absolute`,top:s[r],left:0,right:0,height:i}})}return{totalHeight:o,visibleItems:u,startIndex:c,endIndex:l}},[e,t,r,i,a])}function a({items:e,itemHeight:a,height:o,width:s=`100%`,overscan:c=3,renderItem:l,onScroll:u,onEndReached:d,endReachedThreshold:f=200,isLoading:p=!1,loadingElement:m,emptyElement:h,className:g,innerClassName:_,scrollRef:v}){let y=n.useRef(null),b=v||y,[x,S]=n.useState(0),C=n.useRef(!1),{totalHeight:w,visibleItems:T}=i(e,a,o,x,c),E=e=>{let t=e.currentTarget,n=t.scrollTop;if(S(n),u?.(n),d){let e=t.scrollHeight-t.scrollTop-t.clientHeight;e<f&&!C.current?(C.current=!0,d()):e>=f&&(C.current=!1)}},D=n.useCallback(e=>{b.current&&(b.current.scrollTop=e)},[b]);return n.useCallback((t,n=`start`)=>{let r=typeof a==`number`,i=0;if(r)i=t*a;else for(let n=0;n<t&&n<e.length;n++)i+=a(e[n],n);let s=r?a:a(e[t],t);n===`center`?i-=(o-s)/2:n===`end`&&(i-=o-s),D(Math.max(0,i))},[e,a,o,D]),e.length===0&&!p?(0,r.jsx)(`div`,{className:t.cn(`flex items-center justify-center text-muted-foreground`,g),style:{height:o,width:s},children:h||`Aucun élément`}):(0,r.jsx)(`div`,{ref:b,className:t.cn(`overflow-auto`,g),style:{height:o,width:s},onScroll:E,children:(0,r.jsxs)(`div`,{className:t.cn(`relative`,_),style:{height:w+(p?50:0)},children:[T.map(({item:e,index:t,style:i})=>(0,r.jsx)(n.Fragment,{children:l(e,t,i)},t)),p&&(0,r.jsx)(`div`,{className:`absolute left-0 right-0 flex items-center justify-center py-4`,style:{top:w},children:m||(0,r.jsx)(`div`,{className:`text-muted-foreground text-sm`,children:`Chargement...`})})]})})}function o(e){let{itemCount:t,itemHeight:r,containerHeight:i,overscan:a=3}=e,[o,s]=n.useState(0),c=t*r,l=Math.max(0,Math.floor(o/r)-a),u=Math.min(t-1,Math.ceil((o+i)/r)+a);return{totalHeight:c,virtualItems:n.useMemo(()=>{let e=[];for(let t=l;t<=u;t++)e.push({index:t,start:t*r,size:r});return e},[l,u,r]),startIndex:l,endIndex:u,handleScroll:e=>{s(e.currentTarget.scrollTop)},scrollToIndex:e=>{s(e*r)},scrollTop:o}}exports.default=a,exports.useVirtualList=o;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime");function i(e,t,r,i,a){return n.useMemo(()=>{let n=typeof t==`number`,o=0,s=[];for(let r=0;r<e.length;r++){s.push(o);let i=n?t:t(e[r],r);o+=i}let c=0,l=e.length-1;if(n)c=Math.floor(i/t),l=Math.min(e.length-1,Math.ceil((i+r)/t));else{let a=0,o=e.length-1;for(;a<=o;){let e=Math.floor((a+o)/2);s[e]<i?a=e+1:o=e-1}c=Math.max(0,o);for(let a=c;a<e.length;a++)if(s[a]+(n?t:t(e[a],a))>i+r){l=a;break}}c=Math.max(0,c-a),l=Math.min(e.length-1,l+a);let u=[];for(let r=c;r<=l;r++){let i=n?t:t(e[r],r);u.push({item:e[r],index:r,style:{position:`absolute`,top:s[r],left:0,right:0,height:i}})}return{totalHeight:o,visibleItems:u,startIndex:c,endIndex:l}},[e,t,r,i,a])}function a({items:e,itemHeight:a,height:o,width:s=`100%`,overscan:c=3,renderItem:l,onScroll:u,onEndReached:d,endReachedThreshold:f=200,isLoading:p=!1,loadingElement:m,emptyElement:h,className:g,innerClassName:_,scrollRef:v}){let y=n.useRef(null),b=v||y,[x,S]=n.useState(0),C=n.useRef(!1),{totalHeight:w,visibleItems:T}=i(e,a,o,x,c),E=e=>{let t=e.currentTarget,n=t.scrollTop;if(S(n),u?.(n),d){let e=t.scrollHeight-t.scrollTop-t.clientHeight;e<f&&!C.current?(C.current=!0,d()):e>=f&&(C.current=!1)}},D=n.useCallback(e=>{b.current&&(b.current.scrollTop=e)},[b]);return n.useCallback((t,n=`start`)=>{let r=typeof a==`number`,i=0;if(r)i=t*a;else for(let n=0;n<t&&n<e.length;n++)i+=a(e[n],n);let s=r?a:a(e[t],t);n===`center`?i-=(o-s)/2:n===`end`&&(i-=o-s),D(Math.max(0,i))},[e,a,o,D]),e.length===0&&!p?(0,r.jsx)(`div`,{className:t.cn(`flex items-center justify-center text-muted-foreground`,g),style:{height:o,width:s},children:h||`Aucun élément`}):(0,r.jsx)(`div`,{ref:b,className:t.cn(`overflow-auto`,g),style:{height:o,width:s},onScroll:E,children:(0,r.jsxs)(`div`,{className:t.cn(`relative`,_),style:{height:w+(p?50:0)},children:[T.map(({item:e,index:t,style:i})=>(0,r.jsx)(n.Fragment,{children:l(e,t,i)},t)),p&&(0,r.jsx)(`div`,{className:`absolute left-0 right-0 flex items-center justify-center py-4`,style:{top:w},children:m||(0,r.jsx)(`div`,{className:`text-muted-foreground text-sm`,children:`Chargement...`})})]})})}function o(e){let{itemCount:t,itemHeight:r,containerHeight:i,overscan:a=3}=e,[o,s]=n.useState(0),c=t*r,l=Math.max(0,Math.floor(o/r)-a),u=Math.min(t-1,Math.ceil((o+i)/r)+a);return{totalHeight:c,virtualItems:n.useMemo(()=>{let e=[];for(let t=l;t<=u;t++)e.push({index:t,start:t*r,size:r});return e},[l,u,r]),startIndex:l,endIndex:u,handleScroll:e=>{s(e.currentTarget.scrollTop)},scrollToIndex:e=>{s(e*r)},scrollTop:o}}exports.WakaVirtualList=a,exports.default=a,exports.useVirtualList=o;
@@ -135,4 +135,4 @@ function o(e) {
135
135
  };
136
136
  }
137
137
  //#endregion
138
- export { a as default, o as useVirtualList };
138
+ export { a as WakaVirtualList, a as default, o as useVirtualList };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);function a(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function o(e){return Array.from({length:e},()=>Math.random()*.6+.2)}function s(e={}){let{src:t,defaultSpeed:r=1,waveformBars:i=40,maxRecordingDuration:o=0,onError:s}=e,c=n.useRef(null),l=n.useRef(null),u=n.useRef(null),d=n.useRef(null),f=n.useRef(null),p=n.useRef(null),m=n.useRef(null),h=n.useRef([]),[g,_]=n.useState(!1),[v,y]=n.useState(0),[b,x]=n.useState(0),[S,C]=n.useState(r),[w,T]=n.useState(null),[E,D]=n.useState(!1),[O,k]=n.useState(0),[A,j]=n.useState(null),[M,N]=n.useState(()=>Array(i).fill(.1));n.useEffect(()=>{if(!t){T(null);return}if(typeof t==`string`)T(t);else{let e=URL.createObjectURL(t);return T(e),()=>URL.revokeObjectURL(e)}},[t]),n.useEffect(()=>{if(!w)return;let e=new Audio(w);return c.current=e,e.addEventListener(`loadedmetadata`,()=>{x(e.duration)}),e.addEventListener(`timeupdate`,()=>{y(e.currentTime)}),e.addEventListener(`ended`,()=>{_(!1),y(0)}),e.addEventListener(`play`,()=>_(!0)),e.addEventListener(`pause`,()=>_(!1)),()=>{e.pause(),e.src=``}},[w]),n.useEffect(()=>{c.current&&(c.current.playbackRate=S)},[S]),n.useEffect(()=>{E&&o>0&&O>=o&&B()},[E,O,o]),n.useEffect(()=>()=>{p.current&&cancelAnimationFrame(p.current),m.current&&clearInterval(m.current),u.current&&u.current.getTracks().forEach(e=>e.stop()),f.current&&f.current.close()},[]);let P=n.useCallback(()=>{c.current?.play().catch(e=>{s?.(e)})},[s]),F=n.useCallback(()=>{c.current?.pause()},[]),I=n.useCallback(()=>{g?F():P()},[g,P,F]),L=n.useCallback(e=>{c.current&&(c.current.currentTime=Math.max(0,Math.min(e,c.current.duration||0)),y(c.current.currentTime))},[]),R=n.useCallback(e=>{C(e)},[]),z=n.useCallback(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});u.current=e;let t=new AudioContext;f.current=t;let n=t.createAnalyser();d.current=n,n.fftSize=256,t.createMediaStreamSource(e).connect(n);let r=new MediaRecorder(e);l.current=r,h.current=[],r.ondataavailable=e=>{e.data.size>0&&h.current.push(e.data)},r.onstop=()=>{j(new Blob(h.current,{type:`audio/webm`}))},r.start(100),D(!0),k(0),m.current=setInterval(()=>{k(e=>e+.1)},100);let a=()=>{if(!d.current||!E)return;let e=new Uint8Array(d.current.frequencyBinCount);d.current.getByteFrequencyData(e);let t=Math.floor(e.length/i);N(Array.from({length:i},(n,r)=>{let i=e[r*t]/255;return Math.max(.1,i)})),p.current=requestAnimationFrame(a)};p.current=requestAnimationFrame(a)}catch(e){s?.(e instanceof Error?e:Error(`Failed to start recording`))}},[i,s]),B=n.useCallback(()=>{l.current&&E&&l.current.stop(),u.current&&u.current.getTracks().forEach(e=>e.stop()),p.current&&cancelAnimationFrame(p.current),m.current&&clearInterval(m.current),f.current&&f.current.close(),D(!1),N(Array(i).fill(.1))},[E,i]);return{isPlaying:g,currentTime:v,duration:b,playbackSpeed:S,audioUrl:w,isRecording:E,recordingDuration:O,recordedBlob:A,liveWaveform:M,play:P,pause:F,togglePlay:I,seek:L,setSpeed:R,startRecording:z,stopRecording:B,cancelRecording:n.useCallback(()=>{B(),j(null),k(0),h.current=[]},[B]),progress:b>0?v/b*100:0,formattedCurrentTime:a(v),formattedDuration:a(b),formattedRecordingDuration:a(O)}}var c=n.memo(function({data:e,progress:r=0,bars:a=40,className:s,onClick:c}){let l=n.useRef(null),u=e||o(a);return(0,i.jsx)(`div`,{ref:l,className:t.cn(`flex items-center gap-[2px] h-8 cursor-pointer select-none`,s),onClick:e=>{if(!c||!l.current)return;let t=l.current.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100;c(Math.max(0,Math.min(100,n)))},children:u.slice(0,a).map((e,n)=>(0,i.jsx)(`div`,{className:t.cn(`flex-1 rounded-full transition-colors duration-150`,n/a*100<=r?`bg-primary`:`bg-muted-foreground/30`),style:{height:`${Math.max(10,e*100)}%`,minWidth:`2px`}},n))})}),l=n.memo(function({speed:e,speeds:n,onSpeedChange:r,disabled:a,size:o}){return(0,i.jsxs)(`button`,{type:`button`,onClick:()=>{r(n[(n.indexOf(e)+1)%n.length])},disabled:a,className:t.cn(`flex items-center justify-center font-medium rounded transition-colors`,`hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,o===`sm`&&`text-xs px-1.5 py-0.5 min-w-[32px]`,o===`md`&&`text-sm px-2 py-1 min-w-[40px]`,o===`lg`&&`text-base px-2.5 py-1.5 min-w-[48px]`),children:[e,`x`]})}),u=n.memo(function({size:e}){return(0,i.jsx)(`span`,{className:t.cn(`absolute rounded-full bg-red-500 animate-ping`,e===`sm`&&`w-2 h-2`,e===`md`&&`w-2.5 h-2.5`,e===`lg`&&`w-3 h-3`)})});function d({mode:e=`player`,src:o,waveform:d,waveformBars:f=40,defaultSpeed:p=1,speeds:m=[.5,1,1.5,2],showDownload:h=!1,showDelete:g=!1,showSend:_=!0,showCancel:v=!0,showSpeedControl:y=!0,maxRecordingDuration:b=0,variant:x=`default`,size:S=`md`,disabled:C=!1,className:w,waveformClassName:T,controlsClassName:E,onPlay:D,onPause:O,onEnded:k,onTimeUpdate:A,onSeek:j,onSpeedChange:M,onDownload:N,onDelete:P,onRecordingStart:F,onRecordingStop:I,onRecordingCancel:L,onSend:R,onError:z}){let{isPlaying:B,currentTime:V,duration:H,playbackSpeed:U,isRecording:W,recordingDuration:G,recordedBlob:K,liveWaveform:q,togglePlay:J,seek:ee,setSpeed:te,startRecording:ne,stopRecording:re,cancelRecording:ie,progress:Y,formattedCurrentTime:ae,formattedDuration:oe,formattedRecordingDuration:se}=s({src:o,defaultSpeed:p,waveformBars:f,maxRecordingDuration:b,onError:z});n.useEffect(()=>{B?D?.():O?.()},[B,D,O]),n.useEffect(()=>{A?.(V)},[V,A]),n.useEffect(()=>{V>0&&V>=H&&k?.()},[V,H,k]);let X=e=>{let t=e/100*H;ee(t),j?.(t)},ce=e=>{te(e),M?.(e)},le=async()=>{await ne(),F?.()},ue=()=>{re()};n.useEffect(()=>{K&&!W&&G>0&&I?.({src:K,duration:G,waveform:q})},[K,W,G,q,I]);let Z=()=>{ie(),L?.()},de=()=>{K&&R?.({src:K,duration:G,waveform:q})},fe=()=>{N?.()},pe=()=>{P?.()},Q={sm:{container:`p-2 gap-2`,button:`h-7 w-7`,icon:`h-3.5 w-3.5`,text:`text-xs`,waveform:`h-6`},md:{container:`p-3 gap-3`,button:`h-9 w-9`,icon:`h-4 w-4`,text:`text-sm`,waveform:`h-8`},lg:{container:`p-4 gap-4`,button:`h-11 w-11`,icon:`h-5 w-5`,text:`text-base`,waveform:`h-10`}}[S],$={default:`bg-background border border-border rounded-lg`,bubble:`bg-muted rounded-2xl`,"bubble-sent":`bg-primary text-primary-foreground rounded-2xl rounded-br-sm`,"bubble-received":`bg-muted rounded-2xl rounded-bl-sm`};return e===`player`?(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,$[x],Q.container,C&&`opacity-50 pointer-events-none`,w),children:[(0,i.jsx)(`button`,{type:`button`,onClick:J,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:B?(0,i.jsx)(r.Pause,{className:Q.icon}):(0,i.jsx)(r.Play,{className:t.cn(Q.icon,`ml-0.5`)})}),(0,i.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,i.jsx)(c,{data:d,progress:Y,bars:f,className:t.cn(Q.waveform,T),onClick:X})}),(0,i.jsxs)(`div`,{className:t.cn(`shrink-0 tabular-nums`,Q.text),children:[(0,i.jsx)(`span`,{children:ae}),(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:` / `}),(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:oe})]}),y&&(0,i.jsx)(l,{speed:U,speeds:m,onSpeedChange:ce,disabled:C,size:S}),h&&(0,i.jsx)(`button`,{type:`button`,onClick:fe,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`hover:bg-muted transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.Download,{className:Q.icon})}),g&&(0,i.jsx)(`button`,{type:`button`,onClick:pe,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`text-destructive hover:bg-destructive/10 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.Trash2,{className:Q.icon})})]}):(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,$[x],Q.container,C&&`opacity-50 pointer-events-none`,w),children:[!W&&!K&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,onClick:le,disabled:C,className:t.cn(`relative flex items-center justify-center rounded-full shrink-0`,`bg-red-500 text-white`,`hover:bg-red-600 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:(0,i.jsx)(r.Mic,{className:Q.icon})}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,Q.text),children:`Tap to record`})]}),W&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`button`,{type:`button`,onClick:ue,disabled:C,className:t.cn(`relative flex items-center justify-center rounded-full shrink-0`,`bg-red-500 text-white`,`hover:bg-red-600 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:[(0,i.jsx)(u,{size:S}),(0,i.jsx)(r.Square,{className:t.cn(Q.icon,`relative z-10`)})]}),(0,i.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,i.jsx)(c,{data:q,progress:100,bars:f,className:t.cn(Q.waveform,T)})}),(0,i.jsxs)(`div`,{className:t.cn(`shrink-0 tabular-nums text-red-500`,Q.text),children:[se,b>0&&(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,`/ `,a(b)]})]}),v&&(0,i.jsx)(`button`,{type:`button`,onClick:Z,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`text-muted-foreground hover:bg-muted transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.X,{className:Q.icon})})]}),!W&&K&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,onClick:J,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:B?(0,i.jsx)(r.Pause,{className:Q.icon}):(0,i.jsx)(r.Play,{className:t.cn(Q.icon,`ml-0.5`)})}),(0,i.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,i.jsx)(c,{data:q,progress:Y,bars:f,className:t.cn(Q.waveform,T),onClick:X})}),(0,i.jsx)(`div`,{className:t.cn(`shrink-0 tabular-nums`,Q.text),children:a(G)}),v&&(0,i.jsx)(`button`,{type:`button`,onClick:Z,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`text-destructive hover:bg-destructive/10 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.Trash2,{className:Q.icon})}),_&&(0,i.jsx)(`button`,{type:`button`,onClick:de,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:(0,i.jsx)(r.Send,{className:Q.icon})})]})]})}exports.default=d,exports.useVoiceMessage=s;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");function a(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function o(e){return Array.from({length:e},()=>Math.random()*.6+.2)}function s(e={}){let{src:t,defaultSpeed:r=1,waveformBars:i=40,maxRecordingDuration:o=0,onError:s}=e,c=n.useRef(null),l=n.useRef(null),u=n.useRef(null),d=n.useRef(null),f=n.useRef(null),p=n.useRef(null),m=n.useRef(null),h=n.useRef([]),[g,_]=n.useState(!1),[v,y]=n.useState(0),[b,x]=n.useState(0),[S,C]=n.useState(r),[w,T]=n.useState(null),[E,D]=n.useState(!1),[O,k]=n.useState(0),[A,j]=n.useState(null),[M,N]=n.useState(()=>Array(i).fill(.1));n.useEffect(()=>{if(!t){T(null);return}if(typeof t==`string`)T(t);else{let e=URL.createObjectURL(t);return T(e),()=>URL.revokeObjectURL(e)}},[t]),n.useEffect(()=>{if(!w)return;let e=new Audio(w);return c.current=e,e.addEventListener(`loadedmetadata`,()=>{x(e.duration)}),e.addEventListener(`timeupdate`,()=>{y(e.currentTime)}),e.addEventListener(`ended`,()=>{_(!1),y(0)}),e.addEventListener(`play`,()=>_(!0)),e.addEventListener(`pause`,()=>_(!1)),()=>{e.pause(),e.src=``}},[w]),n.useEffect(()=>{c.current&&(c.current.playbackRate=S)},[S]),n.useEffect(()=>{E&&o>0&&O>=o&&B()},[E,O,o]),n.useEffect(()=>()=>{p.current&&cancelAnimationFrame(p.current),m.current&&clearInterval(m.current),u.current&&u.current.getTracks().forEach(e=>e.stop()),f.current&&f.current.close()},[]);let P=n.useCallback(()=>{c.current?.play().catch(e=>{s?.(e)})},[s]),F=n.useCallback(()=>{c.current?.pause()},[]),I=n.useCallback(()=>{g?F():P()},[g,P,F]),L=n.useCallback(e=>{c.current&&(c.current.currentTime=Math.max(0,Math.min(e,c.current.duration||0)),y(c.current.currentTime))},[]),R=n.useCallback(e=>{C(e)},[]),z=n.useCallback(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});u.current=e;let t=new AudioContext;f.current=t;let n=t.createAnalyser();d.current=n,n.fftSize=256,t.createMediaStreamSource(e).connect(n);let r=new MediaRecorder(e);l.current=r,h.current=[],r.ondataavailable=e=>{e.data.size>0&&h.current.push(e.data)},r.onstop=()=>{let e=new Blob(h.current,{type:`audio/webm`});j(e)},r.start(100),D(!0),k(0),m.current=setInterval(()=>{k(e=>e+.1)},100);let a=()=>{if(!d.current||!E)return;let e=new Uint8Array(d.current.frequencyBinCount);d.current.getByteFrequencyData(e);let t=Math.floor(e.length/i),n=Array.from({length:i},(n,r)=>{let i=e[r*t]/255;return Math.max(.1,i)});N(n),p.current=requestAnimationFrame(a)};p.current=requestAnimationFrame(a)}catch(e){s?.(e instanceof Error?e:Error(`Failed to start recording`))}},[i,s]),B=n.useCallback(()=>{l.current&&E&&l.current.stop(),u.current&&u.current.getTracks().forEach(e=>e.stop()),p.current&&cancelAnimationFrame(p.current),m.current&&clearInterval(m.current),f.current&&f.current.close(),D(!1),N(Array(i).fill(.1))},[E,i]);return{isPlaying:g,currentTime:v,duration:b,playbackSpeed:S,audioUrl:w,isRecording:E,recordingDuration:O,recordedBlob:A,liveWaveform:M,play:P,pause:F,togglePlay:I,seek:L,setSpeed:R,startRecording:z,stopRecording:B,cancelRecording:n.useCallback(()=>{B(),j(null),k(0),h.current=[]},[B]),progress:b>0?v/b*100:0,formattedCurrentTime:a(v),formattedDuration:a(b),formattedRecordingDuration:a(O)}}var c=n.memo(function({data:e,progress:r=0,bars:a=40,className:s,onClick:c}){let l=n.useRef(null),u=e||o(a);return(0,i.jsx)(`div`,{ref:l,className:t.cn(`flex items-center gap-[2px] h-8 cursor-pointer select-none`,s),onClick:e=>{if(!c||!l.current)return;let t=l.current.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100;c(Math.max(0,Math.min(100,n)))},children:u.slice(0,a).map((e,n)=>(0,i.jsx)(`div`,{className:t.cn(`flex-1 rounded-full transition-colors duration-150`,n/a*100<=r?`bg-primary`:`bg-muted-foreground/30`),style:{height:`${Math.max(10,e*100)}%`,minWidth:`2px`}},n))})}),l=n.memo(function({speed:e,speeds:n,onSpeedChange:r,disabled:a,size:o}){return(0,i.jsxs)(`button`,{type:`button`,onClick:()=>{r(n[(n.indexOf(e)+1)%n.length])},disabled:a,className:t.cn(`flex items-center justify-center font-medium rounded transition-colors`,`hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,o===`sm`&&`text-xs px-1.5 py-0.5 min-w-[32px]`,o===`md`&&`text-sm px-2 py-1 min-w-[40px]`,o===`lg`&&`text-base px-2.5 py-1.5 min-w-[48px]`),children:[e,`x`]})}),u=n.memo(function({size:e}){return(0,i.jsx)(`span`,{className:t.cn(`absolute rounded-full bg-red-500 animate-ping`,e===`sm`&&`w-2 h-2`,e===`md`&&`w-2.5 h-2.5`,e===`lg`&&`w-3 h-3`)})});function d({mode:e=`player`,src:o,waveform:d,waveformBars:f=40,defaultSpeed:p=1,speeds:m=[.5,1,1.5,2],showDownload:h=!1,showDelete:g=!1,showSend:_=!0,showCancel:v=!0,showSpeedControl:y=!0,maxRecordingDuration:b=0,variant:x=`default`,size:S=`md`,disabled:C=!1,className:w,waveformClassName:T,controlsClassName:E,onPlay:D,onPause:O,onEnded:k,onTimeUpdate:A,onSeek:j,onSpeedChange:M,onDownload:N,onDelete:P,onRecordingStart:F,onRecordingStop:I,onRecordingCancel:L,onSend:R,onError:z}){let{isPlaying:B,currentTime:V,duration:H,playbackSpeed:U,isRecording:W,recordingDuration:G,recordedBlob:K,liveWaveform:q,togglePlay:J,seek:ee,setSpeed:te,startRecording:ne,stopRecording:re,cancelRecording:ie,progress:Y,formattedCurrentTime:ae,formattedDuration:oe,formattedRecordingDuration:se}=s({src:o,defaultSpeed:p,waveformBars:f,maxRecordingDuration:b,onError:z});n.useEffect(()=>{B?D?.():O?.()},[B,D,O]),n.useEffect(()=>{A?.(V)},[V,A]),n.useEffect(()=>{V>0&&V>=H&&k?.()},[V,H,k]);let X=e=>{let t=e/100*H;ee(t),j?.(t)},ce=e=>{te(e),M?.(e)},le=async()=>{await ne(),F?.()},ue=()=>{re()};n.useEffect(()=>{K&&!W&&G>0&&I?.({src:K,duration:G,waveform:q})},[K,W,G,q,I]);let Z=()=>{ie(),L?.()},de=()=>{K&&R?.({src:K,duration:G,waveform:q})},fe=()=>{N?.()},pe=()=>{P?.()},Q={sm:{container:`p-2 gap-2`,button:`h-7 w-7`,icon:`h-3.5 w-3.5`,text:`text-xs`,waveform:`h-6`},md:{container:`p-3 gap-3`,button:`h-9 w-9`,icon:`h-4 w-4`,text:`text-sm`,waveform:`h-8`},lg:{container:`p-4 gap-4`,button:`h-11 w-11`,icon:`h-5 w-5`,text:`text-base`,waveform:`h-10`}}[S],$={default:`bg-background border border-border rounded-lg`,bubble:`bg-muted rounded-2xl`,"bubble-sent":`bg-primary text-primary-foreground rounded-2xl rounded-br-sm`,"bubble-received":`bg-muted rounded-2xl rounded-bl-sm`};return e===`player`?(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,$[x],Q.container,C&&`opacity-50 pointer-events-none`,w),children:[(0,i.jsx)(`button`,{type:`button`,onClick:J,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:B?(0,i.jsx)(r.Pause,{className:Q.icon}):(0,i.jsx)(r.Play,{className:t.cn(Q.icon,`ml-0.5`)})}),(0,i.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,i.jsx)(c,{data:d,progress:Y,bars:f,className:t.cn(Q.waveform,T),onClick:X})}),(0,i.jsxs)(`div`,{className:t.cn(`shrink-0 tabular-nums`,Q.text),children:[(0,i.jsx)(`span`,{children:ae}),(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:` / `}),(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:oe})]}),y&&(0,i.jsx)(l,{speed:U,speeds:m,onSpeedChange:ce,disabled:C,size:S}),h&&(0,i.jsx)(`button`,{type:`button`,onClick:fe,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`hover:bg-muted transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.Download,{className:Q.icon})}),g&&(0,i.jsx)(`button`,{type:`button`,onClick:pe,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`text-destructive hover:bg-destructive/10 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.Trash2,{className:Q.icon})})]}):(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,$[x],Q.container,C&&`opacity-50 pointer-events-none`,w),children:[!W&&!K&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,onClick:le,disabled:C,className:t.cn(`relative flex items-center justify-center rounded-full shrink-0`,`bg-red-500 text-white`,`hover:bg-red-600 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:(0,i.jsx)(r.Mic,{className:Q.icon})}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,Q.text),children:`Tap to record`})]}),W&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`button`,{type:`button`,onClick:ue,disabled:C,className:t.cn(`relative flex items-center justify-center rounded-full shrink-0`,`bg-red-500 text-white`,`hover:bg-red-600 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:[(0,i.jsx)(u,{size:S}),(0,i.jsx)(r.Square,{className:t.cn(Q.icon,`relative z-10`)})]}),(0,i.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,i.jsx)(c,{data:q,progress:100,bars:f,className:t.cn(Q.waveform,T)})}),(0,i.jsxs)(`div`,{className:t.cn(`shrink-0 tabular-nums text-red-500`,Q.text),children:[se,b>0&&(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,`/ `,a(b)]})]}),v&&(0,i.jsx)(`button`,{type:`button`,onClick:Z,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`text-muted-foreground hover:bg-muted transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.X,{className:Q.icon})})]}),!W&&K&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`button`,{type:`button`,onClick:J,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:B?(0,i.jsx)(r.Pause,{className:Q.icon}):(0,i.jsx)(r.Play,{className:t.cn(Q.icon,`ml-0.5`)})}),(0,i.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,i.jsx)(c,{data:q,progress:Y,bars:f,className:t.cn(Q.waveform,T),onClick:X})}),(0,i.jsx)(`div`,{className:t.cn(`shrink-0 tabular-nums`,Q.text),children:a(G)}),v&&(0,i.jsx)(`button`,{type:`button`,onClick:Z,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`text-destructive hover:bg-destructive/10 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button),children:(0,i.jsx)(r.Trash2,{className:Q.icon})}),_&&(0,i.jsx)(`button`,{type:`button`,onClick:de,disabled:C,className:t.cn(`flex items-center justify-center rounded-full shrink-0`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Q.button,E),children:(0,i.jsx)(r.Send,{className:Q.icon})})]})]})}exports.WakaVoiceMessage=d,exports.default=d,exports.useVoiceMessage=s;
@@ -74,7 +74,8 @@ function h(e = {}) {
74
74
  c.current = r, h.current = [], r.ondataavailable = (e) => {
75
75
  e.data.size > 0 && h.current.push(e.data);
76
76
  }, r.onstop = () => {
77
- j(new Blob(h.current, { type: "audio/webm" }));
77
+ let e = new Blob(h.current, { type: "audio/webm" });
78
+ j(e);
78
79
  }, r.start(100), D(!0), k(0), m.current = setInterval(() => {
79
80
  k((e) => e + .1);
80
81
  }, 100);
@@ -82,11 +83,11 @@ function h(e = {}) {
82
83
  if (!u.current || !E) return;
83
84
  let e = new Uint8Array(u.current.frequencyBinCount);
84
85
  u.current.getByteFrequencyData(e);
85
- let t = Math.floor(e.length / i);
86
- N(Array.from({ length: i }, (n, r) => {
86
+ let t = Math.floor(e.length / i), n = Array.from({ length: i }, (n, r) => {
87
87
  let i = e[r * t] / 255;
88
88
  return Math.max(.1, i);
89
- })), f.current = requestAnimationFrame(a);
89
+ });
90
+ N(n), f.current = requestAnimationFrame(a);
90
91
  };
91
92
  f.current = requestAnimationFrame(a);
92
93
  } catch (e) {
@@ -389,4 +390,4 @@ function y({ mode: m = "player", src: y, waveform: b, waveformBars: x = 40, defa
389
390
  });
390
391
  }
391
392
  //#endregion
392
- export { y as default, h as useVoiceMessage };
393
+ export { y as WakaVoiceMessage, y as default, h as useVoiceMessage };
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`),a=require(`@radix-ui/react-dialog`);a=e.__toESM(a);var o=[{id:`welcome`,title:`Welcome aboard!`,description:`We're excited to have you here. Let's get you set up in just a few steps.`,icon:(0,i.jsx)(r.Sparkles,{className:`h-12 w-12 text-primary`})},{id:`features`,title:`Discover powerful features`,description:`Explore the tools and capabilities that will help you succeed.`,icon:(0,i.jsx)(r.Rocket,{className:`h-12 w-12 text-primary`})},{id:`preferences`,title:`Customize your experience`,description:`Select the options that best fit your needs.`,icon:(0,i.jsx)(r.Settings,{className:`h-12 w-12 text-primary`}),options:[{id:`dark-mode`,label:`Dark Mode`,description:`Enable dark theme`},{id:`notifications`,label:`Notifications`,description:`Get updates and alerts`},{id:`newsletter`,label:`Newsletter`,description:`Receive tips and news`}],multiSelect:!0},{id:`ready`,title:`You're all set!`,description:`Your workspace is ready. Let's get started on your journey.`,icon:(0,i.jsx)(r.Users,{className:`h-12 w-12 text-primary`})}];function s(e={}){let{defaultOpen:t=!1,storageKey:r=`waka-welcome-modal-shown`,onComplete:i,onSkip:a}=e,o=n.useCallback(()=>{if(typeof window>`u`)return!1;try{return localStorage.getItem(r)===`true`}catch{return!1}},[r]),s=n.useCallback(()=>{if(typeof window>`u`)return t;try{let e=localStorage.getItem(r)===`true`;return t&&!e}catch{return t}},[t,r]),[c,l]=n.useState(s),[u,d]=n.useState(0),[f,p]=n.useState({}),[m,h]=n.useState(o);n.useEffect(()=>{l(s()),h(o())},[s,o]);let g=n.useCallback(e=>{if(h(e),typeof window<`u`)try{e?localStorage.setItem(r,`true`):localStorage.removeItem(r)}catch{}},[r]),_=n.useCallback(()=>{l(!0)},[]),v=n.useCallback(()=>{l(!1)},[]),y=n.useCallback(()=>{d(e=>e+1)},[]),b=n.useCallback(()=>{d(e=>Math.max(0,e-1))},[]),x=n.useCallback((e,t,n=!1)=>{p(r=>{let i=r[e]||[],a=i.includes(t);return n?{...r,[e]:a?i.filter(e=>e!==t):[...i,t]}:{...r,[e]:a?[]:[t]}})},[]),S=n.useCallback(()=>{p({})},[]),C=n.useCallback(()=>{l(!1),i?.(f)},[f,i]),w=n.useCallback(()=>{l(!1),a?.()},[a]);return{open:c,setOpen:l,openModal:_,closeModal:v,currentStep:u,setCurrentStep:d,nextStep:y,prevStep:b,selections:f,toggleSelection:x,clearSelections:S,dontShowAgain:m,setDontShowAgain:g,complete:C,skip:w,reset:n.useCallback(()=>{d(0),p({})},[]),modalProps:{open:c,onOpenChange:n.useCallback(e=>{l(e),e||setTimeout(()=>{d(0)},300)},[]),dontShowAgain:m,onDontShowAgainChange:g,onComplete:C,onSkip:w}}}function c({totalSteps:e,currentStep:n,onStepClick:r,className:a}){return(0,i.jsx)(`div`,{className:t.cn(`flex items-center justify-center gap-2`,a),children:Array.from({length:e}).map((e,a)=>(0,i.jsx)(`button`,{type:`button`,onClick:()=>r?.(a),disabled:!r,"aria-label":`Go to step ${a+1}`,"aria-current":a===n?`step`:void 0,className:t.cn(`h-2 rounded-full transition-all duration-300`,a===n?`w-6 bg-primary`:`w-2 bg-muted-foreground/30 hover:bg-muted-foreground/50`,r&&`cursor-pointer`,!r&&`cursor-default`)},a))})}function l({option:e,selected:n,onSelect:a}){return(0,i.jsxs)(`button`,{type:`button`,onClick:a,className:t.cn(`flex items-center gap-3 w-full p-4 rounded-lg border-2 transition-all duration-200`,`hover:border-primary/50 hover:bg-primary/5`,n?`border-primary bg-primary/10`:`border-border bg-background`),children:[e.icon&&(0,i.jsx)(`div`,{className:`flex-shrink-0 text-primary`,children:e.icon}),(0,i.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,i.jsx)(`div`,{className:`font-medium`,children:e.label}),e.description&&(0,i.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:e.description})]}),(0,i.jsx)(`div`,{className:t.cn(`flex-shrink-0 h-5 w-5 rounded-full border-2 flex items-center justify-center transition-all duration-200`,n?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground/30`),children:n&&(0,i.jsx)(r.Check,{className:`h-3 w-3`})})]})}function u({open:e,onOpenChange:s,steps:u=o,userName:d,onComplete:f,onSkip:p,allowSkip:m=!0,showDontShowAgain:h=!0,onDontShowAgainChange:g,dontShowAgain:_=!1,skipText:v=`Skip`,nextText:y=`Next`,prevText:b=`Back`,completeText:x=`Get Started`,className:S,animationDuration:C=300}){let[w,T]=n.useState(0),[E,D]=n.useState({}),[O,k]=n.useState(`forward`),[A,j]=n.useState(!1),[M,N]=n.useState(_),P=u.length,F=u[w],I=w===0,L=w===P-1;n.useEffect(()=>{N(_)},[_]),n.useEffect(()=>{if(!e){let e=setTimeout(()=>{T(0),k(`forward`)},C);return()=>clearTimeout(e)}},[e,C]);let R=n.useCallback(()=>{A||(L?(f?.(E),s(!1)):(k(`forward`),j(!0),setTimeout(()=>{T(e=>e+1),j(!1)},C/2)))},[L,A,E,f,s,C]),z=n.useCallback(()=>{A||I||(k(`backward`),j(!0),setTimeout(()=>{T(e=>e-1),j(!1)},C/2))},[I,A,C]),B=n.useCallback(()=>{p?.(),s(!1)},[p,s]),V=n.useCallback(e=>{N(e),g?.(e)},[g]),H=n.useCallback(e=>{F&&D(t=>{let n=t[F.id]||[],r=n.includes(e);return F.multiSelect?{...t,[F.id]:r?n.filter(t=>t!==e):[...n,e]}:{...t,[F.id]:r?[]:[e]}})},[F]),U=n.useMemo(()=>F?d&&w===0?F.title.replace(`!`,`, ${d}!`):F.title:``,[F,d,w]);return(0,i.jsx)(a.Root,{open:e,onOpenChange:s,children:(0,i.jsxs)(a.Portal,{children:[(0,i.jsx)(a.Overlay,{className:t.cn(`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`)}),(0,i.jsxs)(a.Content,{"aria-describedby":`welcome-modal-description`,className:t.cn(`fixed z-50 w-full max-w-lg bg-background shadow-2xl rounded-2xl overflow-hidden`,`left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,`duration-300`,S),children:[(0,i.jsxs)(a.Title,{className:`sr-only`,children:[`Welcome Modal - Step `,w+1,` of `,P]}),(0,i.jsx)(a.Description,{id:`welcome-modal-description`,className:`sr-only`,children:`A multi-step welcome wizard to help you get started`}),(0,i.jsxs)(a.Close,{className:t.cn(`absolute right-4 top-4 z-10 rounded-full p-2`,`bg-background/80 backdrop-blur-sm`,`opacity-70 ring-offset-background transition-opacity`,`hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),children:[(0,i.jsx)(r.X,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsxs)(`div`,{className:`relative h-48 bg-gradient-to-br from-primary/10 via-primary/5 to-background flex items-center justify-center overflow-hidden`,children:[(0,i.jsxs)(`div`,{className:`absolute inset-0 opacity-20`,children:[(0,i.jsx)(`div`,{className:`absolute top-0 left-0 w-32 h-32 bg-primary/20 rounded-full blur-3xl animate-pulse`}),(0,i.jsx)(`div`,{className:`absolute bottom-0 right-0 w-40 h-40 bg-primary/30 rounded-full blur-3xl animate-pulse delay-150`})]}),(0,i.jsx)(`div`,{className:t.cn(`relative z-10 transition-all`,A&&O===`forward`&&`animate-slide-out-left`,A&&O===`backward`&&`animate-slide-out-right`,!A&&`animate-slide-in`),style:{animationDuration:`${C/2}ms`},children:F?.illustration?(0,i.jsx)(`img`,{src:F.illustration,alt:F.title,className:`max-h-32 object-contain`}):(0,i.jsx)(`div`,{className:`p-6 bg-background/50 backdrop-blur-sm rounded-full shadow-lg`,children:F?.icon||(0,i.jsx)(r.Sparkles,{className:`h-12 w-12 text-primary`})})})]}),(0,i.jsx)(`div`,{className:`px-8 pt-6 pb-4`,children:(0,i.jsxs)(`div`,{className:t.cn(`transition-all`,A&&O===`forward`&&`opacity-0 translate-x-4`,A&&O===`backward`&&`opacity-0 -translate-x-4`,!A&&`opacity-100 translate-x-0`),style:{transitionDuration:`${C/2}ms`},children:[(0,i.jsx)(`h2`,{className:`text-2xl font-bold text-center mb-2`,children:U}),(0,i.jsx)(`p`,{className:`text-muted-foreground text-center`,children:F?.description})]})}),F?.options&&F.options.length>0&&(0,i.jsx)(`div`,{className:t.cn(`px-8 pb-4 space-y-3 transition-all`,A&&`opacity-0`,!A&&`opacity-100`),style:{transitionDuration:`${C/2}ms`},children:F.options.map(e=>(0,i.jsx)(l,{option:e,selected:(E[F.id]||[]).includes(e.id),onSelect:()=>H(e.id)},e.id))}),F?.content&&(0,i.jsx)(`div`,{className:t.cn(`px-8 pb-4 transition-all`,A&&`opacity-0`,!A&&`opacity-100`),style:{transitionDuration:`${C/2}ms`},children:F.content}),(0,i.jsx)(`div`,{className:`px-8 py-4`,children:(0,i.jsx)(c,{totalSteps:P,currentStep:w})}),(0,i.jsxs)(`div`,{className:`px-8 pb-6 space-y-4`,children:[h&&L&&(0,i.jsxs)(`label`,{className:`flex items-center justify-center gap-2 text-sm text-muted-foreground cursor-pointer`,children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:M,onChange:e=>V(e.target.checked),className:`h-4 w-4 rounded border-border`}),(0,i.jsx)(`span`,{children:`Don't show this again`})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,i.jsx)(`div`,{className:`flex-1`,children:I?m&&(0,i.jsx)(`button`,{type:`button`,onClick:B,className:t.cn(`px-4 py-2 text-sm font-medium text-muted-foreground`,`hover:text-foreground transition-colors`),children:v}):(0,i.jsx)(`button`,{type:`button`,onClick:z,disabled:A,className:t.cn(`px-4 py-2 text-sm font-medium text-muted-foreground`,`hover:text-foreground transition-colors`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:b})}),(0,i.jsxs)(`button`,{type:`button`,onClick:R,disabled:A,className:t.cn(`flex items-center gap-2 px-6 py-3 rounded-full font-medium`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`disabled:opacity-50 disabled:cursor-not-allowed`,`shadow-lg shadow-primary/25`),children:[L?x:y,!L&&(0,i.jsx)(r.ChevronRight,{className:`h-4 w-4`})]})]})]})]}),(0,i.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime"),a=require("@radix-ui/react-dialog");a=e.__toESM(a);var o=[{id:`welcome`,title:`Welcome aboard!`,description:`We're excited to have you here. Let's get you set up in just a few steps.`,icon:(0,i.jsx)(r.Sparkles,{className:`h-12 w-12 text-primary`})},{id:`features`,title:`Discover powerful features`,description:`Explore the tools and capabilities that will help you succeed.`,icon:(0,i.jsx)(r.Rocket,{className:`h-12 w-12 text-primary`})},{id:`preferences`,title:`Customize your experience`,description:`Select the options that best fit your needs.`,icon:(0,i.jsx)(r.Settings,{className:`h-12 w-12 text-primary`}),options:[{id:`dark-mode`,label:`Dark Mode`,description:`Enable dark theme`},{id:`notifications`,label:`Notifications`,description:`Get updates and alerts`},{id:`newsletter`,label:`Newsletter`,description:`Receive tips and news`}],multiSelect:!0},{id:`ready`,title:`You're all set!`,description:`Your workspace is ready. Let's get started on your journey.`,icon:(0,i.jsx)(r.Users,{className:`h-12 w-12 text-primary`})}];function s(e={}){let{defaultOpen:t=!1,storageKey:r=`waka-welcome-modal-shown`,onComplete:i,onSkip:a}=e,o=n.useCallback(()=>{if(typeof window>`u`)return!1;try{return localStorage.getItem(r)===`true`}catch{return!1}},[r]),s=n.useCallback(()=>{if(typeof window>`u`)return t;try{let e=localStorage.getItem(r)===`true`;return t&&!e}catch{return t}},[t,r]),[c,l]=n.useState(s),[u,d]=n.useState(0),[f,p]=n.useState({}),[m,h]=n.useState(o);n.useEffect(()=>{l(s()),h(o())},[s,o]);let g=n.useCallback(e=>{if(h(e),typeof window<`u`)try{e?localStorage.setItem(r,`true`):localStorage.removeItem(r)}catch{}},[r]),_=n.useCallback(()=>{l(!0)},[]),v=n.useCallback(()=>{l(!1)},[]),y=n.useCallback(()=>{d(e=>e+1)},[]),b=n.useCallback(()=>{d(e=>Math.max(0,e-1))},[]),x=n.useCallback((e,t,n=!1)=>{p(r=>{let i=r[e]||[],a=i.includes(t);return n?{...r,[e]:a?i.filter(e=>e!==t):[...i,t]}:{...r,[e]:a?[]:[t]}})},[]),S=n.useCallback(()=>{p({})},[]),C=n.useCallback(()=>{l(!1),i?.(f)},[f,i]),w=n.useCallback(()=>{l(!1),a?.()},[a]);return{open:c,setOpen:l,openModal:_,closeModal:v,currentStep:u,setCurrentStep:d,nextStep:y,prevStep:b,selections:f,toggleSelection:x,clearSelections:S,dontShowAgain:m,setDontShowAgain:g,complete:C,skip:w,reset:n.useCallback(()=>{d(0),p({})},[]),modalProps:{open:c,onOpenChange:n.useCallback(e=>{l(e),e||setTimeout(()=>{d(0)},300)},[]),dontShowAgain:m,onDontShowAgainChange:g,onComplete:C,onSkip:w}}}function c({totalSteps:e,currentStep:n,onStepClick:r,className:a}){return(0,i.jsx)(`div`,{className:t.cn(`flex items-center justify-center gap-2`,a),children:Array.from({length:e}).map((e,a)=>(0,i.jsx)(`button`,{type:`button`,onClick:()=>r?.(a),disabled:!r,"aria-label":`Go to step ${a+1}`,"aria-current":a===n?`step`:void 0,className:t.cn(`h-2 rounded-full transition-all duration-300`,a===n?`w-6 bg-primary`:`w-2 bg-muted-foreground/30 hover:bg-muted-foreground/50`,r&&`cursor-pointer`,!r&&`cursor-default`)},a))})}function l({option:e,selected:n,onSelect:a}){return(0,i.jsxs)(`button`,{type:`button`,onClick:a,className:t.cn(`flex items-center gap-3 w-full p-4 rounded-lg border-2 transition-all duration-200`,`hover:border-primary/50 hover:bg-primary/5`,n?`border-primary bg-primary/10`:`border-border bg-background`),children:[e.icon&&(0,i.jsx)(`div`,{className:`flex-shrink-0 text-primary`,children:e.icon}),(0,i.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,i.jsx)(`div`,{className:`font-medium`,children:e.label}),e.description&&(0,i.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:e.description})]}),(0,i.jsx)(`div`,{className:t.cn(`flex-shrink-0 h-5 w-5 rounded-full border-2 flex items-center justify-center transition-all duration-200`,n?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground/30`),children:n&&(0,i.jsx)(r.Check,{className:`h-3 w-3`})})]})}function u({open:e,onOpenChange:s,steps:u=o,userName:d,onComplete:f,onSkip:p,allowSkip:m=!0,showDontShowAgain:h=!0,onDontShowAgainChange:g,dontShowAgain:_=!1,skipText:v=`Skip`,nextText:y=`Next`,prevText:b=`Back`,completeText:x=`Get Started`,className:S,animationDuration:C=300}){let[w,T]=n.useState(0),[E,D]=n.useState({}),[O,k]=n.useState(`forward`),[A,j]=n.useState(!1),[M,N]=n.useState(_),P=u.length,F=u[w],I=w===0,L=w===P-1;n.useEffect(()=>{N(_)},[_]),n.useEffect(()=>{if(!e){let e=setTimeout(()=>{T(0),k(`forward`)},C);return()=>clearTimeout(e)}},[e,C]);let R=n.useCallback(()=>{A||(L?(f?.(E),s(!1)):(k(`forward`),j(!0),setTimeout(()=>{T(e=>e+1),j(!1)},C/2)))},[L,A,E,f,s,C]),z=n.useCallback(()=>{A||I||(k(`backward`),j(!0),setTimeout(()=>{T(e=>e-1),j(!1)},C/2))},[I,A,C]),B=n.useCallback(()=>{p?.(),s(!1)},[p,s]),V=n.useCallback(e=>{N(e),g?.(e)},[g]),H=n.useCallback(e=>{F&&D(t=>{let n=t[F.id]||[],r=n.includes(e);return F.multiSelect?{...t,[F.id]:r?n.filter(t=>t!==e):[...n,e]}:{...t,[F.id]:r?[]:[e]}})},[F]),U=n.useMemo(()=>F?d&&w===0?F.title.replace(`!`,`, ${d}!`):F.title:``,[F,d,w]);return(0,i.jsx)(a.Root,{open:e,onOpenChange:s,children:(0,i.jsxs)(a.Portal,{children:[(0,i.jsx)(a.Overlay,{className:t.cn(`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`)}),(0,i.jsxs)(a.Content,{"aria-describedby":`welcome-modal-description`,className:t.cn(`fixed z-50 w-full max-w-lg bg-background shadow-2xl rounded-2xl overflow-hidden`,`left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,`duration-300`,S),children:[(0,i.jsxs)(a.Title,{className:`sr-only`,children:[`Welcome Modal - Step `,w+1,` of `,P]}),(0,i.jsx)(a.Description,{id:`welcome-modal-description`,className:`sr-only`,children:`A multi-step welcome wizard to help you get started`}),(0,i.jsxs)(a.Close,{className:t.cn(`absolute right-4 top-4 z-10 rounded-full p-2`,`bg-background/80 backdrop-blur-sm`,`opacity-70 ring-offset-background transition-opacity`,`hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),children:[(0,i.jsx)(r.X,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsxs)(`div`,{className:`relative h-48 bg-gradient-to-br from-primary/10 via-primary/5 to-background flex items-center justify-center overflow-hidden`,children:[(0,i.jsxs)(`div`,{className:`absolute inset-0 opacity-20`,children:[(0,i.jsx)(`div`,{className:`absolute top-0 left-0 w-32 h-32 bg-primary/20 rounded-full blur-3xl animate-pulse`}),(0,i.jsx)(`div`,{className:`absolute bottom-0 right-0 w-40 h-40 bg-primary/30 rounded-full blur-3xl animate-pulse delay-150`})]}),(0,i.jsx)(`div`,{className:t.cn(`relative z-10 transition-all`,A&&O===`forward`&&`animate-slide-out-left`,A&&O===`backward`&&`animate-slide-out-right`,!A&&`animate-slide-in`),style:{animationDuration:`${C/2}ms`},children:F?.illustration?(0,i.jsx)(`img`,{src:F.illustration,alt:F.title,className:`max-h-32 object-contain`}):(0,i.jsx)(`div`,{className:`p-6 bg-background/50 backdrop-blur-sm rounded-full shadow-lg`,children:F?.icon||(0,i.jsx)(r.Sparkles,{className:`h-12 w-12 text-primary`})})})]}),(0,i.jsx)(`div`,{className:`px-8 pt-6 pb-4`,children:(0,i.jsxs)(`div`,{className:t.cn(`transition-all`,A&&O===`forward`&&`opacity-0 translate-x-4`,A&&O===`backward`&&`opacity-0 -translate-x-4`,!A&&`opacity-100 translate-x-0`),style:{transitionDuration:`${C/2}ms`},children:[(0,i.jsx)(`h2`,{className:`text-2xl font-bold text-center mb-2`,children:U}),(0,i.jsx)(`p`,{className:`text-muted-foreground text-center`,children:F?.description})]})}),F?.options&&F.options.length>0&&(0,i.jsx)(`div`,{className:t.cn(`px-8 pb-4 space-y-3 transition-all`,A&&`opacity-0`,!A&&`opacity-100`),style:{transitionDuration:`${C/2}ms`},children:F.options.map(e=>(0,i.jsx)(l,{option:e,selected:(E[F.id]||[]).includes(e.id),onSelect:()=>H(e.id)},e.id))}),F?.content&&(0,i.jsx)(`div`,{className:t.cn(`px-8 pb-4 transition-all`,A&&`opacity-0`,!A&&`opacity-100`),style:{transitionDuration:`${C/2}ms`},children:F.content}),(0,i.jsx)(`div`,{className:`px-8 py-4`,children:(0,i.jsx)(c,{totalSteps:P,currentStep:w})}),(0,i.jsxs)(`div`,{className:`px-8 pb-6 space-y-4`,children:[h&&L&&(0,i.jsxs)(`label`,{className:`flex items-center justify-center gap-2 text-sm text-muted-foreground cursor-pointer`,children:[(0,i.jsx)(`input`,{type:`checkbox`,checked:M,onChange:e=>V(e.target.checked),className:`h-4 w-4 rounded border-border`}),(0,i.jsx)(`span`,{children:`Don't show this again`})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,i.jsx)(`div`,{className:`flex-1`,children:I?m&&(0,i.jsx)(`button`,{type:`button`,onClick:B,className:t.cn(`px-4 py-2 text-sm font-medium text-muted-foreground`,`hover:text-foreground transition-colors`),children:v}):(0,i.jsx)(`button`,{type:`button`,onClick:z,disabled:A,className:t.cn(`px-4 py-2 text-sm font-medium text-muted-foreground`,`hover:text-foreground transition-colors`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:b})}),(0,i.jsxs)(`button`,{type:`button`,onClick:R,disabled:A,className:t.cn(`flex items-center gap-2 px-6 py-3 rounded-full font-medium`,`bg-primary text-primary-foreground`,`hover:bg-primary/90 transition-colors`,`disabled:opacity-50 disabled:cursor-not-allowed`,`shadow-lg shadow-primary/25`),children:[L?x:y,!L&&(0,i.jsx)(r.ChevronRight,{className:`h-4 w-4`})]})]})]})]}),(0,i.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
2
2
  @keyframes waka-slide-out-left {
3
3
  from {
4
4
  opacity: 1;
@@ -38,4 +38,4 @@
38
38
  .animate-slide-in {
39
39
  animation: waka-slide-in ease-out forwards;
40
40
  }
41
- `}})]})]})})}exports.default=u,exports.defaultWelcomeSteps=o,exports.useWelcomeModal=s;
41
+ `}})]})]})})}exports.WakaWelcomeModal=u,exports.default=u,exports.defaultWelcomeSteps=o,exports.useWelcomeModal=s;
@@ -351,4 +351,4 @@ function g({ open: n, onOpenChange: i, steps: a = f, userName: s, onComplete: p,
351
351
  });
352
352
  }
353
353
  //#endregion
354
- export { g as default, f as defaultWelcomeSteps, p as useWelcomeModal };
354
+ export { g as WakaWelcomeModal, g as default, f as defaultWelcomeSteps, p as useWelcomeModal };