@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
@@ -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={pending:{icon:r.Circle,color:`text-muted-foreground`,bgColor:`bg-muted`,borderColor:`border-muted-foreground/30`,label:`Pending`},running:{icon:r.Loader2,color:`text-blue-500`,bgColor:`bg-blue-500/10`,borderColor:`border-blue-500`,label:`Running`},success:{icon:r.Check,color:`text-green-500`,bgColor:`bg-green-500/10`,borderColor:`border-green-500`,label:`Success`},failed:{icon:r.X,color:`text-destructive`,bgColor:`bg-destructive/10`,borderColor:`border-destructive`,label:`Failed`},skipped:{icon:r.SkipForward,color:`text-muted-foreground`,bgColor:`bg-muted/50`,borderColor:`border-muted-foreground/20`,label:`Skipped`},cancelled:{icon:r.Ban,color:`text-orange-500`,bgColor:`bg-orange-500/10`,borderColor:`border-orange-500`,label:`Cancelled`}};function o(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;if(t<60)return n>0?`${t}m ${n}s`:`${t}m`;let r=Math.floor(t/60),i=t%60;return i>0?`${r}h ${i}m`:`${r}h`}function s({status:e,size:n,animated:r}){let o=a[e],s=o.icon;return(0,i.jsx)(`div`,{className:t.cn(`rounded-full flex items-center justify-center border-2 transition-all duration-300`,{sm:`h-6 w-6`,md:`h-8 w-8`,lg:`h-10 w-10`}[n],o.bgColor,o.borderColor,e===`running`&&r&&`shadow-[0_0_12px_rgba(59,130,246,0.5)]`),children:(0,i.jsx)(s,{className:t.cn({sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`}[n],o.color,e===`running`&&r&&`animate-spin`)})})}function c({status:e,prevStatus:n,orientation:r,animated:a}){let o=n===`success`||n===`running`,s=n===`running`&&a;return(0,i.jsx)(`div`,{className:t.cn(t.cn(`transition-colors duration-300 relative overflow-hidden`,r===`horizontal`?`flex-1 h-0.5 mx-1`:`w-0.5 min-h-[24px] mx-auto my-1`),o?`bg-green-500`:`bg-muted`),children:s&&(0,i.jsx)(`div`,{className:t.cn(`absolute bg-blue-400`,r===`horizontal`?`h-full w-4 animate-[flow-horizontal_1s_linear_infinite]`:`w-full h-4 animate-[flow-vertical_1s_linear_infinite]`),style:{background:`linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.8), transparent)`}})})}function l({job:e,size:n,showDuration:r,animated:s}){let c=a[e.status],l=c.icon,u={sm:`h-3 w-3`,md:`h-3.5 w-3.5`,lg:`h-4 w-4`},d={sm:`text-[10px]`,md:`text-xs`,lg:`text-sm`};return(0,i.jsxs)(`div`,{className:`flex items-center gap-2 py-1`,children:[(0,i.jsx)(l,{className:t.cn(u[n],c.color,e.status===`running`&&s&&`animate-spin`)}),(0,i.jsx)(`span`,{className:t.cn(`flex-1`,d[n]),children:e.name}),r&&e.duration!==void 0&&(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,d[n]),children:o(e.duration)})]})}function u({stage:e,isFirst:u,isLast:d,prevStatus:f,size:p,variant:m,showDuration:h,showJobs:g,animated:_,onStageClick:v,onRetry:y}){let[b,x]=n.useState(!1),[S,C]=n.useState(!1),w=a[e.status],T={sm:{card:`min-w-[100px] p-2`,title:`text-xs`,subtitle:`text-[10px]`,iconWrapper:`mb-1`},md:{card:`min-w-[140px] p-3`,title:`text-sm`,subtitle:`text-xs`,iconWrapper:`mb-2`},lg:{card:`min-w-[180px] p-4`,title:`text-base`,subtitle:`text-sm`,iconWrapper:`mb-3`}},E=g&&e.jobs&&e.jobs.length>0,D=e.status===`failed`&&y,O=()=>{E&&x(!b),v?.(e.id)},k=t=>{t.stopPropagation(),y?.(e.id)};return m===`vertical`?(0,i.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,i.jsx)(s,{status:e.status,size:p,animated:_}),!d&&(0,i.jsx)(c,{status:e.status,prevStatus:e.status,orientation:`vertical`,animated:_})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex-1 pb-6 cursor-pointer group`,T[p].card),onClick:O,onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),children:[(0,i.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(`h4`,{className:t.cn(`font-medium`,T[p].title),children:e.name}),E&&(0,i.jsx)(`button`,{type:`button`,className:`p-0.5 rounded hover:bg-muted transition-colors`,children:b?(0,i.jsx)(r.ChevronUp,{className:`h-4 w-4`}):(0,i.jsx)(r.ChevronDown,{className:`h-4 w-4`})})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h&&e.duration!==void 0&&(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground flex items-center gap-1`,T[p].subtitle),children:[(0,i.jsx)(r.Clock,{className:`h-3 w-3`}),o(e.duration)]}),D&&S&&(0,i.jsx)(`button`,{type:`button`,onClick:k,className:`p-1 rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors`,title:`Retry`,children:(0,i.jsx)(r.RotateCcw,{className:`h-3 w-3`})})]})]}),(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground`,T[p].subtitle),children:w.label}),E&&b&&(0,i.jsx)(`div`,{className:`mt-2 pl-2 border-l-2 border-muted`,children:e.jobs.map(e=>(0,i.jsx)(l,{job:e,size:p,showDuration:h,animated:_},e.id))})]})]}):(0,i.jsxs)(i.Fragment,{children:[!u&&(0,i.jsx)(c,{status:e.status,prevStatus:f,orientation:`horizontal`,animated:_}),(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col items-center rounded-lg border transition-all duration-200 cursor-pointer`,T[p].card,w.bgColor,w.borderColor,`hover:shadow-md`,e.status===`running`&&_&&`shadow-[0_0_20px_rgba(59,130,246,0.3)]`),onClick:O,onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),children:[(0,i.jsx)(`div`,{className:T[p].iconWrapper,children:(0,i.jsx)(s,{status:e.status,size:p,animated:_})}),(0,i.jsx)(`h4`,{className:t.cn(`font-medium text-center`,T[p].title),children:e.name}),h&&e.duration!==void 0&&(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground flex items-center gap-1 mt-1`,T[p].subtitle),children:[(0,i.jsx)(r.Clock,{className:`h-3 w-3`}),o(e.duration)]}),E&&(0,i.jsxs)(`button`,{type:`button`,className:t.cn(`mt-1 flex items-center gap-1 text-muted-foreground hover:text-foreground transition-colors`,T[p].subtitle),onClick:e=>{e.stopPropagation(),x(!b)},children:[e.jobs.length,` jobs`,b?(0,i.jsx)(r.ChevronUp,{className:`h-3 w-3`}):(0,i.jsx)(r.ChevronDown,{className:`h-3 w-3`})]}),D&&S&&(0,i.jsxs)(`button`,{type:`button`,onClick:k,className:t.cn(`mt-2 flex items-center gap-1 px-2 py-1 rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors`,T[p].subtitle),title:`Retry`,children:[(0,i.jsx)(r.RotateCcw,{className:`h-3 w-3`}),`Retry`]}),E&&b&&(0,i.jsx)(`div`,{className:`mt-2 pt-2 border-t border-muted w-full`,children:e.jobs.map(e=>(0,i.jsx)(l,{job:e,size:p,showDuration:h,animated:_},e.id))})]})]})}function d({stages:e,onStageClick:n,onRetry:r,variant:a=`horizontal`,size:o=`md`,showDuration:s=!0,showJobs:c=!0,animated:l=!0,className:d}){return(0,i.jsxs)(`div`,{className:t.cn(a===`horizontal`?`flex items-start overflow-x-auto pb-2`:`flex flex-col`,d),children:[(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={pending:{icon:r.Circle,color:`text-muted-foreground`,bgColor:`bg-muted`,borderColor:`border-muted-foreground/30`,label:`Pending`},running:{icon:r.Loader2,color:`text-blue-500`,bgColor:`bg-blue-500/10`,borderColor:`border-blue-500`,label:`Running`},success:{icon:r.Check,color:`text-green-500`,bgColor:`bg-green-500/10`,borderColor:`border-green-500`,label:`Success`},failed:{icon:r.X,color:`text-destructive`,bgColor:`bg-destructive/10`,borderColor:`border-destructive`,label:`Failed`},skipped:{icon:r.SkipForward,color:`text-muted-foreground`,bgColor:`bg-muted/50`,borderColor:`border-muted-foreground/20`,label:`Skipped`},cancelled:{icon:r.Ban,color:`text-orange-500`,bgColor:`bg-orange-500/10`,borderColor:`border-orange-500`,label:`Cancelled`}};function o(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;if(t<60)return n>0?`${t}m ${n}s`:`${t}m`;let r=Math.floor(t/60),i=t%60;return i>0?`${r}h ${i}m`:`${r}h`}function s({status:e,size:n,animated:r}){let o=a[e],s=o.icon;return(0,i.jsx)(`div`,{className:t.cn(`rounded-full flex items-center justify-center border-2 transition-all duration-300`,{sm:`h-6 w-6`,md:`h-8 w-8`,lg:`h-10 w-10`}[n],o.bgColor,o.borderColor,e===`running`&&r&&`shadow-[0_0_12px_rgba(59,130,246,0.5)]`),children:(0,i.jsx)(s,{className:t.cn({sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`}[n],o.color,e===`running`&&r&&`animate-spin`)})})}function c({status:e,prevStatus:n,orientation:r,animated:a}){let o=n===`success`||n===`running`,s=n===`running`&&a;return(0,i.jsx)(`div`,{className:t.cn(t.cn(`transition-colors duration-300 relative overflow-hidden`,r===`horizontal`?`flex-1 h-0.5 mx-1`:`w-0.5 min-h-[24px] mx-auto my-1`),o?`bg-green-500`:`bg-muted`),children:s&&(0,i.jsx)(`div`,{className:t.cn(`absolute bg-blue-400`,r===`horizontal`?`h-full w-4 animate-[flow-horizontal_1s_linear_infinite]`:`w-full h-4 animate-[flow-vertical_1s_linear_infinite]`),style:{background:`linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.8), transparent)`}})})}function l({job:e,size:n,showDuration:r,animated:s}){let c=a[e.status],l=c.icon,u={sm:`h-3 w-3`,md:`h-3.5 w-3.5`,lg:`h-4 w-4`},d={sm:`text-[10px]`,md:`text-xs`,lg:`text-sm`};return(0,i.jsxs)(`div`,{className:`flex items-center gap-2 py-1`,children:[(0,i.jsx)(l,{className:t.cn(u[n],c.color,e.status===`running`&&s&&`animate-spin`)}),(0,i.jsx)(`span`,{className:t.cn(`flex-1`,d[n]),children:e.name}),r&&e.duration!==void 0&&(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,d[n]),children:o(e.duration)})]})}function u({stage:e,isFirst:u,isLast:d,prevStatus:f,size:p,variant:m,showDuration:h,showJobs:g,animated:_,onStageClick:v,onRetry:y}){let[b,x]=n.useState(!1),[S,C]=n.useState(!1),w=a[e.status],T={sm:{card:`min-w-[100px] p-2`,title:`text-xs`,subtitle:`text-[10px]`,iconWrapper:`mb-1`},md:{card:`min-w-[140px] p-3`,title:`text-sm`,subtitle:`text-xs`,iconWrapper:`mb-2`},lg:{card:`min-w-[180px] p-4`,title:`text-base`,subtitle:`text-sm`,iconWrapper:`mb-3`}},E=g&&e.jobs&&e.jobs.length>0,D=e.status===`failed`&&y,O=()=>{E&&x(!b),v?.(e.id)},k=t=>{t.stopPropagation(),y?.(e.id)};return m===`vertical`?(0,i.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,i.jsx)(s,{status:e.status,size:p,animated:_}),!d&&(0,i.jsx)(c,{status:e.status,prevStatus:e.status,orientation:`vertical`,animated:_})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex-1 pb-6 cursor-pointer group`,T[p].card),onClick:O,onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),children:[(0,i.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(`h4`,{className:t.cn(`font-medium`,T[p].title),children:e.name}),E&&(0,i.jsx)(`button`,{type:`button`,className:`p-0.5 rounded hover:bg-muted transition-colors`,children:b?(0,i.jsx)(r.ChevronUp,{className:`h-4 w-4`}):(0,i.jsx)(r.ChevronDown,{className:`h-4 w-4`})})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h&&e.duration!==void 0&&(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground flex items-center gap-1`,T[p].subtitle),children:[(0,i.jsx)(r.Clock,{className:`h-3 w-3`}),o(e.duration)]}),D&&S&&(0,i.jsx)(`button`,{type:`button`,onClick:k,className:`p-1 rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors`,title:`Retry`,children:(0,i.jsx)(r.RotateCcw,{className:`h-3 w-3`})})]})]}),(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground`,T[p].subtitle),children:w.label}),E&&b&&(0,i.jsx)(`div`,{className:`mt-2 pl-2 border-l-2 border-muted`,children:e.jobs.map(e=>(0,i.jsx)(l,{job:e,size:p,showDuration:h,animated:_},e.id))})]})]}):(0,i.jsxs)(i.Fragment,{children:[!u&&(0,i.jsx)(c,{status:e.status,prevStatus:f,orientation:`horizontal`,animated:_}),(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col items-center rounded-lg border transition-all duration-200 cursor-pointer`,T[p].card,w.bgColor,w.borderColor,`hover:shadow-md`,e.status===`running`&&_&&`shadow-[0_0_20px_rgba(59,130,246,0.3)]`),onClick:O,onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),children:[(0,i.jsx)(`div`,{className:T[p].iconWrapper,children:(0,i.jsx)(s,{status:e.status,size:p,animated:_})}),(0,i.jsx)(`h4`,{className:t.cn(`font-medium text-center`,T[p].title),children:e.name}),h&&e.duration!==void 0&&(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground flex items-center gap-1 mt-1`,T[p].subtitle),children:[(0,i.jsx)(r.Clock,{className:`h-3 w-3`}),o(e.duration)]}),E&&(0,i.jsxs)(`button`,{type:`button`,className:t.cn(`mt-1 flex items-center gap-1 text-muted-foreground hover:text-foreground transition-colors`,T[p].subtitle),onClick:e=>{e.stopPropagation(),x(!b)},children:[e.jobs.length,` jobs`,b?(0,i.jsx)(r.ChevronUp,{className:`h-3 w-3`}):(0,i.jsx)(r.ChevronDown,{className:`h-3 w-3`})]}),D&&S&&(0,i.jsxs)(`button`,{type:`button`,onClick:k,className:t.cn(`mt-2 flex items-center gap-1 px-2 py-1 rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors`,T[p].subtitle),title:`Retry`,children:[(0,i.jsx)(r.RotateCcw,{className:`h-3 w-3`}),`Retry`]}),E&&b&&(0,i.jsx)(`div`,{className:`mt-2 pt-2 border-t border-muted w-full`,children:e.jobs.map(e=>(0,i.jsx)(l,{job:e,size:p,showDuration:h,animated:_},e.id))})]})]})}function d({stages:e,onStageClick:n,onRetry:r,variant:a=`horizontal`,size:o=`md`,showDuration:s=!0,showJobs:c=!0,animated:l=!0,className:d}){return(0,i.jsxs)(`div`,{className:t.cn(a===`horizontal`?`flex items-start overflow-x-auto pb-2`:`flex flex-col`,d),children:[(0,i.jsx)(`style`,{children:`
2
2
  @keyframes flow-horizontal {
3
3
  from {
4
4
  transform: translateX(-100%);
@@ -15,4 +15,4 @@
15
15
  transform: translateY(400%);
16
16
  }
17
17
  }
18
- `}),e.map((t,d)=>(0,i.jsx)(u,{stage:t,isFirst:d===0,isLast:d===e.length-1,prevStatus:d>0?e[d-1].status:void 0,size:o,variant:a,showDuration:s,showJobs:c,animated:l,onStageClick:n,onRetry:r},t.id))]})}exports.default=d;
18
+ `}),e.map((t,d)=>(0,i.jsx)(u,{stage:t,isFirst:d===0,isLast:d===e.length-1,prevStatus:d>0?e[d-1].status:void 0,size:o,variant:a,showDuration:s,showJobs:c,animated:l,onStageClick:n,onRetry:r},t.id))]})}exports.WakaPipelineView=d,exports.default=d;
@@ -269,4 +269,4 @@ function x({ stages: t, onStageClick: n, onRetry: r, variant: i = "horizontal",
269
269
  });
270
270
  }
271
271
  //#endregion
272
- export { x as default };
272
+ export { x as WakaPipelineView, x 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(`react/jsx-runtime`);var i={common:{borderColor:`border-zinc-400 dark:border-zinc-500`,bgGradient:`from-zinc-100 to-zinc-200 dark:from-zinc-800 dark:to-zinc-900`,glowColor:`hsl(var(--muted-foreground) / 0.3)`,textColor:`text-zinc-600 dark:text-zinc-400`,label:`Common`,frameGradient:`from-zinc-300 via-zinc-400 to-zinc-300 dark:from-zinc-600 dark:via-zinc-500 dark:to-zinc-600`},rare:{borderColor:`border-blue-400 dark:border-blue-500`,bgGradient:`from-blue-50 to-blue-100 dark:from-blue-950 dark:to-blue-900`,glowColor:`hsl(var(--info) / 0.4)`,textColor:`text-blue-600 dark:text-blue-400`,label:`Rare`,frameGradient:`from-blue-300 via-blue-500 to-blue-300 dark:from-blue-600 dark:via-blue-400 dark:to-blue-600`},epic:{borderColor:`border-purple-400 dark:border-purple-500`,bgGradient:`from-purple-50 to-purple-100 dark:from-purple-950 dark:to-purple-900`,glowColor:`hsl(var(--chart-2) / 0.5)`,textColor:`text-purple-600 dark:text-purple-400`,label:`Epic`,frameGradient:`from-purple-300 via-purple-500 to-purple-300 dark:from-purple-600 dark:via-purple-400 dark:to-purple-600`},legendary:{borderColor:`border-amber-400 dark:border-amber-500`,bgGradient:`from-amber-50 to-orange-100 dark:from-amber-950 dark:to-orange-900`,glowColor:`hsl(var(--warning) / 0.5)`,textColor:`text-amber-600 dark:text-amber-400`,label:`Legendary`,frameGradient:`from-yellow-300 via-amber-500 to-orange-400 dark:from-yellow-500 dark:via-amber-400 dark:to-orange-500`},mythic:{borderColor:`border-rose-400 dark:border-rose-500`,bgGradient:`from-rose-50 via-pink-50 to-violet-50 dark:from-rose-950 dark:via-pink-950 dark:to-violet-950`,glowColor:`hsl(var(--destructive) / 0.6)`,textColor:`text-rose-600 dark:text-rose-400`,label:`Mythic`,frameGradient:`from-rose-400 via-pink-500 to-violet-500 dark:from-rose-500 dark:via-pink-400 dark:to-violet-400`}},a={sm:{card:`w-48 h-64`,avatar:`w-20 h-20`,title:`text-sm`,name:`text-base`,stats:`text-xs`,padding:`p-3`},md:{card:`w-64 h-80`,avatar:`w-24 h-24`,title:`text-sm`,name:`text-lg`,stats:`text-xs`,padding:`p-4`},lg:{card:`w-80 h-96`,avatar:`w-32 h-32`,title:`text-base`,name:`text-xl`,stats:`text-sm`,padding:`p-5`}};function o({stat:e,size:n,rarity:o}){let s=e.max??100,c=Math.min(e.value/s*100,100),l=i[o];return(0,r.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,r.jsxs)(`div`,{className:t.cn(`flex justify-between`,a[n].stats),children:[(0,r.jsx)(`span`,{className:`text-muted-foreground uppercase tracking-wide`,children:e.name}),(0,r.jsx)(`span`,{className:`font-mono font-semibold`,children:e.value})]}),(0,r.jsx)(`div`,{className:`h-1.5 w-full rounded-full bg-black/10 dark:bg-white/10 overflow-hidden`,children:(0,r.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500 ease-out`,`bg-gradient-to-r`,l.frameGradient),style:{width:`${c}%`}})})]})}function s({src:e,alt:n,rarity:o,size:s,animated:c}){let l=i[o],u=o===`legendary`||o===`mythic`;return(0,r.jsxs)(`div`,{className:`relative inline-block`,children:[u&&c&&(0,r.jsx)(`div`,{className:`absolute -inset-2 rounded-full blur-md animate-pulse`,style:{backgroundColor:l.glowColor}}),(0,r.jsx)(`div`,{className:t.cn(`relative rounded-full p-1 bg-gradient-to-br`,l.frameGradient,u&&c&&`animate-[spin_8s_linear_infinite]`),children:(0,r.jsx)(`div`,{className:`rounded-full p-0.5 bg-black/20 dark:bg-black/40`,children:(0,r.jsx)(`div`,{className:t.cn(a[s].avatar,`rounded-full overflow-hidden bg-muted`),children:(0,r.jsx)(`img`,{src:e,alt:n,className:`w-full h-full object-cover`})})})})]})}function c({level:e,rarity:n,size:a}){let o=i[n],s=a===`sm`?`w-8 h-8 text-xs`:a===`md`?`w-10 h-10 text-sm`:`w-12 h-12 text-base`;return(0,r.jsx)(`div`,{className:t.cn(`absolute -bottom-2 left-1/2 -translate-x-1/2 rounded-full`,`flex items-center justify-center font-bold`,`bg-gradient-to-br shadow-lg border-2 border-background`,o.frameGradient,s),children:(0,r.jsx)(`span`,{className:`text-white drop-shadow-md`,children:e})})}function l({rarity:e}){let n=i[e];return(0,r.jsx)(`span`,{className:t.cn(`inline-flex items-center px-2 py-0.5 rounded text-xs font-semibold uppercase tracking-wider`,`bg-gradient-to-r bg-clip-text text-transparent`,n.frameGradient),children:n.label})}function u({rarity:e,animated:i}){let a=e===`legendary`||e===`mythic`,[o,s]=n.useState({x:50,y:50}),c=n.useRef(null),l=n.useCallback(e=>{if(!c.current)return;let t=c.current.getBoundingClientRect();s({x:(e.clientX-t.left)/t.width*100,y:(e.clientY-t.top)/t.height*100})},[]);return n.useEffect(()=>{let e=c.current?.parentElement;if(!(!e||!a))return e.addEventListener(`mousemove`,l),()=>e.removeEventListener(`mousemove`,l)},[l,a]),a?(0,r.jsxs)(`div`,{ref:c,className:`absolute inset-0 pointer-events-none overflow-hidden rounded-xl`,children:[(0,r.jsx)(`div`,{className:t.cn(`absolute inset-0 opacity-30`,i&&`animate-[shimmer_3s_ease-in-out_infinite]`),style:{background:`
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={common:{borderColor:`border-zinc-400 dark:border-zinc-500`,bgGradient:`from-zinc-100 to-zinc-200 dark:from-zinc-800 dark:to-zinc-900`,glowColor:`hsl(var(--muted-foreground) / 0.3)`,textColor:`text-zinc-600 dark:text-zinc-400`,label:`Common`,frameGradient:`from-zinc-300 via-zinc-400 to-zinc-300 dark:from-zinc-600 dark:via-zinc-500 dark:to-zinc-600`},rare:{borderColor:`border-blue-400 dark:border-blue-500`,bgGradient:`from-blue-50 to-blue-100 dark:from-blue-950 dark:to-blue-900`,glowColor:`hsl(var(--info) / 0.4)`,textColor:`text-blue-600 dark:text-blue-400`,label:`Rare`,frameGradient:`from-blue-300 via-blue-500 to-blue-300 dark:from-blue-600 dark:via-blue-400 dark:to-blue-600`},epic:{borderColor:`border-purple-400 dark:border-purple-500`,bgGradient:`from-purple-50 to-purple-100 dark:from-purple-950 dark:to-purple-900`,glowColor:`hsl(var(--chart-2) / 0.5)`,textColor:`text-purple-600 dark:text-purple-400`,label:`Epic`,frameGradient:`from-purple-300 via-purple-500 to-purple-300 dark:from-purple-600 dark:via-purple-400 dark:to-purple-600`},legendary:{borderColor:`border-amber-400 dark:border-amber-500`,bgGradient:`from-amber-50 to-orange-100 dark:from-amber-950 dark:to-orange-900`,glowColor:`hsl(var(--warning) / 0.5)`,textColor:`text-amber-600 dark:text-amber-400`,label:`Legendary`,frameGradient:`from-yellow-300 via-amber-500 to-orange-400 dark:from-yellow-500 dark:via-amber-400 dark:to-orange-500`},mythic:{borderColor:`border-rose-400 dark:border-rose-500`,bgGradient:`from-rose-50 via-pink-50 to-violet-50 dark:from-rose-950 dark:via-pink-950 dark:to-violet-950`,glowColor:`hsl(var(--destructive) / 0.6)`,textColor:`text-rose-600 dark:text-rose-400`,label:`Mythic`,frameGradient:`from-rose-400 via-pink-500 to-violet-500 dark:from-rose-500 dark:via-pink-400 dark:to-violet-400`}},a={sm:{card:`w-48 h-64`,avatar:`w-20 h-20`,title:`text-sm`,name:`text-base`,stats:`text-xs`,padding:`p-3`},md:{card:`w-64 h-80`,avatar:`w-24 h-24`,title:`text-sm`,name:`text-lg`,stats:`text-xs`,padding:`p-4`},lg:{card:`w-80 h-96`,avatar:`w-32 h-32`,title:`text-base`,name:`text-xl`,stats:`text-sm`,padding:`p-5`}};function o({stat:e,size:n,rarity:o}){let s=e.max??100,c=Math.min(e.value/s*100,100),l=i[o];return(0,r.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,r.jsxs)(`div`,{className:t.cn(`flex justify-between`,a[n].stats),children:[(0,r.jsx)(`span`,{className:`text-muted-foreground uppercase tracking-wide`,children:e.name}),(0,r.jsx)(`span`,{className:`font-mono font-semibold`,children:e.value})]}),(0,r.jsx)(`div`,{className:`h-1.5 w-full rounded-full bg-black/10 dark:bg-white/10 overflow-hidden`,children:(0,r.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500 ease-out`,`bg-gradient-to-r`,l.frameGradient),style:{width:`${c}%`}})})]})}function s({src:e,alt:n,rarity:o,size:s,animated:c}){let l=i[o],u=o===`legendary`||o===`mythic`;return(0,r.jsxs)(`div`,{className:`relative inline-block`,children:[u&&c&&(0,r.jsx)(`div`,{className:`absolute -inset-2 rounded-full blur-md animate-pulse`,style:{backgroundColor:l.glowColor}}),(0,r.jsx)(`div`,{className:t.cn(`relative rounded-full p-1 bg-gradient-to-br`,l.frameGradient,u&&c&&`animate-[spin_8s_linear_infinite]`),children:(0,r.jsx)(`div`,{className:`rounded-full p-0.5 bg-black/20 dark:bg-black/40`,children:(0,r.jsx)(`div`,{className:t.cn(a[s].avatar,`rounded-full overflow-hidden bg-muted`),children:(0,r.jsx)(`img`,{src:e,alt:n,className:`w-full h-full object-cover`})})})})]})}function c({level:e,rarity:n,size:a}){let o=i[n],s=a===`sm`?`w-8 h-8 text-xs`:a===`md`?`w-10 h-10 text-sm`:`w-12 h-12 text-base`;return(0,r.jsx)(`div`,{className:t.cn(`absolute -bottom-2 left-1/2 -translate-x-1/2 rounded-full`,`flex items-center justify-center font-bold`,`bg-gradient-to-br shadow-lg border-2 border-background`,o.frameGradient,s),children:(0,r.jsx)(`span`,{className:`text-white drop-shadow-md`,children:e})})}function l({rarity:e}){let n=i[e];return(0,r.jsx)(`span`,{className:t.cn(`inline-flex items-center px-2 py-0.5 rounded text-xs font-semibold uppercase tracking-wider`,`bg-gradient-to-r bg-clip-text text-transparent`,n.frameGradient),children:n.label})}function u({rarity:e,animated:i}){let a=e===`legendary`||e===`mythic`,[o,s]=n.useState({x:50,y:50}),c=n.useRef(null),l=n.useCallback(e=>{if(!c.current)return;let t=c.current.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100,r=(e.clientY-t.top)/t.height*100;s({x:n,y:r})},[]);return n.useEffect(()=>{let e=c.current?.parentElement;if(!(!e||!a))return e.addEventListener(`mousemove`,l),()=>e.removeEventListener(`mousemove`,l)},[l,a]),a?(0,r.jsxs)(`div`,{ref:c,className:`absolute inset-0 pointer-events-none overflow-hidden rounded-xl`,children:[(0,r.jsx)(`div`,{className:t.cn(`absolute inset-0 opacity-30`,i&&`animate-[shimmer_3s_ease-in-out_infinite]`),style:{background:`
2
2
  linear-gradient(
3
3
  ${45+(o.x-50)*.5}deg,
4
4
  transparent 20%,
@@ -24,4 +24,4 @@
24
24
  rgba(255, 255, 255, 0.1) 2px,
25
25
  rgba(255, 255, 255, 0.1) 4px
26
26
  )
27
- `}})]}):null}function d({player:e,size:n,backContent:o}){let s=i[e.rarity];return o?(0,r.jsx)(r.Fragment,{children:o}):(0,r.jsxs)(`div`,{className:t.cn(`h-full flex flex-col`,a[n].padding),children:[(0,r.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center space-y-4`,children:[(0,r.jsx)(`div`,{className:t.cn(`w-16 h-16 rounded-full bg-gradient-to-br opacity-50`,s.frameGradient),children:(0,r.jsx)(`div`,{className:`w-full h-full rounded-full border-4 border-dashed border-current opacity-30`})}),(0,r.jsx)(`div`,{className:t.cn(`text-2xl font-bold bg-gradient-to-br bg-clip-text text-transparent`,s.frameGradient),children:e.name.split(` `).map(e=>e[0]).join(``).toUpperCase()}),e.joinedAt&&(0,r.jsxs)(`div`,{className:`text-xs text-muted-foreground text-center`,children:[(0,r.jsx)(`div`,{className:`uppercase tracking-wider opacity-60`,children:`Member since`}),(0,r.jsx)(`div`,{className:`font-mono`,children:e.joinedAt.toLocaleDateString(`en-US`,{year:`numeric`,month:`short`})})]}),e.achievements!==void 0&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,r.jsx)(`svg`,{className:t.cn(`w-4 h-4`,s.textColor),fill:`currentColor`,viewBox:`0 0 20 20`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z`})}),(0,r.jsx)(`span`,{className:`font-semibold`,children:e.achievements}),(0,r.jsx)(`span`,{className:`text-muted-foreground`,children:`Achievements`})]})]}),(0,r.jsx)(`div`,{className:t.cn(`h-1 w-full rounded-full bg-gradient-to-r opacity-50`,s.frameGradient)})]})}function f({player:e,variant:f=`default`,showBack:p=!1,backContent:m,onClick:h,size:g=`md`,animated:_=!0,className:v,...y}){let[b,x]=n.useState(!1),S=i[e.rarity],C=a[g],w=e.rarity===`legendary`||e.rarity===`mythic`,T=()=>{p&&x(!b),h?.()};return f===`compact`?(0,r.jsxs)(`div`,{onClick:T,className:t.cn(`relative flex items-center gap-3 rounded-lg border-2 p-3`,`bg-gradient-to-r transition-all duration-300`,S.borderColor,S.bgGradient,h&&`cursor-pointer hover:scale-[1.02]`,_&&w&&`shadow-lg`,v),style:w&&_?{boxShadow:`0 0 20px ${S.glowColor}`}:void 0,...y,children:[(0,r.jsx)(s,{src:e.avatar,alt:e.name,rarity:e.rarity,size:`sm`,animated:_}),(0,r.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,r.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,r.jsx)(`span`,{className:`font-semibold truncate`,children:e.name}),(0,r.jsxs)(`span`,{className:t.cn(`shrink-0 px-1.5 py-0.5 rounded text-[10px] font-bold uppercase`,`bg-gradient-to-r text-white`,S.frameGradient),children:[`Lv.`,e.level]})]}),e.title&&(0,r.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.title}),(0,r.jsx)(l,{rarity:e.rarity})]})]}):f===`full`?(0,r.jsxs)(`div`,{onClick:T,className:t.cn(`relative rounded-xl border-2 overflow-hidden`,`bg-gradient-to-br transition-all duration-300`,S.borderColor,S.bgGradient,h&&`cursor-pointer hover:scale-[1.01]`,_&&w&&`shadow-xl`,v),style:w&&_?{boxShadow:`0 0 30px ${S.glowColor}`}:void 0,...y,children:[(0,r.jsx)(u,{rarity:e.rarity,animated:_}),(0,r.jsxs)(`div`,{className:t.cn(`relative`,C.padding),children:[(0,r.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,r.jsxs)(`div`,{children:[(0,r.jsx)(l,{rarity:e.rarity}),(0,r.jsx)(`h3`,{className:t.cn(`font-bold mt-1`,C.name),children:e.name}),e.title&&(0,r.jsx)(`p`,{className:t.cn(`text-muted-foreground`,C.title),children:e.title})]}),(0,r.jsxs)(`div`,{className:`relative`,children:[(0,r.jsx)(s,{src:e.avatar,alt:e.name,rarity:e.rarity,size:g,animated:_}),(0,r.jsx)(c,{level:e.level,rarity:e.rarity,size:g})]})]}),(0,r.jsx)(`div`,{className:`space-y-3 mt-6`,children:e.stats.map(t=>(0,r.jsx)(o,{stat:t,size:g,rarity:e.rarity},t.name))}),(0,r.jsxs)(`div`,{className:`flex items-center justify-between mt-4 pt-3 border-t border-current/10`,children:[e.achievements!==void 0&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,r.jsx)(`svg`,{className:t.cn(`w-4 h-4`,S.textColor),fill:`currentColor`,viewBox:`0 0 20 20`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z`})}),(0,r.jsx)(`span`,{className:t.cn(`font-semibold text-sm`,S.textColor),children:e.achievements})]}),e.joinedAt&&(0,r.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Since `,e.joinedAt.toLocaleDateString(`en-US`,{year:`numeric`,month:`short`})]})]})]})]}):(0,r.jsx)(`div`,{className:t.cn(`relative perspective-1000`,C.card),style:{perspective:`1000px`},children:(0,r.jsxs)(`div`,{onClick:T,className:t.cn(`relative w-full h-full transition-transform duration-500`,`transform-style-preserve-3d`,p&&`cursor-pointer`,b&&`rotate-y-180`),style:{transformStyle:`preserve-3d`,transform:b?`rotateY(180deg)`:`rotateY(0deg)`},...y,children:[(0,r.jsxs)(`div`,{className:t.cn(`absolute inset-0 rounded-xl border-2 overflow-hidden`,`bg-gradient-to-br backface-hidden`,S.borderColor,S.bgGradient,_&&w&&`shadow-xl`,v),style:{backfaceVisibility:`hidden`,boxShadow:w&&_?`0 0 25px ${S.glowColor}`:void 0},children:[(0,r.jsx)(u,{rarity:e.rarity,animated:_}),(0,r.jsxs)(`div`,{className:t.cn(`relative h-full flex flex-col`,C.padding),children:[(0,r.jsxs)(`div`,{className:`flex justify-between items-start mb-2`,children:[(0,r.jsx)(l,{rarity:e.rarity}),e.achievements!==void 0&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,r.jsx)(`svg`,{className:t.cn(`w-3.5 h-3.5`,S.textColor),fill:`currentColor`,viewBox:`0 0 20 20`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z`})}),(0,r.jsx)(`span`,{className:t.cn(`text-xs font-semibold`,S.textColor),children:e.achievements})]})]}),(0,r.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center`,children:[(0,r.jsxs)(`div`,{className:`relative mb-4`,children:[(0,r.jsx)(s,{src:e.avatar,alt:e.name,rarity:e.rarity,size:g,animated:_}),(0,r.jsx)(c,{level:e.level,rarity:e.rarity,size:g})]}),(0,r.jsx)(`h3`,{className:t.cn(`font-bold text-center`,C.name),children:e.name}),e.title&&(0,r.jsx)(`p`,{className:t.cn(`text-muted-foreground text-center mt-0.5`,C.title),children:e.title})]}),(0,r.jsx)(`div`,{className:`space-y-2 mt-auto`,children:e.stats.slice(0,3).map(t=>(0,r.jsx)(o,{stat:t,size:g,rarity:e.rarity},t.name))})]})]}),p&&(0,r.jsx)(`div`,{className:t.cn(`absolute inset-0 rounded-xl border-2 overflow-hidden`,`bg-gradient-to-br rotate-y-180 backface-hidden`,S.borderColor,S.bgGradient,v),style:{backfaceVisibility:`hidden`,transform:`rotateY(180deg)`},children:(0,r.jsx)(d,{player:e,size:g,backContent:m})})]})})}exports.default=f;
27
+ `}})]}):null}function d({player:e,size:n,backContent:o}){let s=i[e.rarity];return o?(0,r.jsx)(r.Fragment,{children:o}):(0,r.jsxs)(`div`,{className:t.cn(`h-full flex flex-col`,a[n].padding),children:[(0,r.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center space-y-4`,children:[(0,r.jsx)(`div`,{className:t.cn(`w-16 h-16 rounded-full bg-gradient-to-br opacity-50`,s.frameGradient),children:(0,r.jsx)(`div`,{className:`w-full h-full rounded-full border-4 border-dashed border-current opacity-30`})}),(0,r.jsx)(`div`,{className:t.cn(`text-2xl font-bold bg-gradient-to-br bg-clip-text text-transparent`,s.frameGradient),children:e.name.split(` `).map(e=>e[0]).join(``).toUpperCase()}),e.joinedAt&&(0,r.jsxs)(`div`,{className:`text-xs text-muted-foreground text-center`,children:[(0,r.jsx)(`div`,{className:`uppercase tracking-wider opacity-60`,children:`Member since`}),(0,r.jsx)(`div`,{className:`font-mono`,children:e.joinedAt.toLocaleDateString(`en-US`,{year:`numeric`,month:`short`})})]}),e.achievements!==void 0&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,r.jsx)(`svg`,{className:t.cn(`w-4 h-4`,s.textColor),fill:`currentColor`,viewBox:`0 0 20 20`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z`})}),(0,r.jsx)(`span`,{className:`font-semibold`,children:e.achievements}),(0,r.jsx)(`span`,{className:`text-muted-foreground`,children:`Achievements`})]})]}),(0,r.jsx)(`div`,{className:t.cn(`h-1 w-full rounded-full bg-gradient-to-r opacity-50`,s.frameGradient)})]})}function f({player:e,variant:f=`default`,showBack:p=!1,backContent:m,onClick:h,size:g=`md`,animated:_=!0,className:v,...y}){let[b,x]=n.useState(!1),S=i[e.rarity],C=a[g],w=e.rarity===`legendary`||e.rarity===`mythic`,T=()=>{p&&x(!b),h?.()};return f===`compact`?(0,r.jsxs)(`div`,{onClick:T,className:t.cn(`relative flex items-center gap-3 rounded-lg border-2 p-3`,`bg-gradient-to-r transition-all duration-300`,S.borderColor,S.bgGradient,h&&`cursor-pointer hover:scale-[1.02]`,_&&w&&`shadow-lg`,v),style:w&&_?{boxShadow:`0 0 20px ${S.glowColor}`}:void 0,...y,children:[(0,r.jsx)(s,{src:e.avatar,alt:e.name,rarity:e.rarity,size:`sm`,animated:_}),(0,r.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,r.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,r.jsx)(`span`,{className:`font-semibold truncate`,children:e.name}),(0,r.jsxs)(`span`,{className:t.cn(`shrink-0 px-1.5 py-0.5 rounded text-[10px] font-bold uppercase`,`bg-gradient-to-r text-white`,S.frameGradient),children:[`Lv.`,e.level]})]}),e.title&&(0,r.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.title}),(0,r.jsx)(l,{rarity:e.rarity})]})]}):f===`full`?(0,r.jsxs)(`div`,{onClick:T,className:t.cn(`relative rounded-xl border-2 overflow-hidden`,`bg-gradient-to-br transition-all duration-300`,S.borderColor,S.bgGradient,h&&`cursor-pointer hover:scale-[1.01]`,_&&w&&`shadow-xl`,v),style:w&&_?{boxShadow:`0 0 30px ${S.glowColor}`}:void 0,...y,children:[(0,r.jsx)(u,{rarity:e.rarity,animated:_}),(0,r.jsxs)(`div`,{className:t.cn(`relative`,C.padding),children:[(0,r.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,r.jsxs)(`div`,{children:[(0,r.jsx)(l,{rarity:e.rarity}),(0,r.jsx)(`h3`,{className:t.cn(`font-bold mt-1`,C.name),children:e.name}),e.title&&(0,r.jsx)(`p`,{className:t.cn(`text-muted-foreground`,C.title),children:e.title})]}),(0,r.jsxs)(`div`,{className:`relative`,children:[(0,r.jsx)(s,{src:e.avatar,alt:e.name,rarity:e.rarity,size:g,animated:_}),(0,r.jsx)(c,{level:e.level,rarity:e.rarity,size:g})]})]}),(0,r.jsx)(`div`,{className:`space-y-3 mt-6`,children:e.stats.map(t=>(0,r.jsx)(o,{stat:t,size:g,rarity:e.rarity},t.name))}),(0,r.jsxs)(`div`,{className:`flex items-center justify-between mt-4 pt-3 border-t border-current/10`,children:[e.achievements!==void 0&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,r.jsx)(`svg`,{className:t.cn(`w-4 h-4`,S.textColor),fill:`currentColor`,viewBox:`0 0 20 20`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z`})}),(0,r.jsx)(`span`,{className:t.cn(`font-semibold text-sm`,S.textColor),children:e.achievements})]}),e.joinedAt&&(0,r.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Since `,e.joinedAt.toLocaleDateString(`en-US`,{year:`numeric`,month:`short`})]})]})]})]}):(0,r.jsx)(`div`,{className:t.cn(`relative perspective-1000`,C.card),style:{perspective:`1000px`},children:(0,r.jsxs)(`div`,{onClick:T,className:t.cn(`relative w-full h-full transition-transform duration-500`,`transform-style-preserve-3d`,p&&`cursor-pointer`,b&&`rotate-y-180`),style:{transformStyle:`preserve-3d`,transform:b?`rotateY(180deg)`:`rotateY(0deg)`},...y,children:[(0,r.jsxs)(`div`,{className:t.cn(`absolute inset-0 rounded-xl border-2 overflow-hidden`,`bg-gradient-to-br backface-hidden`,S.borderColor,S.bgGradient,_&&w&&`shadow-xl`,v),style:{backfaceVisibility:`hidden`,boxShadow:w&&_?`0 0 25px ${S.glowColor}`:void 0},children:[(0,r.jsx)(u,{rarity:e.rarity,animated:_}),(0,r.jsxs)(`div`,{className:t.cn(`relative h-full flex flex-col`,C.padding),children:[(0,r.jsxs)(`div`,{className:`flex justify-between items-start mb-2`,children:[(0,r.jsx)(l,{rarity:e.rarity}),e.achievements!==void 0&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,r.jsx)(`svg`,{className:t.cn(`w-3.5 h-3.5`,S.textColor),fill:`currentColor`,viewBox:`0 0 20 20`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z`})}),(0,r.jsx)(`span`,{className:t.cn(`text-xs font-semibold`,S.textColor),children:e.achievements})]})]}),(0,r.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center`,children:[(0,r.jsxs)(`div`,{className:`relative mb-4`,children:[(0,r.jsx)(s,{src:e.avatar,alt:e.name,rarity:e.rarity,size:g,animated:_}),(0,r.jsx)(c,{level:e.level,rarity:e.rarity,size:g})]}),(0,r.jsx)(`h3`,{className:t.cn(`font-bold text-center`,C.name),children:e.name}),e.title&&(0,r.jsx)(`p`,{className:t.cn(`text-muted-foreground text-center mt-0.5`,C.title),children:e.title})]}),(0,r.jsx)(`div`,{className:`space-y-2 mt-auto`,children:e.stats.slice(0,3).map(t=>(0,r.jsx)(o,{stat:t,size:g,rarity:e.rarity},t.name))})]})]}),p&&(0,r.jsx)(`div`,{className:t.cn(`absolute inset-0 rounded-xl border-2 overflow-hidden`,`bg-gradient-to-br rotate-y-180 backface-hidden`,S.borderColor,S.bgGradient,v),style:{backfaceVisibility:`hidden`,transform:`rotateY(180deg)`},children:(0,r.jsx)(d,{player:e,size:g,backContent:m})})]})})}exports.WakaPlayerCard=f,exports.default=f;
@@ -139,10 +139,10 @@ function d({ rarity: n, animated: a }) {
139
139
  y: 50
140
140
  }), l = t.useRef(null), u = t.useCallback((e) => {
141
141
  if (!l.current) return;
142
- let t = l.current.getBoundingClientRect();
142
+ let t = l.current.getBoundingClientRect(), n = (e.clientX - t.left) / t.width * 100, r = (e.clientY - t.top) / t.height * 100;
143
143
  c({
144
- x: (e.clientX - t.left) / t.width * 100,
145
- y: (e.clientY - t.top) / t.height * 100
144
+ x: n,
145
+ y: r
146
146
  });
147
147
  }, []);
148
148
  return t.useEffect(() => {
@@ -448,4 +448,4 @@ function p({ player: n, variant: p = "default", showBack: m = !1, backContent: h
448
448
  });
449
449
  }
450
450
  //#endregion
451
- export { p as default };
451
+ export { p as WakaPlayerCard, p as default };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../badge/index.cjs.js`),r=require(`../button/index.cjs.js`),i=require(`../card/index.cjs.js`),a=require(`../progress/index.cjs.js`),o=require(`../scroll-area/index.cjs.js`),s=require(`../tooltip/index.cjs.js`);let c=require(`react`);c=e.__toESM(c);let l=require(`lucide-react`),u=require(`react/jsx-runtime`);var d={Running:{color:`text-green-500`,bgColor:`bg-green-500/10`,icon:l.CheckCircle2},Pending:{color:`text-yellow-500`,bgColor:`bg-yellow-500/10`,icon:l.Clock},Succeeded:{color:`text-blue-500`,bgColor:`bg-blue-500/10`,icon:l.CheckCircle2},Failed:{color:`text-red-500`,bgColor:`bg-red-500/10`,icon:l.XCircle},Unknown:{color:`text-gray-500`,bgColor:`bg-gray-500/10`,icon:l.AlertTriangle}},f={running:{color:`text-green-500`,label:`Running`},waiting:{color:`text-yellow-500`,label:`Waiting`},terminated:{color:`text-gray-500`,label:`Terminated`}};function p(e){if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(1))+` `+n[r]}function m(e){if(!e)return`-`;let t=Date.now()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i}d ago`:r>0?`${r}h ago`:`${n}m ago`}function h({container:e,onViewLogs:i,onExec:o}){let d=f[e.state],[m,h]=c.useState(!1);return(0,u.jsxs)(`div`,{className:`border rounded-lg overflow-hidden`,children:[(0,u.jsxs)(`div`,{className:t.cn(`flex items-center gap-3 p-3 cursor-pointer hover:bg-muted/50 transition-colors`,!e.ready&&`bg-yellow-500/5`),onClick:()=>h(!m),children:[(0,u.jsx)(`button`,{className:`text-muted-foreground`,children:m?(0,u.jsx)(l.ChevronDown,{className:`h-4 w-4`}):(0,u.jsx)(l.ChevronRight,{className:`h-4 w-4`})}),(0,u.jsx)(l.Container,{className:`h-4 w-4 text-muted-foreground`}),(0,u.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,u.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,u.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.image})]}),(0,u.jsx)(n.Badge,{variant:`outline`,className:d.color,children:d.label}),e.restartCount>0&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{children:(0,u.jsxs)(n.Badge,{variant:`secondary`,className:`text-xs`,children:[(0,u.jsx)(l.RotateCcw,{className:`h-3 w-3 mr-1`}),e.restartCount]})}),(0,u.jsx)(s.TooltipContent,{children:`Restart count`})]})}),(0,u.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:t=>{t.stopPropagation(),i?.(e.name)},children:(0,u.jsx)(l.FileText,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`View Logs`})]})}),e.state===`running`&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:t=>{t.stopPropagation(),o?.(e.name)},children:(0,u.jsx)(l.Terminal,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`Open Terminal`})]})})]})]}),m&&(0,u.jsxs)(`div`,{className:`border-t bg-muted/20 p-3 space-y-3`,children:[e.resources&&(0,u.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,u.jsxs)(`div`,{className:`space-y-1`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,u.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,u.jsx)(l.Cpu,{className:`h-3 w-3`}),` CPU`]}),(0,u.jsxs)(`span`,{children:[e.resources.cpu.used,`m / `,e.resources.cpu.limit,`m`]})]}),(0,u.jsx)(a.Progress,{value:e.resources.cpu.limit>0?Math.min(100,e.resources.cpu.used/e.resources.cpu.limit*100):0,className:`h-1.5`})]}),(0,u.jsxs)(`div`,{className:`space-y-1`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,u.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,u.jsx)(l.HardDrive,{className:`h-3 w-3`}),` Memory`]}),(0,u.jsxs)(`span`,{children:[p(e.resources.memory.used),` / `,p(e.resources.memory.limit)]})]}),(0,u.jsx)(a.Progress,{value:e.resources.memory.limit>0?Math.min(100,e.resources.memory.used/e.resources.memory.limit*100):0,className:`h-1.5`})]})]}),e.ports&&e.ports.length>0&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Ports`}),(0,u.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.ports.map((e,t)=>(0,u.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[e.containerPort,`/`,e.protocol]},t))})]}),(e.reason||e.message)&&(0,u.jsxs)(`div`,{className:`text-xs`,children:[e.reason&&(0,u.jsx)(`div`,{className:`font-medium text-yellow-500`,children:e.reason}),e.message&&(0,u.jsx)(`div`,{className:`text-muted-foreground`,children:e.message})]}),e.startedAt&&(0,u.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Started: `,e.startedAt.toLocaleString()]})]})]})}function g({pod:e,onViewLogs:a,onExec:c,onDelete:f,onRestart:p,showEvents:g=!0,compact:_=!1,className:v}){let y=d[e.phase],b=y.icon,x=e.containers.filter(e=>e.ready).length,S=e.containers.reduce((e,t)=>e+t.restartCount,0);return(0,u.jsxs)(i.Card,{className:t.cn(y.bgColor,v),children:[(0,u.jsxs)(i.CardHeader,{className:`pb-3`,children:[(0,u.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,u.jsx)(l.Box,{className:`h-5 w-5 text-muted-foreground`}),(0,u.jsxs)(`div`,{children:[(0,u.jsx)(i.CardTitle,{className:`text-base`,children:e.name}),(0,u.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:e.namespace})]})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsxs)(n.Badge,{variant:`outline`,className:y.color,children:[(0,u.jsx)(b,{className:`h-3 w-3 mr-1`}),e.phase]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-1`,children:[p&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,onClick:p,children:(0,u.jsx)(l.RotateCcw,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`Restart Pod`})]})}),f&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0 text-destructive`,onClick:f,children:(0,u.jsx)(l.Trash2,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`Delete Pod`})]})})]})]})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-4 text-sm text-muted-foreground mt-2`,children:[(0,u.jsxs)(`span`,{children:[`Ready: `,x,`/`,e.containers.length]}),(0,u.jsxs)(`span`,{children:[`Restarts: `,S]}),e.nodeName&&(0,u.jsxs)(`span`,{children:[`Node: `,e.nodeName]}),e.startTime&&(0,u.jsxs)(`span`,{children:[`Age: `,m(e.startTime)]})]})]}),(0,u.jsxs)(i.CardContent,{className:`space-y-4`,children:[(e.podIP||e.hostIP)&&(0,u.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[e.podIP&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`span`,{className:`text-muted-foreground`,children:`Pod IP: `}),(0,u.jsx)(`code`,{className:`bg-muted px-1.5 py-0.5 rounded text-xs`,children:e.podIP})]}),e.hostIP&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`span`,{className:`text-muted-foreground`,children:`Host IP: `}),(0,u.jsx)(`code`,{className:`bg-muted px-1.5 py-0.5 rounded text-xs`,children:e.hostIP})]})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsxs)(`div`,{className:`text-sm font-medium`,children:[`Containers (`,e.containers.length,`)`]}),e.containers.map(e=>(0,u.jsx)(h,{container:e,onViewLogs:a,onExec:c},e.name))]}),g&&e.events&&e.events.length>0&&(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsxs)(`div`,{className:`text-sm font-medium flex items-center gap-2`,children:[(0,u.jsx)(l.Activity,{className:`h-4 w-4`}),`Events`]}),(0,u.jsx)(o.ScrollArea,{className:`h-32`,children:(0,u.jsx)(`div`,{className:`space-y-2`,children:e.events.map((e,n)=>(0,u.jsxs)(`div`,{className:t.cn(`text-xs p-2 rounded border`,e.type===`Warning`?`bg-yellow-500/10 border-yellow-500/30`:`bg-muted/50`),children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,u.jsx)(`span`,{className:`font-medium`,children:e.reason}),(0,u.jsx)(`span`,{className:`text-muted-foreground`,children:m(e.timestamp)})]}),(0,u.jsx)(`div`,{className:`text-muted-foreground`,children:e.message})]},n))})})]}),e.labels&&Object.keys(e.labels).length>0&&!_&&(0,u.jsxs)(`div`,{className:`space-y-1`,children:[(0,u.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Labels`}),(0,u.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[Object.entries(e.labels).slice(0,5).map(([e,t])=>(0,u.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[e,`: `,t]},e)),Object.keys(e.labels).length>5&&(0,u.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[`+`,Object.keys(e.labels).length-5,` more`]})]})]})]})]})}var _={name:`api-server-7d8f9b6c4d-x2k9l`,namespace:`default`,phase:`Running`,nodeName:`node-2`,podIP:`10.244.1.15`,hostIP:`192.168.1.10`,startTime:new Date(Date.now()-120*36e5),containers:[{name:`api`,image:`myapp/api:v1.2.3`,state:`running`,ready:!0,restartCount:0,startedAt:new Date(Date.now()-120*36e5),resources:{cpu:{used:150,limit:500},memory:{used:256*1024*1024,limit:512*1024*1024}},ports:[{containerPort:8080,protocol:`TCP`},{containerPort:9090,protocol:`TCP`}]},{name:`sidecar`,image:`envoyproxy/envoy:v1.28`,state:`running`,ready:!0,restartCount:1,startedAt:new Date(Date.now()-120*36e5),resources:{cpu:{used:50,limit:200},memory:{used:64*1024*1024,limit:128*1024*1024}}}],events:[{type:`Normal`,reason:`Scheduled`,message:`Successfully assigned default/api-server-7d8f9b6c4d-x2k9l to node-2`,timestamp:new Date(Date.now()-120*36e5)},{type:`Normal`,reason:`Pulled`,message:`Container image "myapp/api:v1.2.3" already present on machine`,timestamp:new Date(Date.now()-120*36e5)},{type:`Normal`,reason:`Started`,message:`Started container api`,timestamp:new Date(Date.now()-120*36e5)}],labels:{app:`api-server`,version:`v1.2.3`,environment:`production`}};exports.WakaPodCard=g,exports.defaultPodDetails=_;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../badge/index.cjs.js"),r=require("../button/index.cjs.js"),i=require("../card/index.cjs.js"),a=require("../progress/index.cjs.js"),o=require("../scroll-area/index.cjs.js"),s=require("../tooltip/index.cjs.js");let c=require("react");c=e.__toESM(c);let l=require("lucide-react"),u=require("react/jsx-runtime");var d={Running:{color:`text-green-500`,bgColor:`bg-green-500/10`,icon:l.CheckCircle2},Pending:{color:`text-yellow-500`,bgColor:`bg-yellow-500/10`,icon:l.Clock},Succeeded:{color:`text-blue-500`,bgColor:`bg-blue-500/10`,icon:l.CheckCircle2},Failed:{color:`text-red-500`,bgColor:`bg-red-500/10`,icon:l.XCircle},Unknown:{color:`text-gray-500`,bgColor:`bg-gray-500/10`,icon:l.AlertTriangle}},f={running:{color:`text-green-500`,label:`Running`},waiting:{color:`text-yellow-500`,label:`Waiting`},terminated:{color:`text-gray-500`,label:`Terminated`}};function p(e){if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(1))+` `+n[r]}function m(e){if(!e)return`-`;let t=Date.now()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i}d ago`:r>0?`${r}h ago`:`${n}m ago`}function h({container:e,onViewLogs:i,onExec:o}){let d=f[e.state],[m,h]=c.useState(!1);return(0,u.jsxs)(`div`,{className:`border rounded-lg overflow-hidden`,children:[(0,u.jsxs)(`div`,{className:t.cn(`flex items-center gap-3 p-3 cursor-pointer hover:bg-muted/50 transition-colors`,!e.ready&&`bg-yellow-500/5`),onClick:()=>h(!m),children:[(0,u.jsx)(`button`,{className:`text-muted-foreground`,children:m?(0,u.jsx)(l.ChevronDown,{className:`h-4 w-4`}):(0,u.jsx)(l.ChevronRight,{className:`h-4 w-4`})}),(0,u.jsx)(l.Container,{className:`h-4 w-4 text-muted-foreground`}),(0,u.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,u.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,u.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.image})]}),(0,u.jsx)(n.Badge,{variant:`outline`,className:d.color,children:d.label}),e.restartCount>0&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{children:(0,u.jsxs)(n.Badge,{variant:`secondary`,className:`text-xs`,children:[(0,u.jsx)(l.RotateCcw,{className:`h-3 w-3 mr-1`}),e.restartCount]})}),(0,u.jsx)(s.TooltipContent,{children:`Restart count`})]})}),(0,u.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:t=>{t.stopPropagation(),i?.(e.name)},children:(0,u.jsx)(l.FileText,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`View Logs`})]})}),e.state===`running`&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:t=>{t.stopPropagation(),o?.(e.name)},children:(0,u.jsx)(l.Terminal,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`Open Terminal`})]})})]})]}),m&&(0,u.jsxs)(`div`,{className:`border-t bg-muted/20 p-3 space-y-3`,children:[e.resources&&(0,u.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,u.jsxs)(`div`,{className:`space-y-1`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,u.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,u.jsx)(l.Cpu,{className:`h-3 w-3`}),` CPU`]}),(0,u.jsxs)(`span`,{children:[e.resources.cpu.used,`m / `,e.resources.cpu.limit,`m`]})]}),(0,u.jsx)(a.Progress,{value:e.resources.cpu.limit>0?Math.min(100,e.resources.cpu.used/e.resources.cpu.limit*100):0,className:`h-1.5`})]}),(0,u.jsxs)(`div`,{className:`space-y-1`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,u.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,u.jsx)(l.HardDrive,{className:`h-3 w-3`}),` Memory`]}),(0,u.jsxs)(`span`,{children:[p(e.resources.memory.used),` / `,p(e.resources.memory.limit)]})]}),(0,u.jsx)(a.Progress,{value:e.resources.memory.limit>0?Math.min(100,e.resources.memory.used/e.resources.memory.limit*100):0,className:`h-1.5`})]})]}),e.ports&&e.ports.length>0&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Ports`}),(0,u.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.ports.map((e,t)=>(0,u.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[e.containerPort,`/`,e.protocol]},t))})]}),(e.reason||e.message)&&(0,u.jsxs)(`div`,{className:`text-xs`,children:[e.reason&&(0,u.jsx)(`div`,{className:`font-medium text-yellow-500`,children:e.reason}),e.message&&(0,u.jsx)(`div`,{className:`text-muted-foreground`,children:e.message})]}),e.startedAt&&(0,u.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Started: `,e.startedAt.toLocaleString()]})]})]})}function g({pod:e,onViewLogs:a,onExec:c,onDelete:f,onRestart:p,showEvents:g=!0,compact:_=!1,className:v}){let y=d[e.phase],b=y.icon,x=e.containers.filter(e=>e.ready).length,S=e.containers.reduce((e,t)=>e+t.restartCount,0);return(0,u.jsxs)(i.Card,{className:t.cn(y.bgColor,v),children:[(0,u.jsxs)(i.CardHeader,{className:`pb-3`,children:[(0,u.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,u.jsx)(l.Box,{className:`h-5 w-5 text-muted-foreground`}),(0,u.jsxs)(`div`,{children:[(0,u.jsx)(i.CardTitle,{className:`text-base`,children:e.name}),(0,u.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:e.namespace})]})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsxs)(n.Badge,{variant:`outline`,className:y.color,children:[(0,u.jsx)(b,{className:`h-3 w-3 mr-1`}),e.phase]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-1`,children:[p&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,onClick:p,children:(0,u.jsx)(l.RotateCcw,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`Restart Pod`})]})}),f&&(0,u.jsx)(s.TooltipProvider,{children:(0,u.jsxs)(s.Tooltip,{children:[(0,u.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,u.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0 text-destructive`,onClick:f,children:(0,u.jsx)(l.Trash2,{className:`h-4 w-4`})})}),(0,u.jsx)(s.TooltipContent,{children:`Delete Pod`})]})})]})]})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-4 text-sm text-muted-foreground mt-2`,children:[(0,u.jsxs)(`span`,{children:[`Ready: `,x,`/`,e.containers.length]}),(0,u.jsxs)(`span`,{children:[`Restarts: `,S]}),e.nodeName&&(0,u.jsxs)(`span`,{children:[`Node: `,e.nodeName]}),e.startTime&&(0,u.jsxs)(`span`,{children:[`Age: `,m(e.startTime)]})]})]}),(0,u.jsxs)(i.CardContent,{className:`space-y-4`,children:[(e.podIP||e.hostIP)&&(0,u.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[e.podIP&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`span`,{className:`text-muted-foreground`,children:`Pod IP: `}),(0,u.jsx)(`code`,{className:`bg-muted px-1.5 py-0.5 rounded text-xs`,children:e.podIP})]}),e.hostIP&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`span`,{className:`text-muted-foreground`,children:`Host IP: `}),(0,u.jsx)(`code`,{className:`bg-muted px-1.5 py-0.5 rounded text-xs`,children:e.hostIP})]})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsxs)(`div`,{className:`text-sm font-medium`,children:[`Containers (`,e.containers.length,`)`]}),e.containers.map(e=>(0,u.jsx)(h,{container:e,onViewLogs:a,onExec:c},e.name))]}),g&&e.events&&e.events.length>0&&(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsxs)(`div`,{className:`text-sm font-medium flex items-center gap-2`,children:[(0,u.jsx)(l.Activity,{className:`h-4 w-4`}),`Events`]}),(0,u.jsx)(o.ScrollArea,{className:`h-32`,children:(0,u.jsx)(`div`,{className:`space-y-2`,children:e.events.map((e,n)=>(0,u.jsxs)(`div`,{className:t.cn(`text-xs p-2 rounded border`,e.type===`Warning`?`bg-yellow-500/10 border-yellow-500/30`:`bg-muted/50`),children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,u.jsx)(`span`,{className:`font-medium`,children:e.reason}),(0,u.jsx)(`span`,{className:`text-muted-foreground`,children:m(e.timestamp)})]}),(0,u.jsx)(`div`,{className:`text-muted-foreground`,children:e.message})]},n))})})]}),e.labels&&Object.keys(e.labels).length>0&&!_&&(0,u.jsxs)(`div`,{className:`space-y-1`,children:[(0,u.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Labels`}),(0,u.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[Object.entries(e.labels).slice(0,5).map(([e,t])=>(0,u.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[e,`: `,t]},e)),Object.keys(e.labels).length>5&&(0,u.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[`+`,Object.keys(e.labels).length-5,` more`]})]})]})]})]})}var _={name:`api-server-7d8f9b6c4d-x2k9l`,namespace:`default`,phase:`Running`,nodeName:`node-2`,podIP:`10.244.1.15`,hostIP:`192.168.1.10`,startTime:new Date(Date.now()-120*36e5),containers:[{name:`api`,image:`myapp/api:v1.2.3`,state:`running`,ready:!0,restartCount:0,startedAt:new Date(Date.now()-120*36e5),resources:{cpu:{used:150,limit:500},memory:{used:256*1024*1024,limit:512*1024*1024}},ports:[{containerPort:8080,protocol:`TCP`},{containerPort:9090,protocol:`TCP`}]},{name:`sidecar`,image:`envoyproxy/envoy:v1.28`,state:`running`,ready:!0,restartCount:1,startedAt:new Date(Date.now()-120*36e5),resources:{cpu:{used:50,limit:200},memory:{used:64*1024*1024,limit:128*1024*1024}}}],events:[{type:`Normal`,reason:`Scheduled`,message:`Successfully assigned default/api-server-7d8f9b6c4d-x2k9l to node-2`,timestamp:new Date(Date.now()-120*36e5)},{type:`Normal`,reason:`Pulled`,message:`Container image "myapp/api:v1.2.3" already present on machine`,timestamp:new Date(Date.now()-120*36e5)},{type:`Normal`,reason:`Started`,message:`Started container api`,timestamp:new Date(Date.now()-120*36e5)}],labels:{app:`api-server`,version:`v1.2.3`,environment:`production`}};exports.WakaPodCard=g,exports.defaultPodDetails=_;
@@ -59,7 +59,7 @@ function N(e) {
59
59
  "MB",
60
60
  "GB"
61
61
  ], r = Math.floor(Math.log(e) / Math.log(t));
