@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 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`),i=require(`recharts`);function a(e){return new Date(e)}function o(e){return a(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function s(e,t){let n=a(e);return n.setDate(n.getDate()+t),n.toISOString().split(`T`)[0]}function c(e){if(e.length<2)return 0;let t=[...e].sort((e,t)=>a(e.date).getTime()-a(t.date).getTime()),n=t[0],r=t[t.length-1],i=(a(r.date).getTime()-a(n.date).getTime())/(1e3*60*60*24);return i===0?0:(n.value-r.value)/i}function l(e,t,n,r){let i=[...e].sort((e,t)=>a(e.date).getTime()-a(t.date).getTime()),o=c(i),l=i.map(e=>({date:e.date,historical:e.value})),u=i.length>0?i[i.length-1].date:new Date().toISOString().split(`T`)[0],d=null;i.length>0&&(l[l.length-1].projected=t,r&&(l[l.length-1].upperBound=t,l[l.length-1].lowerBound=t));for(let e=1;e<=n;e++){let i=s(u,e),a=Math.max(0,t-o*e),c=e/n*.2,f=Math.max(0,t-o*e*(1-c)),p=Math.max(0,t-o*e*(1+c)),m={date:i,projected:a};r&&(m.upperBound=f,m.lowerBound=p),l.push(m),d===null&&a<=0&&(d=i)}return{chartData:l,depletionDate:d}}function u({active:e,payload:t,label:n}){if(!e||!t||t.length===0||!n)return null;let i=t.find(e=>e.dataKey===`historical`),a=t.find(e=>e.dataKey===`projected`),s=t.find(e=>e.dataKey===`upperBound`),c=t.find(e=>e.dataKey===`lowerBound`);return(0,r.jsxs)(`div`,{className:`rounded-lg border bg-background px-3 py-2 shadow-md`,children:[(0,r.jsx)(`p`,{className:`text-xs font-medium text-foreground mb-1`,children:o(n)}),i&&i.value!=null&&(0,r.jsxs)(`p`,{className:`text-xs text-blue-600`,children:[`Balance: `,i.value.toLocaleString()]}),a&&a.value!=null&&(0,r.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Projected: `,a.value.toLocaleString()]}),s&&c&&s.value!=null&&c.value!=null&&(0,r.jsxs)(`p`,{className:`text-xs text-muted-foreground/70`,children:[`Range: `,c.value.toLocaleString(),` - `,s.value.toLocaleString()]})]})}function d({depletionDate:e}){return e?(0,r.jsxs)(`div`,{className:`mt-2 text-sm text-red-600 font-medium text-center`,children:[`Estimated depletion: `,o(e)]}):null}function f({historicalData:e,balance:a,projectionDays:s=30,confidenceInterval:c=!1,height:f=300,animated:p=!0,className:m}){let{chartData:h,depletionDate:g}=n.useMemo(()=>l(e,a,s,c),[e,a,s,c]);return e.length===0?(0,r.jsx)(`div`,{className:t.cn(`flex items-center justify-center text-muted-foreground text-sm border border-dashed border-border rounded-lg`,m),style:{height:f},children:`No historical data available`}):(0,r.jsxs)(`div`,{className:t.cn(`w-full`,m),children:[(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:f,children:(0,r.jsxs)(i.AreaChart,{data:h,margin:{top:10,right:30,left:10,bottom:0},children:[(0,r.jsxs)(`defs`,{children:[(0,r.jsxs)(`linearGradient`,{id:`historicalGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:`#3b82f6`,stopOpacity:.3}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:`#3b82f6`,stopOpacity:.05})]}),(0,r.jsxs)(`linearGradient`,{id:`confidenceGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:`#9ca3af`,stopOpacity:.2}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:`#9ca3af`,stopOpacity:.05})]})]}),(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`,stroke:`#e5e7eb`,vertical:!1}),(0,r.jsx)(i.XAxis,{dataKey:`date`,tickFormatter:o,tick:{fontSize:12,fill:`#6b7280`},axisLine:{stroke:`#d1d5db`},tickLine:{stroke:`#d1d5db`}}),(0,r.jsx)(i.YAxis,{tick:{fontSize:12,fill:`#6b7280`},axisLine:{stroke:`#d1d5db`},tickLine:{stroke:`#d1d5db`},tickFormatter:e=>e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e)}),(0,r.jsx)(i.Tooltip,{content:(0,r.jsx)(u,{})}),(0,r.jsx)(i.ReferenceLine,{y:0,stroke:`#ef4444`,strokeWidth:2}),c&&(0,r.jsx)(i.Area,{type:`monotone`,dataKey:`upperBound`,stroke:`none`,fill:`url(#confidenceGradient)`,fillOpacity:1,isAnimationActive:p,animationDuration:1e3}),c&&(0,r.jsx)(i.Area,{type:`monotone`,dataKey:`lowerBound`,stroke:`none`,fill:`#ffffff`,fillOpacity:1,isAnimationActive:p,animationDuration:1e3}),(0,r.jsx)(i.Area,{type:`monotone`,dataKey:`historical`,stroke:`#3b82f6`,strokeWidth:2,fill:`url(#historicalGradient)`,fillOpacity:1,isAnimationActive:p,animationDuration:1e3,connectNulls:!1}),(0,r.jsx)(i.Line,{type:`monotone`,dataKey:`projected`,stroke:`#6b7280`,strokeWidth:2,strokeDasharray:`6 3`,dot:!1,isAnimationActive:p,animationDuration:1e3,connectNulls:!1})]})}),(0,r.jsx)(d,{depletionDate:g})]})}exports.default=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("react/jsx-runtime"),i=require("recharts");function a(e){return new Date(e)}function o(e){return a(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function s(e,t){let n=a(e);return n.setDate(n.getDate()+t),n.toISOString().split(`T`)[0]}function c(e){if(e.length<2)return 0;let t=[...e].sort((e,t)=>a(e.date).getTime()-a(t.date).getTime()),n=t[0],r=t[t.length-1],i=(a(r.date).getTime()-a(n.date).getTime())/(1e3*60*60*24);return i===0?0:(n.value-r.value)/i}function l(e,t,n,r){let i=[...e].sort((e,t)=>a(e.date).getTime()-a(t.date).getTime()),o=c(i),l=i.map(e=>({date:e.date,historical:e.value})),u=i.length>0?i[i.length-1].date:new Date().toISOString().split(`T`)[0],d=null;i.length>0&&(l[l.length-1].projected=t,r&&(l[l.length-1].upperBound=t,l[l.length-1].lowerBound=t));for(let e=1;e<=n;e++){let i=s(u,e),a=Math.max(0,t-o*e),c=e/n*.2,f=Math.max(0,t-o*e*(1-c)),p=Math.max(0,t-o*e*(1+c)),m={date:i,projected:a};r&&(m.upperBound=f,m.lowerBound=p),l.push(m),d===null&&a<=0&&(d=i)}return{chartData:l,depletionDate:d}}function u({active:e,payload:t,label:n}){if(!e||!t||t.length===0||!n)return null;let i=t.find(e=>e.dataKey===`historical`),a=t.find(e=>e.dataKey===`projected`),s=t.find(e=>e.dataKey===`upperBound`),c=t.find(e=>e.dataKey===`lowerBound`);return(0,r.jsxs)(`div`,{className:`rounded-lg border bg-background px-3 py-2 shadow-md`,children:[(0,r.jsx)(`p`,{className:`text-xs font-medium text-foreground mb-1`,children:o(n)}),i&&i.value!=null&&(0,r.jsxs)(`p`,{className:`text-xs text-blue-600`,children:[`Balance: `,i.value.toLocaleString()]}),a&&a.value!=null&&(0,r.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Projected: `,a.value.toLocaleString()]}),s&&c&&s.value!=null&&c.value!=null&&(0,r.jsxs)(`p`,{className:`text-xs text-muted-foreground/70`,children:[`Range: `,c.value.toLocaleString(),` - `,s.value.toLocaleString()]})]})}function d({depletionDate:e}){return e?(0,r.jsxs)(`div`,{className:`mt-2 text-sm text-red-600 font-medium text-center`,children:[`Estimated depletion: `,o(e)]}):null}function f({historicalData:e,balance:a,projectionDays:s=30,confidenceInterval:c=!1,height:f=300,animated:p=!0,className:m}){let{chartData:h,depletionDate:g}=n.useMemo(()=>l(e,a,s,c),[e,a,s,c]);return e.length===0?(0,r.jsx)(`div`,{className:t.cn(`flex items-center justify-center text-muted-foreground text-sm border border-dashed border-border rounded-lg`,m),style:{height:f},children:`No historical data available`}):(0,r.jsxs)(`div`,{className:t.cn(`w-full`,m),children:[(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:f,children:(0,r.jsxs)(i.AreaChart,{data:h,margin:{top:10,right:30,left:10,bottom:0},children:[(0,r.jsxs)(`defs`,{children:[(0,r.jsxs)(`linearGradient`,{id:`historicalGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:`#3b82f6`,stopOpacity:.3}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:`#3b82f6`,stopOpacity:.05})]}),(0,r.jsxs)(`linearGradient`,{id:`confidenceGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:`#9ca3af`,stopOpacity:.2}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:`#9ca3af`,stopOpacity:.05})]})]}),(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`,stroke:`#e5e7eb`,vertical:!1}),(0,r.jsx)(i.XAxis,{dataKey:`date`,tickFormatter:o,tick:{fontSize:12,fill:`#6b7280`},axisLine:{stroke:`#d1d5db`},tickLine:{stroke:`#d1d5db`}}),(0,r.jsx)(i.YAxis,{tick:{fontSize:12,fill:`#6b7280`},axisLine:{stroke:`#d1d5db`},tickLine:{stroke:`#d1d5db`},tickFormatter:e=>e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e)}),(0,r.jsx)(i.Tooltip,{content:(0,r.jsx)(u,{})}),(0,r.jsx)(i.ReferenceLine,{y:0,stroke:`#ef4444`,strokeWidth:2}),c&&(0,r.jsx)(i.Area,{type:`monotone`,dataKey:`upperBound`,stroke:`none`,fill:`url(#confidenceGradient)`,fillOpacity:1,isAnimationActive:p,animationDuration:1e3}),c&&(0,r.jsx)(i.Area,{type:`monotone`,dataKey:`lowerBound`,stroke:`none`,fill:`#ffffff`,fillOpacity:1,isAnimationActive:p,animationDuration:1e3}),(0,r.jsx)(i.Area,{type:`monotone`,dataKey:`historical`,stroke:`#3b82f6`,strokeWidth:2,fill:`url(#historicalGradient)`,fillOpacity:1,isAnimationActive:p,animationDuration:1e3,connectNulls:!1}),(0,r.jsx)(i.Line,{type:`monotone`,dataKey:`projected`,stroke:`#6b7280`,strokeWidth:2,strokeDasharray:`6 3`,dot:!1,isAnimationActive:p,animationDuration:1e3,connectNulls:!1})]})}),(0,r.jsx)(d,{depletionDate:g})]})}exports.WakaCreditProjection=f,exports.default=f;
@@ -209,4 +209,4 @@ function b({ historicalData: p, balance: h, projectionDays: g = 30, confidenceIn
209
209
  });
210
210
  }
211
211
  //#endregion
212
- export { b as default };
212
+ export { b as WakaCreditProjection, b as default };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);var a={sm:{bar:`h-2`,text:`text-xs`,label:`text-xs`,icon:`h-3 w-3`,gap:`gap-1`,legendDot:`h-2 w-2`,container:`space-y-2`},md:{bar:`h-3`,text:`text-sm`,label:`text-sm`,icon:`h-4 w-4`,gap:`gap-2`,legendDot:`h-2.5 w-2.5`,container:`space-y-3`},lg:{bar:`h-4`,text:`text-base`,label:`text-base`,icon:`h-5 w-5`,gap:`gap-3`,legendDot:`h-3 w-3`,container:`space-y-4`}},o=[`bg-blue-500`,`bg-emerald-500`,`bg-amber-500`,`bg-violet-500`,`bg-rose-500`,`bg-cyan-500`,`bg-orange-500`,`bg-indigo-500`];function s(e){return e.toLocaleString(`en-US`)}function c(e){return e>=90?`bg-destructive`:e>=75?`bg-warning`:`bg-success`}function l(e){return e>=90?`text-red-600 dark:text-red-400`:e>=75?`text-yellow-600 dark:text-yellow-400`:`text-green-600 dark:text-green-400`}function u(e){let t=new Date,n=new Date(e).getTime()-t.getTime();if(n<=0)return`Resetting now`;let r=Math.floor(n/(1e3*60*60*24)),i=Math.floor(n%(1e3*60*60*24)/(1e3*60*60));return r>1?`Resets in ${r} days`:r===1?`Resets in 1 day`:i>1?`Resets in ${i} hours`:i===1?`Resets in 1 hour`:`Resets in less than an hour`}function d(e,t){return t||o[e%o.length]}function f({resetDate:e,size:n}){let o=a[n],s=u(e);return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center text-muted-foreground`,o.gap,o.text),children:[(0,i.jsx)(r.Clock,{className:o.icon}),(0,i.jsx)(`span`,{children:s})]})}function p({services:e,total:n,size:r,formatValue:o}){let s=a[r];return(0,i.jsx)(`div`,{className:t.cn(`flex flex-wrap`,s.gap),children:e.map((e,r)=>{let a=d(r,e.color),c=n>0?(e.value/n*100).toFixed(1):`0`;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,s.gap,s.text),children:[(0,i.jsx)(`div`,{className:t.cn(`rounded-full flex-shrink-0`,s.legendDot,a)}),(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.name,`:`,` `,(0,i.jsx)(`span`,{className:`font-medium text-foreground tabular-nums`,children:o(e.value)}),(0,i.jsxs)(`span`,{className:`text-muted-foreground ml-0.5`,children:[`(`,c,`%)`]})]})]},e.id)})})}function m({used:e,total:r,resetDate:o,services:u,variant:d=`compact`,size:m=`md`,animated:g=!0,showResetCountdown:_=!0,formatValue:v=s,className:y}){let[b,x]=n.useState(0),S=a[m],C=r>0?e/r*100:0,w=Math.min(C,100);return n.useEffect(()=>{if(!g){x(w);return}let e=w,t=Date.now(),n=()=>{let r=Date.now()-t,i=Math.min(r/800,1),a=1-(1-i)**3;x(0+(e-0)*a),i<1&&requestAnimationFrame(n)};requestAnimationFrame(n)},[w,g]),d===`compact`?(0,i.jsxs)(`div`,{className:t.cn(`w-full`,S.container,y),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between`,S.text),children:[(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[(0,i.jsx)(`span`,{className:`font-medium text-foreground tabular-nums`,children:v(e)}),` / `,(0,i.jsx)(`span`,{className:`tabular-nums`,children:v(r)}),` used`]}),(0,i.jsxs)(`span`,{className:t.cn(`font-medium tabular-nums`,l(C)),children:[C.toFixed(0),`%`]})]}),(0,i.jsx)(`div`,{className:t.cn(`relative w-full overflow-hidden rounded-full bg-muted`,S.bar),children:(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-colors duration-300`,c(C),C>=100&&`animate-pulse`),style:{width:`${b}%`,transition:g?void 0:`width 0.3s ease-out`}})}),_&&o&&(0,i.jsx)(f,{resetDate:o,size:m})]}):(0,i.jsxs)(`div`,{className:t.cn(`w-full`,S.container,y),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between`,S.text),children:[(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[(0,i.jsx)(`span`,{className:`font-medium text-foreground tabular-nums`,children:v(e)}),` / `,(0,i.jsx)(`span`,{className:`tabular-nums`,children:v(r)}),` used`]}),(0,i.jsxs)(`span`,{className:t.cn(`font-medium tabular-nums`,l(C)),children:[C.toFixed(0),`%`]})]}),(0,i.jsx)(`div`,{className:t.cn(`relative w-full overflow-hidden rounded-full bg-muted`,S.bar),children:u&&u.length>0?(0,i.jsx)(h,{services:u,total:r,animated:g,usagePercentage:C}):(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-colors duration-300`,c(C),C>=100&&`animate-pulse`),style:{width:`${b}%`,transition:g?void 0:`width 0.3s ease-out`}})}),u&&u.length>0&&(0,i.jsx)(p,{services:u,total:r,size:m,formatValue:v}),_&&o&&(0,i.jsx)(f,{resetDate:o,size:m})]})}function h({services:e,total:r,animated:a,usagePercentage:o}){let[s,c]=n.useState(0),l=Math.min(o,100);n.useEffect(()=>{if(!a){c(1);return}let e=Date.now(),t=()=>{let n=Date.now()-e,r=Math.min(n/800,1);c(1-(1-r)**3),r<1&&requestAnimationFrame(t)};requestAnimationFrame(t)},[a,l]);let u=e.reduce((e,t)=>e+t.value,0),f=u>0?Math.min(u,r)/u:0;return(0,i.jsx)(`div`,{className:`flex h-full w-full`,children:e.map((n,a)=>{let c=r>0?n.value*f/r*100:0;return(0,i.jsx)(`div`,{className:t.cn(`h-full transition-all duration-300`,d(a,n.color),a===0&&`rounded-l-full`,a===e.length-1&&o>=100&&`rounded-r-full`,a===e.length-1&&o<100&&`rounded-r-full`),style:{width:`${c*s}%`}},n.id)})})}exports.default=m;
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={sm:{bar:`h-2`,text:`text-xs`,label:`text-xs`,icon:`h-3 w-3`,gap:`gap-1`,legendDot:`h-2 w-2`,container:`space-y-2`},md:{bar:`h-3`,text:`text-sm`,label:`text-sm`,icon:`h-4 w-4`,gap:`gap-2`,legendDot:`h-2.5 w-2.5`,container:`space-y-3`},lg:{bar:`h-4`,text:`text-base`,label:`text-base`,icon:`h-5 w-5`,gap:`gap-3`,legendDot:`h-3 w-3`,container:`space-y-4`}},o=[`bg-blue-500`,`bg-emerald-500`,`bg-amber-500`,`bg-violet-500`,`bg-rose-500`,`bg-cyan-500`,`bg-orange-500`,`bg-indigo-500`];function s(e){return e.toLocaleString(`en-US`)}function c(e){return e>=90?`bg-destructive`:e>=75?`bg-warning`:`bg-success`}function l(e){return e>=90?`text-red-600 dark:text-red-400`:e>=75?`text-yellow-600 dark:text-yellow-400`:`text-green-600 dark:text-green-400`}function u(e){let t=new Date,n=new Date(e).getTime()-t.getTime();if(n<=0)return`Resetting now`;let r=Math.floor(n/(1e3*60*60*24)),i=Math.floor(n%(1e3*60*60*24)/(1e3*60*60));return r>1?`Resets in ${r} days`:r===1?`Resets in 1 day`:i>1?`Resets in ${i} hours`:i===1?`Resets in 1 hour`:`Resets in less than an hour`}function d(e,t){return t||o[e%o.length]}function f({resetDate:e,size:n}){let o=a[n],s=u(e);return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center text-muted-foreground`,o.gap,o.text),children:[(0,i.jsx)(r.Clock,{className:o.icon}),(0,i.jsx)(`span`,{children:s})]})}function p({services:e,total:n,size:r,formatValue:o}){let s=a[r];return(0,i.jsx)(`div`,{className:t.cn(`flex flex-wrap`,s.gap),children:e.map((e,r)=>{let a=d(r,e.color),c=n>0?(e.value/n*100).toFixed(1):`0`;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,s.gap,s.text),children:[(0,i.jsx)(`div`,{className:t.cn(`rounded-full flex-shrink-0`,s.legendDot,a)}),(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.name,`:`,` `,(0,i.jsx)(`span`,{className:`font-medium text-foreground tabular-nums`,children:o(e.value)}),(0,i.jsxs)(`span`,{className:`text-muted-foreground ml-0.5`,children:[`(`,c,`%)`]})]})]},e.id)})})}function m({used:e,total:r,resetDate:o,services:u,variant:d=`compact`,size:m=`md`,animated:g=!0,showResetCountdown:_=!0,formatValue:v=s,className:y}){let[b,x]=n.useState(0),S=a[m],C=r>0?e/r*100:0,w=Math.min(C,100);return n.useEffect(()=>{if(!g){x(w);return}let e=w,t=Date.now(),n=()=>{let r=Date.now()-t,i=Math.min(r/800,1),a=1-(1-i)**3;x(0+(e-0)*a),i<1&&requestAnimationFrame(n)};requestAnimationFrame(n)},[w,g]),d===`compact`?(0,i.jsxs)(`div`,{className:t.cn(`w-full`,S.container,y),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between`,S.text),children:[(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[(0,i.jsx)(`span`,{className:`font-medium text-foreground tabular-nums`,children:v(e)}),` / `,(0,i.jsx)(`span`,{className:`tabular-nums`,children:v(r)}),` used`]}),(0,i.jsxs)(`span`,{className:t.cn(`font-medium tabular-nums`,l(C)),children:[C.toFixed(0),`%`]})]}),(0,i.jsx)(`div`,{className:t.cn(`relative w-full overflow-hidden rounded-full bg-muted`,S.bar),children:(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-colors duration-300`,c(C),C>=100&&`animate-pulse`),style:{width:`${b}%`,transition:g?void 0:`width 0.3s ease-out`}})}),_&&o&&(0,i.jsx)(f,{resetDate:o,size:m})]}):(0,i.jsxs)(`div`,{className:t.cn(`w-full`,S.container,y),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between`,S.text),children:[(0,i.jsxs)(`span`,{className:`text-muted-foreground`,children:[(0,i.jsx)(`span`,{className:`font-medium text-foreground tabular-nums`,children:v(e)}),` / `,(0,i.jsx)(`span`,{className:`tabular-nums`,children:v(r)}),` used`]}),(0,i.jsxs)(`span`,{className:t.cn(`font-medium tabular-nums`,l(C)),children:[C.toFixed(0),`%`]})]}),(0,i.jsx)(`div`,{className:t.cn(`relative w-full overflow-hidden rounded-full bg-muted`,S.bar),children:u&&u.length>0?(0,i.jsx)(h,{services:u,total:r,animated:g,usagePercentage:C}):(0,i.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-colors duration-300`,c(C),C>=100&&`animate-pulse`),style:{width:`${b}%`,transition:g?void 0:`width 0.3s ease-out`}})}),u&&u.length>0&&(0,i.jsx)(p,{services:u,total:r,size:m,formatValue:v}),_&&o&&(0,i.jsx)(f,{resetDate:o,size:m})]})}function h({services:e,total:r,animated:a,usagePercentage:o}){let[s,c]=n.useState(0),l=Math.min(o,100);n.useEffect(()=>{if(!a){c(1);return}let e=Date.now(),t=()=>{let n=Date.now()-e,r=Math.min(n/800,1),i=1-(1-r)**3;c(i),r<1&&requestAnimationFrame(t)};requestAnimationFrame(t)},[a,l]);let u=e.reduce((e,t)=>e+t.value,0),f=u>0?Math.min(u,r)/u:0;return(0,i.jsx)(`div`,{className:`flex h-full w-full`,children:e.map((n,a)=>{let c=r>0?n.value*f/r*100:0;return(0,i.jsx)(`div`,{className:t.cn(`h-full transition-all duration-300`,d(a,n.color),a===0&&`rounded-l-full`,a===e.length-1&&o>=100&&`rounded-r-full`,a===e.length-1&&o<100&&`rounded-r-full`),style:{width:`${c*s}%`}},n.id)})})}exports.WakaCreditQuota=m,exports.default=m;
@@ -211,8 +211,8 @@ function h({ services: n, total: i, animated: a, usagePercentage: o }) {
211
211
  return;
212
212
  }