62
- return parseFloat((e / t ** +r).toFixed(1)) + " " + n[r];
62
+ return parseFloat((e / t ** r).toFixed(1)) + " " + n[r];
63
63
  }
64
64
  function P(e) {
65
65
  if (!e) return "-";
@@ -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(`class-variance-authority`),i=require(`react/jsx-runtime`);var a=(0,r.cva)(`pointer-events-none select-none font-bold tabular-nums`,{variants:{size:{sm:`text-sm`,md:`text-lg`,lg:`text-2xl`}},defaultVariants:{size:`md`}});function o(){return`popup-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function s(e,t){return t||(e>0?`rgb(34, 197, 94)`:e<0?`rgb(239, 68, 68)`:`rgb(156, 163, 175)`)}function c(e,t){let n=`${e>0?`+`:``}${e}`;return t?`${n} ${t}`:n}function l(e,t){return{sm:.8,md:1,lg:1.2}[e]*Math.min(1+Math.log10(Math.max(t,1))*.1,1.5)}var u=n.forwardRef(({points:e,x:r,y:o,color:u,duration:d=1e3,onComplete:f,size:p=`md`,prefix:m,icon:h,className:g,style:_,...v},y)=>{let[b,x]=n.useState(!0),[S,C]=n.useState(1),[w,T]=n.useState(0),E=n.useRef(null),D=n.useRef(null),O=s(e,u),k=l(p,Math.abs(e)),A=c(e,m),j=60+d/1e3*20;if(n.useEffect(()=>{let e=t=>{D.current||=t;let n=t-D.current,r=Math.min(n/d,1),i=1-(1-r)**3;T(-j*i),r>.6&&C(1-(r-.6)/.4),r<1?E.current=requestAnimationFrame(e):(x(!1),f?.())};return E.current=requestAnimationFrame(e),()=>{E.current&&cancelAnimationFrame(E.current)}},[d,j,f]),!b)return null;let M={position:`absolute`,left:r===void 0?`50%`:r,top:o===void 0?`50%`:o,transform:`translate(-50%, -50%) translateY(${w}px) scale(${k})`,opacity:S,color:O,textShadow:`0 2px 8px ${O}40, 0 1px 2px rgba(0,0,0,0.3)`,willChange:`transform, opacity`,..._};return(0,i.jsx)(`div`,{ref:y,className:t.cn(a({size:p}),g),style:M,"aria-live":`polite`,"aria-atomic":`true`,role:`status`,...v,children:(0,i.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[h&&(0,i.jsx)(`span`,{className:`flex-shrink-0`,children:h}),(0,i.jsx)(`span`,{children:A})]})})});u.displayName=`WakaPointsPopup`;function d(){let[e,t]=n.useState([]),r=n.useCallback((e,n={})=>{let r={id:o(),points:e,x:n.x??50,y:n.y??50,color:n.color,duration:n.duration??1e3,size:n.size??`md`,prefix:n.prefix,icon:n.icon};t(e=>[...e,r])},[]),a=n.useCallback(e=>{t(t=>t.filter(t=>t.id!==e))},[]),s=n.useCallback(()=>{t([])},[]);return{trigger:r,PopupContainer:n.useCallback(()=>(0,i.jsx)(`div`,{className:`pointer-events-none fixed inset-0 z-[9999] overflow-hidden`,"aria-label":`Points notifications`,children:e.map(e=>(0,i.jsx)(u,{points:e.points,x:e.x,y:e.y,color:e.color,duration:e.duration,size:e.size,prefix:e.prefix,icon:e.icon,onComplete:()=>a(e.id),style:{left:`${e.x}%`,top:`${e.y}%`}},e.id))}),[e,a]),clearAll:s}}var f={xp:{color:`rgb(139, 92, 246)`,prefix:`XP`},coins:{color:`rgb(234, 179, 8)`,prefix:``},health:{color:`rgb(239, 68, 68)`,prefix:`HP`},mana:{color:`rgb(59, 130, 246)`,prefix:`MP`},score:{color:`rgb(34, 197, 94)`,prefix:`pts`}};function p(){let{trigger:e,PopupContainer:t,clearAll:r}=d(),i=n.useCallback(t=>(n,r={})=>{e(n,{...r,color:t.color,prefix:t.prefix,icon:t.icon})},[e]);return{trigger:e,PopupContainer:t,clearAll:r,triggerXP:i(f.xp),triggerCoins:i(f.coins),triggerHealth:i(f.health),triggerMana:i(f.mana),triggerScore:i(f.score)}}exports.POINTS_PRESETS=f,exports.WakaPointsPopup=u,exports.usePointsPopup=d,exports.usePointsPopupWithPresets=p;
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("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`pointer-events-none select-none font-bold tabular-nums`,{variants:{size:{sm:`text-sm`,md:`text-lg`,lg:`text-2xl`}},defaultVariants:{size:`md`}});function o(){return`popup-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function s(e,t){return t||(e>0?`rgb(34, 197, 94)`:e<0?`rgb(239, 68, 68)`:`rgb(156, 163, 175)`)}function c(e,t){let n=`${e>0?`+`:``}${e}`;return t?`${n} ${t}`:n}function l(e,t){return{sm:.8,md:1,lg:1.2}[e]*Math.min(1+Math.log10(Math.max(t,1))*.1,1.5)}var u=n.forwardRef(({points:e,x:r,y:o,color:u,duration:d=1e3,onComplete:f,size:p=`md`,prefix:m,icon:h,className:g,style:_,...v},y)=>{let[b,x]=n.useState(!0),[S,C]=n.useState(1),[w,T]=n.useState(0),E=n.useRef(null),D=n.useRef(null),O=s(e,u),k=l(p,Math.abs(e)),A=c(e,m),j=60+d/1e3*20;if(n.useEffect(()=>{let e=t=>{D.current||=t;let n=t-D.current,r=Math.min(n/d,1),i=1-(1-r)**3;if(T(-j*i),r>.6){let e=(r-.6)/.4;C(1-e)}r<1?E.current=requestAnimationFrame(e):(x(!1),f?.())};return E.current=requestAnimationFrame(e),()=>{E.current&&cancelAnimationFrame(E.current)}},[d,j,f]),!b)return null;let M={position:`absolute`,left:r===void 0?`50%`:r,top:o===void 0?`50%`:o,transform:`translate(-50%, -50%) translateY(${w}px) scale(${k})`,opacity:S,color:O,textShadow:`0 2px 8px ${O}40, 0 1px 2px rgba(0,0,0,0.3)`,willChange:`transform, opacity`,..._};return(0,i.jsx)(`div`,{ref:y,className:t.cn(a({size:p}),g),style:M,"aria-live":`polite`,"aria-atomic":`true`,role:`status`,...v,children:(0,i.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[h&&(0,i.jsx)(`span`,{className:`flex-shrink-0`,children:h}),(0,i.jsx)(`span`,{children:A})]})})});u.displayName=`WakaPointsPopup`;function d(){let[e,t]=n.useState([]),r=n.useCallback((e,n={})=>{let r={id:o(),points:e,x:n.x??50,y:n.y??50,color:n.color,duration:n.duration??1e3,size:n.size??`md`,prefix:n.prefix,icon:n.icon};t(e=>[...e,r])},[]),a=n.useCallback(e=>{t(t=>t.filter(t=>t.id!==e))},[]),s=n.useCallback(()=>{t([])},[]);return{trigger:r,PopupContainer:n.useCallback(()=>(0,i.jsx)(`div`,{className:`pointer-events-none fixed inset-0 z-[9999] overflow-hidden`,"aria-label":`Points notifications`,children:e.map(e=>(0,i.jsx)(u,{points:e.points,x:e.x,y:e.y,color:e.color,duration:e.duration,size:e.size,prefix:e.prefix,icon:e.icon,onComplete:()=>a(e.id),style:{left:`${e.x}%`,top:`${e.y}%`}},e.id))}),[e,a]),clearAll:s}}var f={xp:{color:`rgb(139, 92, 246)`,prefix:`XP`},coins:{color:`rgb(234, 179, 8)`,prefix:``},health:{color:`rgb(239, 68, 68)`,prefix:`HP`},mana:{color:`rgb(59, 130, 246)`,prefix:`MP`},score:{color:`rgb(34, 197, 94)`,prefix:`pts`}};function p(){let{trigger:e,PopupContainer:t,clearAll:r}=d(),i=n.useCallback(t=>(n,r={})=>{e(n,{...r,color:t.color,prefix:t.prefix,icon:t.icon})},[e]);return{trigger:e,PopupContainer:t,clearAll:r,triggerXP:i(f.xp),triggerCoins:i(f.coins),triggerHealth:i(f.health),triggerMana:i(f.mana),triggerScore:i(f.score)}}exports.POINTS_PRESETS=f,exports.WakaPointsPopup=u,exports.usePointsPopup=d,exports.usePointsPopupWithPresets=p;
@@ -36,7 +36,11 @@ var u = t.forwardRef(({ points: n, x: o, y: u, color: d, duration: f = 1e3, onCo
36
36
  let e = (t) => {
37
37
  O.current ||= t;
38
38
  let n = t - O.current, r = Math.min(n / f, 1), i = 1 - (1 - r) ** 3;
39
- E(-M * i), r > .6 && w(1 - (r - .6) / .4), r < 1 ? D.current = requestAnimationFrame(e) : (S(!1), p?.());
39
+ if (E(-M * i), r > .6) {
40
+ let e = (r - .6) / .4;
41
+ w(1 - e);
42
+ }
43
+ r < 1 ? D.current = requestAnimationFrame(e) : (S(!1), p?.());
40
44
  };
41
45
  return D.current = requestAnimationFrame(e), () => {
42
46
  D.current && cancelAnimationFrame(D.current);
@@ -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={speed:{icon:r.Zap,color:`#fbbf24`,gradient:`from-yellow-400 via-amber-500 to-orange-500`},shield:{icon:r.Shield,color:`#3b82f6`,gradient:`from-blue-400 via-blue-500 to-indigo-600`},damage:{icon:r.Flame,color:`#ef4444`,gradient:`from-red-400 via-red-500 to-orange-600`},time:{icon:r.Clock,color:`#8b5cf6`,gradient:`from-purple-400 via-violet-500 to-indigo-500`},star:{icon:r.Star,color:`#f59e0b`,gradient:`from-amber-300 via-yellow-400 to-orange-400`},boost:{icon:r.Rocket,color:`#06b6d4`,gradient:`from-cyan-400 via-teal-500 to-emerald-500`},accuracy:{icon:r.Target,color:`#10b981`,gradient:`from-emerald-400 via-green-500 to-teal-500`},health:{icon:r.Heart,color:`#ec4899`,gradient:`from-pink-400 via-rose-500 to-red-400`},coins:{icon:r.Coins,color:`#fcd34d`,gradient:`from-yellow-300 via-amber-400 to-yellow-500`},luck:{icon:r.Sparkles,color:`#a855f7`,gradient:`from-purple-400 via-fuchsia-500 to-pink-500`}},o={sm:{container:`p-2`,icon:`h-6 w-6`,iconContainer:`h-10 w-10`,title:`text-xs font-semibold`,description:`text-[10px]`,multiplier:`text-[10px] px-1.5 py-0.5`,countdown:`text-xs`,stack:`h-4 w-4 text-[10px]`,glowSize:60},md:{container:`p-3`,icon:`h-8 w-8`,iconContainer:`h-14 w-14`,title:`text-sm font-semibold`,description:`text-xs`,multiplier:`text-xs px-2 py-0.5`,countdown:`text-sm`,stack:`h-5 w-5 text-xs`,glowSize:80},lg:{container:`p-4`,icon:`h-10 w-10`,iconContainer:`h-18 w-18`,title:`text-base font-semibold`,description:`text-sm`,multiplier:`text-sm px-2.5 py-1`,countdown:`text-base`,stack:`h-6 w-6 text-sm`,glowSize:100}};function s(e){if(e<=0)return`0s`;let t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}h ${n%60}m`:n>0?`${n}m ${t%60}s`:`${t}s`}function c(e){return e>=1?Number.isInteger(e)?`x${e}`:`x${e.toFixed(1)}`:`+${Math.round((e-1)*100)}%`}function l(e){if(e.type===`custom`)return{icon:e.customIcon||r.Sparkles,color:e.customColor||`#a855f7`,gradient:`from-purple-400 via-fuchsia-500 to-pink-500`};let t=a[e.type];return{...t,color:e.customColor||t.color}}function u({color:e,size:n,intensity:r=.6,pulse:a}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:t.cn(`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full blur-xl`,a&&`animate-power-up-glow`),style:{width:n,height:n,background:`radial-gradient(circle, ${e} 0%, transparent 70%)`,opacity:r}}),(0,i.jsx)(`div`,{className:t.cn(`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full blur-md`,a&&`animate-power-up-glow-inner`),style:{width:n*.6,height:n*.6,background:`radial-gradient(circle, ${e} 0%, transparent 60%)`,opacity:r*.8}})]})}function d({powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,isActivating:s}){let c=o[n],{icon:d,color:f,gradient:p}=l(e);return(0,i.jsxs)(`div`,{className:`relative`,children:[r&&e.isActive&&(0,i.jsx)(u,{color:f,size:c.glowSize,pulse:a}),s&&(0,i.jsx)(`div`,{className:`absolute inset-0 z-20`,children:[...Array(8)].map((e,t)=>(0,i.jsx)(`div`,{className:`absolute left-1/2 top-1/2 animate-activation-burst`,style:{"--angle":`${t/8*360}deg`,"--distance":`${c.glowSize*.8}px`},children:(0,i.jsx)(`div`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:f,boxShadow:`0 0 8px ${f}`}})},t))}),(0,i.jsxs)(`div`,{className:t.cn(`relative z-10 flex items-center justify-center rounded-xl`,`bg-gradient-to-br ${p}`,c.iconContainer,a&&e.isActive&&`animate-power-up-pulse`,s&&`animate-activation-pop`),style:{boxShadow:e.isActive?`0 0 20px ${f}80, 0 0 40px ${f}40, inset 0 1px 0 rgba(255,255,255,0.3)`:`0 0 10px ${f}40`},children:[(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-xl`,style:{background:`radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4) 0%, transparent 50%)`}}),(0,i.jsx)(d,{className:t.cn(c.icon,`text-white drop-shadow-lg relative z-10`)}),e.isActive&&(0,i.jsx)(`div`,{className:`absolute -inset-1 rounded-xl animate-power-up-ring`,style:{border:`2px solid ${f}`,opacity:.6}})]}),e.stackCount&&e.stackCount>1&&(0,i.jsx)(`div`,{className:t.cn(`absolute -right-1 -top-1 z-20 flex items-center justify-center rounded-full bg-white font-bold shadow-lg`,c.stack),style:{color:f},children:e.stackCount})]})}function f({remainingTime:e,totalDuration:n,color:r,size:a}){let c=o[a],l=e/n*100,u=l<20,d=l<10;return(0,i.jsxs)(`div`,{className:`w-full`,children:[(0,i.jsx)(`div`,{className:t.cn(`mb-1 text-center font-mono tabular-nums`,c.countdown,d&&`text-red-500 animate-pulse`,u&&!d&&`text-orange-500`),children:s(e)}),(0,i.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-200`,d&&`animate-pulse`),style:{width:`${l}%`,backgroundColor:d?`#ef4444`:u?`#f97316`:r,boxShadow:`0 0 8px ${d?`#ef4444`:u?`#f97316`:r}80`}})})]})}function p({powerUp:e,size:n,showCountdown:r,showDescription:a,glowEnabled:s,pulseEnabled:u,remainingTime:p,isActivating:m,onClick:h,className:g}){let _=o[n],{color:v,gradient:y}=l(e);return(0,i.jsxs)(`div`,{className:t.cn(`relative overflow-hidden rounded-xl border bg-card transition-all duration-300`,e.isActive&&`ring-2`,h&&`cursor-pointer hover:scale-[1.02] active:scale-[0.98]`,_.container,g),style:{borderColor:e.isActive?`${v}60`:void 0,"--tw-ring-color":v,boxShadow:e.isActive?`0 0 20px ${v}30, inset 0 0 30px ${v}10`:void 0},onClick:h,children:[(0,i.jsx)(`div`,{className:`absolute inset-0 opacity-10`,style:{background:`linear-gradient(135deg, ${v}40 0%, transparent 50%, ${v}20 100%)`}}),(0,i.jsxs)(`div`,{className:`relative z-10 flex gap-3`,children:[(0,i.jsx)(d,{powerUp:e,size:n,glowEnabled:s,pulseEnabled:u,isActivating:m}),(0,i.jsxs)(`div`,{className:`flex flex-1 flex-col justify-center gap-1`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(`span`,{className:t.cn(_.title,`text-foreground`),children:e.name}),(0,i.jsx)(`span`,{className:t.cn(`rounded-full font-bold`,_.multiplier,`bg-gradient-to-r ${y} text-white`),children:c(e.multiplier)})]}),a&&(0,i.jsx)(`p`,{className:t.cn(_.description,`text-muted-foreground line-clamp-2`),children:e.description}),r&&e.isActive&&(0,i.jsx)(`div`,{className:`mt-1`,children:(0,i.jsx)(f,{remainingTime:p,totalDuration:e.duration,color:v,size:n})})]})]}),e.isActive&&(0,i.jsx)(`div`,{className:`absolute inset-0 animate-power-up-shine pointer-events-none`,children:(0,i.jsx)(`div`,{className:`h-full w-[200%] -translate-x-full`,style:{background:`linear-gradient(90deg, transparent 0%, ${v}20 50%, transparent 100%)`}})})]})}function m({powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,remainingTime:u,isActivating:f,onClick:p,className:m}){let h=o[n],{color:g,gradient:_}=l(e),v=u/e.duration*100;return(0,i.jsxs)(`div`,{className:t.cn(`relative inline-flex items-center gap-2 rounded-full border px-3 py-1.5 transition-all duration-300`,p&&`cursor-pointer hover:scale-105 active:scale-95`,m),style:{borderColor:`${g}60`,backgroundColor:`${g}15`,boxShadow:e.isActive?`0 0 15px ${g}40`:void 0},onClick:p,children:[(0,i.jsx)(`svg`,{className:`absolute inset-0 h-full w-full -rotate-90`,style:{opacity:.3},children:(0,i.jsx)(`rect`,{x:`1`,y:`1`,rx:`9999`,ry:`9999`,width:`calc(100% - 2px)`,height:`calc(100% - 2px)`,fill:`none`,stroke:g,strokeWidth:`2`,strokeDasharray:`${v} ${100-v}`,pathLength:`100`})}),(0,i.jsxs)(`div`,{className:`relative`,children:[r&&e.isActive&&(0,i.jsx)(`div`,{className:`absolute -inset-1 rounded-full blur-sm`,style:{backgroundColor:`${g}60`}}),(0,i.jsx)(d,{powerUp:e,size:`sm`,glowEnabled:!1,pulseEnabled:a,isActivating:f})]}),(0,i.jsx)(`span`,{className:t.cn(`font-bold`,h.multiplier,`bg-gradient-to-r ${_} bg-clip-text text-transparent`),children:c(e.multiplier)}),e.isActive&&(0,i.jsx)(`span`,{className:t.cn(`font-mono tabular-nums`,h.countdown,v<20?`text-red-500`:`text-muted-foreground`),children:s(u)})]})}function h({powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,isActivating:o,onClick:s,className:l}){return(0,i.jsx)(`div`,{className:t.cn(`relative inline-block`,s&&`cursor-pointer`,l),onClick:s,title:`${e.name}: ${c(e.multiplier)}`,children:(0,i.jsx)(d,{powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,isActivating:o})})}function g({powerUp:e,size:t=`md`,variant:r=`card`,showCountdown:a=!0,showDescription:o=!0,glowEnabled:s=!0,pulseEnabled:c=!0,onExpire:l,onClick:u,className:d}){let[f,g]=n.useState(e.duration),[_,v]=n.useState(!1),y=n.useRef(e.isActive),b=n.useRef(null);n.useEffect(()=>{e.isActive&&!y.current&&(v(!0),setTimeout(()=>v(!1),600)),y.current=e.isActive},[e.isActive]),n.useEffect(()=>{if(!e.isActive||!e.activatedAt){g(e.duration);return}let t=()=>{let t=Date.now()-e.activatedAt,n=Math.max(0,e.duration-t);g(n),n<=0&&(l?.(e),b.current&&=(clearInterval(b.current),null))};return t(),b.current=setInterval(t,100),()=>{b.current&&=(clearInterval(b.current),null)}},[e.isActive,e.activatedAt,e.duration,l,e]);let x=n.useCallback(()=>{u?.(e)},[u,e]),S={powerUp:e,size:t,glowEnabled:s,pulseEnabled:c,remainingTime:f,isActivating:_,onClick:u?x:void 0,className:d};return(0,i.jsxs)(i.Fragment,{children:[r===`card`&&(0,i.jsx)(p,{...S,showCountdown:a,showDescription:o}),r===`badge`&&(0,i.jsx)(m,{...S}),r===`compact`&&(0,i.jsx)(h,{...S}),(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={speed:{icon:r.Zap,color:`#fbbf24`,gradient:`from-yellow-400 via-amber-500 to-orange-500`},shield:{icon:r.Shield,color:`#3b82f6`,gradient:`from-blue-400 via-blue-500 to-indigo-600`},damage:{icon:r.Flame,color:`#ef4444`,gradient:`from-red-400 via-red-500 to-orange-600`},time:{icon:r.Clock,color:`#8b5cf6`,gradient:`from-purple-400 via-violet-500 to-indigo-500`},star:{icon:r.Star,color:`#f59e0b`,gradient:`from-amber-300 via-yellow-400 to-orange-400`},boost:{icon:r.Rocket,color:`#06b6d4`,gradient:`from-cyan-400 via-teal-500 to-emerald-500`},accuracy:{icon:r.Target,color:`#10b981`,gradient:`from-emerald-400 via-green-500 to-teal-500`},health:{icon:r.Heart,color:`#ec4899`,gradient:`from-pink-400 via-rose-500 to-red-400`},coins:{icon:r.Coins,color:`#fcd34d`,gradient:`from-yellow-300 via-amber-400 to-yellow-500`},luck:{icon:r.Sparkles,color:`#a855f7`,gradient:`from-purple-400 via-fuchsia-500 to-pink-500`}},o={sm:{container:`p-2`,icon:`h-6 w-6`,iconContainer:`h-10 w-10`,title:`text-xs font-semibold`,description:`text-[10px]`,multiplier:`text-[10px] px-1.5 py-0.5`,countdown:`text-xs`,stack:`h-4 w-4 text-[10px]`,glowSize:60},md:{container:`p-3`,icon:`h-8 w-8`,iconContainer:`h-14 w-14`,title:`text-sm font-semibold`,description:`text-xs`,multiplier:`text-xs px-2 py-0.5`,countdown:`text-sm`,stack:`h-5 w-5 text-xs`,glowSize:80},lg:{container:`p-4`,icon:`h-10 w-10`,iconContainer:`h-18 w-18`,title:`text-base font-semibold`,description:`text-sm`,multiplier:`text-sm px-2.5 py-1`,countdown:`text-base`,stack:`h-6 w-6 text-sm`,glowSize:100}};function s(e){if(e<=0)return`0s`;let t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}h ${n%60}m`:n>0?`${n}m ${t%60}s`:`${t}s`}function c(e){return e>=1?Number.isInteger(e)?`x${e}`:`x${e.toFixed(1)}`:`+${Math.round((e-1)*100)}%`}function l(e){if(e.type===`custom`)return{icon:e.customIcon||r.Sparkles,color:e.customColor||`#a855f7`,gradient:`from-purple-400 via-fuchsia-500 to-pink-500`};let t=a[e.type];return{...t,color:e.customColor||t.color}}function u({color:e,size:n,intensity:r=.6,pulse:a}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:t.cn(`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full blur-xl`,a&&`animate-power-up-glow`),style:{width:n,height:n,background:`radial-gradient(circle, ${e} 0%, transparent 70%)`,opacity:r}}),(0,i.jsx)(`div`,{className:t.cn(`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full blur-md`,a&&`animate-power-up-glow-inner`),style:{width:n*.6,height:n*.6,background:`radial-gradient(circle, ${e} 0%, transparent 60%)`,opacity:r*.8}})]})}function d({powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,isActivating:s}){let c=o[n],{icon:d,color:f,gradient:p}=l(e);return(0,i.jsxs)(`div`,{className:`relative`,children:[r&&e.isActive&&(0,i.jsx)(u,{color:f,size:c.glowSize,pulse:a}),s&&(0,i.jsx)(`div`,{className:`absolute inset-0 z-20`,children:[...Array(8)].map((e,t)=>(0,i.jsx)(`div`,{className:`absolute left-1/2 top-1/2 animate-activation-burst`,style:{"--angle":`${t/8*360}deg`,"--distance":`${c.glowSize*.8}px`},children:(0,i.jsx)(`div`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:f,boxShadow:`0 0 8px ${f}`}})},t))}),(0,i.jsxs)(`div`,{className:t.cn(`relative z-10 flex items-center justify-center rounded-xl`,`bg-gradient-to-br ${p}`,c.iconContainer,a&&e.isActive&&`animate-power-up-pulse`,s&&`animate-activation-pop`),style:{boxShadow:e.isActive?`0 0 20px ${f}80, 0 0 40px ${f}40, inset 0 1px 0 rgba(255,255,255,0.3)`:`0 0 10px ${f}40`},children:[(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-xl`,style:{background:`radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4) 0%, transparent 50%)`}}),(0,i.jsx)(d,{className:t.cn(c.icon,`text-white drop-shadow-lg relative z-10`)}),e.isActive&&(0,i.jsx)(`div`,{className:`absolute -inset-1 rounded-xl animate-power-up-ring`,style:{border:`2px solid ${f}`,opacity:.6}})]}),e.stackCount&&e.stackCount>1&&(0,i.jsx)(`div`,{className:t.cn(`absolute -right-1 -top-1 z-20 flex items-center justify-center rounded-full bg-white font-bold shadow-lg`,c.stack),style:{color:f},children:e.stackCount})]})}function f({remainingTime:e,totalDuration:n,color:r,size:a}){let c=o[a],l=e/n*100,u=l<20,d=l<10;return(0,i.jsxs)(`div`,{className:`w-full`,children:[(0,i.jsx)(`div`,{className:t.cn(`mb-1 text-center font-mono tabular-nums`,c.countdown,d&&`text-red-500 animate-pulse`,u&&!d&&`text-orange-500`),children:s(e)}),(0,i.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-200`,d&&`animate-pulse`),style:{width:`${l}%`,backgroundColor:d?`#ef4444`:u?`#f97316`:r,boxShadow:`0 0 8px ${d?`#ef4444`:u?`#f97316`:r}80`}})})]})}function p({powerUp:e,size:n,showCountdown:r,showDescription:a,glowEnabled:s,pulseEnabled:u,remainingTime:p,isActivating:m,onClick:h,className:g}){let _=o[n],{color:v,gradient:y}=l(e);return(0,i.jsxs)(`div`,{className:t.cn(`relative overflow-hidden rounded-xl border bg-card transition-all duration-300`,e.isActive&&`ring-2`,h&&`cursor-pointer hover:scale-[1.02] active:scale-[0.98]`,_.container,g),style:{borderColor:e.isActive?`${v}60`:void 0,"--tw-ring-color":v,boxShadow:e.isActive?`0 0 20px ${v}30, inset 0 0 30px ${v}10`:void 0},onClick:h,children:[(0,i.jsx)(`div`,{className:`absolute inset-0 opacity-10`,style:{background:`linear-gradient(135deg, ${v}40 0%, transparent 50%, ${v}20 100%)`}}),(0,i.jsxs)(`div`,{className:`relative z-10 flex gap-3`,children:[(0,i.jsx)(d,{powerUp:e,size:n,glowEnabled:s,pulseEnabled:u,isActivating:m}),(0,i.jsxs)(`div`,{className:`flex flex-1 flex-col justify-center gap-1`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(`span`,{className:t.cn(_.title,`text-foreground`),children:e.name}),(0,i.jsx)(`span`,{className:t.cn(`rounded-full font-bold`,_.multiplier,`bg-gradient-to-r ${y} text-white`),children:c(e.multiplier)})]}),a&&(0,i.jsx)(`p`,{className:t.cn(_.description,`text-muted-foreground line-clamp-2`),children:e.description}),r&&e.isActive&&(0,i.jsx)(`div`,{className:`mt-1`,children:(0,i.jsx)(f,{remainingTime:p,totalDuration:e.duration,color:v,size:n})})]})]}),e.isActive&&(0,i.jsx)(`div`,{className:`absolute inset-0 animate-power-up-shine pointer-events-none`,children:(0,i.jsx)(`div`,{className:`h-full w-[200%] -translate-x-full`,style:{background:`linear-gradient(90deg, transparent 0%, ${v}20 50%, transparent 100%)`}})})]})}function m({powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,remainingTime:u,isActivating:f,onClick:p,className:m}){let h=o[n],{color:g,gradient:_}=l(e),v=u/e.duration*100;return(0,i.jsxs)(`div`,{className:t.cn(`relative inline-flex items-center gap-2 rounded-full border px-3 py-1.5 transition-all duration-300`,p&&`cursor-pointer hover:scale-105 active:scale-95`,m),style:{borderColor:`${g}60`,backgroundColor:`${g}15`,boxShadow:e.isActive?`0 0 15px ${g}40`:void 0},onClick:p,children:[(0,i.jsx)(`svg`,{className:`absolute inset-0 h-full w-full -rotate-90`,style:{opacity:.3},children:(0,i.jsx)(`rect`,{x:`1`,y:`1`,rx:`9999`,ry:`9999`,width:`calc(100% - 2px)`,height:`calc(100% - 2px)`,fill:`none`,stroke:g,strokeWidth:`2`,strokeDasharray:`${v} ${100-v}`,pathLength:`100`})}),(0,i.jsxs)(`div`,{className:`relative`,children:[r&&e.isActive&&(0,i.jsx)(`div`,{className:`absolute -inset-1 rounded-full blur-sm`,style:{backgroundColor:`${g}60`}}),(0,i.jsx)(d,{powerUp:e,size:`sm`,glowEnabled:!1,pulseEnabled:a,isActivating:f})]}),(0,i.jsx)(`span`,{className:t.cn(`font-bold`,h.multiplier,`bg-gradient-to-r ${_} bg-clip-text text-transparent`),children:c(e.multiplier)}),e.isActive&&(0,i.jsx)(`span`,{className:t.cn(`font-mono tabular-nums`,h.countdown,v<20?`text-red-500`:`text-muted-foreground`),children:s(u)})]})}function h({powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,isActivating:o,onClick:s,className:l}){return(0,i.jsx)(`div`,{className:t.cn(`relative inline-block`,s&&`cursor-pointer`,l),onClick:s,title:`${e.name}: ${c(e.multiplier)}`,children:(0,i.jsx)(d,{powerUp:e,size:n,glowEnabled:r,pulseEnabled:a,isActivating:o})})}function g({powerUp:e,size:t=`md`,variant:r=`card`,showCountdown:a=!0,showDescription:o=!0,glowEnabled:s=!0,pulseEnabled:c=!0,onExpire:l,onClick:u,className:d}){let[f,g]=n.useState(e.duration),[_,v]=n.useState(!1),y=n.useRef(e.isActive),b=n.useRef(null);n.useEffect(()=>{e.isActive&&!y.current&&(v(!0),setTimeout(()=>v(!1),600)),y.current=e.isActive},[e.isActive]),n.useEffect(()=>{if(!e.isActive||!e.activatedAt){g(e.duration);return}let t=()=>{let t=Date.now()-e.activatedAt,n=Math.max(0,e.duration-t);g(n),n<=0&&(l?.(e),b.current&&=(clearInterval(b.current),null))};return t(),b.current=setInterval(t,100),()=>{b.current&&=(clearInterval(b.current),null)}},[e.isActive,e.activatedAt,e.duration,l,e]);let x=n.useCallback(()=>{u?.(e)},[u,e]),S={powerUp:e,size:t,glowEnabled:s,pulseEnabled:c,remainingTime:f,isActivating:_,onClick:u?x:void 0,className:d};return(0,i.jsxs)(i.Fragment,{children:[r===`card`&&(0,i.jsx)(p,{...S,showCountdown:a,showDescription:o}),r===`badge`&&(0,i.jsx)(m,{...S}),r===`compact`&&(0,i.jsx)(h,{...S}),(0,i.jsx)(`style`,{children:`
2
2
  @keyframes power-up-glow {
3
3
  0%, 100% {
4
4
  opacity: 0.4;
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../avatar/index.cjs.js`),r=require(`../dropdown-menu/index.cjs.js`);let i=require(`react`);i=e.__toESM(i);let a=require(`lucide-react`),o=require(`react/jsx-runtime`);function s(e){let t=new Date().getTime()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i}d`:r>0?`${r}h`:n>0?`${n}m`:`Just now`}function c(e){let t=new Date().getTime()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i} day${i>1?`s`:``} ago`:r>0?`${r} hour${r>1?`s`:``} ago`:n>0?`${n} minute${n>1?`s`:``} ago`:`Just now`}function l(e={}){let{initialState:t,onStatusChange:n,autoAwayTimeout:r,persistKey:a}=e,[o,l]=i.useState(()=>{if(a&&typeof window<`u`){let e=localStorage.getItem(a);if(e)try{let t=JSON.parse(e);return{status:t.status||`offline`,customMessage:t.customMessage,updatedAt:t.updatedAt?new Date(t.updatedAt):new Date,lastSeen:t.lastSeen?new Date(t.lastSeen):void 0,doNotDisturb:t.doNotDisturb||!1}}catch{}}return{status:t?.status||`offline`,customMessage:t?.customMessage,updatedAt:t?.updatedAt||new Date,lastSeen:t?.lastSeen,doNotDisturb:t?.doNotDisturb||!1}}),u=i.useRef(void 0),d=i.useRef(Date.now());return i.useEffect(()=>{a&&typeof window<`u`&&localStorage.setItem(a,JSON.stringify({status:o.status,customMessage:o.customMessage,updatedAt:o.updatedAt?.toISOString(),lastSeen:o.lastSeen?.toISOString(),doNotDisturb:o.doNotDisturb}))},[o,a]),i.useEffect(()=>{if(!r||o.status!==`online`)return;let e=()=>{d.current=Date.now(),o.status===`away`&&l(e=>({...e,status:`online`,updatedAt:new Date}))};return window.addEventListener(`mousemove`,e),window.addEventListener(`keydown`,e),window.addEventListener(`click`,e),window.addEventListener(`scroll`,e),u.current=setInterval(()=>{Date.now()-d.current>=r&&o.status===`online`&&l(e=>({...e,status:`away`,updatedAt:new Date}))},1e4),()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`keydown`,e),window.removeEventListener(`click`,e),window.removeEventListener(`scroll`,e),u.current&&clearInterval(u.current)}},[r,o.status]),{presence:o,setStatus:i.useCallback(e=>{l(t=>({...t,status:e,updatedAt:new Date,lastSeen:t.status!==`offline`&&e===`offline`?new Date:t.lastSeen})),n?.(e)},[n]),setCustomMessage:i.useCallback(e=>{l(t=>({...t,customMessage:e}))},[]),toggleDoNotDisturb:i.useCallback(()=>{l(e=>({...e,doNotDisturb:!e.doNotDisturb}))},[]),setPresence:i.useCallback(e=>{l(t=>({...t,...e,updatedAt:e.status===t.status?t.updatedAt:new Date})),e.status&&e.status!==o.status&&n?.(e.status)},[n,o.status]),getStatusDuration:i.useCallback(()=>o.updatedAt?s(o.updatedAt):null,[o.updatedAt]),getLastSeen:i.useCallback(()=>o.lastSeen?c(o.lastSeen):null,[o.lastSeen])}}var u={online:{label:`Online`,color:`bg-green-500`,bgColor:`bg-green-500/20`,ringColor:`ring-green-500/50`,icon:a.Circle},away:{label:`Away`,color:`bg-yellow-500`,bgColor:`bg-yellow-500/20`,ringColor:`ring-yellow-500/50`,icon:a.Clock},busy:{label:`Busy`,color:`bg-red-500`,bgColor:`bg-red-500/20`,ringColor:`ring-red-500/50`,icon:a.MinusCircle},offline:{label:`Offline`,color:`bg-gray-400`,bgColor:`bg-gray-400/20`,ringColor:`ring-gray-400/50`,icon:a.Circle},invisible:{label:`Invisible`,color:`bg-gray-400`,bgColor:`bg-gray-400/20`,ringColor:`ring-gray-400/50`,icon:a.EyeOff}},d={xs:{dot:`h-2 w-2`,dotPosition:`-bottom-0 -right-0`,avatar:`h-6 w-6`,text:`text-xs`,icon:`h-2 w-2`,ring:`ring-1`,padding:`p-0.5`},sm:{dot:`h-2.5 w-2.5`,dotPosition:`-bottom-0.5 -right-0.5`,avatar:`h-8 w-8`,text:`text-xs`,icon:`h-2.5 w-2.5`,ring:`ring-2`,padding:`p-0.5`},md:{dot:`h-3 w-3`,dotPosition:`-bottom-0.5 -right-0.5`,avatar:`h-10 w-10`,text:`text-sm`,icon:`h-3 w-3`,ring:`ring-2`,padding:`p-1`},lg:{dot:`h-4 w-4`,dotPosition:`-bottom-1 -right-1`,avatar:`h-12 w-12`,text:`text-base`,icon:`h-3.5 w-3.5`,ring:`ring-2`,padding:`p-1`},xl:{dot:`h-5 w-5`,dotPosition:`-bottom-1 -right-1`,avatar:`h-16 w-16`,text:`text-lg`,icon:`h-4 w-4`,ring:`ring-[3px]`,padding:`p-1.5`}};function f({status:e,size:n=`md`,pulse:r=!0,doNotDisturb:i=!1,className:a}){let s=u[e],c=d[n],l=r&&e===`online`&&!i;return(0,o.jsxs)(`div`,{className:t.cn(`relative inline-flex`,a),children:[l&&(0,o.jsx)(`span`,{className:t.cn(`absolute inset-0 rounded-full animate-presence-ping`,s.color,`opacity-75`)}),(0,o.jsx)(`span`,{className:t.cn(`relative inline-flex rounded-full`,c.dot,s.color,i&&`ring-1 ring-background`),children:i&&(0,o.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,o.jsx)(`span`,{className:`h-[1px] w-2/3 bg-background rounded-full`})})}),(0,o.jsx)(`style`,{children:`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../avatar/index.cjs.js"),r=require("../dropdown-menu/index.cjs.js");let i=require("react");i=e.__toESM(i);let a=require("lucide-react"),o=require("react/jsx-runtime");function s(e){let t=new Date().getTime()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i}d`:r>0?`${r}h`:n>0?`${n}m`:`Just now`}function c(e){let t=new Date().getTime()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i} day${i>1?`s`:``} ago`:r>0?`${r} hour${r>1?`s`:``} ago`:n>0?`${n} minute${n>1?`s`:``} ago`:`Just now`}function l(e={}){let{initialState:t,onStatusChange:n,autoAwayTimeout:r,persistKey:a}=e,[o,l]=i.useState(()=>{if(a&&typeof window<`u`){let e=localStorage.getItem(a);if(e)try{let t=JSON.parse(e);return{status:t.status||`offline`,customMessage:t.customMessage,updatedAt:t.updatedAt?new Date(t.updatedAt):new Date,lastSeen:t.lastSeen?new Date(t.lastSeen):void 0,doNotDisturb:t.doNotDisturb||!1}}catch{}}return{status:t?.status||`offline`,customMessage:t?.customMessage,updatedAt:t?.updatedAt||new Date,lastSeen:t?.lastSeen,doNotDisturb:t?.doNotDisturb||!1}}),u=i.useRef(void 0),d=i.useRef(Date.now());return i.useEffect(()=>{a&&typeof window<`u`&&localStorage.setItem(a,JSON.stringify({status:o.status,customMessage:o.customMessage,updatedAt:o.updatedAt?.toISOString(),lastSeen:o.lastSeen?.toISOString(),doNotDisturb:o.doNotDisturb}))},[o,a]),i.useEffect(()=>{if(!r||o.status!==`online`)return;let e=()=>{d.current=Date.now(),o.status===`away`&&l(e=>({...e,status:`online`,updatedAt:new Date}))};return window.addEventListener(`mousemove`,e),window.addEventListener(`keydown`,e),window.addEventListener(`click`,e),window.addEventListener(`scroll`,e),u.current=setInterval(()=>{Date.now()-d.current>=r&&o.status===`online`&&l(e=>({...e,status:`away`,updatedAt:new Date}))},1e4),()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`keydown`,e),window.removeEventListener(`click`,e),window.removeEventListener(`scroll`,e),u.current&&clearInterval(u.current)}},[r,o.status]),{presence:o,setStatus:i.useCallback(e=>{l(t=>({...t,status:e,updatedAt:new Date,lastSeen:t.status!==`offline`&&e===`offline`?new Date:t.lastSeen})),n?.(e)},[n]),setCustomMessage:i.useCallback(e=>{l(t=>({...t,customMessage:e}))},[]),toggleDoNotDisturb:i.useCallback(()=>{l(e=>({...e,doNotDisturb:!e.doNotDisturb}))},[]),setPresence:i.useCallback(e=>{l(t=>({...t,...e,updatedAt:e.status===t.status?t.updatedAt:new Date})),e.status&&e.status!==o.status&&n?.(e.status)},[n,o.status]),getStatusDuration:i.useCallback(()=>o.updatedAt?s(o.updatedAt):null,[o.updatedAt]),getLastSeen:i.useCallback(()=>o.lastSeen?c(o.lastSeen):null,[o.lastSeen])}}var u={online:{label:`Online`,color:`bg-green-500`,bgColor:`bg-green-500/20`,ringColor:`ring-green-500/50`,icon:a.Circle},away:{label:`Away`,color:`bg-yellow-500`,bgColor:`bg-yellow-500/20`,ringColor:`ring-yellow-500/50`,icon:a.Clock},busy:{label:`Busy`,color:`bg-red-500`,bgColor:`bg-red-500/20`,ringColor:`ring-red-500/50`,icon:a.MinusCircle},offline:{label:`Offline`,color:`bg-gray-400`,bgColor:`bg-gray-400/20`,ringColor:`ring-gray-400/50`,icon:a.Circle},invisible:{label:`Invisible`,color:`bg-gray-400`,bgColor:`bg-gray-400/20`,ringColor:`ring-gray-400/50`,icon:a.EyeOff}},d={xs:{dot:`h-2 w-2`,dotPosition:`-bottom-0 -right-0`,avatar:`h-6 w-6`,text:`text-xs`,icon:`h-2 w-2`,ring:`ring-1`,padding:`p-0.5`},sm:{dot:`h-2.5 w-2.5`,dotPosition:`-bottom-0.5 -right-0.5`,avatar:`h-8 w-8`,text:`text-xs`,icon:`h-2.5 w-2.5`,ring:`ring-2`,padding:`p-0.5`},md:{dot:`h-3 w-3`,dotPosition:`-bottom-0.5 -right-0.5`,avatar:`h-10 w-10`,text:`text-sm`,icon:`h-3 w-3`,ring:`ring-2`,padding:`p-1`},lg:{dot:`h-4 w-4`,dotPosition:`-bottom-1 -right-1`,avatar:`h-12 w-12`,text:`text-base`,icon:`h-3.5 w-3.5`,ring:`ring-2`,padding:`p-1`},xl:{dot:`h-5 w-5`,dotPosition:`-bottom-1 -right-1`,avatar:`h-16 w-16`,text:`text-lg`,icon:`h-4 w-4`,ring:`ring-[3px]`,padding:`p-1.5`}};function f({status:e,size:n=`md`,pulse:r=!0,doNotDisturb:i=!1,className:a}){let s=u[e],c=d[n],l=r&&e===`online`&&!i;return(0,o.jsxs)(`div`,{className:t.cn(`relative inline-flex`,a),children:[l&&(0,o.jsx)(`span`,{className:t.cn(`absolute inset-0 rounded-full animate-presence-ping`,s.color,`opacity-75`)}),(0,o.jsx)(`span`,{className:t.cn(`relative inline-flex rounded-full`,c.dot,s.color,i&&`ring-1 ring-background`),children:i&&(0,o.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,o.jsx)(`span`,{className:`h-[1px] w-2/3 bg-background rounded-full`})})}),(0,o.jsx)(`style`,{children:`
2
2
  @keyframes presence-ping {
3
3
  0% {
4
4
  transform: scale(1);
@@ -12,4 +12,4 @@
12
12
  .animate-presence-ping {
13
13
  animation: presence-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
14
14
  }
15
- `})]})}function p({src:e,fallback:r,alt:i,status:a,size:s=`md`,pulse:c=!0,doNotDisturb:l=!1,className:p,showRing:m=!1,onClick:h}){let g=u[a],_=d[s];return(0,o.jsxs)(`div`,{className:t.cn(`relative inline-flex`,h&&`cursor-pointer`,p),onClick:h,children:[(0,o.jsxs)(n.Avatar,{className:t.cn(_.avatar,m&&[_.ring,`ring-offset-2 ring-offset-background`,g.ringColor]),children:[e&&(0,o.jsx)(n.AvatarImage,{src:e,alt:i||`User avatar`}),(0,o.jsx)(n.AvatarFallback,{className:`text-xs font-medium`,children:r||`?`})]}),(0,o.jsx)(`span`,{className:t.cn(`absolute flex items-center justify-center rounded-full ring-2 ring-background`,_.dot,_.dotPosition),children:(0,o.jsx)(f,{status:a,size:s,pulse:c,doNotDisturb:l})})]})}function m({status:e,customMessage:n,showDuration:r=!1,updatedAt:i,size:c=`md`,doNotDisturb:l=!1,className:p}){let m=u[e],h=d[c],g=i?s(i):null;return(0,o.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-2 rounded-full border px-3 py-1.5`,m.bgColor,p),children:[(0,o.jsx)(f,{status:e,size:`sm`,pulse:e===`online`,doNotDisturb:l}),(0,o.jsx)(`span`,{className:t.cn(`font-medium`,h.text),children:n||m.label}),r&&g&&g!==`Just now`&&(0,o.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,h.text),children:[`for `,g]}),l&&(0,o.jsx)(a.BellOff,{className:t.cn(`text-muted-foreground`,h.icon)})]})}function h({presence:e,onStatusChange:n,onToggleDND:s,onSetCustomMessage:c,showCustomMessage:l=!0,size:m=`md`,disabled:h=!1,className:g,avatar:_,triggerVariant:v=`badge`}){let[y,b]=i.useState(e.customMessage||``),[x,S]=i.useState(!1),C=u[e.status],w=d[m],T=e=>{n(e)},E=()=>{c?.(y.trim()||void 0),S(!1)};return(0,o.jsxs)(r.DropdownMenu,{children:[(0,o.jsx)(r.DropdownMenuTrigger,{asChild:!0,disabled:h,children:(0,o.jsx)(`button`,{className:t.cn(`focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-full`,h&&`opacity-50 cursor-not-allowed`,g),type:`button`,children:v===`avatar`&&_?(0,o.jsx)(p,{src:_.src,fallback:_.fallback,alt:_.alt,status:e.status,size:m,doNotDisturb:e.doNotDisturb}):v===`minimal`?(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,o.jsx)(f,{status:e.status,size:m,doNotDisturb:e.doNotDisturb}),(0,o.jsx)(a.ChevronDown,{className:t.cn(`text-muted-foreground`,w.icon)})]}):(0,o.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-2 rounded-full border px-3 py-1.5 transition-colors`,`hover:bg-muted/50 cursor-pointer`,C.bgColor),children:[(0,o.jsx)(f,{status:e.status,size:`sm`,doNotDisturb:e.doNotDisturb}),(0,o.jsx)(`span`,{className:t.cn(`font-medium`,w.text),children:e.customMessage||C.label}),(0,o.jsx)(a.ChevronDown,{className:t.cn(`text-muted-foreground`,w.icon)})]})})}),(0,o.jsxs)(r.DropdownMenuContent,{align:`start`,className:`w-56`,children:[[`online`,`away`,`busy`,`offline`,`invisible`].map(n=>{let i=u[n];return i.icon,(0,o.jsxs)(r.DropdownMenuItem,{onClick:()=>T(n),className:`flex items-center gap-2 cursor-pointer`,children:[(0,o.jsx)(`span`,{className:t.cn(`h-2.5 w-2.5 rounded-full`,i.color)}),(0,o.jsx)(`span`,{className:`flex-1`,children:i.label}),e.status===n&&(0,o.jsx)(a.Check,{className:`h-4 w-4 text-primary`}),n===`invisible`&&(0,o.jsx)(a.Eye,{className:`h-3.5 w-3.5 text-muted-foreground`})]},n)}),(l||s)&&(0,o.jsx)(r.DropdownMenuSeparator,{}),s&&(0,o.jsxs)(r.DropdownMenuItem,{onClick:s,className:`flex items-center gap-2 cursor-pointer`,children:[(0,o.jsx)(a.BellOff,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`flex-1`,children:`Do Not Disturb`}),e.doNotDisturb&&(0,o.jsx)(a.Check,{className:`h-4 w-4 text-primary`})]}),l&&c&&(0,o.jsxs)(o.Fragment,{children:[x?(0,o.jsx)(`div`,{className:`p-2`,children:(0,o.jsxs)(`div`,{className:`flex gap-2`,children:[(0,o.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`What's your status?`,className:t.cn(`flex-1 px-2 py-1 text-sm rounded border bg-background`,`focus:outline-none focus:ring-1 focus:ring-ring`),onKeyDown:e=>{e.key===`Enter`&&E(),e.key===`Escape`&&S(!1)},autoFocus:!0}),(0,o.jsx)(`button`,{onClick:E,className:`px-2 py-1 text-sm bg-primary text-primary-foreground rounded hover:bg-primary/90`,type:`button`,children:`Save`})]})}):(0,o.jsxs)(r.DropdownMenuItem,{onClick:()=>S(!0),className:`flex items-center gap-2 cursor-pointer`,children:[(0,o.jsx)(a.Moon,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`flex-1`,children:e.customMessage?`Edit status message`:`Set status message`})]}),e.customMessage&&!x&&(0,o.jsxs)(r.DropdownMenuItem,{onClick:()=>c(void 0),className:`flex items-center gap-2 cursor-pointer text-muted-foreground`,children:[(0,o.jsx)(`span`,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:`Clear status message`})]})]})]})]})}function g({lastSeen:e,size:n=`md`,showPrefix:r=!0,className:s}){let l=d[n],[u,f]=i.useState(c(e));return i.useEffect(()=>{let t=setInterval(()=>{f(c(e))},6e4);return()=>clearInterval(t)},[e]),(0,o.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-1.5 text-muted-foreground`,l.text,s),children:[(0,o.jsx)(a.Clock,{className:l.icon}),(0,o.jsxs)(`span`,{children:[r&&`Last seen `,u]})]})}function _({name:e,avatarSrc:n,avatarFallback:r,presence:i,showDuration:c=!0,showLastSeen:l=!0,size:f=`md`,className:m,onClick:h}){let _=u[i.status],v=d[f],y=i.updatedAt?s(i.updatedAt):null;return(0,o.jsxs)(`div`,{className:t.cn(`flex items-center gap-3 p-3 rounded-lg border bg-card`,h&&`cursor-pointer hover:bg-muted/50 transition-colors`,m),onClick:h,children:[(0,o.jsx)(p,{src:n,fallback:r||e.slice(0,2).toUpperCase(),alt:e,status:i.status,size:f,doNotDisturb:i.doNotDisturb}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,o.jsx)(`div`,{className:t.cn(`font-medium truncate`,v.text),children:e}),(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:t.cn(`inline-flex items-center gap-1`,v.text,_.label===`Online`?`text-green-600 dark:text-green-400`:_.label===`Away`?`text-yellow-600 dark:text-yellow-400`:_.label===`Busy`?`text-red-600 dark:text-red-400`:`text-muted-foreground`),children:i.customMessage||_.label}),c&&y&&i.status!==`offline`&&y!==`Just now`&&(0,o.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,v.text),children:[`- `,y]})]}),l&&i.status===`offline`&&i.lastSeen&&(0,o.jsx)(g,{lastSeen:i.lastSeen,size:`sm`,className:`mt-0.5`})]}),i.doNotDisturb&&(0,o.jsx)(a.BellOff,{className:t.cn(`text-muted-foreground shrink-0`,v.icon)})]})}function v({users:e,size:n=`md`,showLastSeen:r=!0,groupByStatus:a=!1,maxVisible:s,onUserClick:c,className:l}){let f=d[n],p=i.useMemo(()=>{let t={online:0,busy:1,away:2,invisible:3,offline:4};return[...e].sort((e,n)=>t[e.presence.status]-t[n.presence.status])},[e]),m=i.useMemo(()=>{if(!a)return null;let e={online:[],away:[],busy:[],offline:[],invisible:[]};return p.forEach(t=>{e[t.presence.status].push(t)}),e},[p,a]),h=s?p.slice(0,s):p,g=s?Math.max(0,e.length-s):0,v=e=>(0,o.jsx)(_,{name:e.name,avatarSrc:e.avatarSrc,avatarFallback:e.avatarFallback,presence:e.presence,showLastSeen:r,size:n,onClick:c?()=>c(e.id):void 0},e.id);return a&&m?(0,o.jsx)(`div`,{className:t.cn(`space-y-4`,l),children:[`online`,`busy`,`away`,`offline`,`invisible`].map(e=>{let n=m[e];if(n.length===0)return null;let r=u[e];return(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(`div`,{className:t.cn(`flex items-center gap-2 mb-2`,f.text),children:[(0,o.jsx)(`span`,{className:t.cn(`h-2 w-2 rounded-full`,r.color)}),(0,o.jsx)(`span`,{className:`font-medium`,children:r.label}),(0,o.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,n.length,`)`]})]}),(0,o.jsx)(`div`,{className:`space-y-2`,children:n.map(v)})]},e)})}):(0,o.jsxs)(`div`,{className:t.cn(`space-y-2`,l),children:[h.map(v),g>0&&(0,o.jsxs)(`div`,{className:t.cn(`flex items-center justify-center p-2 rounded-lg border border-dashed text-muted-foreground`,f.text),children:[`+`,g,` more`]})]})}function y({users:e,max:n=5,size:r=`md`,className:i}){let a=d[r],s=e.slice(0,n),c=Math.max(0,e.length-n),l={xs:`-ml-2`,sm:`-ml-2.5`,md:`-ml-3`,lg:`-ml-4`,xl:`-ml-5`};return(0,o.jsxs)(`div`,{className:t.cn(`flex items-center`,i),children:[s.map((e,n)=>(0,o.jsx)(`div`,{className:t.cn(`relative`,n>0&&l[r]),style:{zIndex:s.length-n},children:(0,o.jsx)(p,{src:e.avatarSrc,fallback:e.avatarFallback||e.name.slice(0,2).toUpperCase(),alt:e.name,status:e.presence.status,size:r,pulse:!1,doNotDisturb:e.presence.doNotDisturb})},e.id)),c>0&&(0,o.jsx)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full bg-muted border-2 border-background`,a.avatar,l[r]),style:{zIndex:0},children:(0,o.jsxs)(`span`,{className:t.cn(`text-muted-foreground font-medium`,a.text),children:[`+`,c]})})]})}exports.WakaPresenceAvatarStack=y,exports.WakaPresenceCard=_,exports.WakaPresenceLastSeen=g,exports.WakaPresenceList=v,exports.WakaPresenceSelector=h,exports.WakaPresenceStatusBadge=m,exports.WakaPresenceWithAvatar=p,exports.default=f,exports.usePresence=l;
15
+ `})]})}function p({src:e,fallback:r,alt:i,status:a,size:s=`md`,pulse:c=!0,doNotDisturb:l=!1,className:p,showRing:m=!1,onClick:h}){let g=u[a],_=d[s];return(0,o.jsxs)(`div`,{className:t.cn(`relative inline-flex`,h&&`cursor-pointer`,p),onClick:h,children:[(0,o.jsxs)(n.Avatar,{className:t.cn(_.avatar,m&&[_.ring,`ring-offset-2 ring-offset-background`,g.ringColor]),children:[e&&(0,o.jsx)(n.AvatarImage,{src:e,alt:i||`User avatar`}),(0,o.jsx)(n.AvatarFallback,{className:`text-xs font-medium`,children:r||`?`})]}),(0,o.jsx)(`span`,{className:t.cn(`absolute flex items-center justify-center rounded-full ring-2 ring-background`,_.dot,_.dotPosition),children:(0,o.jsx)(f,{status:a,size:s,pulse:c,doNotDisturb:l})})]})}function m({status:e,customMessage:n,showDuration:r=!1,updatedAt:i,size:c=`md`,doNotDisturb:l=!1,className:p}){let m=u[e],h=d[c],g=i?s(i):null;return(0,o.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-2 rounded-full border px-3 py-1.5`,m.bgColor,p),children:[(0,o.jsx)(f,{status:e,size:`sm`,pulse:e===`online`,doNotDisturb:l}),(0,o.jsx)(`span`,{className:t.cn(`font-medium`,h.text),children:n||m.label}),r&&g&&g!==`Just now`&&(0,o.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,h.text),children:[`for `,g]}),l&&(0,o.jsx)(a.BellOff,{className:t.cn(`text-muted-foreground`,h.icon)})]})}function h({presence:e,onStatusChange:n,onToggleDND:s,onSetCustomMessage:c,showCustomMessage:l=!0,size:m=`md`,disabled:h=!1,className:g,avatar:_,triggerVariant:v=`badge`}){let[y,b]=i.useState(e.customMessage||``),[x,S]=i.useState(!1),C=u[e.status],w=d[m],T=e=>{n(e)},E=()=>{c?.(y.trim()||void 0),S(!1)};return(0,o.jsxs)(r.DropdownMenu,{children:[(0,o.jsx)(r.DropdownMenuTrigger,{asChild:!0,disabled:h,children:(0,o.jsx)(`button`,{className:t.cn(`focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-full`,h&&`opacity-50 cursor-not-allowed`,g),type:`button`,children:v===`avatar`&&_?(0,o.jsx)(p,{src:_.src,fallback:_.fallback,alt:_.alt,status:e.status,size:m,doNotDisturb:e.doNotDisturb}):v===`minimal`?(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,o.jsx)(f,{status:e.status,size:m,doNotDisturb:e.doNotDisturb}),(0,o.jsx)(a.ChevronDown,{className:t.cn(`text-muted-foreground`,w.icon)})]}):(0,o.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-2 rounded-full border px-3 py-1.5 transition-colors`,`hover:bg-muted/50 cursor-pointer`,C.bgColor),children:[(0,o.jsx)(f,{status:e.status,size:`sm`,doNotDisturb:e.doNotDisturb}),(0,o.jsx)(`span`,{className:t.cn(`font-medium`,w.text),children:e.customMessage||C.label}),(0,o.jsx)(a.ChevronDown,{className:t.cn(`text-muted-foreground`,w.icon)})]})})}),(0,o.jsxs)(r.DropdownMenuContent,{align:`start`,className:`w-56`,children:[[`online`,`away`,`busy`,`offline`,`invisible`].map(n=>{let i=u[n];return i.icon,(0,o.jsxs)(r.DropdownMenuItem,{onClick:()=>T(n),className:`flex items-center gap-2 cursor-pointer`,children:[(0,o.jsx)(`span`,{className:t.cn(`h-2.5 w-2.5 rounded-full`,i.color)}),(0,o.jsx)(`span`,{className:`flex-1`,children:i.label}),e.status===n&&(0,o.jsx)(a.Check,{className:`h-4 w-4 text-primary`}),n===`invisible`&&(0,o.jsx)(a.Eye,{className:`h-3.5 w-3.5 text-muted-foreground`})]},n)}),(l||s)&&(0,o.jsx)(r.DropdownMenuSeparator,{}),s&&(0,o.jsxs)(r.DropdownMenuItem,{onClick:s,className:`flex items-center gap-2 cursor-pointer`,children:[(0,o.jsx)(a.BellOff,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`flex-1`,children:`Do Not Disturb`}),e.doNotDisturb&&(0,o.jsx)(a.Check,{className:`h-4 w-4 text-primary`})]}),l&&c&&(0,o.jsxs)(o.Fragment,{children:[x?(0,o.jsx)(`div`,{className:`p-2`,children:(0,o.jsxs)(`div`,{className:`flex gap-2`,children:[(0,o.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`What's your status?`,className:t.cn(`flex-1 px-2 py-1 text-sm rounded border bg-background`,`focus:outline-none focus:ring-1 focus:ring-ring`),onKeyDown:e=>{e.key===`Enter`&&E(),e.key===`Escape`&&S(!1)},autoFocus:!0}),(0,o.jsx)(`button`,{onClick:E,className:`px-2 py-1 text-sm bg-primary text-primary-foreground rounded hover:bg-primary/90`,type:`button`,children:`Save`})]})}):(0,o.jsxs)(r.DropdownMenuItem,{onClick:()=>S(!0),className:`flex items-center gap-2 cursor-pointer`,children:[(0,o.jsx)(a.Moon,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`flex-1`,children:e.customMessage?`Edit status message`:`Set status message`})]}),e.customMessage&&!x&&(0,o.jsxs)(r.DropdownMenuItem,{onClick:()=>c(void 0),className:`flex items-center gap-2 cursor-pointer text-muted-foreground`,children:[(0,o.jsx)(`span`,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:`Clear status message`})]})]})]})]})}function g({lastSeen:e,size:n=`md`,showPrefix:r=!0,className:s}){let l=d[n],[u,f]=i.useState(c(e));return i.useEffect(()=>{let t=setInterval(()=>{f(c(e))},6e4);return()=>clearInterval(t)},[e]),(0,o.jsxs)(`div`,{className:t.cn(`inline-flex items-center gap-1.5 text-muted-foreground`,l.text,s),children:[(0,o.jsx)(a.Clock,{className:l.icon}),(0,o.jsxs)(`span`,{children:[r&&`Last seen `,u]})]})}function _({name:e,avatarSrc:n,avatarFallback:r,presence:i,showDuration:c=!0,showLastSeen:l=!0,size:f=`md`,className:m,onClick:h}){let _=u[i.status],v=d[f],y=i.updatedAt?s(i.updatedAt):null;return(0,o.jsxs)(`div`,{className:t.cn(`flex items-center gap-3 p-3 rounded-lg border bg-card`,h&&`cursor-pointer hover:bg-muted/50 transition-colors`,m),onClick:h,children:[(0,o.jsx)(p,{src:n,fallback:r||e.slice(0,2).toUpperCase(),alt:e,status:i.status,size:f,doNotDisturb:i.doNotDisturb}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,o.jsx)(`div`,{className:t.cn(`font-medium truncate`,v.text),children:e}),(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:t.cn(`inline-flex items-center gap-1`,v.text,_.label===`Online`?`text-green-600 dark:text-green-400`:_.label===`Away`?`text-yellow-600 dark:text-yellow-400`:_.label===`Busy`?`text-red-600 dark:text-red-400`:`text-muted-foreground`),children:i.customMessage||_.label}),c&&y&&i.status!==`offline`&&y!==`Just now`&&(0,o.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,v.text),children:[`- `,y]})]}),l&&i.status===`offline`&&i.lastSeen&&(0,o.jsx)(g,{lastSeen:i.lastSeen,size:`sm`,className:`mt-0.5`})]}),i.doNotDisturb&&(0,o.jsx)(a.BellOff,{className:t.cn(`text-muted-foreground shrink-0`,v.icon)})]})}function v({users:e,size:n=`md`,showLastSeen:r=!0,groupByStatus:a=!1,maxVisible:s,onUserClick:c,className:l}){let f=d[n],p=i.useMemo(()=>{let t={online:0,busy:1,away:2,invisible:3,offline:4};return[...e].sort((e,n)=>t[e.presence.status]-t[n.presence.status])},[e]),m=i.useMemo(()=>{if(!a)return null;let e={online:[],away:[],busy:[],offline:[],invisible:[]};return p.forEach(t=>{e[t.presence.status].push(t)}),e},[p,a]),h=s?p.slice(0,s):p,g=s?Math.max(0,e.length-s):0,v=e=>(0,o.jsx)(_,{name:e.name,avatarSrc:e.avatarSrc,avatarFallback:e.avatarFallback,presence:e.presence,showLastSeen:r,size:n,onClick:c?()=>c(e.id):void 0},e.id);return a&&m?(0,o.jsx)(`div`,{className:t.cn(`space-y-4`,l),children:[`online`,`busy`,`away`,`offline`,`invisible`].map(e=>{let n=m[e];if(n.length===0)return null;let r=u[e];return(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(`div`,{className:t.cn(`flex items-center gap-2 mb-2`,f.text),children:[(0,o.jsx)(`span`,{className:t.cn(`h-2 w-2 rounded-full`,r.color)}),(0,o.jsx)(`span`,{className:`font-medium`,children:r.label}),(0,o.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,n.length,`)`]})]}),(0,o.jsx)(`div`,{className:`space-y-2`,children:n.map(v)})]},e)})}):(0,o.jsxs)(`div`,{className:t.cn(`space-y-2`,l),children:[h.map(v),g>0&&(0,o.jsxs)(`div`,{className:t.cn(`flex items-center justify-center p-2 rounded-lg border border-dashed text-muted-foreground`,f.text),children:[`+`,g,` more`]})]})}function y({users:e,max:n=5,size:r=`md`,className:i}){let a=d[r],s=e.slice(0,n),c=Math.max(0,e.length-n),l={xs:`-ml-2`,sm:`-ml-2.5`,md:`-ml-3`,lg:`-ml-4`,xl:`-ml-5`};return(0,o.jsxs)(`div`,{className:t.cn(`flex items-center`,i),children:[s.map((e,n)=>(0,o.jsx)(`div`,{className:t.cn(`relative`,n>0&&l[r]),style:{zIndex:s.length-n},children:(0,o.jsx)(p,{src:e.avatarSrc,fallback:e.avatarFallback||e.name.slice(0,2).toUpperCase(),alt:e.name,status:e.presence.status,size:r,pulse:!1,doNotDisturb:e.presence.doNotDisturb})},e.id)),c>0&&(0,o.jsx)(`div`,{className:t.cn(`relative flex items-center justify-center rounded-full bg-muted border-2 border-background`,a.avatar,l[r]),style:{zIndex:0},children:(0,o.jsxs)(`span`,{className:t.cn(`text-muted-foreground font-medium`,a.text),children:[`+`,c]})})]})}exports.WakaPresenceAvatarStack=y,exports.WakaPresenceCard=_,exports.WakaPresenceIndicator=f,exports.default=f,exports.WakaPresenceLastSeen=g,exports.WakaPresenceList=v,exports.WakaPresenceSelector=h,exports.WakaPresenceStatusBadge=m,exports.WakaPresenceWithAvatar=p,exports.usePresence=l;
@@ -530,4 +530,4 @@ function P({ users: t, max: n = 5, size: r = "md", className: i }) {
530
530
  });
531
531
  }
532
532
  //#endregion
533
- export { P as WakaPresenceAvatarStack, M as WakaPresenceCard, j as WakaPresenceLastSeen, N as WakaPresenceList, A as WakaPresenceSelector, k as WakaPresenceStatusBadge, O as WakaPresenceWithAvatar, D as default, w as usePresence };
533
+ export { P as WakaPresenceAvatarStack, M as WakaPresenceCard, D as WakaPresenceIndicator, D as default, j as WakaPresenceLastSeen, N as WakaPresenceList, A as WakaPresenceSelector, k as WakaPresenceStatusBadge, O as WakaPresenceWithAvatar, w as usePresence };
@@ -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`);function a(e,t=`$`){if(e===null)return``;let n=e/100;return n===0?`Free`:Number.isInteger(n)?`${t}${n}`:`${t}${n.toFixed(2)}`}function o({value:e,onChange:n,annualDiscount:r,className:a}){return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-center gap-3`,a),children:[(0,i.jsx)(`button`,{type:`button`,onClick:()=>n(`monthly`),className:t.cn(`text-sm font-medium transition-colors duration-200`,e===`monthly`?`text-foreground`:`text-muted-foreground hover:text-foreground`),children:`Monthly`}),(0,i.jsx)(`button`,{type:`button`,onClick:()=>n(e===`monthly`?`annual`:`monthly`),className:`relative h-6 w-11 rounded-full bg-muted transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,role:`switch`,"aria-checked":e===`annual`,children:(0,i.jsx)(`span`,{className:t.cn(`absolute top-0.5 left-0.5 h-5 w-5 rounded-full bg-primary shadow-sm transition-transform duration-200 ease-out`,e===`annual`&&`translate-x-5`)})}),(0,i.jsxs)(`button`,{type:`button`,onClick:()=>n(`annual`),className:t.cn(`flex items-center gap-1.5 text-sm font-medium transition-colors duration-200`,e===`annual`?`text-foreground`:`text-muted-foreground hover:text-foreground`),children:[`Annual`,r&&r>0&&(0,i.jsxs)(`span`,{className:`inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-xs font-semibold text-primary`,children:[`Save `,r,`%`]})]})]})}function s({tier:e,billingPeriod:n,animating:r}){let o=n===`monthly`?e.monthlyPrice:e.annualPrice;if(o===null)return(0,i.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,i.jsx)(`span`,{className:`text-3xl font-bold text-foreground`,children:e.customPriceLabel||`Custom`}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Contact for pricing`})]});let s=a(o,e.currency),c=n===`monthly`?`/month`:`/year`;return(0,i.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,i.jsx)(`span`,{className:t.cn(`text-4xl font-bold text-foreground transition-all duration-300`,r&&`animate-price-change`),children:s}),o>0&&(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:c})]})}function c({included:e,value:t}){return t?(0,i.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:t}):e?(0,i.jsx)(r.Check,{className:`h-5 w-5 text-primary`}):(0,i.jsx)(r.X,{className:`h-5 w-5 text-muted-foreground/50`})}function l({tier:e,billingPeriod:n,onCtaClick:a,animatingPrice:o}){let l={default:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,primary:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`},u=e.ctaVariant||(e.highlighted?`primary`:`default`);return(0,i.jsxs)(`div`,{className:t.cn(`relative flex flex-col rounded-xl border bg-card p-6 transition-all duration-300`,e.highlighted&&[`border-primary shadow-lg shadow-primary/10`,`ring-1 ring-primary/20`],e.disabled&&`opacity-50 pointer-events-none`),children:[e.highlighted&&e.highlightLabel&&(0,i.jsx)(`div`,{className:`absolute -top-3 left-1/2 -translate-x-1/2`,children:(0,i.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-primary px-3 py-1 text-xs font-semibold text-primary-foreground shadow-sm`,children:[(0,i.jsx)(r.Sparkles,{className:`h-3 w-3`}),e.highlightLabel]})}),(0,i.jsxs)(`div`,{className:`mb-4`,children:[(0,i.jsx)(`h3`,{className:`text-xl font-semibold text-foreground`,children:e.name}),e.description&&(0,i.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:e.description})]}),(0,i.jsx)(`div`,{className:`mb-6`,children:(0,i.jsx)(s,{tier:e,billingPeriod:n,animating:o})}),(0,i.jsx)(`button`,{type:`button`,onClick:()=>a?.(e),className:t.cn(`mb-6 w-full rounded-lg px-4 py-2.5 text-sm font-semibold transition-colors duration-200`,l[u]),children:e.ctaText||`Get Started`}),(0,i.jsxs)(`div`,{className:`flex-1`,children:[(0,i.jsx)(`p`,{className:`mb-3 text-xs font-medium uppercase tracking-wider text-muted-foreground`,children:`What's included`}),(0,i.jsx)(`ul`,{className:`space-y-3`,children:e.features.map(e=>(0,i.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,i.jsx)(c,{included:e.included,value:e.value}),(0,i.jsx)(`span`,{className:t.cn(`text-sm`,e.included?`text-foreground`:`text-muted-foreground line-through`),children:e.name})]},e.name))})]})]})}function u({tiers:e,features:n,billingPeriod:a,onCtaClick:o,animatingPrice:l}){let u={default:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,primary:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`};return(0,i.jsx)(`div`,{className:`overflow-x-auto`,children:(0,i.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,i.jsxs)(`thead`,{children:[(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{className:`sticky left-0 z-10 bg-background p-4 text-left`,children:(0,i.jsx)(`span`,{className:`sr-only`,children:`Features`})}),e.map(e=>(0,i.jsx)(`th`,{className:t.cn(`min-w-[200px] p-4 text-center`,e.highlighted&&`bg-primary/5`),children:(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[e.highlighted&&e.highlightLabel&&(0,i.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-primary px-2.5 py-0.5 text-xs font-semibold text-primary-foreground`,children:[(0,i.jsx)(r.Zap,{className:`h-3 w-3`}),e.highlightLabel]}),(0,i.jsx)(`span`,{className:`text-lg font-semibold text-foreground`,children:e.name}),e.description&&(0,i.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.description})]})},e.id))]}),(0,i.jsxs)(`tr`,{className:`border-b`,children:[(0,i.jsx)(`td`,{className:`sticky left-0 z-10 bg-background p-4`,children:(0,i.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Price`})}),e.map(e=>(0,i.jsx)(`td`,{className:t.cn(`p-4 text-center`,e.highlighted&&`bg-primary/5`),children:(0,i.jsx)(s,{tier:e,billingPeriod:a,animating:l})},e.id))]}),(0,i.jsxs)(`tr`,{className:`border-b`,children:[(0,i.jsx)(`td`,{className:`sticky left-0 z-10 bg-background p-4`}),e.map(e=>{let n=e.ctaVariant||(e.highlighted?`primary`:`default`);return(0,i.jsx)(`td`,{className:t.cn(`p-4 text-center`,e.highlighted&&`bg-primary/5`),children:(0,i.jsx)(`button`,{type:`button`,onClick:()=>o?.(e),disabled:e.disabled,className:t.cn(`w-full max-w-[160px] rounded-lg px-4 py-2 text-sm font-semibold transition-colors duration-200`,u[n],e.disabled&&`opacity-50 cursor-not-allowed`),children:e.ctaText||`Get Started`})},e.id)})]})]}),(0,i.jsx)(`tbody`,{children:n.map((n,a)=>(0,i.jsxs)(`tr`,{className:t.cn(`border-b transition-colors hover:bg-muted/50`,a%2==0&&`bg-muted/20`),children:[(0,i.jsxs)(`td`,{className:`sticky left-0 z-10 bg-inherit p-4`,children:[(0,i.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:n.name}),n.tooltip&&(0,i.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:n.tooltip})]}),e.map(e=>{let a=e.features.find(e=>e.name===n.name);return(0,i.jsx)(`td`,{className:t.cn(`p-4 text-center`,e.highlighted&&`bg-primary/5`),children:a?(0,i.jsx)(`div`,{className:`flex justify-center`,children:(0,i.jsx)(c,{included:a.included,value:a.value})}):(0,i.jsx)(r.X,{className:`mx-auto h-5 w-5 text-muted-foreground/50`})},e.id)})]},n.name))})]})})}function d({tiers:e,features:r,billingPeriod:a,onBillingPeriodChange:s,onCtaClick:c,annualDiscount:d=20,showBillingToggle:f=!0,variant:p=`auto`,className:m}){let[h,g]=n.useState(`monthly`),[_,v]=n.useState(!1),y=a??h,b=e=>{v(!0),setTimeout(()=>v(!1),300),s?s(e):g(e)},x=p===`table`||p===`auto`&&r&&r.length>0,S=n.useMemo(()=>{if(r)return r;let t=new Set;return e.forEach(e=>{e.features.forEach(e=>t.add(e.name))}),Array.from(t).map(e=>({name:e}))},[r,e]);return(0,i.jsxs)(`div`,{className:t.cn(`w-full`,m),children:[(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");function a(e,t=`$`){if(e===null)return``;let n=e/100;return n===0?`Free`:Number.isInteger(n)?`${t}${n}`:`${t}${n.toFixed(2)}`}function o({value:e,onChange:n,annualDiscount:r,className:a}){return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-center gap-3`,a),children:[(0,i.jsx)(`button`,{type:`button`,onClick:()=>n(`monthly`),className:t.cn(`text-sm font-medium transition-colors duration-200`,e===`monthly`?`text-foreground`:`text-muted-foreground hover:text-foreground`),children:`Monthly`}),(0,i.jsx)(`button`,{type:`button`,onClick:()=>n(e===`monthly`?`annual`:`monthly`),className:`relative h-6 w-11 rounded-full bg-muted transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,role:`switch`,"aria-checked":e===`annual`,children:(0,i.jsx)(`span`,{className:t.cn(`absolute top-0.5 left-0.5 h-5 w-5 rounded-full bg-primary shadow-sm transition-transform duration-200 ease-out`,e===`annual`&&`translate-x-5`)})}),(0,i.jsxs)(`button`,{type:`button`,onClick:()=>n(`annual`),className:t.cn(`flex items-center gap-1.5 text-sm font-medium transition-colors duration-200`,e===`annual`?`text-foreground`:`text-muted-foreground hover:text-foreground`),children:[`Annual`,r&&r>0&&(0,i.jsxs)(`span`,{className:`inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-xs font-semibold text-primary`,children:[`Save `,r,`%`]})]})]})}function s({tier:e,billingPeriod:n,animating:r}){let o=n===`monthly`?e.monthlyPrice:e.annualPrice;if(o===null)return(0,i.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,i.jsx)(`span`,{className:`text-3xl font-bold text-foreground`,children:e.customPriceLabel||`Custom`}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Contact for pricing`})]});let s=a(o,e.currency),c=n===`monthly`?`/month`:`/year`;return(0,i.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,i.jsx)(`span`,{className:t.cn(`text-4xl font-bold text-foreground transition-all duration-300`,r&&`animate-price-change`),children:s}),o>0&&(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:c})]})}function c({included:e,value:t}){return t?(0,i.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:t}):e?(0,i.jsx)(r.Check,{className:`h-5 w-5 text-primary`}):(0,i.jsx)(r.X,{className:`h-5 w-5 text-muted-foreground/50`})}function l({tier:e,billingPeriod:n,onCtaClick:a,animatingPrice:o}){let l={default:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,primary:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`},u=e.ctaVariant||(e.highlighted?`primary`:`default`);return(0,i.jsxs)(`div`,{className:t.cn(`relative flex flex-col rounded-xl border bg-card p-6 transition-all duration-300`,e.highlighted&&[`border-primary shadow-lg shadow-primary/10`,`ring-1 ring-primary/20`],e.disabled&&`opacity-50 pointer-events-none`),children:[e.highlighted&&e.highlightLabel&&(0,i.jsx)(`div`,{className:`absolute -top-3 left-1/2 -translate-x-1/2`,children:(0,i.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-primary px-3 py-1 text-xs font-semibold text-primary-foreground shadow-sm`,children:[(0,i.jsx)(r.Sparkles,{className:`h-3 w-3`}),e.highlightLabel]})}),(0,i.jsxs)(`div`,{className:`mb-4`,children:[(0,i.jsx)(`h3`,{className:`text-xl font-semibold text-foreground`,children:e.name}),e.description&&(0,i.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:e.description})]}),(0,i.jsx)(`div`,{className:`mb-6`,children:(0,i.jsx)(s,{tier:e,billingPeriod:n,animating:o})}),(0,i.jsx)(`button`,{type:`button`,onClick:()=>a?.(e),className:t.cn(`mb-6 w-full rounded-lg px-4 py-2.5 text-sm font-semibold transition-colors duration-200`,l[u]),children:e.ctaText||`Get Started`}),(0,i.jsxs)(`div`,{className:`flex-1`,children:[(0,i.jsx)(`p`,{className:`mb-3 text-xs font-medium uppercase tracking-wider text-muted-foreground`,children:`What's included`}),(0,i.jsx)(`ul`,{className:`space-y-3`,children:e.features.map(e=>(0,i.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,i.jsx)(c,{included:e.included,value:e.value}),(0,i.jsx)(`span`,{className:t.cn(`text-sm`,e.included?`text-foreground`:`text-muted-foreground line-through`),children:e.name})]},e.name))})]})]})}function u({tiers:e,features:n,billingPeriod:a,onCtaClick:o,animatingPrice:l}){let u={default:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,primary:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`};return(0,i.jsx)(`div`,{className:`overflow-x-auto`,children:(0,i.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,i.jsxs)(`thead`,{children:[(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{className:`sticky left-0 z-10 bg-background p-4 text-left`,children:(0,i.jsx)(`span`,{className:`sr-only`,children:`Features`})}),e.map(e=>(0,i.jsx)(`th`,{className:t.cn(`min-w-[200px] p-4 text-center`,e.highlighted&&`bg-primary/5`),children:(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[e.highlighted&&e.highlightLabel&&(0,i.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-primary px-2.5 py-0.5 text-xs font-semibold text-primary-foreground`,children:[(0,i.jsx)(r.Zap,{className:`h-3 w-3`}),e.highlightLabel]}),(0,i.jsx)(`span`,{className:`text-lg font-semibold text-foreground`,children:e.name}),e.description&&(0,i.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.description})]})},e.id))]}),(0,i.jsxs)(`tr`,{className:`border-b`,children:[(0,i.jsx)(`td`,{className:`sticky left-0 z-10 bg-background p-4`,children:(0,i.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Price`})}),e.map(e=>(0,i.jsx)(`td`,{className:t.cn(`p-4 text-center`,e.highlighted&&`bg-primary/5`),children:(0,i.jsx)(s,{tier:e,billingPeriod:a,animating:l})},e.id))]}),(0,i.jsxs)(`tr`,{className:`border-b`,children:[(0,i.jsx)(`td`,{className:`sticky left-0 z-10 bg-background p-4`}),e.map(e=>{let n=e.ctaVariant||(e.highlighted?`primary`:`default`);return(0,i.jsx)(`td`,{className:t.cn(`p-4 text-center`,e.highlighted&&`bg-primary/5`),children:(0,i.jsx)(`button`,{type:`button`,onClick:()=>o?.(e),disabled:e.disabled,className:t.cn(`w-full max-w-[160px] rounded-lg px-4 py-2 text-sm font-semibold transition-colors duration-200`,u[n],e.disabled&&`opacity-50 cursor-not-allowed`),children:e.ctaText||`Get Started`})},e.id)})]})]}),(0,i.jsx)(`tbody`,{children:n.map((n,a)=>(0,i.jsxs)(`tr`,{className:t.cn(`border-b transition-colors hover:bg-muted/50`,a%2==0&&`bg-muted/20`),children:[(0,i.jsxs)(`td`,{className:`sticky left-0 z-10 bg-inherit p-4`,children:[(0,i.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:n.name}),n.tooltip&&(0,i.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:n.tooltip})]}),e.map(e=>{let a=e.features.find(e=>e.name===n.name);return(0,i.jsx)(`td`,{className:t.cn(`p-4 text-center`,e.highlighted&&`bg-primary/5`),children:a?(0,i.jsx)(`div`,{className:`flex justify-center`,children:(0,i.jsx)(c,{included:a.included,value:a.value})}):(0,i.jsx)(r.X,{className:`mx-auto h-5 w-5 text-muted-foreground/50`})},e.id)})]},n.name))})]})})}function d({tiers:e,features:r,billingPeriod:a,onBillingPeriodChange:s,onCtaClick:c,annualDiscount:d=20,showBillingToggle:f=!0,variant:p=`auto`,className:m}){let[h,g]=n.useState(`monthly`),[_,v]=n.useState(!1),y=a??h,b=e=>{v(!0),setTimeout(()=>v(!1),300),s?s(e):g(e)},x=p===`table`||p===`auto`&&r&&r.length>0,S=n.useMemo(()=>{if(r)return r;let t=new Set;return e.forEach(e=>{e.features.forEach(e=>t.add(e.name))}),Array.from(t).map(e=>({name:e}))},[r,e]);return(0,i.jsxs)(`div`,{className:t.cn(`w-full`,m),children:[(0,i.jsx)(`style`,{children:`
2
2
  @keyframes priceChange {
3
3
  0% {
4
4
  opacity: 0;
@@ -12,4 +12,4 @@
12
12
  .animate-price-change {
13
13
  animation: priceChange 0.3s ease-out;
14
14
  }
15
- `}),f&&(0,i.jsx)(o,{value:y,onChange:b,annualDiscount:d,className:`mb-8`}),x?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`hidden lg:block rounded-xl border bg-card overflow-hidden`,children:(0,i.jsx)(u,{tiers:e,features:S,billingPeriod:y,onCtaClick:c,animatingPrice:_})}),(0,i.jsx)(`div`,{className:`grid grid-cols-1 gap-6 lg:hidden md:grid-cols-2`,children:e.map(e=>(0,i.jsx)(l,{tier:e,billingPeriod:y,onCtaClick:c,animatingPrice:_},e.id))})]}):(0,i.jsx)(`div`,{className:t.cn(`grid gap-6`,e.length===1&&`grid-cols-1 max-w-md mx-auto`,e.length===2&&`grid-cols-1 md:grid-cols-2 max-w-3xl mx-auto`,e.length===3&&`grid-cols-1 md:grid-cols-2 lg:grid-cols-3`,e.length>=4&&`grid-cols-1 md:grid-cols-2 lg:grid-cols-4`),children:e.map(e=>(0,i.jsx)(l,{tier:e,billingPeriod:y,onCtaClick:c,animatingPrice:_},e.id))})]})}function f(e={}){let{initialBillingPeriod:t=`monthly`}=e,[r,i]=n.useState(t),[a,o]=n.useState(null);return{billingPeriod:r,selectedTier:a,onBillingPeriodChange:n.useCallback(e=>{i(e)},[]),onCtaClick:n.useCallback(e=>{o(e)},[]),calculateSavings:n.useCallback(e=>e.monthlyPrice===null||e.annualPrice===null?0:e.monthlyPrice*12-e.annualPrice,[]),getEffectiveMonthlyPrice:n.useCallback(e=>r===`monthly`?e.monthlyPrice:e.annualPrice===null?null:Math.round(e.annualPrice/12),[r])}}var p=[{id:`free`,name:`Free`,description:`For individuals getting started`,monthlyPrice:0,annualPrice:0,ctaText:`Start Free`,ctaVariant:`outline`,features:[{name:`Up to 3 projects`,included:!0},{name:`Basic analytics`,included:!0},{name:`Community support`,included:!0},{name:`API access`,included:!1},{name:`Custom domains`,included:!1},{name:`Team collaboration`,included:!1}]},{id:`pro`,name:`Pro`,description:`For professionals and small teams`,monthlyPrice:2900,annualPrice:29e3,highlighted:!0,highlightLabel:`Most Popular`,ctaText:`Start Pro Trial`,ctaVariant:`primary`,features:[{name:`Up to 3 projects`,included:!0,value:`Unlimited`},{name:`Basic analytics`,included:!0,value:`Advanced`},{name:`Community support`,included:!0,value:`Priority`},{name:`API access`,included:!0},{name:`Custom domains`,included:!0},{name:`Team collaboration`,included:!0,value:`5 members`}]},{id:`enterprise`,name:`Enterprise`,description:`For large organizations`,monthlyPrice:null,annualPrice:null,customPriceLabel:`Custom`,ctaText:`Contact Sales`,ctaVariant:`default`,features:[{name:`Up to 3 projects`,included:!0,value:`Unlimited`},{name:`Basic analytics`,included:!0,value:`Custom`},{name:`Community support`,included:!0,value:`Dedicated`},{name:`API access`,included:!0},{name:`Custom domains`,included:!0},{name:`Team collaboration`,included:!0,value:`Unlimited`}]}],m=[{name:`Up to 3 projects`,tooltip:`Number of active projects`},{name:`Basic analytics`,tooltip:`Usage and performance metrics`},{name:`Community support`,tooltip:`Access to community forums`},{name:`API access`,tooltip:`Programmatic access to your data`},{name:`Custom domains`,tooltip:`Use your own domain name`},{name:`Team collaboration`,tooltip:`Invite team members`}];exports.default=d,exports.defaultFeatures=m,exports.defaultTiers=p,exports.usePricingTable=f;
15
+ `}),f&&(0,i.jsx)(o,{value:y,onChange:b,annualDiscount:d,className:`mb-8`}),x?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`hidden lg:block rounded-xl border bg-card overflow-hidden`,children:(0,i.jsx)(u,{tiers:e,features:S,billingPeriod:y,onCtaClick:c,animatingPrice:_})}),(0,i.jsx)(`div`,{className:`grid grid-cols-1 gap-6 lg:hidden md:grid-cols-2`,children:e.map(e=>(0,i.jsx)(l,{tier:e,billingPeriod:y,onCtaClick:c,animatingPrice:_},e.id))})]}):(0,i.jsx)(`div`,{className:t.cn(`grid gap-6`,e.length===1&&`grid-cols-1 max-w-md mx-auto`,e.length===2&&`grid-cols-1 md:grid-cols-2 max-w-3xl mx-auto`,e.length===3&&`grid-cols-1 md:grid-cols-2 lg:grid-cols-3`,e.length>=4&&`grid-cols-1 md:grid-cols-2 lg:grid-cols-4`),children:e.map(e=>(0,i.jsx)(l,{tier:e,billingPeriod:y,onCtaClick:c,animatingPrice:_},e.id))})]})}function f(e={}){let{initialBillingPeriod:t=`monthly`}=e,[r,i]=n.useState(t),[a,o]=n.useState(null);return{billingPeriod:r,selectedTier:a,onBillingPeriodChange:n.useCallback(e=>{i(e)},[]),onCtaClick:n.useCallback(e=>{o(e)},[]),calculateSavings:n.useCallback(e=>e.monthlyPrice===null||e.annualPrice===null?0:e.monthlyPrice*12-e.annualPrice,[]),getEffectiveMonthlyPrice:n.useCallback(e=>r===`monthly`?e.monthlyPrice:e.annualPrice===null?null:Math.round(e.annualPrice/12),[r])}}var p=[{id:`free`,name:`Free`,description:`For individuals getting started`,monthlyPrice:0,annualPrice:0,ctaText:`Start Free`,ctaVariant:`outline`,features:[{name:`Up to 3 projects`,included:!0},{name:`Basic analytics`,included:!0},{name:`Community support`,included:!0},{name:`API access`,included:!1},{name:`Custom domains`,included:!1},{name:`Team collaboration`,included:!1}]},{id:`pro`,name:`Pro`,description:`For professionals and small teams`,monthlyPrice:2900,annualPrice:29e3,highlighted:!0,highlightLabel:`Most Popular`,ctaText:`Start Pro Trial`,ctaVariant:`primary`,features:[{name:`Up to 3 projects`,included:!0,value:`Unlimited`},{name:`Basic analytics`,included:!0,value:`Advanced`},{name:`Community support`,included:!0,value:`Priority`},{name:`API access`,included:!0},{name:`Custom domains`,included:!0},{name:`Team collaboration`,included:!0,value:`5 members`}]},{id:`enterprise`,name:`Enterprise`,description:`For large organizations`,monthlyPrice:null,annualPrice:null,customPriceLabel:`Custom`,ctaText:`Contact Sales`,ctaVariant:`default`,features:[{name:`Up to 3 projects`,included:!0,value:`Unlimited`},{name:`Basic analytics`,included:!0,value:`Custom`},{name:`Community support`,included:!0,value:`Dedicated`},{name:`API access`,included:!0},{name:`Custom domains`,included:!0},{name:`Team collaboration`,included:!0,value:`Unlimited`}]}],m=[{name:`Up to 3 projects`,tooltip:`Number of active projects`},{name:`Basic analytics`,tooltip:`Usage and performance metrics`},{name:`Community support`,tooltip:`Access to community forums`},{name:`API access`,tooltip:`Programmatic access to your data`},{name:`Custom domains`,tooltip:`Use your own domain name`},{name:`Team collaboration`,tooltip:`Invite team members`}];exports.WakaPricingTable=d,exports.default=d,exports.defaultFeatures=m,exports.defaultTiers=p,exports.usePricingTable=f;
@@ -442,4 +442,4 @@ var _ = [
442
442
  }