213
213
  let e = Date.now(), t = () => {
214
- let n = Date.now() - e, r = Math.min(n / 800, 1);
215
- c(1 - (1 - r) ** 3), r < 1 && requestAnimationFrame(t);
214
+ let n = Date.now() - e, r = Math.min(n / 800, 1), i = 1 - (1 - r) ** 3;
215
+ c(i), r < 1 && requestAnimationFrame(t);
216
216
  };
217
217
  requestAnimationFrame(t);
218
218
  }, [a, l]);
@@ -229,4 +229,4 @@ function h({ services: n, total: i, animated: a, usagePercentage: o }) {
229
229
  });
230
230
  }
231
231
  //#endregion
232
- export { m as default };
232
+ export { m as WakaCreditQuota, m 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(`../separator/index.cjs.js`);let o=require(`react`);o=e.__toESM(o);let s=require(`lucide-react`),c=require(`react/jsx-runtime`);function l(e){return(typeof e==`string`?new Date(e):e).toLocaleDateString(`en-US`,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function u(e){return`${e>=0?`+`:``}${e.toLocaleString(`en-US`)}`}function d(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:`EUR`})}function f(e){switch(e){case`credit`:return`default`;case`debit`:return`secondary`;case`refund`:return`destructive`;case`bonus`:return`default`;case`expiry`:return`outline`;default:return`secondary`}}function p(e){switch(e){case`completed`:return`default`;case`pending`:return`outline`;case`failed`:return`destructive`;case`cancelled`:return`secondary`;default:return`outline`}}function m(e){return e.charAt(0).toUpperCase()+e.slice(1)}function h({label:e,children:t}){return(0,c.jsxs)(`div`,{className:`flex items-center justify-between py-1.5 print:py-1`,children:[(0,c.jsx)(`span`,{className:`text-sm text-muted-foreground print:text-gray-500`,children:e}),(0,c.jsx)(`div`,{className:`text-sm font-medium text-right`,children:t})]})}function g({transaction:e,organization:o,downloadable:g=!1,onDownload:_,className:v}){return(0,c.jsxs)(i.Card,{className:t.cn(`w-full max-w-md print:shadow-none print:border-gray-300`,v),children:[(0,c.jsxs)(i.CardHeader,{className:`pb-4 print:pb-2`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(s.Receipt,{className:`h-5 w-5 text-muted-foreground print:text-gray-500`}),(0,c.jsx)(i.CardTitle,{className:`text-lg print:text-base`,children:`Receipt`})]}),(0,c.jsx)(s.CheckCircle,{className:`h-5 w-5 text-green-500 print:text-gray-700`})]}),(0,c.jsx)(`p`,{className:`text-xs font-mono text-muted-foreground mt-1 print:text-gray-400`,children:e.id})]}),(0,c.jsx)(a.Separator,{className:`print:bg-gray-300`}),(0,c.jsxs)(i.CardContent,{className:`pt-4 print:pt-2`,children:[(0,c.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,c.jsx)(h,{label:`Date`,children:l(e.timestamp)}),(0,c.jsx)(h,{label:`Type`,children:(0,c.jsx)(n.Badge,{variant:f(e.type),className:`print:border-gray-400 print:bg-transparent print:text-gray-700`,children:m(e.type)})}),e.credits!==void 0&&(0,c.jsx)(h,{label:`Credits`,children:(0,c.jsxs)(`span`,{className:t.cn(`tabular-nums font-semibold`,e.credits>=0?`text-green-600 dark:text-green-400 print:text-gray-900`:`text-red-600 dark:text-red-400 print:text-gray-900`),children:[u(e.credits),` credits`]})}),e.price!==void 0&&(0,c.jsx)(h,{label:`Amount`,children:(0,c.jsx)(`span`,{className:`tabular-nums`,children:d(e.price)})}),e.paymentMethod&&(0,c.jsx)(h,{label:`Payment`,children:(0,c.jsx)(`span`,{className:`font-mono text-xs`,children:e.paymentMethod})}),(0,c.jsx)(h,{label:`Status`,children:(0,c.jsx)(n.Badge,{variant:p(e.status),className:`print:border-gray-400 print:bg-transparent print:text-gray-700`,children:m(e.status)})}),o&&(0,c.jsx)(h,{label:`Organization`,children:o.name}),e.description&&(0,c.jsx)(h,{label:`Description`,children:(0,c.jsx)(`span`,{className:`max-w-[200px] truncate inline-block`,children:e.description})})]}),g&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.Separator,{className:`my-4 print:hidden`}),(0,c.jsx)(`div`,{className:`print:hidden`,children:(0,c.jsxs)(r.Button,{variant:`outline`,size:`sm`,className:`w-full`,onClick:_,children:[(0,c.jsx)(s.Download,{className:`h-4 w-4 mr-2`}),`Download PDF`]})})]})]})]})}exports.default=g;
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("../separator/index.cjs.js");let o=require("react");o=e.__toESM(o);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){return(typeof e==`string`?new Date(e):e).toLocaleDateString(`en-US`,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function u(e){return`${e>=0?`+`:``}${e.toLocaleString(`en-US`)}`}function d(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:`EUR`})}function f(e){switch(e){case`credit`:return`default`;case`debit`:return`secondary`;case`refund`:return`destructive`;case`bonus`:return`default`;case`expiry`:return`outline`;default:return`secondary`}}function p(e){switch(e){case`completed`:return`default`;case`pending`:return`outline`;case`failed`:return`destructive`;case`cancelled`:return`secondary`;default:return`outline`}}function m(e){return e.charAt(0).toUpperCase()+e.slice(1)}function h({label:e,children:t}){return(0,c.jsxs)(`div`,{className:`flex items-center justify-between py-1.5 print:py-1`,children:[(0,c.jsx)(`span`,{className:`text-sm text-muted-foreground print:text-gray-500`,children:e}),(0,c.jsx)(`div`,{className:`text-sm font-medium text-right`,children:t})]})}function g({transaction:e,organization:o,downloadable:g=!1,onDownload:_,className:v}){return(0,c.jsxs)(i.Card,{className:t.cn(`w-full max-w-md print:shadow-none print:border-gray-300`,v),children:[(0,c.jsxs)(i.CardHeader,{className:`pb-4 print:pb-2`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(s.Receipt,{className:`h-5 w-5 text-muted-foreground print:text-gray-500`}),(0,c.jsx)(i.CardTitle,{className:`text-lg print:text-base`,children:`Receipt`})]}),(0,c.jsx)(s.CheckCircle,{className:`h-5 w-5 text-green-500 print:text-gray-700`})]}),(0,c.jsx)(`p`,{className:`text-xs font-mono text-muted-foreground mt-1 print:text-gray-400`,children:e.id})]}),(0,c.jsx)(a.Separator,{className:`print:bg-gray-300`}),(0,c.jsxs)(i.CardContent,{className:`pt-4 print:pt-2`,children:[(0,c.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,c.jsx)(h,{label:`Date`,children:l(e.timestamp)}),(0,c.jsx)(h,{label:`Type`,children:(0,c.jsx)(n.Badge,{variant:f(e.type),className:`print:border-gray-400 print:bg-transparent print:text-gray-700`,children:m(e.type)})}),e.credits!==void 0&&(0,c.jsx)(h,{label:`Credits`,children:(0,c.jsxs)(`span`,{className:t.cn(`tabular-nums font-semibold`,e.credits>=0?`text-green-600 dark:text-green-400 print:text-gray-900`:`text-red-600 dark:text-red-400 print:text-gray-900`),children:[u(e.credits),` credits`]})}),e.price!==void 0&&(0,c.jsx)(h,{label:`Amount`,children:(0,c.jsx)(`span`,{className:`tabular-nums`,children:d(e.price)})}),e.paymentMethod&&(0,c.jsx)(h,{label:`Payment`,children:(0,c.jsx)(`span`,{className:`font-mono text-xs`,children:e.paymentMethod})}),(0,c.jsx)(h,{label:`Status`,children:(0,c.jsx)(n.Badge,{variant:p(e.status),className:`print:border-gray-400 print:bg-transparent print:text-gray-700`,children:m(e.status)})}),o&&(0,c.jsx)(h,{label:`Organization`,children:o.name}),e.description&&(0,c.jsx)(h,{label:`Description`,children:(0,c.jsx)(`span`,{className:`max-w-[200px] truncate inline-block`,children:e.description})})]}),g&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.Separator,{className:`my-4 print:hidden`}),(0,c.jsx)(`div`,{className:`print:hidden`,children:(0,c.jsxs)(r.Button,{variant:`outline`,size:`sm`,className:`w-full`,onClick:_,children:[(0,c.jsx)(s.Download,{className:`h-4 w-4 mr-2`}),`Download PDF`]})})]})]})]})}exports.WakaCreditReceipt=g,exports.default=g;
@@ -155,4 +155,4 @@ function x({ transaction: x, organization: S, downloadable: C = !1, onDownload:
155
155
  });
156
156
  }
157
157
  //#endregion
158
- export { x as default };
158
+ export { x as WakaCreditReceipt, x 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(`../button/index.cjs.js`),r=require(`../card/index.cjs.js`),i=require(`../input/index.cjs.js`),a=require(`../separator/index.cjs.js`),o=require(`../slider/index.cjs.js`);let s=require(`react`);s=e.__toESM(s);let c=require(`lucide-react`),l=require(`react/jsx-runtime`);var u=.01,d=100,f=5e4;function p(e,t){if(t.length===0)return e*u;let n=[...t].sort((e,t)=>e.credits-t.credits);if(e<=n[0].credits){let t=n[0].price/n[0].credits;return Math.round(e*t*100)/100}if(e>=n[n.length-1].credits){let t=n[n.length-1].price/n[n.length-1].credits;return Math.round(e*t*100)/100}for(let t=0;t<n.length-1;t++)if(e>=n[t].credits&&e<=n[t+1].credits){let r=n[t],i=n[t+1],a=(e-r.credits)/(i.credits-r.credits),o=r.price+a*(i.price-r.price);return Math.round(o*100)/100}return e*u}function m(e,t){return`${e.toFixed(2)} ${t}`}function h(e){return e.toLocaleString(`en-US`)}function g({pack:e,selected:n,currency:r,onSelect:i}){return(0,l.jsxs)(`button`,{type:`button`,onClick:i,className:t.cn(`relative flex flex-col items-center gap-2 rounded-lg border p-4 text-left transition-all`,`hover:border-primary/50 hover:shadow-sm`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,n?`border-primary bg-primary/5 shadow-sm ring-1 ring-primary`:`border-border bg-card`,e.highlighted&&!n&&`border-primary/30`),children:[e.highlighted&&e.highlightLabel&&(0,l.jsx)(`span`,{className:`absolute -top-2.5 left-1/2 -translate-x-1/2 rounded-full bg-primary px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary-foreground whitespace-nowrap`,children:e.highlightLabel}),(0,l.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,l.jsx)(c.Coins,{className:`h-4 w-4 text-muted-foreground`}),(0,l.jsx)(`span`,{className:`text-lg font-bold tabular-nums`,children:h(e.credits)})]}),(0,l.jsx)(`span`,{className:`text-xs text-muted-foreground font-medium`,children:e.name}),(0,l.jsx)(`span`,{className:`text-sm font-semibold`,children:m(e.price,e.currency??r)}),e.bonusPercent!=null&&e.bonusPercent>0&&(0,l.jsxs)(`span`,{className:`rounded-full bg-green-100 dark:bg-green-900/30 px-2 py-0.5 text-[10px] font-semibold text-green-700 dark:text-green-400`,children:[`+`,e.bonusPercent,`% bonus`]}),e.unitPrice!=null&&(0,l.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[e.unitPrice.toFixed(4),` `,e.currency??r,`/credit`]})]})}function _({packs:e,currentBalance:u,customAmount:_=!1,minAmount:v=d,maxAmount:y=f,currency:b=`EUR`,onPurchase:x,onCancel:S,className:C}){let[w,T]=s.useState(null),[E,D]=s.useState(!1),[O,k]=s.useState(v),A=e.find(e=>e.id===w)??null,j=p(O,e),M=A!==null||E&&O>=v,N=E?O:A?.credits??0,P=E?j:A?.price??0;function F(e){T(e),D(!1)}function I(){D(!0),T(null)}function L(e){k(Math.max(v,Math.min(y,Math.round(e))))}function R(e){let t=e.target.value;if(t===``){k(v);return}let n=parseInt(t,10);isNaN(n)||L(n)}function z(e){e[0]!=null&&L(e[0])}function B(){M&&(E?x({credits:O,price:j}):A&&x(A))}return(0,l.jsx)(r.Card,{className:t.cn(`w-full`,C),children:(0,l.jsxs)(r.CardContent,{className:`p-6 space-y-6`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10`,children:(0,l.jsx)(c.ShoppingCart,{className:`h-5 w-5 text-primary`})}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`h3`,{className:`text-lg font-semibold`,children:`Top Up Credits`}),(0,l.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Select a pack or enter a custom amount`})]})]}),(0,l.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:e.map(e=>(0,l.jsx)(g,{pack:e,selected:w===e.id&&!E,currency:b,onSelect:()=>F(e.id)},e.id))}),_&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`relative`,children:[(0,l.jsx)(a.Separator,{}),(0,l.jsx)(`span`,{className:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 bg-card px-3 text-xs text-muted-foreground font-medium`,children:`Or enter custom amount`})]}),(0,l.jsx)(`div`,{className:`space-y-4`,children:E?(0,l.jsxs)(`div`,{className:`space-y-4 rounded-lg border border-primary/30 bg-primary/5 p-4`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(`label`,{htmlFor:`custom-credits`,className:`text-sm font-medium`,children:`Credits`}),(0,l.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:m(j,b)})]}),(0,l.jsx)(i.Input,{id:`custom-credits`,type:`number`,min:v,max:y,step:100,value:O,onChange:R,className:`tabular-nums`}),(0,l.jsx)(o.Slider,{value:[O],onValueChange:z,min:v,max:y,step:100}),(0,l.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground tabular-nums`,children:[(0,l.jsx)(`span`,{children:h(v)}),(0,l.jsx)(`span`,{children:h(y)})]})]}):(0,l.jsxs)(n.Button,{variant:`outline`,className:`w-full`,onClick:I,children:[(0,l.jsx)(c.Plus,{className:`h-4 w-4`}),`Enter custom amount`]})})]}),M&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.Separator,{}),(0,l.jsxs)(`div`,{className:`space-y-2 rounded-lg bg-muted/50 p-4`,children:[(0,l.jsx)(`h4`,{className:`text-sm font-semibold`,children:`Summary`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,l.jsx)(`span`,{className:`text-muted-foreground`,children:`Credits`}),(0,l.jsx)(`span`,{className:`font-medium tabular-nums`,children:h(N)})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,l.jsx)(`span`,{className:`text-muted-foreground`,children:`Price`}),(0,l.jsx)(`span`,{className:`font-medium tabular-nums`,children:m(P,b)})]}),u!=null&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.Separator,{className:`my-1`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,l.jsx)(`span`,{className:`text-muted-foreground`,children:`Current balance`}),(0,l.jsx)(`span`,{className:`tabular-nums`,children:h(u)})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm font-semibold`,children:[(0,l.jsx)(`span`,{children:`New balance`}),(0,l.jsx)(`span`,{className:`tabular-nums text-green-600 dark:text-green-400`,children:h(u+N)})]})]})]})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-end gap-3`,children:[S&&(0,l.jsx)(n.Button,{variant:`outline`,onClick:S,children:`Cancel`}),(0,l.jsxs)(n.Button,{onClick:B,disabled:!M,children:[(0,l.jsx)(c.ShoppingCart,{className:`h-4 w-4`}),`Purchase`]})]})]})})}exports.default=_;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../button/index.cjs.js"),r=require("../card/index.cjs.js"),i=require("../input/index.cjs.js"),a=require("../separator/index.cjs.js"),o=require("../slider/index.cjs.js");let s=require("react");s=e.__toESM(s);let c=require("lucide-react"),l=require("react/jsx-runtime");var u=.01,d=100,f=5e4;function p(e,t){if(t.length===0)return e*u;let n=[...t].sort((e,t)=>e.credits-t.credits);if(e<=n[0].credits){let t=n[0].price/n[0].credits;return Math.round(e*t*100)/100}if(e>=n[n.length-1].credits){let t=n[n.length-1].price/n[n.length-1].credits;return Math.round(e*t*100)/100}for(let t=0;t<n.length-1;t++)if(e>=n[t].credits&&e<=n[t+1].credits){let r=n[t],i=n[t+1],a=(e-r.credits)/(i.credits-r.credits),o=r.price+a*(i.price-r.price);return Math.round(o*100)/100}return e*u}function m(e,t){return`${e.toFixed(2)} ${t}`}function h(e){return e.toLocaleString(`en-US`)}function g({pack:e,selected:n,currency:r,onSelect:i}){return(0,l.jsxs)(`button`,{type:`button`,onClick:i,className:t.cn(`relative flex flex-col items-center gap-2 rounded-lg border p-4 text-left transition-all`,`hover:border-primary/50 hover:shadow-sm`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,n?`border-primary bg-primary/5 shadow-sm ring-1 ring-primary`:`border-border bg-card`,e.highlighted&&!n&&`border-primary/30`),children:[e.highlighted&&e.highlightLabel&&(0,l.jsx)(`span`,{className:`absolute -top-2.5 left-1/2 -translate-x-1/2 rounded-full bg-primary px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary-foreground whitespace-nowrap`,children:e.highlightLabel}),(0,l.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,l.jsx)(c.Coins,{className:`h-4 w-4 text-muted-foreground`}),(0,l.jsx)(`span`,{className:`text-lg font-bold tabular-nums`,children:h(e.credits)})]}),(0,l.jsx)(`span`,{className:`text-xs text-muted-foreground font-medium`,children:e.name}),(0,l.jsx)(`span`,{className:`text-sm font-semibold`,children:m(e.price,e.currency??r)}),e.bonusPercent!=null&&e.bonusPercent>0&&(0,l.jsxs)(`span`,{className:`rounded-full bg-green-100 dark:bg-green-900/30 px-2 py-0.5 text-[10px] font-semibold text-green-700 dark:text-green-400`,children:[`+`,e.bonusPercent,`% bonus`]}),e.unitPrice!=null&&(0,l.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[e.unitPrice.toFixed(4),` `,e.currency??r,`/credit`]})]})}function _({packs:e,currentBalance:u,customAmount:_=!1,minAmount:v=d,maxAmount:y=f,currency:b=`EUR`,onPurchase:x,onCancel:S,className:C}){let[w,T]=s.useState(null),[E,D]=s.useState(!1),[O,k]=s.useState(v),A=e.find(e=>e.id===w)??null,j=p(O,e),M=A!==null||E&&O>=v,N=E?O:A?.credits??0,P=E?j:A?.price??0;function F(e){T(e),D(!1)}function I(){D(!0),T(null)}function L(e){k(Math.max(v,Math.min(y,Math.round(e))))}function R(e){let t=e.target.value;if(t===``){k(v);return}let n=parseInt(t,10);isNaN(n)||L(n)}function z(e){e[0]!=null&&L(e[0])}function B(){M&&(E?x({credits:O,price:j}):A&&x(A))}return(0,l.jsx)(r.Card,{className:t.cn(`w-full`,C),children:(0,l.jsxs)(r.CardContent,{className:`p-6 space-y-6`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10`,children:(0,l.jsx)(c.ShoppingCart,{className:`h-5 w-5 text-primary`})}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`h3`,{className:`text-lg font-semibold`,children:`Top Up Credits`}),(0,l.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Select a pack or enter a custom amount`})]})]}),(0,l.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:e.map(e=>(0,l.jsx)(g,{pack:e,selected:w===e.id&&!E,currency:b,onSelect:()=>F(e.id)},e.id))}),_&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`relative`,children:[(0,l.jsx)(a.Separator,{}),(0,l.jsx)(`span`,{className:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 bg-card px-3 text-xs text-muted-foreground font-medium`,children:`Or enter custom amount`})]}),(0,l.jsx)(`div`,{className:`space-y-4`,children:E?(0,l.jsxs)(`div`,{className:`space-y-4 rounded-lg border border-primary/30 bg-primary/5 p-4`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(`label`,{htmlFor:`custom-credits`,className:`text-sm font-medium`,children:`Credits`}),(0,l.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:m(j,b)})]}),(0,l.jsx)(i.Input,{id:`custom-credits`,type:`number`,min:v,max:y,step:100,value:O,onChange:R,className:`tabular-nums`}),(0,l.jsx)(o.Slider,{value:[O],onValueChange:z,min:v,max:y,step:100}),(0,l.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground tabular-nums`,children:[(0,l.jsx)(`span`,{children:h(v)}),(0,l.jsx)(`span`,{children:h(y)})]})]}):(0,l.jsxs)(n.Button,{variant:`outline`,className:`w-full`,onClick:I,children:[(0,l.jsx)(c.Plus,{className:`h-4 w-4`}),`Enter custom amount`]})})]}),M&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.Separator,{}),(0,l.jsxs)(`div`,{className:`space-y-2 rounded-lg bg-muted/50 p-4`,children:[(0,l.jsx)(`h4`,{className:`text-sm font-semibold`,children:`Summary`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,l.jsx)(`span`,{className:`text-muted-foreground`,children:`Credits`}),(0,l.jsx)(`span`,{className:`font-medium tabular-nums`,children:h(N)})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,l.jsx)(`span`,{className:`text-muted-foreground`,children:`Price`}),(0,l.jsx)(`span`,{className:`font-medium tabular-nums`,children:m(P,b)})]}),u!=null&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.Separator,{className:`my-1`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,l.jsx)(`span`,{className:`text-muted-foreground`,children:`Current balance`}),(0,l.jsx)(`span`,{className:`tabular-nums`,children:h(u)})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-sm font-semibold`,children:[(0,l.jsx)(`span`,{children:`New balance`}),(0,l.jsx)(`span`,{className:`tabular-nums text-green-600 dark:text-green-400`,children:h(u+N)})]})]})]})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-end gap-3`,children:[S&&(0,l.jsx)(n.Button,{variant:`outline`,onClick:S,children:`Cancel`}),(0,l.jsxs)(n.Button,{onClick:B,disabled:!M,children:[(0,l.jsx)(c.ShoppingCart,{className:`h-4 w-4`}),`Purchase`]})]})]})})}exports.WakaCreditTopUp=_,exports.default=_;
@@ -252,4 +252,4 @@ function x({ packs: c, currentBalance: m, customAmount: x = !1, minAmount: S = h
252
252
  });
253
253
  }
254
254
  //#endregion