443
443
  ];
444
444
  //#endregion
445
- export { h as default, v as defaultFeatures, _ as defaultTiers, g as usePricingTable };
445
+ export { h as WakaPricingTable, h as default, v as defaultFeatures, _ as defaultTiers, g as usePricingTable };
@@ -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=`
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=`
2
2
  @keyframes waka-heart-pulse {
3
3
  0%, 100% { transform: scale(1); }
4
4
  50% { transform: scale(1.3); }
@@ -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={default:{gradient:`from-primary to-primary`,fill:`bg-primary`,stepActive:`bg-primary text-primary-foreground border-primary`,stepCompleted:`bg-primary text-primary-foreground border-primary`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-primary`},blue:{gradient:`from-blue-500 to-blue-600`,fill:`bg-blue-500`,stepActive:`bg-blue-500 text-white border-blue-500`,stepCompleted:`bg-blue-500 text-white border-blue-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-blue-600`},green:{gradient:`from-green-500 to-emerald-600`,fill:`bg-green-500`,stepActive:`bg-green-500 text-white border-green-500`,stepCompleted:`bg-green-500 text-white border-green-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-green-600`},purple:{gradient:`from-purple-500 to-purple-600`,fill:`bg-purple-500`,stepActive:`bg-purple-500 text-white border-purple-500`,stepCompleted:`bg-purple-500 text-white border-purple-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-purple-600`},orange:{gradient:`from-orange-500 to-amber-600`,fill:`bg-orange-500`,stepActive:`bg-orange-500 text-white border-orange-500`,stepCompleted:`bg-orange-500 text-white border-orange-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-orange-600`},custom:{gradient:``,fill:``,stepActive:``,stepCompleted:``,stepPending:`bg-muted text-muted-foreground border-muted`,text:``}};function o({active:e,onComplete:t}){let[r,a]=n.useState(!1);if(n.useEffect(()=>{if(e){a(!0);let e=setTimeout(()=>{a(!1),t?.()},2500);return()=>clearTimeout(e)}},[e,t]),!r)return null;let o=[`#22c55e`,`#3b82f6`,`#f59e0b`,`#ef4444`,`#a855f7`,`#06b6d4`];return(0,i.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[[...Array(40)].map((e,t)=>{let n=t/40*360,r=60+Math.random()*80,a=4+Math.random()*6,s=.8+Math.random()*.4;return(0,i.jsx)(`div`,{className:`absolute left-1/2 top-1/2 animate-confetti-burst-onboarding`,style:{width:a,height:a,backgroundColor:o[Math.floor(Math.random()*o.length)],borderRadius:Math.random()>.5?`50%`:`2px`,"--angle":`${n}deg`,"--distance":`${r}px`,animationDuration:`${s}s`,animationDelay:`${Math.random()*.15}s`}},t)}),(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={default:{gradient:`from-primary to-primary`,fill:`bg-primary`,stepActive:`bg-primary text-primary-foreground border-primary`,stepCompleted:`bg-primary text-primary-foreground border-primary`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-primary`},blue:{gradient:`from-blue-500 to-blue-600`,fill:`bg-blue-500`,stepActive:`bg-blue-500 text-white border-blue-500`,stepCompleted:`bg-blue-500 text-white border-blue-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-blue-600`},green:{gradient:`from-green-500 to-emerald-600`,fill:`bg-green-500`,stepActive:`bg-green-500 text-white border-green-500`,stepCompleted:`bg-green-500 text-white border-green-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-green-600`},purple:{gradient:`from-purple-500 to-purple-600`,fill:`bg-purple-500`,stepActive:`bg-purple-500 text-white border-purple-500`,stepCompleted:`bg-purple-500 text-white border-purple-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-purple-600`},orange:{gradient:`from-orange-500 to-amber-600`,fill:`bg-orange-500`,stepActive:`bg-orange-500 text-white border-orange-500`,stepCompleted:`bg-orange-500 text-white border-orange-500`,stepPending:`bg-muted text-muted-foreground border-muted`,text:`text-orange-600`},custom:{gradient:``,fill:``,stepActive:``,stepCompleted:``,stepPending:`bg-muted text-muted-foreground border-muted`,text:``}};function o({active:e,onComplete:t}){let[r,a]=n.useState(!1);if(n.useEffect(()=>{if(e){a(!0);let e=setTimeout(()=>{a(!1),t?.()},2500);return()=>clearTimeout(e)}},[e,t]),!r)return null;let o=[`#22c55e`,`#3b82f6`,`#f59e0b`,`#ef4444`,`#a855f7`,`#06b6d4`];return(0,i.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[[...Array(40)].map((e,t)=>{let n=t/40*360,r=60+Math.random()*80,a=4+Math.random()*6,s=.8+Math.random()*.4;return(0,i.jsx)(`div`,{className:`absolute left-1/2 top-1/2 animate-confetti-burst-onboarding`,style:{width:a,height:a,backgroundColor:o[Math.floor(Math.random()*o.length)],borderRadius:Math.random()>.5?`50%`:`2px`,"--angle":`${n}deg`,"--distance":`${r}px`,animationDuration:`${s}s`,animationDelay:`${Math.random()*.15}s`}},t)}),(0,i.jsx)(`style`,{children:`
2
2
  @keyframes confetti-burst-onboarding {
3
3
  0% {
4
4
  transform: translate(-50%, -50%) rotate(var(--angle)) translateX(0) scale(1);
@@ -12,7 +12,7 @@
12
12
  .animate-confetti-burst-onboarding {
13
13
  animation: confetti-burst-onboarding 1s ease-out forwards;
14
14
  }
15
- `})]})}function s({step:e,index:n,currentStep:o,color:s,customColor:c,variant:l,orientation:u,clickable:d,onClick:f}){let p=a[s],m=e.completed||n<o,h=n===o,g={mini:`h-2.5 w-2.5`,full:`h-6 w-6`},_={mini:`h-1.5 w-1.5`,full:`h-3.5 w-3.5`},v=()=>s===`custom`&&c?m||h?`text-white border-2`:p.stepPending:m?p.stepCompleted:h?p.stepActive:p.stepPending,y={};return s===`custom`&&c&&(m||h)&&(y.backgroundColor=c,y.borderColor=c),(0,i.jsxs)(`button`,{type:`button`,onClick:d?f:void 0,disabled:!d,className:t.cn(`relative rounded-full flex items-center justify-center border-2 transition-all duration-300`,g[l],v(),d&&`cursor-pointer hover:scale-110`,!d&&`cursor-default`,h&&`ring-2 ring-offset-2 ring-offset-background`,h&&s!==`custom`&&`ring-${s===`default`?`primary`:s}-500/30`,h&&s===`custom`&&`ring-current/30`),style:y,"aria-label":`Step ${n+1}: ${e.label}`,"aria-current":h?`step`:void 0,children:[l===`full`&&(0,i.jsx)(i.Fragment,{children:m?(0,i.jsx)(r.Check,{className:_[l]}):h?e.icon||(0,i.jsx)(r.Circle,{className:t.cn(_[l],`fill-current`)}):(0,i.jsx)(`span`,{className:`text-xs font-medium`,children:n+1})}),h&&(0,i.jsx)(`span`,{className:`absolute inset-0 rounded-full animate-ping opacity-30`,style:s===`custom`&&c?{backgroundColor:c}:{}})]})}function c({steps:e,currentStep:c,variant:l=`full`,orientation:u=`horizontal`,showPercentage:d=!0,showStepMarkers:f=!0,animated:p=!0,color:m=`default`,customColor:h,showConfettiOnComplete:g=!0,dismissible:_=!1,onDismiss:v,onStepClick:y,clickable:b=!1,className:x}){let[S,C]=n.useState(!1),[w,T]=n.useState(!1),E=n.useRef(!1),D=a[m],O=e.length,k=e.filter((e,t)=>e.completed||t<c).length,A=Math.round(k/O*100),j=A===100;n.useEffect(()=>{j&&!E.current&&g&&C(!0),E.current=j},[j,g]);let M=()=>{T(!0),v?.()};if(w)return null;let N=p?{width:`${A}%`,transition:`width 0.5s ease-out`}:{width:`${A}%`},P=p?{height:`${A}%`,transition:`height 0.5s ease-out`}:{height:`${A}%`};return l===`mini`?(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center gap-2`,u===`vertical`&&`flex-col h-full`,x),children:[S&&(0,i.jsx)(o,{active:S,onComplete:()=>C(!1)}),(0,i.jsx)(`div`,{className:t.cn(`relative overflow-hidden rounded-full bg-muted`,u===`horizontal`?`h-1.5 flex-1`:`w-1.5 flex-1`),children:(0,i.jsx)(`div`,{className:t.cn(`absolute rounded-full bg-gradient-to-r`,u===`horizontal`?`h-full left-0 top-0`:`w-full left-0 bottom-0`,m!==`custom`&&D.gradient),style:{...u===`horizontal`?N:P,...m===`custom`&&h?{backgroundColor:h}:{}}})}),f&&(0,i.jsx)(`div`,{className:t.cn(`flex gap-1`,u===`vertical`&&`flex-col`),children:e.map((e,t)=>(0,i.jsx)(s,{step:e,index:t,currentStep:c,totalSteps:O,color:m,customColor:h,variant:`mini`,orientation:u,clickable:b,onClick:()=>y?.(t)},e.id))}),d&&(0,i.jsxs)(`span`,{className:t.cn(`text-xs font-medium tabular-nums`,m!==`custom`&&D.text),style:m===`custom`&&h?{color:h}:{},children:[A,`%`]}),_&&(0,i.jsx)(`button`,{type:`button`,onClick:M,className:`p-0.5 rounded hover:bg-muted transition-colors text-muted-foreground hover:text-foreground`,"aria-label":`Dismiss onboarding`,children:(0,i.jsx)(r.X,{className:`h-3 w-3`})})]}):(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-lg border bg-card p-4`,u===`vertical`&&`max-w-xs`,x),children:[S&&(0,i.jsx)(o,{active:S,onComplete:()=>C(!1)}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,i.jsx)(`div`,{className:`flex items-center gap-2`,children:d&&(0,i.jsxs)(`span`,{className:t.cn(`text-sm font-semibold tabular-nums`,m!==`custom`&&D.text),style:m===`custom`&&h?{color:h}:{},children:[A,`% complete`]})}),_&&(0,i.jsx)(`button`,{type:`button`,onClick:M,className:`p-1 rounded-md hover:bg-muted transition-colors text-muted-foreground hover:text-foreground`,"aria-label":`Dismiss onboarding`,children:(0,i.jsx)(r.X,{className:`h-4 w-4`})})]}),(0,i.jsxs)(`div`,{className:t.cn(`relative overflow-hidden rounded-full bg-muted mb-4`,u===`horizontal`?`h-2`:`w-2 h-full mx-auto`),children:[(0,i.jsx)(`div`,{className:t.cn(`absolute rounded-full`,u===`horizontal`?`h-full left-0 top-0`:`w-full left-0 bottom-0`,m!==`custom`&&t.cn(`bg-gradient-to-r`,D.gradient)),style:{...u===`horizontal`?N:P,...m===`custom`&&h?{backgroundColor:h}:{}}}),p&&A>0&&(0,i.jsx)(`div`,{className:`absolute inset-0 overflow-hidden rounded-full`,style:{width:`${A}%`},children:(0,i.jsx)(`div`,{className:`absolute inset-0 animate-shine-onboarding`})})]}),(0,i.jsx)(`div`,{className:t.cn(u===`horizontal`?`flex items-start justify-between`:`flex flex-col gap-2`),children:e.map((n,a)=>{let o=n.completed||a<c,l=a===c,d=a===e.length-1;return(0,i.jsxs)(`div`,{className:t.cn(u===`horizontal`?`flex flex-col items-center flex-1`:`flex items-start gap-3`),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,u===`horizontal`?`w-full`:`flex-col`),children:[u===`horizontal`&&a>0&&(0,i.jsx)(`div`,{className:t.cn(`flex-1 h-0.5 transition-colors duration-300`,o||l?m===`custom`?``:D.fill:`bg-muted`),style:(o||l)&&m===`custom`&&h?{backgroundColor:h}:{}}),(0,i.jsx)(s,{step:n,index:a,currentStep:c,totalSteps:O,color:m,customColor:h,variant:`full`,orientation:u,clickable:b,onClick:()=>y?.(a)}),u===`horizontal`&&!d&&(0,i.jsx)(`div`,{className:t.cn(`flex-1 h-0.5 transition-colors duration-300`,o?m===`custom`?``:D.fill:`bg-muted`),style:o&&m===`custom`&&h?{backgroundColor:h}:{}}),u===`vertical`&&!d&&(0,i.jsx)(`div`,{className:t.cn(`w-0.5 h-6 my-1 transition-colors duration-300`,o?m===`custom`?``:D.fill:`bg-muted`),style:o&&m===`custom`&&h?{backgroundColor:h}:{}})]}),(0,i.jsx)(`div`,{className:t.cn(u===`horizontal`?`text-center mt-2 max-w-[100px]`:`flex-1 pb-2`),children:(0,i.jsxs)(`button`,{type:`button`,onClick:b?()=>y?.(a):void 0,disabled:!b,className:t.cn(`text-left`,b&&`cursor-pointer hover:opacity-80`,!b&&`cursor-default`),children:[(0,i.jsxs)(`p`,{className:t.cn(`text-sm font-medium transition-colors`,l?`text-foreground`:`text-muted-foreground`,o&&`line-through opacity-60`),children:[n.label,n.optional&&(0,i.jsx)(`span`,{className:`ml-1 text-xs font-normal text-muted-foreground`,children:`(optional)`})]}),n.description&&u===`vertical`&&(0,i.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:n.description})]})}),l&&u===`vertical`&&(0,i.jsx)(r.ChevronRight,{className:t.cn(`h-4 w-4 animate-pulse`,m!==`custom`&&D.text),style:m===`custom`&&h?{color:h}:{}})]},n.id)})}),j&&(0,i.jsx)(`div`,{className:t.cn(`mt-4 p-3 rounded-md text-center text-sm font-medium animate-fade-in-onboarding`,m!==`custom`&&`bg-${m===`default`?`primary`:m}-500/10`,m!==`custom`&&D.text),style:m===`custom`&&h?{backgroundColor:`${h}15`,color:h}:{},children:`Onboarding complete!`}),(0,i.jsx)(`style`,{children:`
15
+ `})]})}function s({step:e,index:n,currentStep:o,color:s,customColor:c,variant:l,orientation:u,clickable:d,onClick:f}){let p=a[s],m=e.completed||n<o,h=n===o,g={mini:`h-2.5 w-2.5`,full:`h-6 w-6`},_={mini:`h-1.5 w-1.5`,full:`h-3.5 w-3.5`},v=()=>s===`custom`&&c?m||h?`text-white border-2`:p.stepPending:m?p.stepCompleted:h?p.stepActive:p.stepPending,y={};return s===`custom`&&c&&(m||h)&&(y.backgroundColor=c,y.borderColor=c),(0,i.jsxs)(`button`,{type:`button`,onClick:d?f:void 0,disabled:!d,className:t.cn(`relative rounded-full flex items-center justify-center border-2 transition-all duration-300`,g[l],v(),d&&`cursor-pointer hover:scale-110`,!d&&`cursor-default`,h&&`ring-2 ring-offset-2 ring-offset-background`,h&&s!==`custom`&&`ring-${s==="default"?`primary`:s}-500/30`,h&&s===`custom`&&`ring-current/30`),style:y,"aria-label":`Step ${n+1}: ${e.label}`,"aria-current":h?`step`:void 0,children:[l===`full`&&(0,i.jsx)(i.Fragment,{children:m?(0,i.jsx)(r.Check,{className:_[l]}):h?e.icon||(0,i.jsx)(r.Circle,{className:t.cn(_[l],`fill-current`)}):(0,i.jsx)(`span`,{className:`text-xs font-medium`,children:n+1})}),h&&(0,i.jsx)(`span`,{className:`absolute inset-0 rounded-full animate-ping opacity-30`,style:s===`custom`&&c?{backgroundColor:c}:{}})]})}function c({steps:e,currentStep:c,variant:l=`full`,orientation:u=`horizontal`,showPercentage:d=!0,showStepMarkers:f=!0,animated:p=!0,color:m=`default`,customColor:h,showConfettiOnComplete:g=!0,dismissible:_=!1,onDismiss:v,onStepClick:y,clickable:b=!1,className:x}){let[S,C]=n.useState(!1),[w,T]=n.useState(!1),E=n.useRef(!1),D=a[m],O=e.length,k=e.filter((e,t)=>e.completed||t<c).length,A=Math.round(k/O*100),j=A===100;n.useEffect(()=>{j&&!E.current&&g&&C(!0),E.current=j},[j,g]);let M=()=>{T(!0),v?.()};if(w)return null;let N=p?{width:`${A}%`,transition:`width 0.5s ease-out`}:{width:`${A}%`},P=p?{height:`${A}%`,transition:`height 0.5s ease-out`}:{height:`${A}%`};return l===`mini`?(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center gap-2`,u===`vertical`&&`flex-col h-full`,x),children:[S&&(0,i.jsx)(o,{active:S,onComplete:()=>C(!1)}),(0,i.jsx)(`div`,{className:t.cn(`relative overflow-hidden rounded-full bg-muted`,u===`horizontal`?`h-1.5 flex-1`:`w-1.5 flex-1`),children:(0,i.jsx)(`div`,{className:t.cn(`absolute rounded-full bg-gradient-to-r`,u===`horizontal`?`h-full left-0 top-0`:`w-full left-0 bottom-0`,m!==`custom`&&D.gradient),style:{...u===`horizontal`?N:P,...m===`custom`&&h?{backgroundColor:h}:{}}})}),f&&(0,i.jsx)(`div`,{className:t.cn(`flex gap-1`,u===`vertical`&&`flex-col`),children:e.map((e,t)=>(0,i.jsx)(s,{step:e,index:t,currentStep:c,totalSteps:O,color:m,customColor:h,variant:`mini`,orientation:u,clickable:b,onClick:()=>y?.(t)},e.id))}),d&&(0,i.jsxs)(`span`,{className:t.cn(`text-xs font-medium tabular-nums`,m!==`custom`&&D.text),style:m===`custom`&&h?{color:h}:{},children:[A,`%`]}),_&&(0,i.jsx)(`button`,{type:`button`,onClick:M,className:`p-0.5 rounded hover:bg-muted transition-colors text-muted-foreground hover:text-foreground`,"aria-label":`Dismiss onboarding`,children:(0,i.jsx)(r.X,{className:`h-3 w-3`})})]}):(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-lg border bg-card p-4`,u===`vertical`&&`max-w-xs`,x),children:[S&&(0,i.jsx)(o,{active:S,onComplete:()=>C(!1)}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,i.jsx)(`div`,{className:`flex items-center gap-2`,children:d&&(0,i.jsxs)(`span`,{className:t.cn(`text-sm font-semibold tabular-nums`,m!==`custom`&&D.text),style:m===`custom`&&h?{color:h}:{},children:[A,`% complete`]})}),_&&(0,i.jsx)(`button`,{type:`button`,onClick:M,className:`p-1 rounded-md hover:bg-muted transition-colors text-muted-foreground hover:text-foreground`,"aria-label":`Dismiss onboarding`,children:(0,i.jsx)(r.X,{className:`h-4 w-4`})})]}),(0,i.jsxs)(`div`,{className:t.cn(`relative overflow-hidden rounded-full bg-muted mb-4`,u===`horizontal`?`h-2`:`w-2 h-full mx-auto`),children:[(0,i.jsx)(`div`,{className:t.cn(`absolute rounded-full`,u===`horizontal`?`h-full left-0 top-0`:`w-full left-0 bottom-0`,m!==`custom`&&t.cn(`bg-gradient-to-r`,D.gradient)),style:{...u===`horizontal`?N:P,...m===`custom`&&h?{backgroundColor:h}:{}}}),p&&A>0&&(0,i.jsx)(`div`,{className:`absolute inset-0 overflow-hidden rounded-full`,style:{width:`${A}%`},children:(0,i.jsx)(`div`,{className:`absolute inset-0 animate-shine-onboarding`})})]}),(0,i.jsx)(`div`,{className:t.cn(u===`horizontal`?`flex items-start justify-between`:`flex flex-col gap-2`),children:e.map((n,a)=>{let o=n.completed||a<c,l=a===c,d=a===e.length-1;return(0,i.jsxs)(`div`,{className:t.cn(u===`horizontal`?`flex flex-col items-center flex-1`:`flex items-start gap-3`),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,u===`horizontal`?`w-full`:`flex-col`),children:[u===`horizontal`&&a>0&&(0,i.jsx)(`div`,{className:t.cn(`flex-1 h-0.5 transition-colors duration-300`,o||l?m===`custom`?``:D.fill:`bg-muted`),style:(o||l)&&m===`custom`&&h?{backgroundColor:h}:{}}),(0,i.jsx)(s,{step:n,index:a,currentStep:c,totalSteps:O,color:m,customColor:h,variant:`full`,orientation:u,clickable:b,onClick:()=>y?.(a)}),u===`horizontal`&&!d&&(0,i.jsx)(`div`,{className:t.cn(`flex-1 h-0.5 transition-colors duration-300`,o?m===`custom`?``:D.fill:`bg-muted`),style:o&&m===`custom`&&h?{backgroundColor:h}:{}}),u===`vertical`&&!d&&(0,i.jsx)(`div`,{className:t.cn(`w-0.5 h-6 my-1 transition-colors duration-300`,o?m===`custom`?``:D.fill:`bg-muted`),style:o&&m===`custom`&&h?{backgroundColor:h}:{}})]}),(0,i.jsx)(`div`,{className:t.cn(u===`horizontal`?`text-center mt-2 max-w-[100px]`:`flex-1 pb-2`),children:(0,i.jsxs)(`button`,{type:`button`,onClick:b?()=>y?.(a):void 0,disabled:!b,className:t.cn(`text-left`,b&&`cursor-pointer hover:opacity-80`,!b&&`cursor-default`),children:[(0,i.jsxs)(`p`,{className:t.cn(`text-sm font-medium transition-colors`,l?`text-foreground`:`text-muted-foreground`,o&&`line-through opacity-60`),children:[n.label,n.optional&&(0,i.jsx)(`span`,{className:`ml-1 text-xs font-normal text-muted-foreground`,children:`(optional)`})]}),n.description&&u===`vertical`&&(0,i.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:n.description})]})}),l&&u===`vertical`&&(0,i.jsx)(r.ChevronRight,{className:t.cn(`h-4 w-4 animate-pulse`,m!==`custom`&&D.text),style:m===`custom`&&h?{color:h}:{}})]},n.id)})}),j&&(0,i.jsx)(`div`,{className:t.cn(`mt-4 p-3 rounded-md text-center text-sm font-medium animate-fade-in-onboarding`,m!==`custom`&&`bg-${m==="default"?`primary`:m}-500/10`,m!==`custom`&&D.text),style:m===`custom`&&h?{backgroundColor:`${h}15`,color:h}:{},children:`Onboarding complete!`}),(0,i.jsx)(`style`,{children:`
16
16
  @keyframes shine-onboarding {
17
17
  0% { transform: translateX(-100%); opacity: 0; }
18
18
  50% { opacity: 0.4; }
@@ -29,4 +29,4 @@
29
29
  .animate-fade-in-onboarding {
30
30
  animation: fade-in-onboarding 0.3s ease-out;
31
31
  }
32
- `})]})}function l({initialSteps:e,initialStep:t=0,onComplete:r,onStepChange:i,persistKey:a}){let o=n.useCallback(()=>{if(a&&typeof window<`u`)try{let e=localStorage.getItem(`waka-onboarding-${a}`);if(e)return JSON.parse(e)}catch{}return null},[a])(),[s,c]=n.useState(o?.steps||e),[l,u]=n.useState(o?.currentStep??t),[d,f]=n.useState(o?.isDismissed??!1),p=s.filter((e,t)=>e.completed||t<l).length,m=Math.round(p/s.length*100),h=m===100;n.useEffect(()=>{a&&typeof window<`u`&&localStorage.setItem(`waka-onboarding-${a}`,JSON.stringify({steps:s,currentStep:l,isDismissed:d}))},[s,l,d,a]);let g=n.useRef(h);n.useEffect(()=>{h&&!g.current&&r?.(),g.current=h},[h,r]);let _=n.useCallback(e=>{e>=0&&e<s.length&&(u(e),i?.(e))},[s.length,i]),v=n.useCallback(()=>{l<s.length-1&&_(l+1)},[l,s.length,_]),y=n.useCallback(()=>{l>0&&_(l-1)},[l,_]),b=n.useCallback(e=>{c(t=>t.map(t=>t.id===e?{...t,completed:!0}:t))},[]);return{currentStep:l,steps:s,isCompleted:h,isDismissed:d,percentage:m,goToStep:_,nextStep:v,prevStep:y,completeStep:b,uncompleteStep:n.useCallback(e=>{c(t=>t.map(t=>t.id===e?{...t,completed:!1}:t))},[]),completeAndNext:n.useCallback(()=>{l<s.length&&(b(s[l].id),v())},[l,s,b,v]),dismiss:n.useCallback(()=>{f(!0)},[]),reset:n.useCallback(()=>{c(e.map(e=>({...e,completed:!1}))),u(0),f(!1),a&&typeof window<`u`&&localStorage.removeItem(`waka-onboarding-${a}`)},[e,a]),setSteps:n.useCallback(e=>{c(e)},[])}}exports.default=c,exports.useProgressOnboarding=l;
32
+ `})]})}function l({initialSteps:e,initialStep:t=0,onComplete:r,onStepChange:i,persistKey:a}){let o=n.useCallback(()=>{if(a&&typeof window<`u`)try{let e=localStorage.getItem(`waka-onboarding-${a}`);if(e)return JSON.parse(e)}catch{}return null},[a])(),[s,c]=n.useState(o?.steps||e),[l,u]=n.useState(o?.currentStep??t),[d,f]=n.useState(o?.isDismissed??!1),p=s.filter((e,t)=>e.completed||t<l).length,m=Math.round(p/s.length*100),h=m===100;n.useEffect(()=>{a&&typeof window<`u`&&localStorage.setItem(`waka-onboarding-${a}`,JSON.stringify({steps:s,currentStep:l,isDismissed:d}))},[s,l,d,a]);let g=n.useRef(h);n.useEffect(()=>{h&&!g.current&&r?.(),g.current=h},[h,r]);let _=n.useCallback(e=>{e>=0&&e<s.length&&(u(e),i?.(e))},[s.length,i]),v=n.useCallback(()=>{l<s.length-1&&_(l+1)},[l,s.length,_]),y=n.useCallback(()=>{l>0&&_(l-1)},[l,_]),b=n.useCallback(e=>{c(t=>t.map(t=>t.id===e?{...t,completed:!0}:t))},[]);return{currentStep:l,steps:s,isCompleted:h,isDismissed:d,percentage:m,goToStep:_,nextStep:v,prevStep:y,completeStep:b,uncompleteStep:n.useCallback(e=>{c(t=>t.map(t=>t.id===e?{...t,completed:!1}:t))},[]),completeAndNext:n.useCallback(()=>{l<s.length&&(b(s[l].id),v())},[l,s,b,v]),dismiss:n.useCallback(()=>{f(!0)},[]),reset:n.useCallback(()=>{c(e.map(e=>({...e,completed:!1}))),u(0),f(!1),a&&typeof window<`u`&&localStorage.removeItem(`waka-onboarding-${a}`)},[e,a]),setSteps:n.useCallback(e=>{c(e)},[])}}exports.WakaProgressOnboarding=c,exports.default=c,exports.useProgressOnboarding=l;
@@ -372,4 +372,4 @@ function p({ initialSteps: e, initialStep: n = 0, onComplete: r, onStepChange: i
372
372
  };
373
373
  }
374
374
  //#endregion
375
- export { f as default, p as useProgressOnboarding };
375
+ export { f as WakaProgressOnboarding, f as default, p as useProgressOnboarding };
@@ -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(`class-variance-authority`),i=require(`react/jsx-runtime`);var a=(0,r.cva)(`relative overflow-hidden touch-pan-y`,{variants:{variant:{default:``,ios:``,material:``}},defaultVariants:{variant:`default`}}),o=(0,r.cva)(`absolute left-0 right-0 flex items-center justify-center transition-transform`,{variants:{variant:{default:`top-0 -translate-y-full`,ios:`top-0 -translate-y-full`,material:`top-0 -translate-y-full`}},defaultVariants:{variant:`default`}});function s(e=`light`){typeof window<`u`&&`vibrate`in navigator&&navigator.vibrate({light:10,medium:20,heavy:30}[e])}function c({size:e=24,className:n}){return(0,i.jsxs)(`svg`,{className:t.cn(`animate-spin text-primary`,n),width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[(0,i.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`3`}),(0,i.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]})}function l({progress:e,ready:n,size:r=24,className:a}){let o=n?180:e*180;return(0,i.jsx)(`svg`,{className:t.cn(`text-muted-foreground transition-transform`,a),width:r,height:r,viewBox:`0 0 24 24`,fill:`none`,style:{transform:`rotate(${o}deg)`},"aria-hidden":`true`,focusable:`false`,children:(0,i.jsx)(`path`,{d:`M12 4v16m0-16l-6 6m6-6l6 6`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function u({state:e,progress:t,pullingText:n,readyText:r,refreshingText:a,completeText:o,variant:s=`default`}){return s===`ios`?(0,i.jsx)(`div`,{className:`flex flex-col items-center gap-2 py-4`,children:e===`refreshing`?(0,i.jsx)(c,{size:28}):e===`complete`?(0,i.jsx)(`div`,{className:`text-green-500 text-2xl`,children:`✓`}):(0,i.jsx)(l,{progress:t,ready:e===`ready`,size:28})}):s===`material`?(0,i.jsx)(`div`,{className:`py-4`,children:(0,i.jsx)(`div`,{className:`w-10 h-10 rounded-full bg-background shadow-lg flex items-center justify-center`,style:{transform:`scale(${Math.min(t,1)})`,opacity:Math.min(t*2,1)},children:e===`refreshing`?(0,i.jsx)(c,{size:24}):e===`complete`?(0,i.jsx)(`span`,{className:`text-green-500 text-lg`,children:`✓`}):(0,i.jsx)(l,{progress:t,ready:e===`ready`,size:20})})}):(0,i.jsx)(`div`,{className:`flex flex-col items-center gap-2 py-4`,children:e===`refreshing`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c,{}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:a})]}):e===`complete`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`text-green-500 text-xl`,children:`✓`}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:o})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l,{progress:t,ready:e===`ready`}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e===`ready`?r:n})]})})}var d=n.forwardRef(({onRefresh:e,pullThreshold:r=80,maxPull:c=150,resistance:l=.5,indicator:d,pullingText:f=`Pull to refresh`,readyText:p=`Release to refresh`,refreshingText:m=`Refreshing...`,completeText:h=`Done!`,hapticFeedback:g=!0,disabled:_=!1,onStateChange:v,variant:y,className:b,children:x,...S},C)=>{let w=n.useRef(null),T=n.useRef(null),[E,D]=n.useState(`idle`),[O,k]=n.useState(0),[A,j]=n.useState(null),[M,N]=n.useState(!1);n.useImperativeHandle(C,()=>w.current);let P=Math.min(O/r,1),F=n.useCallback(e=>{D(e),v?.(e)},[v]),I=n.useCallback(e=>{_||E===`refreshing`||((T.current?.scrollTop??0)<=0?(j(e.touches[0].clientY),N(!0)):N(!1))},[_,E]),L=n.useCallback(e=>{if(!M||A===null||_||E===`refreshing`)return;let t=e.touches[0].clientY-A;if(t>0){let n=Math.min(t*l,c);k(n),n>=r&&E!==`ready`?(F(`ready`),g&&s(`medium`)):n<r&&n>0&&E!==`pulling`&&F(`pulling`),e.preventDefault()}},[M,A,_,E,l,c,r,F,g]),R=n.useCallback(async()=>{if(!(_||A===null))if(j(null),N(!1),E===`ready`){F(`refreshing`),k(r);try{await e(),F(`complete`),g&&s(`light`),setTimeout(()=>{k(0),F(`idle`)},500)}catch{k(0),F(`idle`)}}else k(0),F(`idle`)},[_,A,E,F,r,e,g]),z=()=>typeof d==`function`?d(E,P):d||(0,i.jsx)(u,{state:E,progress:P,pullingText:f,readyText:p,refreshingText:m,completeText:h,variant:y??`default`});return(0,i.jsxs)(`div`,{ref:w,className:t.cn(a({variant:y}),b),...S,children:[(0,i.jsx)(`div`,{className:t.cn(o({variant:y})),style:{transform:`translateY(${O}px)`,transition:E===`refreshing`||E===`idle`?`transform 0.3s ease-out`:`none`},children:z()}),(0,i.jsx)(`div`,{ref:T,className:`h-full overflow-auto`,style:{transform:`translateY(${O}px)`,transition:E===`refreshing`||E===`idle`?`transform 0.3s ease-out`:`none`},onTouchStart:I,onTouchMove:L,onTouchEnd:R,onTouchCancel:R,children:x})]})});d.displayName=`WakaPullToRefresh`;function f({onRefresh:e,onStateChange:t}){let[r,i]=n.useState(`idle`),[a,o]=n.useState(!1);return{state:r,isRefreshing:a,refresh:n.useCallback(async()=>{if(!a){o(!0),i(`refreshing`),t?.(`refreshing`);try{await e(),i(`complete`),t?.(`complete`),setTimeout(()=>{i(`idle`),t?.(`idle`),o(!1)},500)}catch{i(`idle`),t?.(`idle`),o(!1)}}},[a,e,t])}}exports.WakaPullToRefresh=d,exports.usePullToRefresh=f;
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("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`relative overflow-hidden touch-pan-y`,{variants:{variant:{default:``,ios:``,material:``}},defaultVariants:{variant:`default`}}),o=(0,r.cva)(`absolute left-0 right-0 flex items-center justify-center transition-transform`,{variants:{variant:{default:`top-0 -translate-y-full`,ios:`top-0 -translate-y-full`,material:`top-0 -translate-y-full`}},defaultVariants:{variant:`default`}});function s(e=`light`){typeof window<`u`&&`vibrate`in navigator&&navigator.vibrate({light:10,medium:20,heavy:30}[e])}function c({size:e=24,className:n}){return(0,i.jsxs)(`svg`,{className:t.cn(`animate-spin text-primary`,n),width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,focusable:`false`,children:[(0,i.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`3`}),(0,i.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]})}function l({progress:e,ready:n,size:r=24,className:a}){let o=n?180:e*180;return(0,i.jsx)(`svg`,{className:t.cn(`text-muted-foreground transition-transform`,a),width:r,height:r,viewBox:`0 0 24 24`,fill:`none`,style:{transform:`rotate(${o}deg)`},"aria-hidden":`true`,focusable:`false`,children:(0,i.jsx)(`path`,{d:`M12 4v16m0-16l-6 6m6-6l6 6`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function u({state:e,progress:t,pullingText:n,readyText:r,refreshingText:a,completeText:o,variant:s=`default`}){return s===`ios`?(0,i.jsx)(`div`,{className:`flex flex-col items-center gap-2 py-4`,children:e===`refreshing`?(0,i.jsx)(c,{size:28}):e===`complete`?(0,i.jsx)(`div`,{className:`text-green-500 text-2xl`,children:`✓`}):(0,i.jsx)(l,{progress:t,ready:e===`ready`,size:28})}):s===`material`?(0,i.jsx)(`div`,{className:`py-4`,children:(0,i.jsx)(`div`,{className:`w-10 h-10 rounded-full bg-background shadow-lg flex items-center justify-center`,style:{transform:`scale(${Math.min(t,1)})`,opacity:Math.min(t*2,1)},children:e===`refreshing`?(0,i.jsx)(c,{size:24}):e===`complete`?(0,i.jsx)(`span`,{className:`text-green-500 text-lg`,children:`✓`}):(0,i.jsx)(l,{progress:t,ready:e===`ready`,size:20})})}):(0,i.jsx)(`div`,{className:`flex flex-col items-center gap-2 py-4`,children:e===`refreshing`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c,{}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:a})]}):e===`complete`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`text-green-500 text-xl`,children:`✓`}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:o})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l,{progress:t,ready:e===`ready`}),(0,i.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e===`ready`?r:n})]})})}var d=n.forwardRef(({onRefresh:e,pullThreshold:r=80,maxPull:c=150,resistance:l=.5,indicator:d,pullingText:f=`Pull to refresh`,readyText:p=`Release to refresh`,refreshingText:m=`Refreshing...`,completeText:h=`Done!`,hapticFeedback:g=!0,disabled:_=!1,onStateChange:v,variant:y,className:b,children:x,...S},C)=>{let w=n.useRef(null),T=n.useRef(null),[E,D]=n.useState(`idle`),[O,k]=n.useState(0),[A,j]=n.useState(null),[M,N]=n.useState(!1);n.useImperativeHandle(C,()=>w.current);let P=Math.min(O/r,1),F=n.useCallback(e=>{D(e),v?.(e)},[v]),I=n.useCallback(e=>{_||E===`refreshing`||((T.current?.scrollTop??0)<=0?(j(e.touches[0].clientY),N(!0)):N(!1))},[_,E]),L=n.useCallback(e=>{if(!M||A===null||_||E===`refreshing`)return;let t=e.touches[0].clientY-A;if(t>0){let n=Math.min(t*l,c);k(n),n>=r&&E!==`ready`?(F(`ready`),g&&s(`medium`)):n<r&&n>0&&E!==`pulling`&&F(`pulling`),e.preventDefault()}},[M,A,_,E,l,c,r,F,g]),R=n.useCallback(async()=>{if(!(_||A===null))if(j(null),N(!1),E===`ready`){F(`refreshing`),k(r);try{await e(),F(`complete`),g&&s(`light`),setTimeout(()=>{k(0),F(`idle`)},500)}catch{k(0),F(`idle`)}}else k(0),F(`idle`)},[_,A,E,F,r,e,g]),z=()=>typeof d==`function`?d(E,P):d||(0,i.jsx)(u,{state:E,progress:P,pullingText:f,readyText:p,refreshingText:m,completeText:h,variant:y??`default`});return(0,i.jsxs)(`div`,{ref:w,className:t.cn(a({variant:y}),b),...S,children:[(0,i.jsx)(`div`,{className:t.cn(o({variant:y})),style:{transform:`translateY(${O}px)`,transition:E===`refreshing`||E===`idle`?`transform 0.3s ease-out`:`none`},children:z()}),(0,i.jsx)(`div`,{ref:T,className:`h-full overflow-auto`,style:{transform:`translateY(${O}px)`,transition:E===`refreshing`||E===`idle`?`transform 0.3s ease-out`:`none`},onTouchStart:I,onTouchMove:L,onTouchEnd:R,onTouchCancel:R,children:x})]})});d.displayName=`WakaPullToRefresh`;function f({onRefresh:e,onStateChange:t}){let[r,i]=n.useState(`idle`),[a,o]=n.useState(!1);return{state:r,isRefreshing:a,refresh:n.useCallback(async()=>{if(!a){o(!0),i(`refreshing`),t?.(`refreshing`);try{await e(),i(`complete`),t?.(`complete`),setTimeout(()=>{i(`idle`),t?.(`idle`),o(!1)},500)}catch{i(`idle`),t?.(`idle`),o(!1)}}},[a,e,t])}}exports.WakaPullToRefresh=d,exports.usePullToRefresh=f;
@@ -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`);let r=require(`react`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`);function o(e,t){let n=Math.max(21,Math.min(177,21+Math.floor(e.length/10)*4)),r=[];for(let t=0;t<n;t++){r[t]=[];for(let i=0;i<n;i++)if(t<7&&i<7||t<7&&i>=n-7||t>=n-7&&i<7){let e=t<7?t:t-(n-7),a=i<7?i:i>=n-7?i-(n-7):i;e===0||e===6||a===0||a===6||e>=2&&e<=4&&a>=2&&a<=4?r[t][i]=!0:r[t][i]=!1}else{let a=(e.charCodeAt((t*n+i)%e.length)||0)+t*31+i*17;r[t][i]=a%3==0}}return{modules:r,size:n}}function s({value:e,size:s=200,errorCorrectionLevel:c=`M`,fgColor:l=`#000000`,bgColor:u=`#FFFFFF`,includeMargin:d=!0,logoUrl:f,logoSize:p=.2,showActions:m=!1,className:h}){let g=r.useRef(null),[_,v]=r.useState(!1);return r.useEffect(()=>{let t=g.current;if(!t||!e)return;let n=t.getContext(`2d`);if(!n)return;let r=o(e,c),i=d?4:0,a=s/(r.size+i*2);n.fillStyle=u,n.fillRect(0,0,s,s),n.fillStyle=l;for(let e=0;e<r.size;e++)for(let t=0;t<r.size;t++)r.modules[e][t]&&n.fillRect((t+i)*a,(e+i)*a,a,a);if(f){let e=new Image;e.crossOrigin=`anonymous`,e.onload=()=>{let t=s*p,r=(s-t)/2,i=(s-t)/2;n.fillStyle=u,n.fillRect(r-4,i-4,t+8,t+8),n.drawImage(e,r,i,t,t)},e.src=f}},[e,s,c,l,u,d,f,p]),(0,a.jsxs)(`div`,{className:t.cn(`inline-flex flex-col items-center gap-2`,h),children:[(0,a.jsx)(`canvas`,{ref:g,width:s,height:s,className:`rounded-lg`,style:{width:s,height:s}}),m&&(0,a.jsxs)(`div`,{className:`flex gap-2`,children:[(0,a.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:()=>{let e=g.current;if(!e)return;let t=document.createElement(`a`);t.download=`qrcode-${Date.now()}.png`,t.href=e.toDataURL(`image/png`),t.click()},children:[(0,a.jsx)(i.Download,{className:`h-4 w-4 mr-1`}),`Télécharger`]}),(0,a.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:async()=>{let e=g.current;if(e)try{let t=await new Promise(t=>{e.toBlob(e=>{e&&t(e)},`image/png`)});await navigator.clipboard.write([new ClipboardItem({"image/png":t})]),v(!0),setTimeout(()=>v(!1),2e3)}catch(e){console.error(`Failed to copy QR code:`,e)}},children:[_?(0,a.jsx)(i.Check,{className:`h-4 w-4 mr-1`}):(0,a.jsx)(i.Copy,{className:`h-4 w-4 mr-1`}),_?`Copié`:`Copier`]})]})]})}function c(e=``){let[t,n]=r.useState(e);return{value:t,setValue:n,props:{value:t}}}exports.default=s,exports.useQRCode=c;
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");let r=require("react");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime");function o(e,t){let n=Math.max(21,Math.min(177,21+Math.floor(e.length/10)*4)),r=[];for(let t=0;t<n;t++){r[t]=[];for(let i=0;i<n;i++)if(t<7&&i<7||t<7&&i>=n-7||t>=n-7&&i<7){let e=t<7?t:t-(n-7),a=i<7?i:i>=n-7?i-(n-7):i;e===0||e===6||a===0||a===6||e>=2&&e<=4&&a>=2&&a<=4?r[t][i]=!0:r[t][i]=!1}else{let a=(e.charCodeAt((t*n+i)%e.length)||0)+t*31+i*17;r[t][i]=a%3==0}}return{modules:r,size:n}}function s({value:e,size:s=200,errorCorrectionLevel:c=`M`,fgColor:l=`#000000`,bgColor:u=`#FFFFFF`,includeMargin:d=!0,logoUrl:f,logoSize:p=.2,showActions:m=!1,className:h}){let g=r.useRef(null),[_,v]=r.useState(!1);return r.useEffect(()=>{let t=g.current;if(!t||!e)return;let n=t.getContext(`2d`);if(!n)return;let r=o(e,c),i=d?4:0,a=s/(r.size+i*2);n.fillStyle=u,n.fillRect(0,0,s,s),n.fillStyle=l;for(let e=0;e<r.size;e++)for(let t=0;t<r.size;t++)r.modules[e][t]&&n.fillRect((t+i)*a,(e+i)*a,a,a);if(f){let e=new Image;e.crossOrigin=`anonymous`,e.onload=()=>{let t=s*p,r=(s-t)/2,i=(s-t)/2;n.fillStyle=u,n.fillRect(r-4,i-4,t+8,t+8),n.drawImage(e,r,i,t,t)},e.src=f}},[e,s,c,l,u,d,f,p]),(0,a.jsxs)(`div`,{className:t.cn(`inline-flex flex-col items-center gap-2`,h),children:[(0,a.jsx)(`canvas`,{ref:g,width:s,height:s,className:`rounded-lg`,style:{width:s,height:s}}),m&&(0,a.jsxs)(`div`,{className:`flex gap-2`,children:[(0,a.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:()=>{let e=g.current;if(!e)return;let t=document.createElement(`a`);t.download=`qrcode-${Date.now()}.png`,t.href=e.toDataURL(`image/png`),t.click()},children:[(0,a.jsx)(i.Download,{className:`h-4 w-4 mr-1`}),`Télécharger`]}),(0,a.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:async()=>{let e=g.current;if(e)try{let t=await new Promise(t=>{e.toBlob(e=>{e&&t(e)},`image/png`)});await navigator.clipboard.write([new ClipboardItem({"image/png":t})]),v(!0),setTimeout(()=>v(!1),2e3)}catch(e){console.error(`Failed to copy QR code:`,e)}},children:[_?(0,a.jsx)(i.Check,{className:`h-4 w-4 mr-1`}):(0,a.jsx)(i.Copy,{className:`h-4 w-4 mr-1`}),_?`Copié`:`Copier`]})]})]})}function c(e=``){let[t,n]=r.useState(e);return{value:t,setValue:n,props:{value:t}}}exports.WakaQRCode=s,exports.default=s,exports.useQRCode=c;
@@ -102,4 +102,4 @@ function u(e = "") {
102
102
  };
103
103
  }
104
104
  //#endregion
105
- export { l as default, u as useQRCode };
105
+ export { l as WakaQRCode, l as default, u as useQRCode };