255
- export { x as default };
255
+ export { x as WakaCreditTopUp, x 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`);let r=require(`react`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`);var o={debit:{icon:i.ArrowDownLeft,color:`text-red-600 dark:text-red-400`,bg:`bg-red-50 dark:bg-red-950/30`,iconColor:`text-red-500 dark:text-red-400`,prefix:`-`},credit:{icon:i.ArrowUpRight,color:`text-green-600 dark:text-green-400`,bg:`bg-green-50 dark:bg-green-950/30`,iconColor:`text-green-500 dark:text-green-400`,prefix:`+`},refund:{icon:i.RotateCcw,color:`text-blue-600 dark:text-blue-400`,bg:`bg-blue-50 dark:bg-blue-950/30`,iconColor:`text-blue-500 dark:text-blue-400`,prefix:`+`},bonus:{icon:i.Gift,color:`text-purple-600 dark:text-purple-400`,bg:`bg-purple-50 dark:bg-purple-950/30`,iconColor:`text-purple-500 dark:text-purple-400`,prefix:`+`},expiry:{icon:i.Clock,color:`text-gray-500 dark:text-gray-400`,bg:`bg-gray-50 dark:bg-gray-900/30`,iconColor:`text-gray-400 dark:text-gray-500`,prefix:`-`}},s={completed:{label:`Completed`,className:`bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300 border-green-200 dark:border-green-800`},pending:{label:`Pending`,className:`bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-300 border-yellow-200 dark:border-yellow-800`},failed:{label:`Failed`,className:`bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-300 border-red-200 dark:border-red-800`},cancelled:{label:`Cancelled`,className:`bg-gray-100 text-gray-600 dark:bg-gray-800/40 dark:text-gray-400 border-gray-200 dark:border-gray-700`}};function c(e){return e.toLocaleString(`en-US`)}function l(e){return(typeof e==`string`?new Date(e):e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function u({transaction:e,showService:r=!1,showStatus:i=!1,compact:u=!1,formatAmount:d=c,formatDate:f=l,onClick:p,className:m}){let h=o[e.type],g=h.icon,_=s[e.status],v=`${h.prefix}${d(e.amount)}`,y=f(e.timestamp),b=!!p;return u?(0,a.jsxs)(`div`,{role:b?`button`:void 0,tabIndex:b?0:void 0,onClick:b?()=>p(e):void 0,onKeyDown:b?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),p(e))}:void 0,className:t.cn(`flex items-center gap-3 py-2 px-3 rounded-md`,b&&`cursor-pointer hover:bg-muted/50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,m),children:[(0,a.jsx)(`div`,{className:t.cn(`flex items-center justify-center h-7 w-7 rounded-md shrink-0`,h.bg),children:(0,a.jsx)(g,{className:t.cn(`h-3.5 w-3.5`,h.iconColor),"aria-hidden":`true`})}),(0,a.jsx)(`span`,{className:`flex-1 min-w-0 text-sm truncate text-foreground`,children:e.description}),(0,a.jsx)(`span`,{className:t.cn(`text-sm font-semibold tabular-nums shrink-0`,h.color),children:v}),(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:y})]}):(0,a.jsxs)(`div`,{role:b?`button`:void 0,tabIndex:b?0:void 0,onClick:b?()=>p(e):void 0,onKeyDown:b?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),p(e))}:void 0,className:t.cn(`flex items-center gap-4 py-3 px-4 rounded-lg`,b&&`cursor-pointer hover:bg-muted/50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,m),children:[(0,a.jsx)(`div`,{className:t.cn(`flex items-center justify-center h-9 w-9 rounded-lg shrink-0`,h.bg),children:(0,a.jsx)(g,{className:t.cn(`h-4 w-4`,h.iconColor),"aria-hidden":`true`})}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`p`,{className:`text-sm font-medium text-foreground truncate`,children:e.description}),r&&e.service&&(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5 truncate`,children:e.service})]}),(0,a.jsx)(`span`,{className:t.cn(`text-sm font-semibold tabular-nums shrink-0`,h.color),children:v}),(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0 w-24 text-right`,children:y}),i&&(0,a.jsx)(n.Badge,{variant:`outline`,className:t.cn(`shrink-0 text-[10px] px-2 py-0.5`,_.className),children:_.label})]})}exports.default=u;
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");let r=require("react");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime");var o={debit:{icon:i.ArrowDownLeft,color:`text-red-600 dark:text-red-400`,bg:`bg-red-50 dark:bg-red-950/30`,iconColor:`text-red-500 dark:text-red-400`,prefix:`-`},credit:{icon:i.ArrowUpRight,color:`text-green-600 dark:text-green-400`,bg:`bg-green-50 dark:bg-green-950/30`,iconColor:`text-green-500 dark:text-green-400`,prefix:`+`},refund:{icon:i.RotateCcw,color:`text-blue-600 dark:text-blue-400`,bg:`bg-blue-50 dark:bg-blue-950/30`,iconColor:`text-blue-500 dark:text-blue-400`,prefix:`+`},bonus:{icon:i.Gift,color:`text-purple-600 dark:text-purple-400`,bg:`bg-purple-50 dark:bg-purple-950/30`,iconColor:`text-purple-500 dark:text-purple-400`,prefix:`+`},expiry:{icon:i.Clock,color:`text-gray-500 dark:text-gray-400`,bg:`bg-gray-50 dark:bg-gray-900/30`,iconColor:`text-gray-400 dark:text-gray-500`,prefix:`-`}},s={completed:{label:`Completed`,className:`bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300 border-green-200 dark:border-green-800`},pending:{label:`Pending`,className:`bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-300 border-yellow-200 dark:border-yellow-800`},failed:{label:`Failed`,className:`bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-300 border-red-200 dark:border-red-800`},cancelled:{label:`Cancelled`,className:`bg-gray-100 text-gray-600 dark:bg-gray-800/40 dark:text-gray-400 border-gray-200 dark:border-gray-700`}};function c(e){return e.toLocaleString(`en-US`)}function l(e){return(typeof e==`string`?new Date(e):e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function u({transaction:e,showService:r=!1,showStatus:i=!1,compact:u=!1,formatAmount:d=c,formatDate:f=l,onClick:p,className:m}){let h=o[e.type],g=h.icon,_=s[e.status],v=`${h.prefix}${d(e.amount)}`,y=f(e.timestamp),b=!!p;return u?(0,a.jsxs)(`div`,{role:b?`button`:void 0,tabIndex:b?0:void 0,onClick:b?()=>p(e):void 0,onKeyDown:b?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),p(e))}:void 0,className:t.cn(`flex items-center gap-3 py-2 px-3 rounded-md`,b&&`cursor-pointer hover:bg-muted/50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,m),children:[(0,a.jsx)(`div`,{className:t.cn(`flex items-center justify-center h-7 w-7 rounded-md shrink-0`,h.bg),children:(0,a.jsx)(g,{className:t.cn(`h-3.5 w-3.5`,h.iconColor),"aria-hidden":`true`})}),(0,a.jsx)(`span`,{className:`flex-1 min-w-0 text-sm truncate text-foreground`,children:e.description}),(0,a.jsx)(`span`,{className:t.cn(`text-sm font-semibold tabular-nums shrink-0`,h.color),children:v}),(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:y})]}):(0,a.jsxs)(`div`,{role:b?`button`:void 0,tabIndex:b?0:void 0,onClick:b?()=>p(e):void 0,onKeyDown:b?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),p(e))}:void 0,className:t.cn(`flex items-center gap-4 py-3 px-4 rounded-lg`,b&&`cursor-pointer hover:bg-muted/50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,m),children:[(0,a.jsx)(`div`,{className:t.cn(`flex items-center justify-center h-9 w-9 rounded-lg shrink-0`,h.bg),children:(0,a.jsx)(g,{className:t.cn(`h-4 w-4`,h.iconColor),"aria-hidden":`true`})}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`p`,{className:`text-sm font-medium text-foreground truncate`,children:e.description}),r&&e.service&&(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5 truncate`,children:e.service})]}),(0,a.jsx)(`span`,{className:t.cn(`text-sm font-semibold tabular-nums shrink-0`,h.color),children:v}),(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0 w-24 text-right`,children:y}),i&&(0,a.jsx)(n.Badge,{variant:`outline`,className:t.cn(`shrink-0 text-[10px] px-2 py-0.5`,_.className),children:_.label})]})}exports.WakaCreditTransaction=u,exports.default=u;
@@ -144,4 +144,4 @@ function p({ transaction: n, showService: r = !1, showStatus: i = !1, compact: a
144
144
  });
145
145
  }
146
146
  //#endregion
147
- export { p as default };
147
+ export { p as WakaCreditTransaction, 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(`../button/index.cjs.js`),r=require(`../card/index.cjs.js`),i=require(`../label/index.cjs.js`),a=require(`../input/index.cjs.js`),o=require(`../select/index.cjs.js`),s=require(`../textarea/index.cjs.js`);let c=require(`react`);c=e.__toESM(c);let l=require(`lucide-react`),u=require(`react/jsx-runtime`);function d(e,t,n,r,i){let a={};e?i&&e===i&&(a.destination=`Destination must be different from source organization`):a.destination=`Please select a destination organization`;let o=parseFloat(t);return t?isNaN(o)||o<=0?a.amount=`Amount must be greater than 0`:o>r&&(a.amount=`Amount cannot exceed ${r.toLocaleString()} credits`):a.amount=`Amount is required`,n.trim()||(a.reason=`Please provide a reason for the transfer`),a}function f({message:e}){return e?(0,u.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1.5`,children:[(0,u.jsx)(l.AlertCircle,{className:`h-3.5 w-3.5 text-destructive flex-shrink-0`}),(0,u.jsx)(`span`,{className:`text-xs text-destructive`,children:e})]}):null}function p({maxAmount:e,organizations:p,sourceOrganization:m,onTransfer:h,onCancel:g,loading:_=!1,className:v}){let[y,b]=c.useState(``),[x,S]=c.useState(``),[C,w]=c.useState(``),[T,E]=c.useState({}),[D,O]=c.useState({}),k=c.useMemo(()=>m?p.filter(e=>e.id!==m.id):p,[p,m]),A=c.useMemo(()=>p.find(e=>e.id===y),[p,y]);c.useEffect(()=>{if(Object.keys(D).length===0)return;let t=d(y,x,C,e,m?.id),n={};D.destination&&t.destination&&(n.destination=t.destination),D.amount&&t.amount&&(n.amount=t.amount),D.reason&&t.reason&&(n.reason=t.reason),E(n)},[y,x,C,e,m?.id,D]);let j=e=>{O(t=>({...t,[e]:!0}))},M=t=>{t.preventDefault(),O({destination:!0,amount:!0,reason:!0});let n=d(y,x,C,e,m?.id);if(Object.keys(n).length>0){E(n);return}h({toOrgId:y,amount:parseFloat(x),reason:C.trim()})},N=parseFloat(x),P=A&&!isNaN(N)&&N>0&&N<=e&&m;return(0,u.jsxs)(r.Card,{className:t.cn(`w-full`,v),children:[(0,u.jsx)(r.CardHeader,{children:(0,u.jsxs)(r.CardTitle,{className:`flex items-center gap-2 text-lg`,children:[(0,u.jsx)(l.Send,{className:`h-5 w-5`}),`Transfer Credits`]})}),(0,u.jsxs)(`form`,{onSubmit:M,children:[(0,u.jsxs)(r.CardContent,{className:`space-y-4`,children:[m&&(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{children:`Source Organization`}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-input bg-muted/50 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.Building2,{className:`h-4 w-4 text-muted-foreground flex-shrink-0`}),(0,u.jsx)(`span`,{className:`font-medium`,children:m.name}),m.balance!==void 0&&(0,u.jsxs)(`span`,{className:`ml-auto text-muted-foreground`,children:[m.balance.toLocaleString(),` credits`]})]})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{htmlFor:`destination-org`,children:`Destination Organization`}),(0,u.jsxs)(o.Select,{value:y,onValueChange:e=>{b(e),O(e=>({...e,destination:!0}))},disabled:_,children:[(0,u.jsx)(o.SelectTrigger,{id:`destination-org`,className:t.cn(T.destination&&`border-destructive focus:ring-destructive`),onBlur:()=>j(`destination`),children:(0,u.jsx)(o.SelectValue,{placeholder:`Select an organization`})}),(0,u.jsx)(o.SelectContent,{children:k.map(e=>(0,u.jsx)(o.SelectItem,{value:e.id,children:(0,u.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(l.Building2,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,u.jsx)(`span`,{children:e.name}),e.balance!==void 0&&(0,u.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,e.balance.toLocaleString(),` credits)`]})]})},e.id))})]}),(0,u.jsx)(f,{message:T.destination})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{htmlFor:`transfer-amount`,children:`Amount`}),(0,u.jsx)(`div`,{className:`relative`,children:(0,u.jsx)(a.Input,{id:`transfer-amount`,type:`number`,min:1,max:e,step:1,placeholder:`Max: ${e.toLocaleString()} credits`,value:x,onChange:e=>S(e.target.value),onBlur:()=>j(`amount`),disabled:_,className:t.cn(T.amount&&`border-destructive focus-visible:ring-destructive`)})}),(0,u.jsx)(f,{message:T.amount})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{htmlFor:`transfer-reason`,children:`Reason`}),(0,u.jsx)(s.Textarea,{id:`transfer-reason`,placeholder:`Describe the reason for this transfer...`,value:C,onChange:e=>w(e.target.value),onBlur:()=>j(`reason`),disabled:_,rows:3,className:t.cn(T.reason&&`border-destructive focus-visible:ring-destructive`)}),(0,u.jsx)(f,{message:T.reason})]}),P&&(0,u.jsx)(`div`,{className:`rounded-md border bg-muted/30 p-3`,children:(0,u.jsxs)(`p`,{className:`text-sm text-muted-foreground flex items-center gap-2 flex-wrap`,children:[`Transfer`,` `,(0,u.jsxs)(`span`,{className:`font-semibold text-foreground`,children:[N.toLocaleString(),` credits`]}),` `,`from`,` `,(0,u.jsx)(`span`,{className:`font-semibold text-foreground`,children:m.name}),(0,u.jsx)(l.ArrowRight,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,u.jsx)(`span`,{className:`font-semibold text-foreground`,children:A.name})]})})]}),(0,u.jsxs)(r.CardFooter,{className:`gap-2 justify-end`,children:[g&&(0,u.jsx)(n.Button,{type:`button`,variant:`outline`,onClick:g,disabled:_,children:`Cancel`}),(0,u.jsx)(n.Button,{type:`submit`,disabled:_,children:_?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),`Transferring...`]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Send,{className:`h-4 w-4`}),`Transfer`]})})]})]})]})}exports.default=p;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../button/index.cjs.js"),r=require("../card/index.cjs.js"),i=require("../label/index.cjs.js"),a=require("../input/index.cjs.js"),o=require("../select/index.cjs.js"),s=require("../textarea/index.cjs.js");let c=require("react");c=e.__toESM(c);let l=require("lucide-react"),u=require("react/jsx-runtime");function d(e,t,n,r,i){let a={};e?i&&e===i&&(a.destination=`Destination must be different from source organization`):a.destination=`Please select a destination organization`;let o=parseFloat(t);return t?isNaN(o)||o<=0?a.amount=`Amount must be greater than 0`:o>r&&(a.amount=`Amount cannot exceed ${r.toLocaleString()} credits`):a.amount=`Amount is required`,n.trim()||(a.reason=`Please provide a reason for the transfer`),a}function f({message:e}){return e?(0,u.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1.5`,children:[(0,u.jsx)(l.AlertCircle,{className:`h-3.5 w-3.5 text-destructive flex-shrink-0`}),(0,u.jsx)(`span`,{className:`text-xs text-destructive`,children:e})]}):null}function p({maxAmount:e,organizations:p,sourceOrganization:m,onTransfer:h,onCancel:g,loading:_=!1,className:v}){let[y,b]=c.useState(``),[x,S]=c.useState(``),[C,w]=c.useState(``),[T,E]=c.useState({}),[D,O]=c.useState({}),k=c.useMemo(()=>m?p.filter(e=>e.id!==m.id):p,[p,m]),A=c.useMemo(()=>p.find(e=>e.id===y),[p,y]);c.useEffect(()=>{if(Object.keys(D).length===0)return;let t=d(y,x,C,e,m?.id),n={};D.destination&&t.destination&&(n.destination=t.destination),D.amount&&t.amount&&(n.amount=t.amount),D.reason&&t.reason&&(n.reason=t.reason),E(n)},[y,x,C,e,m?.id,D]);let j=e=>{O(t=>({...t,[e]:!0}))},M=t=>{t.preventDefault(),O({destination:!0,amount:!0,reason:!0});let n=d(y,x,C,e,m?.id);if(Object.keys(n).length>0){E(n);return}h({toOrgId:y,amount:parseFloat(x),reason:C.trim()})},N=parseFloat(x),P=A&&!isNaN(N)&&N>0&&N<=e&&m;return(0,u.jsxs)(r.Card,{className:t.cn(`w-full`,v),children:[(0,u.jsx)(r.CardHeader,{children:(0,u.jsxs)(r.CardTitle,{className:`flex items-center gap-2 text-lg`,children:[(0,u.jsx)(l.Send,{className:`h-5 w-5`}),`Transfer Credits`]})}),(0,u.jsxs)(`form`,{onSubmit:M,children:[(0,u.jsxs)(r.CardContent,{className:`space-y-4`,children:[m&&(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{children:`Source Organization`}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-input bg-muted/50 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.Building2,{className:`h-4 w-4 text-muted-foreground flex-shrink-0`}),(0,u.jsx)(`span`,{className:`font-medium`,children:m.name}),m.balance!==void 0&&(0,u.jsxs)(`span`,{className:`ml-auto text-muted-foreground`,children:[m.balance.toLocaleString(),` credits`]})]})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{htmlFor:`destination-org`,children:`Destination Organization`}),(0,u.jsxs)(o.Select,{value:y,onValueChange:e=>{b(e),O(e=>({...e,destination:!0}))},disabled:_,children:[(0,u.jsx)(o.SelectTrigger,{id:`destination-org`,className:t.cn(T.destination&&`border-destructive focus:ring-destructive`),onBlur:()=>j(`destination`),children:(0,u.jsx)(o.SelectValue,{placeholder:`Select an organization`})}),(0,u.jsx)(o.SelectContent,{children:k.map(e=>(0,u.jsx)(o.SelectItem,{value:e.id,children:(0,u.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(l.Building2,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,u.jsx)(`span`,{children:e.name}),e.balance!==void 0&&(0,u.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,e.balance.toLocaleString(),` credits)`]})]})},e.id))})]}),(0,u.jsx)(f,{message:T.destination})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{htmlFor:`transfer-amount`,children:`Amount`}),(0,u.jsx)(`div`,{className:`relative`,children:(0,u.jsx)(a.Input,{id:`transfer-amount`,type:`number`,min:1,max:e,step:1,placeholder:`Max: ${e.toLocaleString()} credits`,value:x,onChange:e=>S(e.target.value),onBlur:()=>j(`amount`),disabled:_,className:t.cn(T.amount&&`border-destructive focus-visible:ring-destructive`)})}),(0,u.jsx)(f,{message:T.amount})]}),(0,u.jsxs)(`div`,{className:`space-y-2`,children:[(0,u.jsx)(i.Label,{htmlFor:`transfer-reason`,children:`Reason`}),(0,u.jsx)(s.Textarea,{id:`transfer-reason`,placeholder:`Describe the reason for this transfer...`,value:C,onChange:e=>w(e.target.value),onBlur:()=>j(`reason`),disabled:_,rows:3,className:t.cn(T.reason&&`border-destructive focus-visible:ring-destructive`)}),(0,u.jsx)(f,{message:T.reason})]}),P&&(0,u.jsx)(`div`,{className:`rounded-md border bg-muted/30 p-3`,children:(0,u.jsxs)(`p`,{className:`text-sm text-muted-foreground flex items-center gap-2 flex-wrap`,children:[`Transfer`,` `,(0,u.jsxs)(`span`,{className:`font-semibold text-foreground`,children:[N.toLocaleString(),` credits`]}),` `,`from`,` `,(0,u.jsx)(`span`,{className:`font-semibold text-foreground`,children:m.name}),(0,u.jsx)(l.ArrowRight,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,u.jsx)(`span`,{className:`font-semibold text-foreground`,children:A.name})]})})]}),(0,u.jsxs)(r.CardFooter,{className:`gap-2 justify-end`,children:[g&&(0,u.jsx)(n.Button,{type:`button`,variant:`outline`,onClick:g,disabled:_,children:`Cancel`}),(0,u.jsx)(n.Button,{type:`submit`,disabled:_,children:_?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),`Transferring...`]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Send,{className:`h-4 w-4`}),`Transfer`]})})]})]})]})}exports.WakaCreditTransferForm=p,exports.default=p;
@@ -223,4 +223,4 @@ function T({ maxAmount: g, organizations: T, sourceOrganization: E, onTransfer:
223
223
  });
224
224
  }
225
225
  //#endregion
226
- export { T as default };
226
+ export { T as WakaCreditTransferForm, T as default };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`),i=require(`recharts`);var a=[{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`},{value:`year`,label:`Year`}],o=`#3b82f6`,s=`#94a3b8`;function c(e,t){return!t||t.length===0?e.map(e=>({date:e.date,value:e.value})):e.map((e,n)=>({date:e.date,value:e.value,compareValue:t[n]?.value}))}function l(e){return e.toLocaleString(`en-US`)}function u({active:e,payload:t,label:n,formatValue:i}){return!e||!t||t.length===0?null:(0,r.jsxs)(`div`,{className:`rounded-lg border bg-popover px-3 py-2 shadow-md`,children:[(0,r.jsx)(`p`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:n}),t.map(e=>(0,r.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,r.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e.color}}),(0,r.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.name,`:`]}),(0,r.jsx)(`span`,{className:`font-semibold tabular-nums`,children:i(e.value)})]},e.dataKey))]})}function d({period:e,onPeriodChange:n}){return(0,r.jsx)(`div`,{className:`mb-4 flex gap-1 rounded-lg bg-muted p-1`,children:a.map(i=>(0,r.jsx)(`button`,{type:`button`,onClick:()=>n(i.value),className:t.cn(`rounded-md px-3 py-1.5 text-xs font-medium transition-colors`,e===i.value?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:i.label},i.value))})}function f({data:e,compareWith:a,period:f=`month`,stacked:p=!1,height:m=300,showLegend:h=!1,showGrid:g=!0,animated:_=!0,color:v=o,compareColor:y=s,formatValue:b=l,onPeriodChange:x,className:S}){let C=n.useMemo(()=>c(e,a),[e,a]),w=n.useId(),T=n.useId(),E=`usage-gradient-${w.replace(/:/g,``)}`,D=`compare-gradient-${T.replace(/:/g,``)}`,O=a&&a.length>0;return(0,r.jsxs)(`div`,{className:t.cn(`w-full`,S),children:[x&&(0,r.jsx)(d,{period:f,onPeriodChange:x}),(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:m,children:(0,r.jsxs)(i.AreaChart,{data:C,margin:{top:4,right:4,left:0,bottom:0},children:[(0,r.jsxs)(`defs`,{children:[(0,r.jsxs)(`linearGradient`,{id:E,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:v,stopOpacity:.4}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:v,stopOpacity:.05})]}),O&&(0,r.jsxs)(`linearGradient`,{id:D,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:y,stopOpacity:.15}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:y,stopOpacity:.02})]})]}),g&&(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`,vertical:!1,className:`stroke-border/50`}),(0,r.jsx)(i.XAxis,{dataKey:`date`,axisLine:!1,tickLine:!1,tick:{fontSize:12},className:`fill-muted-foreground`,dy:8}),(0,r.jsx)(i.YAxis,{axisLine:!1,tickLine:!1,tick:{fontSize:12},className:`fill-muted-foreground`,tickFormatter:e=>b(e),width:60}),(0,r.jsx)(i.Tooltip,{content:(0,r.jsx)(u,{formatValue:b}),cursor:{stroke:`hsl(var(--border))`,strokeWidth:1}}),h&&(0,r.jsx)(i.Legend,{verticalAlign:`bottom`,align:`center`,wrapperStyle:{paddingTop:16},iconType:`circle`}),O&&(0,r.jsx)(i.Area,{dataKey:`compareValue`,name:`Previous Period`,type:`monotone`,stroke:y,strokeWidth:1.5,strokeDasharray:`6 3`,fill:`url(#${D})`,fillOpacity:1,stackId:p?`stack`:void 0,isAnimationActive:_,animationDuration:800,dot:!1,activeDot:{r:3,fill:y,stroke:`white`,strokeWidth:1.5}}),(0,r.jsx)(i.Area,{dataKey:`value`,name:`Current Period`,type:`monotone`,stroke:v,strokeWidth:2,fill:`url(#${E})`,fillOpacity:1,stackId:p?`stack`:void 0,isAnimationActive:_,animationDuration:800,dot:!1,activeDot:{r:4,fill:v,stroke:`white`,strokeWidth:2}})]})})]})}exports.default=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("react/jsx-runtime"),i=require("recharts");var a=[{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`},{value:`year`,label:`Year`}],o=`#3b82f6`,s=`#94a3b8`;function c(e,t){return!t||t.length===0?e.map(e=>({date:e.date,value:e.value})):e.map((e,n)=>({date:e.date,value:e.value,compareValue:t[n]?.value}))}function l(e){return e.toLocaleString(`en-US`)}function u({active:e,payload:t,label:n,formatValue:i}){return!e||!t||t.length===0?null:(0,r.jsxs)(`div`,{className:`rounded-lg border bg-popover px-3 py-2 shadow-md`,children:[(0,r.jsx)(`p`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:n}),t.map(e=>(0,r.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,r.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e.color}}),(0,r.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.name,`:`]}),(0,r.jsx)(`span`,{className:`font-semibold tabular-nums`,children:i(e.value)})]},e.dataKey))]})}function d({period:e,onPeriodChange:n}){return(0,r.jsx)(`div`,{className:`mb-4 flex gap-1 rounded-lg bg-muted p-1`,children:a.map(i=>(0,r.jsx)(`button`,{type:`button`,onClick:()=>n(i.value),className:t.cn(`rounded-md px-3 py-1.5 text-xs font-medium transition-colors`,e===i.value?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:i.label},i.value))})}function f({data:e,compareWith:a,period:f=`month`,stacked:p=!1,height:m=300,showLegend:h=!1,showGrid:g=!0,animated:_=!0,color:v=o,compareColor:y=s,formatValue:b=l,onPeriodChange:x,className:S}){let C=n.useMemo(()=>c(e,a),[e,a]),w=n.useId(),T=n.useId(),E=`usage-gradient-${w.replace(/:/g,``)}`,D=`compare-gradient-${T.replace(/:/g,``)}`,O=a&&a.length>0;return(0,r.jsxs)(`div`,{className:t.cn(`w-full`,S),children:[x&&(0,r.jsx)(d,{period:f,onPeriodChange:x}),(0,r.jsx)(i.ResponsiveContainer,{width:`100%`,height:m,children:(0,r.jsxs)(i.AreaChart,{data:C,margin:{top:4,right:4,left:0,bottom:0},children:[(0,r.jsxs)(`defs`,{children:[(0,r.jsxs)(`linearGradient`,{id:E,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:v,stopOpacity:.4}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:v,stopOpacity:.05})]}),O&&(0,r.jsxs)(`linearGradient`,{id:D,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,r.jsx)(`stop`,{offset:`5%`,stopColor:y,stopOpacity:.15}),(0,r.jsx)(`stop`,{offset:`95%`,stopColor:y,stopOpacity:.02})]})]}),g&&(0,r.jsx)(i.CartesianGrid,{strokeDasharray:`3 3`,vertical:!1,className:`stroke-border/50`}),(0,r.jsx)(i.XAxis,{dataKey:`date`,axisLine:!1,tickLine:!1,tick:{fontSize:12},className:`fill-muted-foreground`,dy:8}),(0,r.jsx)(i.YAxis,{axisLine:!1,tickLine:!1,tick:{fontSize:12},className:`fill-muted-foreground`,tickFormatter:e=>b(e),width:60}),(0,r.jsx)(i.Tooltip,{content:(0,r.jsx)(u,{formatValue:b}),cursor:{stroke:`hsl(var(--border))`,strokeWidth:1}}),h&&(0,r.jsx)(i.Legend,{verticalAlign:`bottom`,align:`center`,wrapperStyle:{paddingTop:16},iconType:`circle`}),O&&(0,r.jsx)(i.Area,{dataKey:`compareValue`,name:`Previous Period`,type:`monotone`,stroke:y,strokeWidth:1.5,strokeDasharray:`6 3`,fill:`url(#${D})`,fillOpacity:1,stackId:p?`stack`:void 0,isAnimationActive:_,animationDuration:800,dot:!1,activeDot:{r:3,fill:y,stroke:`white`,strokeWidth:1.5}}),(0,r.jsx)(i.Area,{dataKey:`value`,name:`Current Period`,type:`monotone`,stroke:v,strokeWidth:2,fill:`url(#${E})`,fillOpacity:1,stackId:p?`stack`:void 0,isAnimationActive:_,animationDuration:800,dot:!1,activeDot:{r:4,fill:v,stroke:`white`,strokeWidth:2}})]})})]})}exports.WakaCreditUsageChart=f,exports.default=f;
@@ -201,4 +201,4 @@ function y({ data: f, compareWith: y, period: b = "month", stacked: x = !1, heig
201
201
  });
202
202
  }
203
203
  //#endregion
204
- export { y as default };
204
+ export { y as WakaCreditUsageChart, y as default };
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);var a={xp:{icon:r.Sparkles,color:`text-purple-500`,bgColor:`bg-purple-100`,gradient:`from-purple-400 to-purple-600`},coins:{icon:r.Coins,color:`text-yellow-500`,bgColor:`bg-yellow-100`,gradient:`from-yellow-400 to-orange-500`},item:{icon:r.Gift,color:`text-blue-500`,bgColor:`bg-blue-100`,gradient:`from-blue-400 to-blue-600`},badge:{icon:r.Crown,color:`text-amber-500`,bgColor:`bg-amber-100`,gradient:`from-amber-400 to-orange-600`}},o={sm:{card:`w-14 h-20`,bonusCard:`w-18 h-24`,icon:`h-5 w-5`,bonusIcon:`h-7 w-7`,dayText:`text-[10px]`,rewardText:`text-[10px]`,streakText:`text-xs`,button:`text-xs px-3 py-1.5`,countdown:`text-xs`,gap:`gap-1.5`},md:{card:`w-20 h-28`,bonusCard:`w-24 h-32`,icon:`h-6 w-6`,bonusIcon:`h-8 w-8`,dayText:`text-xs`,rewardText:`text-xs`,streakText:`text-sm`,button:`text-sm px-4 py-2`,countdown:`text-sm`,gap:`gap-2`},lg:{card:`w-24 h-32`,bonusCard:`w-28 h-36`,icon:`h-8 w-8`,bonusIcon:`h-10 w-10`,dayText:`text-sm`,rewardText:`text-sm`,streakText:`text-base`,button:`text-base px-5 py-2.5`,countdown:`text-base`,gap:`gap-3`}};function s({active:e,onComplete:t}){let[a,o]=n.useState(!1);if(n.useEffect(()=>{if(e){o(!0);let e=setTimeout(()=>{o(!1),t?.()},2e3);return()=>clearTimeout(e)}},[e,t]),!a)return null;let s=[`#fbbf24`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#06b6d4`,`#22c55e`,`#ec4899`];return(0,i.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden z-50`,children:[[...Array(40)].map((e,t)=>{let n=t/40*360,r=60+Math.random()*80,a=6+Math.random()*8,o=.8+Math.random()*.4;return(0,i.jsx)(`div`,{className:`absolute left-1/2 top-1/2 animate-confetti`,style:{width:a,height:a,backgroundColor:s[Math.floor(Math.random()*s.length)],borderRadius:Math.random()>.5?`50%`:`2px`,"--angle":`${n}deg`,"--distance":`${r}px`,animationDuration:`${o}s`,animationDelay:`${Math.random()*.2}s`}},t)}),[...Array(8)].map((e,t)=>(0,i.jsx)(r.Star,{className:`absolute left-1/2 top-1/2 text-yellow-400 animate-star-burst`,style:{"--angle":`${t/8*360}deg`,"--distance":`${40+Math.random()*40}px`,animationDelay:`${Math.random()*.3}s`,width:16+Math.random()*8,height:16+Math.random()*8}},`star-${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={xp:{icon:r.Sparkles,color:`text-purple-500`,bgColor:`bg-purple-100`,gradient:`from-purple-400 to-purple-600`},coins:{icon:r.Coins,color:`text-yellow-500`,bgColor:`bg-yellow-100`,gradient:`from-yellow-400 to-orange-500`},item:{icon:r.Gift,color:`text-blue-500`,bgColor:`bg-blue-100`,gradient:`from-blue-400 to-blue-600`},badge:{icon:r.Crown,color:`text-amber-500`,bgColor:`bg-amber-100`,gradient:`from-amber-400 to-orange-600`}},o={sm:{card:`w-14 h-20`,bonusCard:`w-18 h-24`,icon:`h-5 w-5`,bonusIcon:`h-7 w-7`,dayText:`text-[10px]`,rewardText:`text-[10px]`,streakText:`text-xs`,button:`text-xs px-3 py-1.5`,countdown:`text-xs`,gap:`gap-1.5`},md:{card:`w-20 h-28`,bonusCard:`w-24 h-32`,icon:`h-6 w-6`,bonusIcon:`h-8 w-8`,dayText:`text-xs`,rewardText:`text-xs`,streakText:`text-sm`,button:`text-sm px-4 py-2`,countdown:`text-sm`,gap:`gap-2`},lg:{card:`w-24 h-32`,bonusCard:`w-28 h-36`,icon:`h-8 w-8`,bonusIcon:`h-10 w-10`,dayText:`text-sm`,rewardText:`text-sm`,streakText:`text-base`,button:`text-base px-5 py-2.5`,countdown:`text-base`,gap:`gap-3`}};function s({active:e,onComplete:t}){let[a,o]=n.useState(!1);if(n.useEffect(()=>{if(e){o(!0);let e=setTimeout(()=>{o(!1),t?.()},2e3);return()=>clearTimeout(e)}},[e,t]),!a)return null;let s=[`#fbbf24`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#06b6d4`,`#22c55e`,`#ec4899`];return(0,i.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden z-50`,children:[[...Array(40)].map((e,t)=>{let n=t/40*360,r=60+Math.random()*80,a=6+Math.random()*8,o=.8+Math.random()*.4;return(0,i.jsx)(`div`,{className:`absolute left-1/2 top-1/2 animate-confetti`,style:{width:a,height:a,backgroundColor:s[Math.floor(Math.random()*s.length)],borderRadius:Math.random()>.5?`50%`:`2px`,"--angle":`${n}deg`,"--distance":`${r}px`,animationDuration:`${o}s`,animationDelay:`${Math.random()*.2}s`}},t)}),[...Array(8)].map((e,t)=>(0,i.jsx)(r.Star,{className:`absolute left-1/2 top-1/2 text-yellow-400 animate-star-burst`,style:{"--angle":`${t/8*360}deg`,"--distance":`${40+Math.random()*40}px`,animationDelay:`${Math.random()*.3}s`,width:16+Math.random()*8,height:16+Math.random()*8}},`star-${t}`)),(0,i.jsx)(`style`,{children:`
2
2
  @keyframes confetti {
3
3
  0% {
4
4
  transform: translate(-50%, -50%) rotate(var(--angle)) translateX(0) scale(1);
@@ -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`);let o=require(`react`);o=e.__toESM(o);let s=require(`lucide-react`),c=require(`react/jsx-runtime`);var l={postgresql:{label:`PostgreSQL`,color:`text-blue-500`},mysql:{label:`MySQL`,color:`text-orange-500`},mongodb:{label:`MongoDB`,color:`text-green-500`},redis:{label:`Redis`,color:`text-red-500`},elasticsearch:{label:`Elasticsearch`,color:`text-yellow-500`},other:{label:`Database`,color:`text-gray-500`}},u={healthy:{label:`Healthy`,color:`text-green-500`,bgColor:`bg-green-500`},warning:{label:`Warning`,color:`text-yellow-500`,bgColor:`bg-yellow-500`},critical:{label:`Critical`,color:`text-red-500`,bgColor:`bg-red-500`},offline:{label:`Offline`,color:`text-gray-500`,bgColor:`bg-gray-500`},syncing:{label:`Syncing`,color:`text-blue-500`,bgColor:`bg-blue-500`}};function d(e){if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(1))+` `+n[r]}function f(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:e<86400?`${Math.floor(e/3600)}h`:`${Math.floor(e/86400)}d`}function p(e){return e<1e3?`${e.toFixed(0)}ms`:`${(e/1e3).toFixed(2)}s`}function m({database:e,onRefresh:o,onClick:m,detailed:h=!1,compact:g=!1,className:_}){let v=l[e.type],y=u[e.status],{metrics:b}=e,x=b.connectionsActive/b.connectionsMax*100,S=b.storageUsed/b.storageTotal*100;return g?(0,c.jsxs)(`div`,{className:t.cn(`flex items-center gap-3 p-3 border rounded-lg hover:bg-muted/30 transition-colors cursor-pointer`,e.status===`critical`&&`border-red-500/50`,e.status===`warning`&&`border-yellow-500/50`,_),onClick:m,children:[(0,c.jsxs)(`div`,{className:`relative`,children:[(0,c.jsx)(s.Database,{className:t.cn(`h-5 w-5`,v.color)}),(0,c.jsx)(`div`,{className:t.cn(`absolute -bottom-0.5 -right-0.5 w-2 h-2 rounded-full border border-background`,y.bgColor)})]}),(0,c.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,c.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,c.jsxs)(`div`,{className:`text-xs text-muted-foreground flex items-center gap-2`,children:[(0,c.jsx)(`span`,{children:v.label}),e.version&&(0,c.jsxs)(`span`,{children:[`v`,e.version]})]})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-3 text-xs`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(s.Users,{className:`h-3 w-3 text-muted-foreground`}),(0,c.jsxs)(`span`,{children:[b.connectionsActive,`/`,b.connectionsMax]})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(s.Zap,{className:`h-3 w-3 text-muted-foreground`}),(0,c.jsxs)(`span`,{children:[b.queriesPerSecond,`/s`]})]}),b.slowQueries>0&&(0,c.jsxs)(n.Badge,{variant:`outline`,className:`text-yellow-500`,children:[b.slowQueries,` slow`]})]}),(0,c.jsx)(n.Badge,{className:t.cn(`text-white`,y.bgColor),children:y.label})]}):(0,c.jsxs)(i.Card,{className:t.cn(e.status===`critical`&&`border-red-500/50`,e.status===`warning`&&`border-yellow-500/50`,_),children:[(0,c.jsx)(i.CardHeader,{className:`pb-3`,children:(0,c.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsx)(`div`,{className:t.cn(`w-10 h-10 rounded-lg flex items-center justify-center`,`bg-muted`),children:(0,c.jsx)(s.Database,{className:t.cn(`h-5 w-5`,v.color)})}),(0,c.jsxs)(`div`,{children:[(0,c.jsxs)(i.CardTitle,{className:`text-base flex items-center gap-2`,children:[e.name,(0,c.jsx)(n.Badge,{className:t.cn(`text-white text-xs`,y.bgColor),children:y.label})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2 mt-1 text-xs text-muted-foreground`,children:[(0,c.jsx)(`span`,{children:v.label}),e.version&&(0,c.jsxs)(`span`,{children:[`v`,e.version]}),(0,c.jsx)(`span`,{children:`•`}),(0,c.jsxs)(`span`,{children:[e.host,`:`,e.port]}),e.role!==`standalone`&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{children:`•`}),(0,c.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[(0,c.jsx)(s.GitBranch,{className:`h-3 w-3 mr-1`}),e.role]})]})]})]})]}),o&&(0,c.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,onClick:o,children:(0,c.jsx)(s.RefreshCw,{className:`h-4 w-4`})})]})}),(0,c.jsxs)(i.CardContent,{className:`space-y-4`,children:[(0,c.jsxs)(`div`,{className:`grid grid-cols-4 gap-3`,children:[(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.Users,{className:`h-3 w-3`}),`Connections`]}),(0,c.jsx)(`div`,{className:`text-lg font-semibold`,children:b.connectionsActive}),(0,c.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`/ `,b.connectionsMax]})]}),(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.Zap,{className:`h-3 w-3`}),`Queries/sec`]}),(0,c.jsx)(`div`,{className:`text-lg font-semibold`,children:b.queriesPerSecond})]}),(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.Clock,{className:`h-3 w-3`}),`Avg Latency`]}),(0,c.jsx)(`div`,{className:`text-lg font-semibold`,children:p(b.avgQueryTime)})]}),(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.AlertTriangle,{className:`h-3 w-3`}),`Slow Queries`]}),(0,c.jsx)(`div`,{className:t.cn(`text-lg font-semibold`,b.slowQueries>10&&`text-red-500`,b.slowQueries>0&&b.slowQueries<=10&&`text-yellow-500`),children:b.slowQueries})]})]}),(0,c.jsxs)(`div`,{children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm mb-1`,children:[(0,c.jsxs)(`span`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,c.jsx)(s.Users,{className:`h-4 w-4`}),`Connections`]}),(0,c.jsxs)(`span`,{className:t.cn(x>80&&`text-red-500`,x>60&&x<=80&&`text-yellow-500`),children:[x.toFixed(0),`%`]})]}),(0,c.jsx)(a.Progress,{value:x,className:t.cn(`h-2`,x>80&&`[&>div]:bg-red-500`,x>60&&x<=80&&`[&>div]:bg-yellow-500`)})]}),(0,c.jsxs)(`div`,{children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm mb-1`,children:[(0,c.jsxs)(`span`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,c.jsx)(s.HardDrive,{className:`h-4 w-4`}),`Storage`]}),(0,c.jsxs)(`span`,{children:[d(b.storageUsed),` / `,d(b.storageTotal)]})]}),(0,c.jsx)(a.Progress,{value:S,className:t.cn(`h-2`,S>90&&`[&>div]:bg-red-500`,S>75&&S<=90&&`[&>div]:bg-yellow-500`)})]}),h&&(0,c.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2 border-t`,children:[b.cacheHitRate!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Cache Hit Rate`}),(0,c.jsxs)(`span`,{className:t.cn(b.cacheHitRate<90&&`text-yellow-500`),children:[b.cacheHitRate.toFixed(1),`%`]})]}),b.replicationLag!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Replication Lag`}),(0,c.jsx)(`span`,{className:t.cn(b.replicationLag>1e3&&`text-red-500`,b.replicationLag>100&&b.replicationLag<=1e3&&`text-yellow-500`),children:p(b.replicationLag)})]}),b.uptime!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Uptime`}),(0,c.jsx)(`span`,{children:f(b.uptime)})]}),e.replicas!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Replicas`}),(0,c.jsx)(`span`,{children:e.replicas})]}),e.lastBackup&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm col-span-2`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Last Backup`}),(0,c.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(s.CheckCircle2,{className:`h-3 w-3 text-green-500`}),e.lastBackup.toLocaleDateString(`fr-FR`,{day:`2-digit`,month:`short`,hour:`2-digit`,minute:`2-digit`})]})]})]}),e.tags&&e.tags.length>0&&(0,c.jsx)(`div`,{className:`flex flex-wrap gap-1 pt-2 border-t`,children:e.tags.map(e=>(0,c.jsx)(n.Badge,{variant:`secondary`,className:`text-xs`,children:e},e))})]})]})}var h={id:`1`,name:`production-db`,type:`postgresql`,version:`15.4`,host:`db.example.com`,port:5432,status:`healthy`,role:`primary`,metrics:{connectionsActive:45,connectionsMax:100,queriesPerSecond:1250,slowQueries:3,avgQueryTime:12.5,cacheHitRate:98.5,storageUsed:85*1024*1024*1024,storageTotal:200*1024*1024*1024,replicationLag:25,uptime:1080*3600},replicas:2,lastBackup:new Date(Date.now()-4*36e5),tags:[`production`,`critical`]},g=[h,{id:`2`,name:`cache-redis`,type:`redis`,version:`7.2`,host:`redis.example.com`,port:6379,status:`healthy`,role:`primary`,metrics:{connectionsActive:120,connectionsMax:1e4,queriesPerSecond:45e3,slowQueries:0,avgQueryTime:.5,storageUsed:2*1024*1024*1024,storageTotal:16*1024*1024*1024,uptime:720*3600},tags:[`cache`,`production`]},{id:`3`,name:`analytics-mongo`,type:`mongodb`,version:`7.0`,host:`mongo.example.com`,port:27017,status:`warning`,role:`replica`,metrics:{connectionsActive:78,connectionsMax:100,queriesPerSecond:350,slowQueries:12,avgQueryTime:85,storageUsed:450*1024*1024*1024,storageTotal:500*1024*1024*1024,replicationLag:150,uptime:360*3600},tags:[`analytics`]}];exports.WakaDatabaseCard=m,exports.defaultDatabase=h,exports.defaultDatabases=g;
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");let o=require("react");o=e.__toESM(o);let s=require("lucide-react"),c=require("react/jsx-runtime");var l={postgresql:{label:`PostgreSQL`,color:`text-blue-500`},mysql:{label:`MySQL`,color:`text-orange-500`},mongodb:{label:`MongoDB`,color:`text-green-500`},redis:{label:`Redis`,color:`text-red-500`},elasticsearch:{label:`Elasticsearch`,color:`text-yellow-500`},other:{label:`Database`,color:`text-gray-500`}},u={healthy:{label:`Healthy`,color:`text-green-500`,bgColor:`bg-green-500`},warning:{label:`Warning`,color:`text-yellow-500`,bgColor:`bg-yellow-500`},critical:{label:`Critical`,color:`text-red-500`,bgColor:`bg-red-500`},offline:{label:`Offline`,color:`text-gray-500`,bgColor:`bg-gray-500`},syncing:{label:`Syncing`,color:`text-blue-500`,bgColor:`bg-blue-500`}};function d(e){if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(1))+` `+n[r]}function f(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:e<86400?`${Math.floor(e/3600)}h`:`${Math.floor(e/86400)}d`}function p(e){return e<1e3?`${e.toFixed(0)}ms`:`${(e/1e3).toFixed(2)}s`}function m({database:e,onRefresh:o,onClick:m,detailed:h=!1,compact:g=!1,className:_}){let v=l[e.type],y=u[e.status],{metrics:b}=e,x=b.connectionsActive/b.connectionsMax*100,S=b.storageUsed/b.storageTotal*100;return g?(0,c.jsxs)(`div`,{className:t.cn(`flex items-center gap-3 p-3 border rounded-lg hover:bg-muted/30 transition-colors cursor-pointer`,e.status===`critical`&&`border-red-500/50`,e.status===`warning`&&`border-yellow-500/50`,_),onClick:m,children:[(0,c.jsxs)(`div`,{className:`relative`,children:[(0,c.jsx)(s.Database,{className:t.cn(`h-5 w-5`,v.color)}),(0,c.jsx)(`div`,{className:t.cn(`absolute -bottom-0.5 -right-0.5 w-2 h-2 rounded-full border border-background`,y.bgColor)})]}),(0,c.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,c.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,c.jsxs)(`div`,{className:`text-xs text-muted-foreground flex items-center gap-2`,children:[(0,c.jsx)(`span`,{children:v.label}),e.version&&(0,c.jsxs)(`span`,{children:[`v`,e.version]})]})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-3 text-xs`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(s.Users,{className:`h-3 w-3 text-muted-foreground`}),(0,c.jsxs)(`span`,{children:[b.connectionsActive,`/`,b.connectionsMax]})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(s.Zap,{className:`h-3 w-3 text-muted-foreground`}),(0,c.jsxs)(`span`,{children:[b.queriesPerSecond,`/s`]})]}),b.slowQueries>0&&(0,c.jsxs)(n.Badge,{variant:`outline`,className:`text-yellow-500`,children:[b.slowQueries,` slow`]})]}),(0,c.jsx)(n.Badge,{className:t.cn(`text-white`,y.bgColor),children:y.label})]}):(0,c.jsxs)(i.Card,{className:t.cn(e.status===`critical`&&`border-red-500/50`,e.status===`warning`&&`border-yellow-500/50`,_),children:[(0,c.jsx)(i.CardHeader,{className:`pb-3`,children:(0,c.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsx)(`div`,{className:t.cn(`w-10 h-10 rounded-lg flex items-center justify-center`,`bg-muted`),children:(0,c.jsx)(s.Database,{className:t.cn(`h-5 w-5`,v.color)})}),(0,c.jsxs)(`div`,{children:[(0,c.jsxs)(i.CardTitle,{className:`text-base flex items-center gap-2`,children:[e.name,(0,c.jsx)(n.Badge,{className:t.cn(`text-white text-xs`,y.bgColor),children:y.label})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2 mt-1 text-xs text-muted-foreground`,children:[(0,c.jsx)(`span`,{children:v.label}),e.version&&(0,c.jsxs)(`span`,{children:[`v`,e.version]}),(0,c.jsx)(`span`,{children:`•`}),(0,c.jsxs)(`span`,{children:[e.host,`:`,e.port]}),e.role!==`standalone`&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{children:`•`}),(0,c.jsxs)(n.Badge,{variant:`outline`,className:`text-xs`,children:[(0,c.jsx)(s.GitBranch,{className:`h-3 w-3 mr-1`}),e.role]})]})]})]})]}),o&&(0,c.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,onClick:o,children:(0,c.jsx)(s.RefreshCw,{className:`h-4 w-4`})})]})}),(0,c.jsxs)(i.CardContent,{className:`space-y-4`,children:[(0,c.jsxs)(`div`,{className:`grid grid-cols-4 gap-3`,children:[(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.Users,{className:`h-3 w-3`}),`Connections`]}),(0,c.jsx)(`div`,{className:`text-lg font-semibold`,children:b.connectionsActive}),(0,c.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`/ `,b.connectionsMax]})]}),(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.Zap,{className:`h-3 w-3`}),`Queries/sec`]}),(0,c.jsx)(`div`,{className:`text-lg font-semibold`,children:b.queriesPerSecond})]}),(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.Clock,{className:`h-3 w-3`}),`Avg Latency`]}),(0,c.jsx)(`div`,{className:`text-lg font-semibold`,children:p(b.avgQueryTime)})]}),(0,c.jsxs)(`div`,{className:`text-center p-2 bg-muted/50 rounded-lg`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-xs text-muted-foreground mb-1`,children:[(0,c.jsx)(s.AlertTriangle,{className:`h-3 w-3`}),`Slow Queries`]}),(0,c.jsx)(`div`,{className:t.cn(`text-lg font-semibold`,b.slowQueries>10&&`text-red-500`,b.slowQueries>0&&b.slowQueries<=10&&`text-yellow-500`),children:b.slowQueries})]})]}),(0,c.jsxs)(`div`,{children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm mb-1`,children:[(0,c.jsxs)(`span`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,c.jsx)(s.Users,{className:`h-4 w-4`}),`Connections`]}),(0,c.jsxs)(`span`,{className:t.cn(x>80&&`text-red-500`,x>60&&x<=80&&`text-yellow-500`),children:[x.toFixed(0),`%`]})]}),(0,c.jsx)(a.Progress,{value:x,className:t.cn(`h-2`,x>80&&`[&>div]:bg-red-500`,x>60&&x<=80&&`[&>div]:bg-yellow-500`)})]}),(0,c.jsxs)(`div`,{children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm mb-1`,children:[(0,c.jsxs)(`span`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,c.jsx)(s.HardDrive,{className:`h-4 w-4`}),`Storage`]}),(0,c.jsxs)(`span`,{children:[d(b.storageUsed),` / `,d(b.storageTotal)]})]}),(0,c.jsx)(a.Progress,{value:S,className:t.cn(`h-2`,S>90&&`[&>div]:bg-red-500`,S>75&&S<=90&&`[&>div]:bg-yellow-500`)})]}),h&&(0,c.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2 border-t`,children:[b.cacheHitRate!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Cache Hit Rate`}),(0,c.jsxs)(`span`,{className:t.cn(b.cacheHitRate<90&&`text-yellow-500`),children:[b.cacheHitRate.toFixed(1),`%`]})]}),b.replicationLag!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Replication Lag`}),(0,c.jsx)(`span`,{className:t.cn(b.replicationLag>1e3&&`text-red-500`,b.replicationLag>100&&b.replicationLag<=1e3&&`text-yellow-500`),children:p(b.replicationLag)})]}),b.uptime!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Uptime`}),(0,c.jsx)(`span`,{children:f(b.uptime)})]}),e.replicas!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Replicas`}),(0,c.jsx)(`span`,{children:e.replicas})]}),e.lastBackup&&(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm col-span-2`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`Last Backup`}),(0,c.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(s.CheckCircle2,{className:`h-3 w-3 text-green-500`}),e.lastBackup.toLocaleDateString(`fr-FR`,{day:`2-digit`,month:`short`,hour:`2-digit`,minute:`2-digit`})]})]})]}),e.tags&&e.tags.length>0&&(0,c.jsx)(`div`,{className:`flex flex-wrap gap-1 pt-2 border-t`,children:e.tags.map(e=>(0,c.jsx)(n.Badge,{variant:`secondary`,className:`text-xs`,children:e},e))})]})]})}var h={id:`1`,name:`production-db`,type:`postgresql`,version:`15.4`,host:`db.example.com`,port:5432,status:`healthy`,role:`primary`,metrics:{connectionsActive:45,connectionsMax:100,queriesPerSecond:1250,slowQueries:3,avgQueryTime:12.5,cacheHitRate:98.5,storageUsed:85*1024*1024*1024,storageTotal:200*1024*1024*1024,replicationLag:25,uptime:1080*3600},replicas:2,lastBackup:new Date(Date.now()-4*36e5),tags:[`production`,`critical`]},g=[h,{id:`2`,name:`cache-redis`,type:`redis`,version:`7.2`,host:`redis.example.com`,port:6379,status:`healthy`,role:`primary`,metrics:{connectionsActive:120,connectionsMax:1e4,queriesPerSecond:45e3,slowQueries:0,avgQueryTime:.5,storageUsed:2*1024*1024*1024,storageTotal:16*1024*1024*1024,uptime:720*3600},tags:[`cache`,`production`]},{id:`3`,name:`analytics-mongo`,type:`mongodb`,version:`7.0`,host:`mongo.example.com`,port:27017,status:`warning`,role:`replica`,metrics:{connectionsActive:78,connectionsMax:100,queriesPerSecond:350,slowQueries:12,avgQueryTime:85,storageUsed:450*1024*1024*1024,storageTotal:500*1024*1024*1024,replicationLag:150,uptime:360*3600},tags:[`analytics`]}];exports.WakaDatabaseCard=m,exports.defaultDatabase=h,exports.defaultDatabases=g;
@@ -70,7 +70,7 @@ function S(e) {
70
70
  "GB",
71
71
  "TB"
72
72
  ], r = Math.floor(Math.log(e) / Math.log(t));
73
- return parseFloat((e / t ** +r).toFixed(1)) + " " + n[r];
73
+ return parseFloat((e / t ** r).toFixed(1)) + " " + n[r];
74
74
  }
75
75
  function C(e) {
76
76
  return e < 60 ? `${e}s` : e < 3600 ? `${Math.floor(e / 60)}m` : e < 86400 ? `${Math.floor(e / 3600)}h` : `${Math.floor(e / 86400)}d`;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../button/index.cjs.js`),r=require(`../calendar/index.cjs.js`),i=require(`../popover/index.cjs.js`);let a=require(`react`);a=e.__toESM(a);let o=require(`lucide-react`),s=require(`react/jsx-runtime`),c=require(`date-fns`),l=require(`date-fns/locale`);var u=[{label:`Aujourd'hui`,getValue:()=>({from:(0,c.startOfDay)(new Date),to:(0,c.endOfDay)(new Date)})},{label:`Hier`,getValue:()=>({from:(0,c.startOfDay)((0,c.subDays)(new Date,1)),to:(0,c.endOfDay)((0,c.subDays)(new Date,1))})},{label:`7 derniers jours`,getValue:()=>({from:(0,c.startOfDay)((0,c.subDays)(new Date,6)),to:(0,c.endOfDay)(new Date)})},{label:`30 derniers jours`,getValue:()=>({from:(0,c.startOfDay)((0,c.subDays)(new Date,29)),to:(0,c.endOfDay)(new Date)})},{label:`Ce mois`,getValue:()=>({from:(0,c.startOfMonth)(new Date),to:(0,c.endOfMonth)(new Date)})},{label:`Mois dernier`,getValue:()=>({from:(0,c.startOfMonth)((0,c.subMonths)(new Date,1)),to:(0,c.endOfMonth)((0,c.subMonths)(new Date,1))})},{label:`Cette année`,getValue:()=>({from:(0,c.startOfYear)(new Date),to:(0,c.endOfDay)(new Date)})}];function d({value:e,onChange:d,placeholder:f=`Sélectionner une période`,dateFormat:p=`dd/MM/yyyy`,minDate:m,maxDate:h,disabled:g=!1,error:_=!1,showPresets:v=!0,presets:y=u,numberOfMonths:b=2,locale:x=l.fr,size:S=`md`,className:C,id:w,name:T,clearable:E=!0}){let[D,O]=a.useState(!1),[k,A]=a.useState(e);a.useEffect(()=>{A(e)},[e]);let j=e=>{A(e),d?.(e)},M=e=>{j(e.getValue()),O(!1)},N=e=>{e.stopPropagation(),j(void 0)},P=a.useMemo(()=>{if(!k?.from)return``;let e=(0,c.format)(k.from,p,{locale:x});return k.to?`${e} - ${(0,c.format)(k.to,p,{locale:x})}`:e},[k,p,x]),F={sm:`h-8 text-xs px-2`,md:`h-9 text-sm px-3`,lg:`h-10 text-base px-4`},I={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`},L=a.useMemo(()=>{let e=[];return m&&e.push(e=>(0,c.isBefore)(e,(0,c.startOfDay)(m))),h&&e.push(e=>(0,c.isAfter)(e,(0,c.endOfDay)(h))),e.length>0?t=>e.some(e=>e(t)):void 0},[m,h]);return(0,s.jsxs)(i.Popover,{open:D,onOpenChange:O,children:[(0,s.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,s.jsxs)(n.Button,{id:w,variant:`outline`,role:`combobox`,"aria-expanded":D,disabled:g,className:t.cn(`w-full justify-start font-normal`,F[S],!P&&`text-muted-foreground`,_&&`border-destructive focus-visible:ring-destructive`,C),children:[(0,s.jsx)(o.Calendar,{className:t.cn(I[S],`mr-2`)}),(0,s.jsx)(`span`,{className:`flex-1 text-left truncate`,children:P||f}),E&&P&&!g&&(0,s.jsx)(o.X,{className:t.cn(I[S],`ml-2 opacity-50 hover:opacity-100`),onClick:N})]})}),(0,s.jsxs)(i.PopoverContent,{className:`w-auto p-0`,align:`start`,children:[(0,s.jsxs)(`div`,{className:`flex`,children:[v&&y.length>0&&(0,s.jsx)(`div`,{className:`border-r p-2 space-y-1`,children:y.map((e,t)=>(0,s.jsx)(n.Button,{variant:`ghost`,size:`sm`,className:`w-full justify-start text-xs`,onClick:()=>M(e),children:e.label},t))}),(0,s.jsx)(`div`,{className:`p-3`,children:(0,s.jsx)(r.Calendar,{mode:`range`,selected:k,onSelect:j,numberOfMonths:b,locale:x,disabled:L,initialFocus:!0})})]}),(0,s.jsxs)(`div`,{className:`border-t p-3 flex justify-between items-center`,children:[(0,s.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:k?.from&&k?.to&&(0,s.jsxs)(s.Fragment,{children:[Math.ceil((k.to.getTime()-k.from.getTime())/(1e3*60*60*24))+1,` `,`jours sélectionnés`]})}),(0,s.jsxs)(`div`,{className:`flex gap-2`,children:[E&&(0,s.jsx)(n.Button,{variant:`ghost`,size:`sm`,onClick:()=>j(void 0),children:`Effacer`}),(0,s.jsx)(n.Button,{size:`sm`,onClick:()=>O(!1),children:`Appliquer`})]})]})]})]})}function f(e={}){let{initialValue:t,minDate:n,maxDate:r}=e,[i,o]=a.useState(t),s=()=>o(void 0),l=()=>{o({from:(0,c.startOfDay)(new Date),to:(0,c.endOfDay)(new Date)})},u=()=>{o({from:(0,c.startOfDay)((0,c.subDays)(new Date,6)),to:(0,c.endOfDay)(new Date)})},d=()=>{o({from:(0,c.startOfMonth)(new Date),to:(0,c.endOfMonth)(new Date)})},f=e=>!(!e?.from||!e?.to||!(0,c.isValid)(e.from)||!(0,c.isValid)(e.to)||(0,c.isAfter)(e.from,e.to)||n&&(0,c.isBefore)(e.from,(0,c.startOfDay)(n))||r&&(0,c.isAfter)(e.to,(0,c.endOfDay)(r)));return{value:i,onChange:o,clear:s,setToday:l,setThisWeek:u,setThisMonth:d,isValidRange:()=>f(i),dayCount:!i?.from||!i?.to?null:Math.ceil((i.to.getTime()-i.from.getTime())/(1e3*60*60*24))+1,minDate:n,maxDate:r}}exports.default=d,exports.defaultPresets=u,exports.useDateRangePicker=f;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../button/index.cjs.js"),r=require("../calendar/index.cjs.js"),i=require("../popover/index.cjs.js");let a=require("react");a=e.__toESM(a);let o=require("lucide-react"),s=require("react/jsx-runtime"),c=require("date-fns"),l=require("date-fns/locale");var u=[{label:`Aujourd'hui`,getValue:()=>({from:(0,c.startOfDay)(new Date),to:(0,c.endOfDay)(new Date)})},{label:`Hier`,getValue:()=>({from:(0,c.startOfDay)((0,c.subDays)(new Date,1)),to:(0,c.endOfDay)((0,c.subDays)(new Date,1))})},{label:`7 derniers jours`,getValue:()=>({from:(0,c.startOfDay)((0,c.subDays)(new Date,6)),to:(0,c.endOfDay)(new Date)})},{label:`30 derniers jours`,getValue:()=>({from:(0,c.startOfDay)((0,c.subDays)(new Date,29)),to:(0,c.endOfDay)(new Date)})},{label:`Ce mois`,getValue:()=>({from:(0,c.startOfMonth)(new Date),to:(0,c.endOfMonth)(new Date)})},{label:`Mois dernier`,getValue:()=>({from:(0,c.startOfMonth)((0,c.subMonths)(new Date,1)),to:(0,c.endOfMonth)((0,c.subMonths)(new Date,1))})},{label:`Cette année`,getValue:()=>({from:(0,c.startOfYear)(new Date),to:(0,c.endOfDay)(new Date)})}];function d({value:e,onChange:d,placeholder:f=`Sélectionner une période`,dateFormat:p=`dd/MM/yyyy`,minDate:m,maxDate:h,disabled:g=!1,error:_=!1,showPresets:v=!0,presets:y=u,numberOfMonths:b=2,locale:x=l.fr,size:S=`md`,className:C,id:w,name:T,clearable:E=!0}){let[D,O]=a.useState(!1),[k,A]=a.useState(e);a.useEffect(()=>{A(e)},[e]);let j=e=>{A(e),d?.(e)},M=e=>{let t=e.getValue();j(t),O(!1)},N=e=>{e.stopPropagation(),j(void 0)},P=a.useMemo(()=>{if(!k?.from)return``;let e=(0,c.format)(k.from,p,{locale:x});return k.to?`${e} - ${(0,c.format)(k.to,p,{locale:x})}`:e},[k,p,x]),F={sm:`h-8 text-xs px-2`,md:`h-9 text-sm px-3`,lg:`h-10 text-base px-4`},I={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`},L=a.useMemo(()=>{let e=[];return m&&e.push(e=>(0,c.isBefore)(e,(0,c.startOfDay)(m))),h&&e.push(e=>(0,c.isAfter)(e,(0,c.endOfDay)(h))),e.length>0?t=>e.some(e=>e(t)):void 0},[m,h]);return(0,s.jsxs)(i.Popover,{open:D,onOpenChange:O,children:[(0,s.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,s.jsxs)(n.Button,{id:w,variant:`outline`,role:`combobox`,"aria-expanded":D,disabled:g,className:t.cn(`w-full justify-start font-normal`,F[S],!P&&`text-muted-foreground`,_&&`border-destructive focus-visible:ring-destructive`,C),children:[(0,s.jsx)(o.Calendar,{className:t.cn(I[S],`mr-2`)}),(0,s.jsx)(`span`,{className:`flex-1 text-left truncate`,children:P||f}),E&&P&&!g&&(0,s.jsx)(o.X,{className:t.cn(I[S],`ml-2 opacity-50 hover:opacity-100`),onClick:N})]})}),(0,s.jsxs)(i.PopoverContent,{className:`w-auto p-0`,align:`start`,children:[(0,s.jsxs)(`div`,{className:`flex`,children:[v&&y.length>0&&(0,s.jsx)(`div`,{className:`border-r p-2 space-y-1`,children:y.map((e,t)=>(0,s.jsx)(n.Button,{variant:`ghost`,size:`sm`,className:`w-full justify-start text-xs`,onClick:()=>M(e),children:e.label},t))}),(0,s.jsx)(`div`,{className:`p-3`,children:(0,s.jsx)(r.Calendar,{mode:`range`,selected:k,onSelect:j,numberOfMonths:b,locale:x,disabled:L,initialFocus:!0})})]}),(0,s.jsxs)(`div`,{className:`border-t p-3 flex justify-between items-center`,children:[(0,s.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:k?.from&&k?.to&&(0,s.jsxs)(s.Fragment,{children:[Math.ceil((k.to.getTime()-k.from.getTime())/(1e3*60*60*24))+1,` `,`jours sélectionnés`]})}),(0,s.jsxs)(`div`,{className:`flex gap-2`,children:[E&&(0,s.jsx)(n.Button,{variant:`ghost`,size:`sm`,onClick:()=>j(void 0),children:`Effacer`}),(0,s.jsx)(n.Button,{size:`sm`,onClick:()=>O(!1),children:`Appliquer`})]})]})]})]})}function f(e={}){let{initialValue:t,minDate:n,maxDate:r}=e,[i,o]=a.useState(t),s=()=>o(void 0),l=()=>{o({from:(0,c.startOfDay)(new Date),to:(0,c.endOfDay)(new Date)})},u=()=>{o({from:(0,c.startOfDay)((0,c.subDays)(new Date,6)),to:(0,c.endOfDay)(new Date)})},d=()=>{o({from:(0,c.startOfMonth)(new Date),to:(0,c.endOfMonth)(new Date)})},f=e=>!(!e?.from||!e?.to||!(0,c.isValid)(e.from)||!(0,c.isValid)(e.to)||(0,c.isAfter)(e.from,e.to)||n&&(0,c.isBefore)(e.from,(0,c.startOfDay)(n))||r&&(0,c.isAfter)(e.to,(0,c.endOfDay)(r)));return{value:i,onChange:o,clear:s,setToday:l,setThisWeek:u,setThisMonth:d,isValidRange:()=>f(i),dayCount:!i?.from||!i?.to?null:Math.ceil((i.to.getTime()-i.from.getTime())/(1e3*60*60*24))+1,minDate:n,maxDate:r}}exports.WakaDateRangePicker=d,exports.default=d,exports.defaultPresets=u,exports.useDateRangePicker=f;
@@ -69,7 +69,8 @@ function T({ value: p, onChange: _, placeholder: y = "Sélectionner une période
69
69
  let B = (e) => {
70
70
  z(e), _?.(e);
71
71
  }, V = (e) => {
72
- B(e.getValue()), L(!1);
72
+ let t = e.getValue();
73
+ B(t), L(!1);
73
74
  }, H = (e) => {
74
75
  e.stopPropagation(), B(void 0);
75
76
  }, U = o.useMemo(() => {
@@ -199,4 +200,4 @@ function E(e = {}) {
199
200
  };
200
201
  }
201
202
  //#endregion
202
- export { T as default, w as defaultPresets, E as useDateRangePicker };
203
+ export { T as WakaDateRangePicker, T as default, w as defaultPresets, E as useDateRangePicker };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../button/index.cjs.js`),r=require(`../label/index.cjs.js`),i=require(`../popover/index.cjs.js`),ee=require(`../scroll-area/index.cjs.js`),te=require(`../separator/index.cjs.js`),a=require(`../tooltip/index.cjs.js`),ne=require(`../../hooks/use-translation.cjs.js`);let o=require(`react`);o=e.__toESM(o);let s=require(`lucide-react`),c=require(`react/jsx-runtime`),l=require(`date-fns`),u=require(`date-fns/locale`),d=require(`react-datepicker`);d=e.__toESM(d),(0,d.registerLocale)(`fr`,u.fr),(0,d.registerLocale)(`en`,u.enUS),(0,d.registerLocale)(`es`,u.es),(0,d.registerLocale)(`de`,u.de),(0,d.registerLocale)(`it`,u.it),(0,d.registerLocale)(`pt`,u.pt),(0,d.registerLocale)(`ja`,u.ja),(0,d.registerLocale)(`zh`,u.zhCN);var f=o.forwardRef(({value:e,onChange:f,placeholder:p,disabled:m=!1,className:h,variant:g=`date`,format:_,minDate:v,maxDate:y,showSeconds:b=!1,showClear:x=!0,showPresets:S=!1,presets:re,locale:C=`fr`,timeFormat:w=`24h`,size:ie=`md`,error:T,label:E,required:D=!1,inline:O=!1,monthsShown:k=1,timeIntervals:ae=15,validation:A,showWeekNumbers:oe=!1,showTodayButton:j=!0,showSelectionInfo:M=!1,allowTimeRange:se=!1,timezone:ce,onBeforeChange:N,onAfterChange:P,renderDay:le,popoverClassName:ue,disableAnimations:de=!1,readOnly:F=!1,id:I,name:fe,autoFocus:pe=!1},L)=>{let{t:R}=ne.useTranslation(),[z,B]=o.useState(!1),[V,H]=o.useState(g===`range`&&e&&!(`from`in e)?{from:e,to:void 0}:e),[U,W]=o.useState(null),[G,me]=o.useState(null),K={fr:u.fr,en:u.enUS,es:u.es,de:u.de,it:u.it,pt:u.pt,ja:u.ja,zh:u.zhCN}[C]||u.fr,he=[{label:R?.(`today`)||`Aujourd'hui`,value:()=>new Date},{label:R?.(`yesterday`)||`Hier`,value:()=>(0,l.subDays)(new Date,1)},{label:R?.(`thisWeek`)||`Cette semaine`,range:()=>({from:(0,l.startOfWeek)(new Date,{locale:K}),to:(0,l.endOfWeek)(new Date,{locale:K})})},{label:R?.(`lastWeek`)||`Semaine dernière`,range:()=>({from:(0,l.startOfWeek)((0,l.subWeeks)(new Date,1),{locale:K}),to:(0,l.endOfWeek)((0,l.subWeeks)(new Date,1),{locale:K})})},{label:R?.(`thisMonth`)||`Ce mois`,range:()=>({from:(0,l.startOfMonth)(new Date),to:(0,l.endOfMonth)(new Date)})},{label:R?.(`lastMonth`)||`Mois dernier`,range:()=>({from:(0,l.startOfMonth)((0,l.subMonths)(new Date,1)),to:(0,l.endOfMonth)((0,l.subMonths)(new Date,1))})},{label:R?.(`last7Days`)||`7 derniers jours`,range:()=>({from:(0,l.subDays)(new Date,7),to:new Date})},{label:R?.(`last30Days`)||`30 derniers jours`,range:()=>({from:(0,l.subDays)(new Date,30),to:new Date})},{label:R?.(`thisYear`)||`Cette année`,range:()=>({from:(0,l.startOfYear)(new Date),to:(0,l.endOfYear)(new Date)})}],q=re||(S?he:[]),ge={sm:`h-8 px-3 text-xs`,md:`h-10 px-4 text-sm`,lg:`h-12 px-5 text-base`},J=_||(()=>{switch(g){case`time`:return b?w===`12h`?`h:mm:ss a`:`HH:mm:ss`:w===`12h`?`h:mm a`:`HH:mm`;case`datetime`:return b?w===`12h`?`PPP h:mm:ss a`:`PPP HH:mm:ss`:w===`12h`?`PPP h:mm a`:`PPP HH:mm`;case`range`:return`PPP`;case`multiple`:return`PPP`;default:return`PPP`}})(),Y=e=>{if(!A)return null;if(v&&(0,l.isBefore)(e,(0,l.startOfDay)(v)))return R?.(`dateBeforeMin`)||`Date antérieure au ${(0,l.format)(v,J,{locale:K})}`;if(y&&(0,l.isAfter)(e,(0,l.endOfDay)(y)))return R?.(`dateAfterMax`)||`Date postérieure au ${(0,l.format)(y,J,{locale:K})}`;if(A.disabledDates?.some(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)))||A.disabledDatesFn?.(e))return A.message||R?.(`dateDisabled`)||`Date désactivée`;if(A.disabledDaysOfWeek?.includes(e.getDay()))return A.message||R?.(`dayOfWeekDisabled`)||`Jour de la semaine désactivé`;if(A.validate){let t=A.validate(e);if(t===!1)return A.message||R?.(`invalidDate`)||`Date invalide`;if(typeof t==`string`)return t}return null},X=e=>{if(F)return;let t=null;if(g===`range`){if(Array.isArray(e)&&e[0]&&e[1])t={from:e[0],to:e[1]};else if(e){let n=V;t=n?.from&&!n.to?{from:n.from,to:e}:{from:e,to:void 0}}}else if(g===`multiple`)if(Array.isArray(V)){let n=[...V],r=n.findIndex(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)));r>=0?n.splice(r,1):n.push(e),t=n}else t=e?[e]:[];else t=e;if(!(N&&!N(t))){if(t&&!Array.isArray(t)&&!(`from`in t)){let e=Y(t);if(e){W(e);return}}W(null),H(t),f?.(t),P?.(t),g!==`range`&&g!==`multiple`&&!O&&B(!1)}},_e=e=>{if(e.range){let t=typeof e.range==`function`?e.range():e.range;X([t.from,t.to])}else e.value&&X(typeof e.value==`function`?e.value():e.value);O||B(!1)},Z=e=>{e&&e.stopPropagation(),!F&&(H(null),W(null),f?.(null),P?.(null))},ve=()=>{X(new Date)},Q=()=>{if(!V)return p||R?.(`selectDate`)||`Sélectionner une date`;try{if(g===`range`){let e=V;return e.from&&e.to?`${(0,l.format)(e.from,J,{locale:K})} - ${(0,l.format)(e.to,J,{locale:K})}`:e.from?`${(0,l.format)(e.from,J,{locale:K})} - ...`:p||R?.(`selectDateRange`)||`Sélectionner une période`}if(g===`multiple`){let e=V;return e.length===0?p||R?.(`selectDates`)||`Sélectionner des dates`:e.length===1?(0,l.format)(e[0],J,{locale:K}):`${e.length} ${R?.(`datesSelected`)||`dates sélectionnées`}`}return(0,l.format)(V,J,{locale:K})}catch(e){return console.error(`Error formatting date:`,e),p||R?.(`selectDate`)||`Sélectionner une date`}},ye=e=>!!(v&&(0,l.isBefore)(e,(0,l.startOfDay)(v))||y&&(0,l.isAfter)(e,(0,l.endOfDay)(y))||A?.disabledDates?.some(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)))||A?.disabledDatesFn?.(e)||A?.disabledDaysOfWeek?.includes(e.getDay())),be=e=>!!(A?.highlightedDates?.some(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)))||A?.highlightedDatesFn?.(e)),$=()=>{let e={selected:g===`range`?V?.from:g===`multiple`?void 0:V,onChange:X,startDate:g===`range`?V?.from:void 0,endDate:g===`range`?V?.to:void 0,selectsRange:g===`range`,selectsMultiple:g===`multiple`,highlightDates:g===`multiple`?V:void 0,showTimeSelect:g===`time`||g===`datetime`,showTimeSelectOnly:g===`time`,timeFormat:b?w===`12h`?`h:mm:ss aa`:`HH:mm:ss`:w===`12h`?`h:mm aa`:`HH:mm`,timeIntervals:ae,timeCaption:R?.(`time`)||`Heure`,dateFormat:J,locale:C,formatWeekDay:e=>e.charAt(0).toUpperCase()+e.charAt(1),placeholderText:p,disabled:m,minDate:v,maxDate:y,inline:O,monthsShown:g===`range`?Math.max(2,k):k,showWeekNumbers:oe,filterDate:e=>!ye(e),dayClassName:e=>{let t=[];if(be(e)&&t.push(`highlighted-date`),G&&g===`range`){let n=V;n?.from&&!n.to&&(0,l.isWithinInterval)(e,{start:n.from<G?n.from:G,end:n.from>G?n.from:G})&&t.push(`in-selecting-range`)}return t.join(` `)},onDayMouseEnter:e=>me(e),calendarClassName:t.cn(`waka-datepicker`,de&&`no-animations`),wrapperClassName:`w-full`,autoFocus:pe};return(0,c.jsxs)(`div`,{className:`flex gap-3`,children:[S&&q.length>0&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-[150px] border-r border-border pr-3`,children:[(0,c.jsx)(r.Label,{className:`text-xs font-semibold text-muted-foreground mb-1`,children:R?.(`quickSelection`)||`Sélection rapide`}),(0,c.jsx)(ee.ScrollArea,{className:`h-[300px]`,children:(0,c.jsx)(`div`,{className:`space-y-1`,children:q.map((e,t)=>(0,c.jsx)(n.Button,{variant:`ghost`,size:`sm`,className:`w-full justify-start text-xs`,onClick:()=>_e(e),children:e.label},t))})})]}),(0,c.jsxs)(`div`,{className:`flex-1`,children:[(0,c.jsx)(d.default,{...e}),M&&V&&(0,c.jsxs)(`div`,{className:`mt-3 p-2 bg-muted rounded-md text-xs space-y-1`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(s.Info,{className:`h-3 w-3 text-muted-foreground`}),(0,c.jsxs)(`span`,{className:`font-medium`,children:[R?.(`selection`)||`Sélection`,` :`]})]}),(0,c.jsx)(`div`,{className:`text-muted-foreground pl-5`,children:Q()})]})]})]})};return O?(0,c.jsxs)(`div`,{ref:L,className:t.cn(`space-y-2`,h),id:I,children:[E&&(0,c.jsxs)(r.Label,{className:`text-sm font-medium text-foreground`,children:[E,D&&(0,c.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,c.jsx)(`div`,{className:`border border-border rounded-lg p-4 bg-card`,children:$()}),(T||U)&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm text-destructive`,children:[(0,c.jsx)(s.AlertCircle,{className:`h-3.5 w-3.5`}),(0,c.jsx)(`span`,{children:T||U})]})]}):(0,c.jsxs)(`div`,{ref:L,className:t.cn(`space-y-2`,h),id:I,children:[E&&(0,c.jsxs)(r.Label,{htmlFor:`${I}-input`,className:`text-sm font-medium text-foreground`,children:[E,D&&(0,c.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,c.jsxs)(i.Popover,{open:z,onOpenChange:B,children:[(0,c.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,c.jsxs)(n.Button,{id:`${I}-input`,name:fe,variant:`outline`,disabled:m||F,className:t.cn(`w-full justify-between text-left font-normal`,!V&&`text-muted-foreground`,ge[ie],(T||U)&&`border-destructive focus-visible:ring-destructive`,F&&`cursor-default opacity-70`),"aria-label":E||p,"aria-invalid":!!(T||U),"aria-required":D,children:[(0,c.jsxs)(`span`,{className:`flex items-center gap-2 flex-1 truncate`,children:[g===`time`?(0,c.jsx)(s.Clock,{className:`h-4 w-4 flex-shrink-0`}):(0,c.jsx)(s.Calendar,{className:`h-4 w-4 flex-shrink-0`}),(0,c.jsx)(`span`,{className:`truncate`,children:Q()})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1 flex-shrink-0 ml-2`,children:[V&&x&&!F&&(0,c.jsx)(a.TooltipProvider,{children:(0,c.jsxs)(a.Tooltip,{children:[(0,c.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,c.jsx)(`div`,{className:`h-5 w-5 rounded hover:bg-destructive/10 flex items-center justify-center cursor-pointer`,onClick:Z,role:`button`,"aria-label":R?.(`clear`)||`Effacer`,children:(0,c.jsx)(s.X,{className:`h-3 w-3 text-muted-foreground hover:text-destructive`})})}),(0,c.jsx)(a.TooltipContent,{children:(0,c.jsx)(`p`,{children:R?.(`clear`)||`Effacer`})})]})}),U&&(0,c.jsx)(a.TooltipProvider,{children:(0,c.jsxs)(a.Tooltip,{children:[(0,c.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,c.jsx)(s.AlertCircle,{className:`h-4 w-4 text-destructive`})}),(0,c.jsx)(a.TooltipContent,{children:(0,c.jsx)(`p`,{children:U})})]})})]})]})}),(0,c.jsxs)(i.PopoverContent,{className:t.cn(`w-auto p-0`,ue),align:`start`,sideOffset:4,children:[(0,c.jsx)(`div`,{className:`p-4`,children:$()}),(j||x)&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(te.Separator,{}),(0,c.jsxs)(`div`,{className:`flex items-center justify-between p-3 gap-2`,children:[j&&(0,c.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:ve,disabled:m||F,children:[(0,c.jsx)(s.Calendar,{className:`h-3.5 w-3.5 mr-1.5`}),R?.(`today`)||`Aujourd'hui`]}),x&&V&&(0,c.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:Z,disabled:m||F,className:`ml-auto`,children:[(0,c.jsx)(s.X,{className:`h-3.5 w-3.5 mr-1.5`}),R?.(`clear`)||`Effacer`]})]})]})]})]}),(T||U)&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm text-destructive`,children:[(0,c.jsx)(s.AlertCircle,{className:`h-3.5 w-3.5`}),(0,c.jsx)(`span`,{children:T||U})]})]})});f.displayName=`WakaDateTimePicker`,exports.WakaDateTimePicker=f;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../button/index.cjs.js"),r=require("../label/index.cjs.js"),i=require("../popover/index.cjs.js"),ee=require("../scroll-area/index.cjs.js"),te=require("../separator/index.cjs.js"),a=require("../tooltip/index.cjs.js"),ne=require("../../hooks/use-translation.cjs.js");let o=require("react");o=e.__toESM(o);let s=require("lucide-react"),c=require("react/jsx-runtime"),l=require("date-fns"),u=require("date-fns/locale"),d=require("react-datepicker");d=e.__toESM(d),(0,d.registerLocale)(`fr`,u.fr),(0,d.registerLocale)(`en`,u.enUS),(0,d.registerLocale)(`es`,u.es),(0,d.registerLocale)(`de`,u.de),(0,d.registerLocale)(`it`,u.it),(0,d.registerLocale)(`pt`,u.pt),(0,d.registerLocale)(`ja`,u.ja),(0,d.registerLocale)(`zh`,u.zhCN);var f=o.forwardRef(({value:e,onChange:f,placeholder:p,disabled:m=!1,className:h,variant:g=`date`,format:_,minDate:v,maxDate:y,showSeconds:b=!1,showClear:x=!0,showPresets:S=!1,presets:re,locale:C=`fr`,timeFormat:w=`24h`,size:ie=`md`,error:T,label:E,required:D=!1,inline:O=!1,monthsShown:k=1,timeIntervals:ae=15,validation:A,showWeekNumbers:oe=!1,showTodayButton:j=!0,showSelectionInfo:M=!1,allowTimeRange:se=!1,timezone:ce,onBeforeChange:N,onAfterChange:P,renderDay:le,popoverClassName:ue,disableAnimations:de=!1,readOnly:F=!1,id:I,name:fe,autoFocus:pe=!1},L)=>{let{t:R}=ne.useTranslation(),[z,B]=o.useState(!1),[V,H]=o.useState(g===`range`&&e&&!(`from`in e)?{from:e,to:void 0}:e),[U,W]=o.useState(null),[G,me]=o.useState(null),K={fr:u.fr,en:u.enUS,es:u.es,de:u.de,it:u.it,pt:u.pt,ja:u.ja,zh:u.zhCN}[C]||u.fr,he=[{label:R?.(`today`)||`Aujourd'hui`,value:()=>new Date},{label:R?.(`yesterday`)||`Hier`,value:()=>(0,l.subDays)(new Date,1)},{label:R?.(`thisWeek`)||`Cette semaine`,range:()=>({from:(0,l.startOfWeek)(new Date,{locale:K}),to:(0,l.endOfWeek)(new Date,{locale:K})})},{label:R?.(`lastWeek`)||`Semaine dernière`,range:()=>({from:(0,l.startOfWeek)((0,l.subWeeks)(new Date,1),{locale:K}),to:(0,l.endOfWeek)((0,l.subWeeks)(new Date,1),{locale:K})})},{label:R?.(`thisMonth`)||`Ce mois`,range:()=>({from:(0,l.startOfMonth)(new Date),to:(0,l.endOfMonth)(new Date)})},{label:R?.(`lastMonth`)||`Mois dernier`,range:()=>({from:(0,l.startOfMonth)((0,l.subMonths)(new Date,1)),to:(0,l.endOfMonth)((0,l.subMonths)(new Date,1))})},{label:R?.(`last7Days`)||`7 derniers jours`,range:()=>({from:(0,l.subDays)(new Date,7),to:new Date})},{label:R?.(`last30Days`)||`30 derniers jours`,range:()=>({from:(0,l.subDays)(new Date,30),to:new Date})},{label:R?.(`thisYear`)||`Cette année`,range:()=>({from:(0,l.startOfYear)(new Date),to:(0,l.endOfYear)(new Date)})}],q=re||(S?he:[]),ge={sm:`h-8 px-3 text-xs`,md:`h-10 px-4 text-sm`,lg:`h-12 px-5 text-base`},J=_||(()=>{switch(g){case`time`:return b?w===`12h`?`h:mm:ss a`:`HH:mm:ss`:w===`12h`?`h:mm a`:`HH:mm`;case`datetime`:return b?w===`12h`?`PPP h:mm:ss a`:`PPP HH:mm:ss`:w===`12h`?`PPP h:mm a`:`PPP HH:mm`;case`range`:return`PPP`;case`multiple`:return`PPP`;default:return`PPP`}})(),Y=e=>{if(!A)return null;if(v&&(0,l.isBefore)(e,(0,l.startOfDay)(v)))return R?.(`dateBeforeMin`)||`Date antérieure au ${(0,l.format)(v,J,{locale:K})}`;if(y&&(0,l.isAfter)(e,(0,l.endOfDay)(y)))return R?.(`dateAfterMax`)||`Date postérieure au ${(0,l.format)(y,J,{locale:K})}`;if(A.disabledDates?.some(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)))||A.disabledDatesFn?.(e))return A.message||R?.(`dateDisabled`)||`Date désactivée`;if(A.disabledDaysOfWeek?.includes(e.getDay()))return A.message||R?.(`dayOfWeekDisabled`)||`Jour de la semaine désactivé`;if(A.validate){let t=A.validate(e);if(t===!1)return A.message||R?.(`invalidDate`)||`Date invalide`;if(typeof t==`string`)return t}return null},X=e=>{if(F)return;let t=null;if(g===`range`){if(Array.isArray(e)&&e[0]&&e[1])t={from:e[0],to:e[1]};else if(e){let n=V;t=n?.from&&!n.to?{from:n.from,to:e}:{from:e,to:void 0}}}else if(g===`multiple`)if(Array.isArray(V)){let n=[...V],r=n.findIndex(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)));r>=0?n.splice(r,1):n.push(e),t=n}else t=e?[e]:[];else t=e;if(!(N&&!N(t))){if(t&&!Array.isArray(t)&&!(`from`in t)){let e=Y(t);if(e){W(e);return}}W(null),H(t),f?.(t),P?.(t),g!==`range`&&g!==`multiple`&&!O&&B(!1)}},_e=e=>{if(e.range){let t=typeof e.range==`function`?e.range():e.range;X([t.from,t.to])}else if(e.value){let t=typeof e.value==`function`?e.value():e.value;X(t)}O||B(!1)},Z=e=>{e&&e.stopPropagation(),!F&&(H(null),W(null),f?.(null),P?.(null))},ve=()=>{X(new Date)},Q=()=>{if(!V)return p||R?.(`selectDate`)||`Sélectionner une date`;try{if(g===`range`){let e=V;return e.from&&e.to?`${(0,l.format)(e.from,J,{locale:K})} - ${(0,l.format)(e.to,J,{locale:K})}`:e.from?`${(0,l.format)(e.from,J,{locale:K})} - ...`:p||R?.(`selectDateRange`)||`Sélectionner une période`}if(g===`multiple`){let e=V;return e.length===0?p||R?.(`selectDates`)||`Sélectionner des dates`:e.length===1?(0,l.format)(e[0],J,{locale:K}):`${e.length} ${R?.(`datesSelected`)||`dates sélectionnées`}`}return(0,l.format)(V,J,{locale:K})}catch(e){return console.error(`Error formatting date:`,e),p||R?.(`selectDate`)||`Sélectionner une date`}},ye=e=>!!(v&&(0,l.isBefore)(e,(0,l.startOfDay)(v))||y&&(0,l.isAfter)(e,(0,l.endOfDay)(y))||A?.disabledDates?.some(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)))||A?.disabledDatesFn?.(e)||A?.disabledDaysOfWeek?.includes(e.getDay())),be=e=>!!(A?.highlightedDates?.some(t=>(0,l.isEqual)((0,l.startOfDay)(t),(0,l.startOfDay)(e)))||A?.highlightedDatesFn?.(e)),$=()=>{let e={selected:g===`range`?V?.from:g===`multiple`?void 0:V,onChange:X,startDate:g===`range`?V?.from:void 0,endDate:g===`range`?V?.to:void 0,selectsRange:g===`range`,selectsMultiple:g===`multiple`,highlightDates:g===`multiple`?V:void 0,showTimeSelect:g===`time`||g===`datetime`,showTimeSelectOnly:g===`time`,timeFormat:b?w===`12h`?`h:mm:ss aa`:`HH:mm:ss`:w===`12h`?`h:mm aa`:`HH:mm`,timeIntervals:ae,timeCaption:R?.(`time`)||`Heure`,dateFormat:J,locale:C,formatWeekDay:e=>e.charAt(0).toUpperCase()+e.charAt(1),placeholderText:p,disabled:m,minDate:v,maxDate:y,inline:O,monthsShown:g===`range`?Math.max(2,k):k,showWeekNumbers:oe,filterDate:e=>!ye(e),dayClassName:e=>{let t=[];if(be(e)&&t.push(`highlighted-date`),G&&g===`range`){let n=V;n?.from&&!n.to&&(0,l.isWithinInterval)(e,{start:n.from<G?n.from:G,end:n.from>G?n.from:G})&&t.push(`in-selecting-range`)}return t.join(` `)},onDayMouseEnter:e=>me(e),calendarClassName:t.cn(`waka-datepicker`,de&&`no-animations`),wrapperClassName:`w-full`,autoFocus:pe};return(0,c.jsxs)(`div`,{className:`flex gap-3`,children:[S&&q.length>0&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-[150px] border-r border-border pr-3`,children:[(0,c.jsx)(r.Label,{className:`text-xs font-semibold text-muted-foreground mb-1`,children:R?.(`quickSelection`)||`Sélection rapide`}),(0,c.jsx)(ee.ScrollArea,{className:`h-[300px]`,children:(0,c.jsx)(`div`,{className:`space-y-1`,children:q.map((e,t)=>(0,c.jsx)(n.Button,{variant:`ghost`,size:`sm`,className:`w-full justify-start text-xs`,onClick:()=>_e(e),children:e.label},t))})})]}),(0,c.jsxs)(`div`,{className:`flex-1`,children:[(0,c.jsx)(d.default,{...e}),M&&V&&(0,c.jsxs)(`div`,{className:`mt-3 p-2 bg-muted rounded-md text-xs space-y-1`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(s.Info,{className:`h-3 w-3 text-muted-foreground`}),(0,c.jsxs)(`span`,{className:`font-medium`,children:[R?.(`selection`)||`Sélection`,` :`]})]}),(0,c.jsx)(`div`,{className:`text-muted-foreground pl-5`,children:Q()})]})]})]})};return O?(0,c.jsxs)(`div`,{ref:L,className:t.cn(`space-y-2`,h),id:I,children:[E&&(0,c.jsxs)(r.Label,{className:`text-sm font-medium text-foreground`,children:[E,D&&(0,c.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,c.jsx)(`div`,{className:`border border-border rounded-lg p-4 bg-card`,children:$()}),(T||U)&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm text-destructive`,children:[(0,c.jsx)(s.AlertCircle,{className:`h-3.5 w-3.5`}),(0,c.jsx)(`span`,{children:T||U})]})]}):(0,c.jsxs)(`div`,{ref:L,className:t.cn(`space-y-2`,h),id:I,children:[E&&(0,c.jsxs)(r.Label,{htmlFor:`${I}-input`,className:`text-sm font-medium text-foreground`,children:[E,D&&(0,c.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,c.jsxs)(i.Popover,{open:z,onOpenChange:B,children:[(0,c.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,c.jsxs)(n.Button,{id:`${I}-input`,name:fe,variant:`outline`,disabled:m||F,className:t.cn(`w-full justify-between text-left font-normal`,!V&&`text-muted-foreground`,ge[ie],(T||U)&&`border-destructive focus-visible:ring-destructive`,F&&`cursor-default opacity-70`),"aria-label":E||p,"aria-invalid":!!(T||U),"aria-required":D,children:[(0,c.jsxs)(`span`,{className:`flex items-center gap-2 flex-1 truncate`,children:[g===`time`?(0,c.jsx)(s.Clock,{className:`h-4 w-4 flex-shrink-0`}):(0,c.jsx)(s.Calendar,{className:`h-4 w-4 flex-shrink-0`}),(0,c.jsx)(`span`,{className:`truncate`,children:Q()})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1 flex-shrink-0 ml-2`,children:[V&&x&&!F&&(0,c.jsx)(a.TooltipProvider,{children:(0,c.jsxs)(a.Tooltip,{children:[(0,c.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,c.jsx)(`div`,{className:`h-5 w-5 rounded hover:bg-destructive/10 flex items-center justify-center cursor-pointer`,onClick:Z,role:`button`,"aria-label":R?.(`clear`)||`Effacer`,children:(0,c.jsx)(s.X,{className:`h-3 w-3 text-muted-foreground hover:text-destructive`})})}),(0,c.jsx)(a.TooltipContent,{children:(0,c.jsx)(`p`,{children:R?.(`clear`)||`Effacer`})})]})}),U&&(0,c.jsx)(a.TooltipProvider,{children:(0,c.jsxs)(a.Tooltip,{children:[(0,c.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,c.jsx)(s.AlertCircle,{className:`h-4 w-4 text-destructive`})}),(0,c.jsx)(a.TooltipContent,{children:(0,c.jsx)(`p`,{children:U})})]})})]})]})}),(0,c.jsxs)(i.PopoverContent,{className:t.cn(`w-auto p-0`,ue),align:`start`,sideOffset:4,children:[(0,c.jsx)(`div`,{className:`p-4`,children:$()}),(j||x)&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(te.Separator,{}),(0,c.jsxs)(`div`,{className:`flex items-center justify-between p-3 gap-2`,children:[j&&(0,c.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:ve,disabled:m||F,children:[(0,c.jsx)(s.Calendar,{className:`h-3.5 w-3.5 mr-1.5`}),R?.(`today`)||`Aujourd'hui`]}),x&&V&&(0,c.jsxs)(n.Button,{variant:`outline`,size:`sm`,onClick:Z,disabled:m||F,className:`ml-auto`,children:[(0,c.jsx)(s.X,{className:`h-3.5 w-3.5 mr-1.5`}),R?.(`clear`)||`Effacer`]})]})]})]})]}),(T||U)&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm text-destructive`,children:[(0,c.jsx)(s.AlertCircle,{className:`h-3.5 w-3.5`}),(0,c.jsx)(`span`,{children:T||U})]})]})});f.displayName=`WakaDateTimePicker`,exports.WakaDateTimePicker=f;
@@ -147,7 +147,10 @@ var T = o.forwardRef(({ value: w, onChange: T, placeholder: E, disabled: D = !1,
147
147
  if (e.range) {
148
148
  let t = typeof e.range == "function" ? e.range() : e.range;
149
149
  $([t.from, t.to]);
150
- } else e.value && $(typeof e.value == "function" ? e.value() : e.value);
150
+ } else if (e.value) {
151
+ let t = typeof e.value == "function" ? e.value() : e.value;
152
+ $(t);
153
+ }
151
154
  B || K(!1);
152
155
  }, Je = (e) => {
153
156
  e && e.stopPropagation(), !U && (Ve(null), Y(null), T?.(null), Ne?.(null));
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../waka-datetime-picker/index.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`),i=require(`react-hook-form`);function a({name:e,control:n,defaultValue:a,...o}){return(0,r.jsx)(i.Controller,{name:e,control:n,defaultValue:a,render:({field:e,fieldState:n})=>(0,r.jsx)(t.WakaDateTimePicker,{...o,value:e.value,onChange:e.onChange,error:n.error?.message})})}function o(e){return n.useMemo(()=>({formatDateForSubmit:e=>e?e.toISOString():null,formatRangeForSubmit:e=>!e?.from||!e?.to?null:{from:e.from.toISOString(),to:e.to.toISOString()},parseDateFromServer:e=>e?new Date(e):null,parseRangeFromServer:e=>e?{from:new Date(e.from),to:new Date(e.to)}:null}),[])}exports.WakaDateTimePickerForm=a,exports.useDateForm=o;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../waka-datetime-picker/index.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime"),i=require("react-hook-form");function a({name:e,control:n,defaultValue:a,...o}){return(0,r.jsx)(i.Controller,{name:e,control:n,defaultValue:a,render:({field:e,fieldState:n})=>(0,r.jsx)(t.WakaDateTimePicker,{...o,value:e.value,onChange:e.onChange,error:n.error?.message})})}function o(e){return n.useMemo(()=>({formatDateForSubmit:e=>e?e.toISOString():null,formatRangeForSubmit:e=>!e?.from||!e?.to?null:{from:e.from.toISOString(),to:e.to.toISOString()},parseDateFromServer:e=>e?new Date(e):null,parseRangeFromServer:e=>e?{from:new Date(e.from),to:new Date(e.to)}:null}),[])}exports.WakaDateTimePickerForm=a,exports.useDateForm=o;
@@ -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(`../input/index.cjs.js`),a=require(`../scroll-area/index.cjs.js`),o=require(`../tooltip/index.cjs.js`);let s=require(`react`);s=e.__toESM(s);let c=require(`lucide-react`),l=require(`react/jsx-runtime`);var u={direct:{label:`Direct`,color:`bg-blue-500`},transitive:{label:`Transitive`,color:`bg-gray-500`},dev:{label:`Dev`,color:`bg-purple-500`},peer:{label:`Peer`,color:`bg-orange-500`},optional:{label:`Optional`,color:`bg-cyan-500`}};function d(e){return e?e.critical>0?`critical`:e.high>0?`high`:e.medium>0?`medium`:e.low>0?`low`:`none`:`none`}function f(e){return e?e.critical+e.high+e.medium+e.low:0}function p(e){if(!e)return``;if(e<1024)return`${e} B`;let t=1024,n=[`B`,`KB`,`MB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(1))+` `+n[r]}function m({dependency:e,depth:i,isExpanded:a,onToggle:s,onDependencyClick:m,onUpgrade:h}){let g=e.children&&e.children.length>0,_=d(e.vulnerabilities),v=f(e.vulnerabilities),y=u[e.type];return(0,l.jsxs)(`div`,{className:t.cn(`flex items-center gap-2 px-2 py-1.5 hover:bg-muted/50 transition-colors rounded`,_===`critical`&&`bg-red-500/5`,_===`high`&&`bg-orange-500/5`),style:{paddingLeft:`${i*20+8}px`},children:[(0,l.jsx)(`button`,{className:`w-5 h-5 flex items-center justify-center text-muted-foreground`,onClick:s,disabled:!g,children:g?a?(0,l.jsx)(c.ChevronDown,{className:`h-4 w-4`}):(0,l.jsx)(c.ChevronRight,{className:`h-4 w-4`}):(0,l.jsx)(`span`,{className:`w-4`})}),(0,l.jsxs)(`div`,{className:`relative`,children:[(0,l.jsx)(c.Package,{className:`h-4 w-4 text-muted-foreground`}),_!==`none`&&(0,l.jsx)(`div`,{className:t.cn(`absolute -top-1 -right-1 w-2 h-2 rounded-full`,_===`critical`?`bg-red-500`:_===`high`?`bg-orange-500`:_===`medium`?`bg-yellow-500`:`bg-blue-500`)})]}),(0,l.jsx)(`button`,{className:`font-medium text-sm hover:text-primary hover:underline`,onClick:()=>m?.(e),children:e.name}),(0,l.jsx)(`code`,{className:`text-xs bg-muted px-1.5 py-0.5 rounded`,children:e.version}),(0,l.jsx)(n.Badge,{variant:`outline`,className:`text-xs`,children:y.label}),v>0&&(0,l.jsx)(o.TooltipProvider,{children:(0,l.jsxs)(o.Tooltip,{children:[(0,l.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,l.jsxs)(n.Badge,{className:t.cn(`text-xs text-white`,_===`critical`?`bg-red-500`:_===`high`?`bg-orange-500`:_===`medium`?`bg-yellow-500`:`bg-blue-500`),children:[(0,l.jsx)(c.ShieldAlert,{className:`h-3 w-3 mr-1`}),v]})}),(0,l.jsx)(o.TooltipContent,{children:(0,l.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[e.vulnerabilities?.critical>0&&(0,l.jsxs)(`div`,{className:`text-red-500`,children:[e.vulnerabilities?.critical,` critical`]}),e.vulnerabilities?.high>0&&(0,l.jsxs)(`div`,{className:`text-orange-500`,children:[e.vulnerabilities?.high,` high`]}),e.vulnerabilities?.medium>0&&(0,l.jsxs)(`div`,{className:`text-yellow-500`,children:[e.vulnerabilities?.medium,` medium`]}),e.vulnerabilities?.low>0&&(0,l.jsxs)(`div`,{className:`text-blue-500`,children:[e.vulnerabilities?.low,` low`]})]})})]})}),e.outdated&&e.latestVersion&&(0,l.jsx)(o.TooltipProvider,{children:(0,l.jsxs)(o.Tooltip,{children:[(0,l.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,l.jsxs)(r.Button,{variant:`ghost`,size:`sm`,className:`h-6 px-2 text-xs text-yellow-500`,onClick:t=>{t.stopPropagation(),h?.(e)},children:[(0,l.jsx)(c.ArrowUpCircle,{className:`h-3 w-3 mr-1`}),e.latestVersion]})}),(0,l.jsxs)(o.TooltipContent,{children:[`Upgrade to `,e.latestVersion]})]})}),e.license&&(0,l.jsx)(`span`,{className:`text-xs text-muted-foreground ml-auto`,children:e.license}),e.size&&(0,l.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:p(e.size)})]})}function h({dependencies:e,depth:t,expandedIds:n,onToggle:r,onDependencyClick:i,onUpgrade:a,searchQuery:o}){return(0,l.jsx)(l.Fragment,{children:e.map(e=>{let c=n.has(e.id);return!(!o||e.name.toLowerCase().includes(o.toLowerCase()))&&!e.children?.some(e=>e.name.toLowerCase().includes(o.toLowerCase()))?null:(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(m,{dependency:e,depth:t,isExpanded:c,onToggle:()=>r(e.id),onDependencyClick:i,onUpgrade:a}),c&&e.children&&(0,l.jsx)(h,{dependencies:e.children,depth:t+1,expandedIds:n,onToggle:r,onDependencyClick:i,onUpgrade:a,searchQuery:o})]},e.id)})})}function g({dependencies:e,onDependencyClick:o,onUpgrade:u,title:d=`Dependencies`,showDevDeps:p=!0,showVulnerableOnly:m=!1,className:g}){let[_,v]=s.useState(``),[y,b]=s.useState(new Set),[x,S]=s.useState(m),C=e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},w=()=>{let t=new Set,n=e=>{e.forEach(e=>{t.add(e.id),e.children&&n(e.children)})};n(e),b(t)},T=()=>{b(new Set)},E=s.useMemo(()=>{let t=e;if(p||(t=t.filter(e=>e.type!==`dev`)),x){let e=t=>f(t.vulnerabilities)>0?!0:t.children?.some(e)||!1;t=t.filter(e)}return t},[e,p,x]),D=s.useMemo(()=>{let t=0,n=0,r=0,i=0,a=e=>{e.forEach(e=>{t++,f(e.vulnerabilities)>0&&n++,e.vulnerabilities?.critical&&(i+=e.vulnerabilities.critical),e.outdated&&r++,e.children&&a(e.children)})};return a(e),{total:t,vulnerable:n,outdated:r,criticalVulns:i}},[e]);return(0,l.jsxs)(`div`,{className:t.cn(`flex flex-col border rounded-lg bg-background`,g),children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-4 p-3 border-b`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,l.jsx)(c.GitBranch,{className:`h-5 w-5`}),(0,l.jsx)(`h3`,{className:`font-semibold`,children:d}),(0,l.jsx)(n.Badge,{variant:`secondary`,children:D.total})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[D.criticalVulns>0&&(0,l.jsxs)(n.Badge,{className:`bg-red-500`,children:[D.criticalVulns,` critical`]}),D.vulnerable>0&&(0,l.jsxs)(n.Badge,{variant:`secondary`,className:`text-orange-500`,children:[D.vulnerable,` vulnerable`]}),D.outdated>0&&(0,l.jsxs)(n.Badge,{variant:`outline`,children:[D.outdated,` outdated`]})]})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/30`,children:[(0,l.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,l.jsx)(c.Search,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,l.jsx)(i.Input,{placeholder:`Search packages...`,value:_,onChange:e=>v(e.target.value),className:`pl-8 h-8`})]}),(0,l.jsxs)(r.Button,{variant:x?`default`:`outline`,size:`sm`,className:`h-8`,onClick:()=>S(!x),children:[(0,l.jsx)(c.ShieldAlert,{className:`h-4 w-4 mr-1`}),`Vulnerable only`]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,l.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8`,onClick:w,children:`Expand All`}),(0,l.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8`,onClick:T,children:`Collapse All`})]})]}),(0,l.jsx)(a.ScrollArea,{className:`flex-1 max-h-[500px]`,children:(0,l.jsx)(`div`,{className:`py-2`,children:E.length===0?(0,l.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-32 text-muted-foreground`,children:[(0,l.jsx)(c.Package,{className:`h-8 w-8 mb-2`}),(0,l.jsx)(`span`,{children:`No dependencies found`})]}):(0,l.jsx)(h,{dependencies:E,depth:0,expandedIds:y,onToggle:C,onDependencyClick:o,onUpgrade:u,searchQuery:_})})})]})}var _=[{id:`1`,name:`react`,version:`18.2.0`,latestVersion:`18.2.0`,type:`direct`,license:`MIT`,size:2.5*1024*1024,children:[{id:`1-1`,name:`loose-envify`,version:`1.4.0`,type:`transitive`,license:`MIT`}]},{id:`2`,name:`lodash`,version:`4.17.19`,latestVersion:`4.17.21`,type:`direct`,license:`MIT`,outdated:!0,vulnerabilities:{critical:0,high:1,medium:1,low:0},size:530*1024},{id:`3`,name:`axios`,version:`0.21.1`,latestVersion:`1.6.0`,type:`direct`,license:`MIT`,outdated:!0,vulnerabilities:{critical:1,high:0,medium:0,low:0},size:450*1024,children:[{id:`3-1`,name:`follow-redirects`,version:`1.14.0`,type:`transitive`,license:`MIT`,vulnerabilities:{critical:0,high:1,medium:0,low:0}}]},{id:`4`,name:`typescript`,version:`5.0.0`,latestVersion:`5.3.0`,type:`dev`,license:`Apache-2.0`,outdated:!0,size:15*1024*1024},{id:`5`,name:`eslint`,version:`8.50.0`,type:`dev`,license:`MIT`,size:3*1024*1024}];exports.WakaDependencyTree=g,exports.defaultDependencies=_;
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("../input/index.cjs.js"),a=require("../scroll-area/index.cjs.js"),o=require("../tooltip/index.cjs.js");let s=require("react");s=e.__toESM(s);let c=require("lucide-react"),l=require("react/jsx-runtime");var u={direct:{label:`Direct`,color:`bg-blue-500`},transitive:{label:`Transitive`,color:`bg-gray-500`},dev:{label:`Dev`,color:`bg-purple-500`},peer:{label:`Peer`,color:`bg-orange-500`},optional:{label:`Optional`,color:`bg-cyan-500`}};function d(e){return e?e.critical>0?`critical`:e.high>0?`high`:e.medium>0?`medium`:e.low>0?`low`:`none`:`none`}function f(e){return e?e.critical+e.high+e.medium+e.low:0}function p(e){if(!e)return``;if(e<1024)return`${e} B`;let t=1024,n=[`B`,`KB`,`MB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(1))+` `+n[r]}function m({dependency:e,depth:i,isExpanded:a,onToggle:s,onDependencyClick:m,onUpgrade:h}){let g=e.children&&e.children.length>0,_=d(e.vulnerabilities),v=f(e.vulnerabilities),y=u[e.type];return(0,l.jsxs)(`div`,{className:t.cn(`flex items-center gap-2 px-2 py-1.5 hover:bg-muted/50 transition-colors rounded`,_===`critical`&&`bg-red-500/5`,_===`high`&&`bg-orange-500/5`),style:{paddingLeft:`${i*20+8}px`},children:[(0,l.jsx)(`button`,{className:`w-5 h-5 flex items-center justify-center text-muted-foreground`,onClick:s,disabled:!g,children:g?a?(0,l.jsx)(c.ChevronDown,{className:`h-4 w-4`}):(0,l.jsx)(c.ChevronRight,{className:`h-4 w-4`}):(0,l.jsx)(`span`,{className:`w-4`})}),(0,l.jsxs)(`div`,{className:`relative`,children:[(0,l.jsx)(c.Package,{className:`h-4 w-4 text-muted-foreground`}),_!==`none`&&(0,l.jsx)(`div`,{className:t.cn(`absolute -top-1 -right-1 w-2 h-2 rounded-full`,_===`critical`?`bg-red-500`:_===`high`?`bg-orange-500`:_===`medium`?`bg-yellow-500`:`bg-blue-500`)})]}),(0,l.jsx)(`button`,{className:`font-medium text-sm hover:text-primary hover:underline`,onClick:()=>m?.(e),children:e.name}),(0,l.jsx)(`code`,{className:`text-xs bg-muted px-1.5 py-0.5 rounded`,children:e.version}),(0,l.jsx)(n.Badge,{variant:`outline`,className:`text-xs`,children:y.label}),v>0&&(0,l.jsx)(o.TooltipProvider,{children:(0,l.jsxs)(o.Tooltip,{children:[(0,l.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,l.jsxs)(n.Badge,{className:t.cn(`text-xs text-white`,_===`critical`?`bg-red-500`:_===`high`?`bg-orange-500`:_===`medium`?`bg-yellow-500`:`bg-blue-500`),children:[(0,l.jsx)(c.ShieldAlert,{className:`h-3 w-3 mr-1`}),v]})}),(0,l.jsx)(o.TooltipContent,{children:(0,l.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[e.vulnerabilities?.critical>0&&(0,l.jsxs)(`div`,{className:`text-red-500`,children:[e.vulnerabilities?.critical,` critical`]}),e.vulnerabilities?.high>0&&(0,l.jsxs)(`div`,{className:`text-orange-500`,children:[e.vulnerabilities?.high,` high`]}),e.vulnerabilities?.medium>0&&(0,l.jsxs)(`div`,{className:`text-yellow-500`,children:[e.vulnerabilities?.medium,` medium`]}),e.vulnerabilities?.low>0&&(0,l.jsxs)(`div`,{className:`text-blue-500`,children:[e.vulnerabilities?.low,` low`]})]})})]})}),e.outdated&&e.latestVersion&&(0,l.jsx)(o.TooltipProvider,{children:(0,l.jsxs)(o.Tooltip,{children:[(0,l.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,l.jsxs)(r.Button,{variant:`ghost`,size:`sm`,className:`h-6 px-2 text-xs text-yellow-500`,onClick:t=>{t.stopPropagation(),h?.(e)},children:[(0,l.jsx)(c.ArrowUpCircle,{className:`h-3 w-3 mr-1`}),e.latestVersion]})}),(0,l.jsxs)(o.TooltipContent,{children:[`Upgrade to `,e.latestVersion]})]})}),e.license&&(0,l.jsx)(`span`,{className:`text-xs text-muted-foreground ml-auto`,children:e.license}),e.size&&(0,l.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:p(e.size)})]})}function h({dependencies:e,depth:t,expandedIds:n,onToggle:r,onDependencyClick:i,onUpgrade:a,searchQuery:o}){return(0,l.jsx)(l.Fragment,{children:e.map(e=>{let c=n.has(e.id);return!(!o||e.name.toLowerCase().includes(o.toLowerCase()))&&!e.children?.some(e=>e.name.toLowerCase().includes(o.toLowerCase()))?null:(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(m,{dependency:e,depth:t,isExpanded:c,onToggle:()=>r(e.id),onDependencyClick:i,onUpgrade:a}),c&&e.children&&(0,l.jsx)(h,{dependencies:e.children,depth:t+1,expandedIds:n,onToggle:r,onDependencyClick:i,onUpgrade:a,searchQuery:o})]},e.id)})})}function g({dependencies:e,onDependencyClick:o,onUpgrade:u,title:d=`Dependencies`,showDevDeps:p=!0,showVulnerableOnly:m=!1,className:g}){let[_,v]=s.useState(``),[y,b]=s.useState(new Set),[x,S]=s.useState(m),C=e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},w=()=>{let t=new Set,n=e=>{e.forEach(e=>{t.add(e.id),e.children&&n(e.children)})};n(e),b(t)},T=()=>{b(new Set)},E=s.useMemo(()=>{let t=e;if(p||(t=t.filter(e=>e.type!==`dev`)),x){let e=t=>f(t.vulnerabilities)>0?!0:t.children?.some(e)||!1;t=t.filter(e)}return t},[e,p,x]),D=s.useMemo(()=>{let t=0,n=0,r=0,i=0,a=e=>{e.forEach(e=>{t++,f(e.vulnerabilities)>0&&n++,e.vulnerabilities?.critical&&(i+=e.vulnerabilities.critical),e.outdated&&r++,e.children&&a(e.children)})};return a(e),{total:t,vulnerable:n,outdated:r,criticalVulns:i}},[e]);return(0,l.jsxs)(`div`,{className:t.cn(`flex flex-col border rounded-lg bg-background`,g),children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-4 p-3 border-b`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,l.jsx)(c.GitBranch,{className:`h-5 w-5`}),(0,l.jsx)(`h3`,{className:`font-semibold`,children:d}),(0,l.jsx)(n.Badge,{variant:`secondary`,children:D.total})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[D.criticalVulns>0&&(0,l.jsxs)(n.Badge,{className:`bg-red-500`,children:[D.criticalVulns,` critical`]}),D.vulnerable>0&&(0,l.jsxs)(n.Badge,{variant:`secondary`,className:`text-orange-500`,children:[D.vulnerable,` vulnerable`]}),D.outdated>0&&(0,l.jsxs)(n.Badge,{variant:`outline`,children:[D.outdated,` outdated`]})]})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/30`,children:[(0,l.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,l.jsx)(c.Search,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,l.jsx)(i.Input,{placeholder:`Search packages...`,value:_,onChange:e=>v(e.target.value),className:`pl-8 h-8`})]}),(0,l.jsxs)(r.Button,{variant:x?`default`:`outline`,size:`sm`,className:`h-8`,onClick:()=>S(!x),children:[(0,l.jsx)(c.ShieldAlert,{className:`h-4 w-4 mr-1`}),`Vulnerable only`]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,l.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8`,onClick:w,children:`Expand All`}),(0,l.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8`,onClick:T,children:`Collapse All`})]})]}),(0,l.jsx)(a.ScrollArea,{className:`flex-1 max-h-[500px]`,children:(0,l.jsx)(`div`,{className:`py-2`,children:E.length===0?(0,l.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-32 text-muted-foreground`,children:[(0,l.jsx)(c.Package,{className:`h-8 w-8 mb-2`}),(0,l.jsx)(`span`,{children:`No dependencies found`})]}):(0,l.jsx)(h,{dependencies:E,depth:0,expandedIds:y,onToggle:C,onDependencyClick:o,onUpgrade:u,searchQuery:_})})})]})}var _=[{id:`1`,name:`react`,version:`18.2.0`,latestVersion:`18.2.0`,type:`direct`,license:`MIT`,size:2.5*1024*1024,children:[{id:`1-1`,name:`loose-envify`,version:`1.4.0`,type:`transitive`,license:`MIT`}]},{id:`2`,name:`lodash`,version:`4.17.19`,latestVersion:`4.17.21`,type:`direct`,license:`MIT`,outdated:!0,vulnerabilities:{critical:0,high:1,medium:1,low:0},size:530*1024},{id:`3`,name:`axios`,version:`0.21.1`,latestVersion:`1.6.0`,type:`direct`,license:`MIT`,outdated:!0,vulnerabilities:{critical:1,high:0,medium:0,low:0},size:450*1024,children:[{id:`3-1`,name:`follow-redirects`,version:`1.14.0`,type:`transitive`,license:`MIT`,vulnerabilities:{critical:0,high:1,medium:0,low:0}}]},{id:`4`,name:`typescript`,version:`5.0.0`,latestVersion:`5.3.0`,type:`dev`,license:`Apache-2.0`,outdated:!0,size:15*1024*1024},{id:`5`,name:`eslint`,version:`8.50.0`,type:`dev`,license:`MIT`,size:3*1024*1024}];exports.WakaDependencyTree=g,exports.defaultDependencies=_;
@@ -46,7 +46,7 @@ function C(e) {
46
46
  "KB",
47
47
  "MB"
48
48
  ], r = Math.floor(Math.log(e) / Math.log(t));
49
- return parseFloat((e / t ** +r).toFixed(1)) + " " + n[r];
49
+ return parseFloat((e / t ** r).toFixed(1)) + " " + n[r];
50
50
  }
51
51
  function w({ dependency: r, depth: i, isExpanded: l, onToggle: p, onDependencyClick: h, onUpgrade: _ }) {
52
52
  let w = r.children && r.children.length > 0, T = x(r.vulnerabilities), E = S(r.vulnerabilities), D = b[r.type];
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);var a={running:{icon:r.CheckCircle2,color:`text-green-500`,bgColor:`bg-green-500/10`,borderColor:`border-green-500/30`,label:`Running`},stopped:{icon:r.XCircle,color:`text-gray-500`,bgColor:`bg-gray-500/10`,borderColor:`border-gray-500/30`,label:`Stopped`},deploying:{icon:r.Loader2,color:`text-blue-500`,bgColor:`bg-blue-500/10`,borderColor:`border-blue-500/30`,label:`Deploying`,animate:!0},failed:{icon:r.AlertCircle,color:`text-red-500`,bgColor:`bg-red-500/10`,borderColor:`border-red-500/30`,label:`Failed`}};function o(e){let t=Math.floor((new Date().getTime()-e.getTime())/1e3);if(t<60)return`just now`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i<7?`${i}d ago`:e.toLocaleDateString()}function s(e){return e.length>7?e.slice(0,7):e}function c({deployment:e,envId:n,envIndex:c,totalEnvs:l,nextEnvId:u,nextEnvRequiresApproval:d,onPromote:f,onRollback:p,onApprove:m,draggable:h,onDragStart:g,isPromoting:_}){let v=a[e.status],y=v.icon,b=c<l-1&&e.status===`running`,x=e.status===`running`||e.status===`failed`;return(0,i.jsxs)(`div`,{draggable:h&&e.status===`running`,onDragStart:t=>g?.(t,e.id,n),className:t.cn(`group relative bg-card border rounded-lg p-4 transition-all duration-300`,`hover:shadow-md hover:border-primary/50`,h&&e.status===`running`&&`cursor-grab active:cursor-grabbing`,_&&`animate-pulse scale-[1.02] border-primary shadow-lg`),children:[h&&e.status===`running`&&(0,i.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,i.jsx)(r.GripVertical,{className:`h-4 w-4 text-muted-foreground`})}),(0,i.jsx)(`div`,{className:`flex items-center justify-between mb-3`,children:(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsxs)(`span`,{className:`font-mono font-semibold text-sm`,children:[`v`,e.version]}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,v.bgColor,v.color),children:[(0,i.jsx)(y,{className:t.cn(`h-3 w-3`,v.animate&&`animate-spin`)}),v.label]})]})}),e.commit&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-2`,children:[(0,i.jsx)(r.GitCommit,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{className:`font-mono`,children:s(e.commit)})]}),e.deployedBy&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-2`,children:[(0,i.jsx)(r.User,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{children:e.deployedBy})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-3`,children:[(0,i.jsx)(r.Clock,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{children:o(e.deployedAt)})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2 pt-3 border-t`,children:[b&&u&&(0,i.jsx)(`button`,{type:`button`,onClick:()=>f?.(e.id,n,u),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium`,`bg-primary/10 text-primary hover:bg-primary/20 transition-colors`),children:d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.ShieldCheck,{className:`h-3 w-3`}),`Request Approval`]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Play,{className:`h-3 w-3`}),`Promote`]})}),d&&b&&m&&(0,i.jsxs)(`button`,{type:`button`,onClick:()=>m?.(e.id,n),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium`,`bg-green-500/10 text-green-600 hover:bg-green-500/20 transition-colors`),children:[(0,i.jsx)(r.CheckCircle2,{className:`h-3 w-3`}),`Approve`]}),x&&p&&(0,i.jsxs)(`button`,{type:`button`,onClick:()=>p?.(e.id,n),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium`,`bg-orange-500/10 text-orange-600 hover:bg-orange-500/20 transition-colors`),children:[(0,i.jsx)(r.RotateCcw,{className:`h-3 w-3`}),`Rollback`]})]})]})}function l({requiresApproval:e,approvers:n}){return e?(0,i.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-4 py-2`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(`div`,{className:`w-4 h-px bg-border`}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 px-2 py-1 rounded-full`,`bg-amber-500/10 border border-amber-500/30 text-amber-600`,`text-[10px] font-medium`),children:[(0,i.jsx)(r.ShieldCheck,{className:`h-3 w-3`}),`Approval Required`]}),(0,i.jsx)(`div`,{className:`w-4 h-px bg-border`})]}),n&&n.length>0&&(0,i.jsxs)(`div`,{className:`text-[10px] text-muted-foreground mt-1`,children:[n.slice(0,2).join(`, `),n.length>2&&` +${n.length-2}`]})]}):(0,i.jsx)(`div`,{className:`flex items-center justify-center px-4`,children:(0,i.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,i.jsx)(`div`,{className:`w-8 h-px bg-border`}),(0,i.jsx)(r.ChevronRight,{className:`h-4 w-4`}),(0,i.jsx)(`div`,{className:`w-8 h-px bg-border`})]})})}function u({environment:e,envIndex:a,totalEnvs:o,nextEnv:s,onPromote:l,onRollback:u,onApprove:d,draggable:f,draggedDeployment:p,setDraggedDeployment:m,promotingDeployment:h}){let[g,_]=n.useState(!1),v=(e,t,n)=>{m({id:t,fromEnvId:n}),e.dataTransfer.effectAllowed=`move`};return(0,i.jsxs)(`div`,{className:t.cn(`flex-1 min-w-[280px] max-w-[360px] flex flex-col`,`bg-muted/30 rounded-lg border transition-all duration-200`,g&&`border-primary bg-primary/5 scale-[1.02]`),onDragOver:t=>{t.preventDefault(),p&&p.fromEnvId!==e.id&&_(!0)},onDragLeave:()=>{_(!1)},onDrop:t=>{t.preventDefault(),_(!1),p&&l&&l(p.id,p.fromEnvId,e.id),m(null)},children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2 p-4 border-b`,children:[(0,i.jsx)(`div`,{className:t.cn(`w-3 h-3 rounded-full`,(e=>{let t=e.toLowerCase();return t.includes(`prod`)?`bg-red-500`:t.includes(`staging`)||t.includes(`stage`)?`bg-amber-500`:t.includes(`dev`)?`bg-blue-500`:t.includes(`test`)||t.includes(`qa`)?`bg-purple-500`:`bg-gray-500`})(e.name))}),(0,i.jsx)(`h3`,{className:`font-semibold text-sm uppercase tracking-wide`,children:e.name}),(0,i.jsx)(`span`,{className:`text-xs text-muted-foreground bg-background px-1.5 py-0.5 rounded ml-auto`,children:e.deployments.length})]}),(0,i.jsxs)(`div`,{className:`flex-1 p-3 space-y-3 overflow-y-auto max-h-[400px]`,children:[e.deployments.length===0?(0,i.jsx)(`div`,{className:`flex items-center justify-center h-24 text-sm text-muted-foreground border-2 border-dashed rounded-lg`,children:`No deployments`}):e.deployments.map(t=>(0,i.jsx)(c,{deployment:t,envId:e.id,envIndex:a,totalEnvs:o,nextEnvId:s?.id,nextEnvRequiresApproval:s?.requiresApproval,onPromote:l,onRollback:u,onApprove:d,draggable:f,onDragStart:v,isPromoting:h===t.id},t.id)),g&&p&&(0,i.jsxs)(`div`,{className:`h-20 border-2 border-dashed border-primary/50 rounded-lg flex items-center justify-center text-sm text-primary`,children:[(0,i.jsx)(r.ArrowRight,{className:`h-4 w-4 mr-2`}),`Drop to promote here`]})]})]})}function d({environments:e,onPromote:r,onRollback:a,onApprove:o,draggable:s=!0,className:c}){let[d,f]=n.useState(null),[p,m]=n.useState(null),h=(e,t,n)=>{m(e),r?.(e,t,n),setTimeout(()=>{m(null)},500)};return(0,i.jsx)(`div`,{className:t.cn(`flex items-stretch gap-0 overflow-x-auto p-4`,c),children:e.map((t,r)=>(0,i.jsxs)(n.Fragment,{children:[(0,i.jsx)(u,{environment:t,envIndex:r,totalEnvs:e.length,nextEnv:e[r+1],onPromote:h,onRollback:a,onApprove:o,draggable:s,draggedDeployment:d,setDraggedDeployment:f,promotingDeployment:p}),r<e.length-1&&(0,i.jsx)(l,{requiresApproval:e[r+1]?.requiresApproval||!1,approvers:e[r+1]?.approvers})]},t.id))})}function f(e){let[t,r]=n.useState(e);return{environments:t,setEnvironments:r,promoteDeployment:(e,t,n)=>{r(r=>{let i=r.map(e=>({...e,deployments:e.deployments.map(e=>({...e}))})),a=i.find(e=>e.id===t);if(!a)return r;let o=a.deployments.findIndex(t=>t.id===e);if(o===-1)return r;let s=a.deployments[o],c=i.find(e=>e.id===n);if(!c)return r;let l={...s,id:`${s.id}-${n}`,status:`deploying`,deployedAt:new Date};return c.deployments.unshift(l),i})},rollbackDeployment:(e,t)=>{r(n=>n.map(n=>n.id===t?{...n,deployments:n.deployments.map(t=>t.id===e?{...t,status:`stopped`}:t)}:n))},approveDeployment:(e,t)=>{console.log(`Approved deployment ${e} for environment ${t}`)},updateDeploymentStatus:(e,t,n)=>{r(r=>r.map(r=>r.id===t?{...r,deployments:r.deployments.map(t=>t.id===e?{...t,status:n}:t)}:r))},addDeployment:(e,t)=>{r(n=>n.map(n=>n.id===e?{...n,deployments:[{id:`deployment-${Date.now()}`,...t},...n.deployments]}:n))},removeDeployment:(e,t)=>{r(n=>n.map(n=>n.id===t?{...n,deployments:n.deployments.filter(t=>t.id!==e)}:n))}}}exports.default=d,exports.useDeploymentLane=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("lucide-react"),i=require("react/jsx-runtime");var a={running:{icon:r.CheckCircle2,color:`text-green-500`,bgColor:`bg-green-500/10`,borderColor:`border-green-500/30`,label:`Running`},stopped:{icon:r.XCircle,color:`text-gray-500`,bgColor:`bg-gray-500/10`,borderColor:`border-gray-500/30`,label:`Stopped`},deploying:{icon:r.Loader2,color:`text-blue-500`,bgColor:`bg-blue-500/10`,borderColor:`border-blue-500/30`,label:`Deploying`,animate:!0},failed:{icon:r.AlertCircle,color:`text-red-500`,bgColor:`bg-red-500/10`,borderColor:`border-red-500/30`,label:`Failed`}};function o(e){let t=Math.floor((new Date().getTime()-e.getTime())/1e3);if(t<60)return`just now`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i<7?`${i}d ago`:e.toLocaleDateString()}function s(e){return e.length>7?e.slice(0,7):e}function c({deployment:e,envId:n,envIndex:c,totalEnvs:l,nextEnvId:u,nextEnvRequiresApproval:d,onPromote:f,onRollback:p,onApprove:m,draggable:h,onDragStart:g,isPromoting:_}){let v=a[e.status],y=v.icon,b=c<l-1&&e.status===`running`,x=e.status===`running`||e.status===`failed`;return(0,i.jsxs)(`div`,{draggable:h&&e.status===`running`,onDragStart:t=>g?.(t,e.id,n),className:t.cn(`group relative bg-card border rounded-lg p-4 transition-all duration-300`,`hover:shadow-md hover:border-primary/50`,h&&e.status===`running`&&`cursor-grab active:cursor-grabbing`,_&&`animate-pulse scale-[1.02] border-primary shadow-lg`),children:[h&&e.status===`running`&&(0,i.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,i.jsx)(r.GripVertical,{className:`h-4 w-4 text-muted-foreground`})}),(0,i.jsx)(`div`,{className:`flex items-center justify-between mb-3`,children:(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsxs)(`span`,{className:`font-mono font-semibold text-sm`,children:[`v`,e.version]}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,v.bgColor,v.color),children:[(0,i.jsx)(y,{className:t.cn(`h-3 w-3`,v.animate&&`animate-spin`)}),v.label]})]})}),e.commit&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-2`,children:[(0,i.jsx)(r.GitCommit,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{className:`font-mono`,children:s(e.commit)})]}),e.deployedBy&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-2`,children:[(0,i.jsx)(r.User,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{children:e.deployedBy})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-3`,children:[(0,i.jsx)(r.Clock,{className:`h-3 w-3`}),(0,i.jsx)(`span`,{children:o(e.deployedAt)})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2 pt-3 border-t`,children:[b&&u&&(0,i.jsx)(`button`,{type:`button`,onClick:()=>f?.(e.id,n,u),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium`,`bg-primary/10 text-primary hover:bg-primary/20 transition-colors`),children:d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.ShieldCheck,{className:`h-3 w-3`}),`Request Approval`]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Play,{className:`h-3 w-3`}),`Promote`]})}),d&&b&&m&&(0,i.jsxs)(`button`,{type:`button`,onClick:()=>m?.(e.id,n),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium`,`bg-green-500/10 text-green-600 hover:bg-green-500/20 transition-colors`),children:[(0,i.jsx)(r.CheckCircle2,{className:`h-3 w-3`}),`Approve`]}),x&&p&&(0,i.jsxs)(`button`,{type:`button`,onClick:()=>p?.(e.id,n),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium`,`bg-orange-500/10 text-orange-600 hover:bg-orange-500/20 transition-colors`),children:[(0,i.jsx)(r.RotateCcw,{className:`h-3 w-3`}),`Rollback`]})]})]})}function l({requiresApproval:e,approvers:n}){return e?(0,i.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-4 py-2`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(`div`,{className:`w-4 h-px bg-border`}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1.5 px-2 py-1 rounded-full`,`bg-amber-500/10 border border-amber-500/30 text-amber-600`,`text-[10px] font-medium`),children:[(0,i.jsx)(r.ShieldCheck,{className:`h-3 w-3`}),`Approval Required`]}),(0,i.jsx)(`div`,{className:`w-4 h-px bg-border`})]}),n&&n.length>0&&(0,i.jsxs)(`div`,{className:`text-[10px] text-muted-foreground mt-1`,children:[n.slice(0,2).join(`, `),n.length>2&&` +${n.length-2}`]})]}):(0,i.jsx)(`div`,{className:`flex items-center justify-center px-4`,children:(0,i.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,i.jsx)(`div`,{className:`w-8 h-px bg-border`}),(0,i.jsx)(r.ChevronRight,{className:`h-4 w-4`}),(0,i.jsx)(`div`,{className:`w-8 h-px bg-border`})]})})}function u({environment:e,envIndex:a,totalEnvs:o,nextEnv:s,onPromote:l,onRollback:u,onApprove:d,draggable:f,draggedDeployment:p,setDraggedDeployment:m,promotingDeployment:h}){let[g,_]=n.useState(!1),v=(e,t,n)=>{m({id:t,fromEnvId:n}),e.dataTransfer.effectAllowed=`move`};return(0,i.jsxs)(`div`,{className:t.cn(`flex-1 min-w-[280px] max-w-[360px] flex flex-col`,`bg-muted/30 rounded-lg border transition-all duration-200`,g&&`border-primary bg-primary/5 scale-[1.02]`),onDragOver:t=>{t.preventDefault(),p&&p.fromEnvId!==e.id&&_(!0)},onDragLeave:()=>{_(!1)},onDrop:t=>{t.preventDefault(),_(!1),p&&l&&l(p.id,p.fromEnvId,e.id),m(null)},children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2 p-4 border-b`,children:[(0,i.jsx)(`div`,{className:t.cn(`w-3 h-3 rounded-full`,(e=>{let t=e.toLowerCase();return t.includes(`prod`)?`bg-red-500`:t.includes(`staging`)||t.includes(`stage`)?`bg-amber-500`:t.includes(`dev`)?`bg-blue-500`:t.includes(`test`)||t.includes(`qa`)?`bg-purple-500`:`bg-gray-500`})(e.name))}),(0,i.jsx)(`h3`,{className:`font-semibold text-sm uppercase tracking-wide`,children:e.name}),(0,i.jsx)(`span`,{className:`text-xs text-muted-foreground bg-background px-1.5 py-0.5 rounded ml-auto`,children:e.deployments.length})]}),(0,i.jsxs)(`div`,{className:`flex-1 p-3 space-y-3 overflow-y-auto max-h-[400px]`,children:[e.deployments.length===0?(0,i.jsx)(`div`,{className:`flex items-center justify-center h-24 text-sm text-muted-foreground border-2 border-dashed rounded-lg`,children:`No deployments`}):e.deployments.map(t=>(0,i.jsx)(c,{deployment:t,envId:e.id,envIndex:a,totalEnvs:o,nextEnvId:s?.id,nextEnvRequiresApproval:s?.requiresApproval,onPromote:l,onRollback:u,onApprove:d,draggable:f,onDragStart:v,isPromoting:h===t.id},t.id)),g&&p&&(0,i.jsxs)(`div`,{className:`h-20 border-2 border-dashed border-primary/50 rounded-lg flex items-center justify-center text-sm text-primary`,children:[(0,i.jsx)(r.ArrowRight,{className:`h-4 w-4 mr-2`}),`Drop to promote here`]})]})]})}function d({environments:e,onPromote:r,onRollback:a,onApprove:o,draggable:s=!0,className:c}){let[d,f]=n.useState(null),[p,m]=n.useState(null),h=(e,t,n)=>{m(e),r?.(e,t,n),setTimeout(()=>{m(null)},500)};return(0,i.jsx)(`div`,{className:t.cn(`flex items-stretch gap-0 overflow-x-auto p-4`,c),children:e.map((t,r)=>(0,i.jsxs)(n.Fragment,{children:[(0,i.jsx)(u,{environment:t,envIndex:r,totalEnvs:e.length,nextEnv:e[r+1],onPromote:h,onRollback:a,onApprove:o,draggable:s,draggedDeployment:d,setDraggedDeployment:f,promotingDeployment:p}),r<e.length-1&&(0,i.jsx)(l,{requiresApproval:e[r+1]?.requiresApproval||!1,approvers:e[r+1]?.approvers})]},t.id))})}function f(e){let[t,r]=n.useState(e);return{environments:t,setEnvironments:r,promoteDeployment:(e,t,n)=>{r(r=>{let i=r.map(e=>({...e,deployments:e.deployments.map(e=>({...e}))})),a=i.find(e=>e.id===t);if(!a)return r;let o=a.deployments.findIndex(t=>t.id===e);if(o===-1)return r;let s=a.deployments[o],c=i.find(e=>e.id===n);if(!c)return r;let l={...s,id:`${s.id}-${n}`,status:`deploying`,deployedAt:new Date};return c.deployments.unshift(l),i})},rollbackDeployment:(e,t)=>{r(n=>n.map(n=>n.id===t?{...n,deployments:n.deployments.map(t=>t.id===e?{...t,status:`stopped`}:t)}:n))},approveDeployment:(e,t)=>{console.log(`Approved deployment ${e} for environment ${t}`)},updateDeploymentStatus:(e,t,n)=>{r(r=>r.map(r=>r.id===t?{...r,deployments:r.deployments.map(t=>t.id===e?{...t,status:n}:t)}:r))},addDeployment:(e,t)=>{r(n=>n.map(n=>n.id===e?{...n,deployments:[{id:`deployment-${Date.now()}`,...t},...n.deployments]}:n))},removeDeployment:(e,t)=>{r(n=>n.map(n=>n.id===t?{...n,deployments:n.deployments.filter(t=>t.id!==e)}:n))}}}exports.WakaDeploymentLane=d,exports.default=d,exports.useDeploymentLane=f;
@@ -292,4 +292,4 @@ function T(e) {
292
292
  };
293
293
  }
294
294
  //#endregion
295
- export { w as default, T as useDeploymentLane };
295
+ export { w as WakaDeploymentLane, w as default, T as useDeploymentLane };