@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
@@ -334,14 +334,14 @@ function y({ branch: e, progress: t, expanded: o, onToggle: s, skills: c }) {
334
334
  ]
335
335
  });
336
336
  }
337
- function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o = [], showConnections: u = !0, zoomable: b = !0, animated: x = !0, showResetButton: S = !0, showCategoryFilters: C = !0, className: w }) {
338
- let T = t.useRef(null), [E, D] = t.useState(null), [O, k] = t.useState(1), [A, j] = t.useState({
337
+ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o = [], showConnections: u = !0, zoomable: b = !0, animated: x = !0, showResetButton: ee = !0, showCategoryFilters: S = !0, className: C }) {
338
+ let w = t.useRef(null), [T, E] = t.useState(null), [D, O] = t.useState(1), [k, A] = t.useState({
339
339
  x: 0,
340
340
  y: 0
341
- }), [M, N] = t.useState(!1), [P, F] = t.useState({
341
+ }), [j, M] = t.useState(!1), [N, P] = t.useState({
342
342
  x: 0,
343
343
  y: 0
344
- }), [I, L] = t.useState(/* @__PURE__ */ new Set()), [R, z] = t.useState(/* @__PURE__ */ new Set()), [B, V] = t.useState(!1), [ee, te] = t.useState(!1), H = t.useMemo(() => n.length === 0 ? {
344
+ }), [F, I] = t.useState(/* @__PURE__ */ new Set()), [L, R] = t.useState(/* @__PURE__ */ new Set()), [z, B] = t.useState(!1), [V, te] = t.useState(!1), H = t.useMemo(() => n.length === 0 ? {
345
345
  minX: 0,
346
346
  maxX: 800,
347
347
  minY: 0,
@@ -360,23 +360,23 @@ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o
360
360
  color: h(t)
361
361
  }));
362
362
  }, [o, n]), K = (e) => G.find((t) => t.id === e.branch)?.color || "#6366f1", q = (e) => {
363
- k((t) => Math.max(.5, Math.min(2, t + e)));
363
+ O((t) => Math.max(.5, Math.min(2, t + e)));
364
364
  }, J = (e) => {
365
- e.button === 0 && (N(!0), F({
366
- x: e.clientX - A.x,
367
- y: e.clientY - A.y
365
+ e.button === 0 && (M(!0), P({
366
+ x: e.clientX - k.x,
367
+ y: e.clientY - k.y
368
368
  }));
369
369
  }, Y = (e) => {
370
- M && j({
371
- x: e.clientX - P.x,
372
- y: e.clientY - P.y
370
+ j && A({
371
+ x: e.clientX - N.x,
372
+ y: e.clientY - N.y
373
373
  });
374
374
  }, X = () => {
375
- N(!1);
375
+ M(!1);
376
376
  }, Z = (e) => {
377
377
  b && e.ctrlKey && (e.preventDefault(), q(e.deltaY > 0 ? -.1 : .1));
378
378
  }, Q = (e) => {
379
- L((t) => {
379
+ I((t) => {
380
380
  let n = new Set(t);
381
381
  return n.has(e) ? n.delete(e) : n.add(e), n;
382
382
  });
@@ -394,7 +394,7 @@ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o
394
394
  }), e;
395
395
  }, [n, G]);
396
396
  return /* @__PURE__ */ f("div", {
397
- className: e("relative flex gap-4", w),
397
+ className: e("relative flex gap-4", C),
398
398
  children: [
399
399
  /* @__PURE__ */ f("div", {
400
400
  className: "flex-1",
@@ -422,24 +422,24 @@ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o
422
422
  type: "button",
423
423
  onClick: () => q(-.1),
424
424
  className: "rounded-full p-1 hover:bg-muted transition-colors",
425
- disabled: O <= .5,
425
+ disabled: D <= .5,
426
426
  children: /* @__PURE__ */ d(l, { className: "h-4 w-4" })
427
427
  }),
428
428
  /* @__PURE__ */ f("span", {
429
429
  className: "min-w-[3rem] text-center text-sm",
430
- children: [Math.round(O * 100), "%"]
430
+ children: [Math.round(D * 100), "%"]
431
431
  }),
432
432
  /* @__PURE__ */ d("button", {
433
433
  type: "button",
434
434
  onClick: () => q(.1),
435
435
  className: "rounded-full p-1 hover:bg-muted transition-colors",
436
- disabled: O >= 2,
436
+ disabled: D >= 2,
437
437
  children: /* @__PURE__ */ d(c, { className: "h-4 w-4" })
438
438
  })
439
439
  ]
440
440
  })]
441
441
  }), /* @__PURE__ */ f("div", {
442
- ref: T,
442
+ ref: w,
443
443
  className: "relative overflow-hidden rounded-lg border bg-gradient-to-br from-background to-muted/20",
444
444
  style: { height: 500 },
445
445
  onMouseDown: J,
@@ -452,15 +452,15 @@ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o
452
452
  className: "pointer-events-none absolute inset-0 opacity-20",
453
453
  style: {
454
454
  backgroundImage: "radial-gradient(circle at 1px 1px, hsl(var(--border)) 1px, transparent 0)",
455
- backgroundSize: `${20 * O}px ${20 * O}px`
455
+ backgroundSize: `${20 * D}px ${20 * D}px`
456
456
  }
457
457
  }),
458
458
  /* @__PURE__ */ f("svg", {
459
459
  className: "absolute inset-0",
460
460
  style: {
461
- width: U * O,
462
- height: W * O,
463
- transform: `translate(${A.x}px, ${A.y}px) translate(${-H.minX * O}px, ${-H.minY * O}px)`,
461
+ width: U * D,
462
+ height: W * D,
463
+ transform: `translate(${k.x}px, ${k.y}px) translate(${-H.minX * D}px, ${-H.minY * D}px)`,
464
464
  transformOrigin: "top left"
465
465
  },
466
466
  viewBox: `${H.minX} ${H.minY} ${U} ${W}`,
@@ -504,17 +504,17 @@ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o
504
504
  skill: e,
505
505
  branchColor: K(e),
506
506
  onUnlock: () => i?.(e.id),
507
- onHover: D,
508
- isHovered: E?.id === e.id,
507
+ onHover: E,
508
+ isHovered: T?.id === e.id,
509
509
  animated: x,
510
510
  canAfford: r >= (e.cost || 1)
511
511
  }, e.id))
512
512
  ]
513
513
  }),
514
- E && /* @__PURE__ */ d(v, {
515
- skill: E,
516
- branchColor: K(E),
517
- canAfford: r >= (E.cost || 1)
514
+ T && /* @__PURE__ */ d(v, {
515
+ skill: T,
516
+ branchColor: K(T),
517
+ canAfford: r >= (T.cost || 1)
518
518
  }),
519
519
  /* @__PURE__ */ f("div", {
520
520
  className: "absolute bottom-4 left-4 text-xs text-muted-foreground/60",
@@ -533,7 +533,7 @@ function b({ skills: n, skillPoints: r = 0, onUnlock: i, onReset: a, branches: o
533
533
  G.map((e) => /* @__PURE__ */ d(y, {
534
534
  branch: e,
535
535
  progress: m(n, e.id),
536
- expanded: I.has(e.id),
536
+ expanded: F.has(e.id),
537
537
  onToggle: () => Q(e.id),
538
538
  skills: n
539
539
  }, e.id)),
@@ -588,12 +588,12 @@ function x({ initialSkills: e, initialPoints: n = 0, onSkillUnlock: r }) {
588
588
  let i = n.cost || 1;
589
589
  if (o < i) return t;
590
590
  s((e) => e - i);
591
- let a = c(t.map((t) => t.id === e ? {
591
+ let a = t.map((t) => t.id === e ? {
592
592
  ...t,
593
593
  unlocked: !0,
594
594
  level: 1
595
- } : t));
596
- return r?.(n, o - i), a;
595
+ } : t), l = c(a);
596
+ return r?.(n, o - i), l;
597
597
  });
598
598
  }, [
599
599
  o,
@@ -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={day:`24h`,week:`7d`,month:`30d`,quarter:`90d`,year:`365d`},o={day:1440,week:10080,month:720*60,quarter:2160*60,year:365*24*60},s={sm:{container:`p-3`,uptimeText:`text-2xl`,targetText:`text-xs`,labelText:`text-xs`,valueText:`text-sm`,iconSize:`h-3 w-3`,ringSize:64,ringStroke:5,gap:`gap-2`,metricGap:`gap-3`},md:{container:`p-4`,uptimeText:`text-4xl`,targetText:`text-sm`,labelText:`text-sm`,valueText:`text-base`,iconSize:`h-4 w-4`,ringSize:96,ringStroke:6,gap:`gap-3`,metricGap:`gap-4`},lg:{container:`p-6`,uptimeText:`text-5xl`,targetText:`text-base`,labelText:`text-base`,valueText:`text-lg`,iconSize:`h-5 w-5`,ringSize:128,ringStroke:8,gap:`gap-4`,metricGap:`gap-6`}};function c(e,t){if(e<t)return`breached`;let n=Math.round((e-t)*1e4)/1e4;return n<.01?`critical`:n<.05?`warning`:`healthy`}function l(e){switch(e){case`healthy`:return{text:`text-green-600`,bg:`bg-green-100 dark:bg-green-900/30`,ring:`#22c55e`,hex:`#22c55e`};case`warning`:return{text:`text-yellow-600`,bg:`bg-yellow-100 dark:bg-yellow-900/30`,ring:`#eab308`,hex:`#eab308`};case`critical`:return{text:`text-orange-600`,bg:`bg-orange-100 dark:bg-orange-900/30`,ring:`#f97316`,hex:`#f97316`};case`breached`:return{text:`text-red-600`,bg:`bg-red-100 dark:bg-red-900/30`,ring:`#ef4444`,hex:`#ef4444`}}}function u(e){switch(e){case`healthy`:return r.CheckCircle2;case`warning`:return r.AlertCircle;case`critical`:return r.AlertTriangle;case`breached`:return r.XCircle}}function d(e){return e.toFixed(e>=99.99?3:2)}function f(e){return e<60?`${Math.round(e)}m`:e<1440?`${(e/60).toFixed(1)}h`:`${(e/1440).toFixed(1)}d`}function p(e,t){return(100-e)/100*t}function m({value:e,max:n,size:r,strokeWidth:a,color:o,bgColor:s=`currentColor`,className:c}){let l=(r-a)/2,u=2*Math.PI*l,d=u-Math.min(100,Math.max(0,e/n*100))/100*u;return(0,i.jsxs)(`svg`,{width:r,height:r,viewBox:`0 0 ${r} ${r}`,className:t.cn(`transform -rotate-90`,c),children:[(0,i.jsx)(`circle`,{cx:r/2,cy:r/2,r:l,fill:`none`,stroke:s,strokeWidth:a,className:`opacity-20`}),(0,i.jsx)(`circle`,{cx:r/2,cy:r/2,r:l,fill:`none`,stroke:o,strokeWidth:a,strokeLinecap:`round`,strokeDasharray:u,strokeDashoffset:d,className:`transition-all duration-700 ease-out`})]})}function h({trend:e,size:n}){let a=s[n],o=e===`up`?r.TrendingUp:e===`down`?r.TrendingDown:r.Minus;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,a.gap,e===`up`&&`text-green-600`,e===`down`&&`text-red-600`,e===`stable`&&`text-muted-foreground`),children:[(0,i.jsx)(o,{className:a.iconSize}),(0,i.jsx)(`span`,{className:a.labelText,children:e===`up`?`Improving`:e===`down`?`Declining`:`Stable`})]})}function g({period:e,onPeriodChange:n,size:r}){let o=s[r];return(0,i.jsx)(`div`,{className:t.cn(`flex rounded-lg bg-muted p-1`,o.gap),children:[`day`,`week`,`month`,`quarter`,`year`].map(r=>(0,i.jsx)(`button`,{type:`button`,onClick:()=>n?.(r),className:t.cn(`px-2 py-1 rounded-md transition-colors font-medium`,o.labelText,r===e?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:a[r]},r))})}function _({budget:e,size:n,status:r}){let a=s[n],o=l(r),c=Math.min(100,e.used/e.total*100),u=100-c,d=e.used>=e.total;return(0,i.jsxs)(`div`,{className:`w-full`,children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between mb-1.5`,a.labelText),children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:`Error Budget`}),(0,i.jsxs)(`span`,{className:t.cn(`font-medium tabular-nums`,d?`text-red-600`:o.text),children:[u.toFixed(1),`% remaining`]})]}),(0,i.jsxs)(`div`,{className:`relative h-2 w-full rounded-full bg-muted overflow-hidden`,children:[(0,i.jsx)(`div`,{className:t.cn(`absolute inset-y-0 left-0 rounded-full transition-all duration-500`,d?`bg-red-500`:`bg-current`,o.text),style:{width:`${c}%`}}),(0,i.jsx)(`div`,{className:`absolute inset-y-0 w-0.5 bg-yellow-500 opacity-50`,style:{left:`80%`}})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between mt-1`,a.labelText),children:[(0,i.jsxs)(`span`,{className:`text-muted-foreground tabular-nums`,children:[f(e.used),` used`]}),(0,i.jsxs)(`span`,{className:`text-muted-foreground tabular-nums`,children:[f(e.total),` total`]})]})]})}function v({status:e,uptime:n,target:r,size:a}){let o=s[a],c=l(e);if(e===`healthy`)return null;let d={warning:`Approaching SLA threshold`,critical:`Critical: SLA breach imminent`,breached:`SLA breached by ${(r-n).toFixed(2)}%`},f=u(e);return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center rounded-lg px-3 py-2`,o.gap,c.bg),children:[(0,i.jsx)(f,{className:t.cn(o.iconSize,c.text)}),(0,i.jsx)(`span`,{className:t.cn(o.labelText,`font-medium`,c.text),children:d[e]})]})}function y({label:e,value:n,icon:r,size:a,className:o}){let c=s[a];return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col`,o),children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,c.labelText),children:e}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center font-semibold tabular-nums`,c.gap,c.valueText),children:[r,n]})]})}function b({uptime:e,target:n,period:a,downtimeMinutes:b,incidentCount:x,errorBudget:S,trend:C,onPeriodChange:w,variant:T=`detailed`,size:E=`md`,className:D}){let O=s[E],k=c(e,n),A=l(k),j=u(k),M=o[a],N=p(n,M),P=b??(100-e)/100*M,F=S??{used:P,total:N};return T===`compact`?(0,i.jsxs)(`div`,{className:t.cn(`inline-flex items-center rounded-lg border bg-card`,O.gap,O.container,D),children:[(0,i.jsx)(j,{className:t.cn(O.iconSize,A.text)}),(0,i.jsxs)(`span`,{className:t.cn(`font-bold tabular-nums`,O.uptimeText,A.text),children:[d(e),`%`]}),(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,O.labelText),children:[`/ `,n,`%`]}),C&&(0,i.jsx)(h,{trend:C,size:E})]}):T===`card`?(0,i.jsxs)(`div`,{className:t.cn(`rounded-lg border bg-card shadow-sm`,O.container,D),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-start justify-between`,O.gap),children:[(0,i.jsxs)(`div`,{className:`flex-1`,children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,O.gap),children:[(0,i.jsx)(j,{className:t.cn(O.iconSize,A.text)}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground font-medium`,O.labelText),children:`SLA Status`})]}),(0,i.jsxs)(`div`,{className:`mt-2`,children:[(0,i.jsxs)(`span`,{className:t.cn(`font-bold tabular-nums`,O.uptimeText,A.text),children:[d(e),`%`]}),(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground ml-2`,O.targetText),children:[`Target: `,n,`%`]})]}),C&&(0,i.jsx)(`div`,{className:`mt-2`,children:(0,i.jsx)(h,{trend:C,size:E})})]}),(0,i.jsx)(`div`,{className:`flex flex-col items-end gap-2`,children:(0,i.jsx)(g,{period:a,onPeriodChange:w,size:E})})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center mt-4 pt-4 border-t`,O.metricGap),children:[x!==void 0&&(0,i.jsx)(y,{label:`Incidents`,value:x,size:E}),b!==void 0&&(0,i.jsx)(y,{label:`Downtime`,value:f(b),icon:(0,i.jsx)(r.Clock,{className:O.iconSize}),size:E}),(0,i.jsx)(y,{label:`Budget Used`,value:`${(F.used/F.total*100).toFixed(1)}%`,size:E})]}),k!==`healthy`&&(0,i.jsx)(`div`,{className:`mt-4`,children:(0,i.jsx)(v,{status:k,uptime:e,target:n,size:E})})]}):(0,i.jsxs)(`div`,{className:t.cn(`rounded-lg border bg-card shadow-sm`,O.container,D),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between`,O.gap),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,O.gap),children:[(0,i.jsx)(j,{className:t.cn(O.iconSize,A.text)}),(0,i.jsx)(`span`,{className:t.cn(`font-medium`,O.labelText),children:`SLA Tracker`})]}),(0,i.jsx)(g,{period:a,onPeriodChange:w,size:E})]}),k!==`healthy`&&(0,i.jsx)(`div`,{className:`mt-3`,children:(0,i.jsx)(v,{status:k,uptime:e,target:n,size:E})}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center mt-4`,O.metricGap),children:[(0,i.jsxs)(`div`,{className:`relative flex-shrink-0`,children:[(0,i.jsx)(m,{value:e,max:100,size:O.ringSize,strokeWidth:O.ringStroke,color:A.ring}),(0,i.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,i.jsx)(`span`,{className:t.cn(`font-bold tabular-nums leading-none`,E===`sm`?`text-lg`:E===`md`?`text-2xl`:`text-3xl`,A.text),children:d(e)}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.labelText),children:`%`})]})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex-1 grid grid-cols-2 gap-y-3`,O.metricGap),children:[(0,i.jsx)(y,{label:`Target`,value:`${n}%`,size:E}),x!==void 0&&(0,i.jsx)(y,{label:`Incidents`,value:x,size:E}),b!==void 0&&(0,i.jsx)(y,{label:`Downtime`,value:f(b),icon:(0,i.jsx)(r.Clock,{className:O.iconSize}),size:E}),C&&(0,i.jsxs)(`div`,{className:`flex flex-col`,children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.labelText),children:`Trend`}),(0,i.jsx)(h,{trend:C,size:E})]})]})]}),(0,i.jsx)(`div`,{className:`mt-4 pt-4 border-t`,children:(0,i.jsx)(_,{budget:F,size:E,status:k})})]})}function x({initialUptime:e=100,target:t,initialPeriod:r=`month`,onStatusChange:i,onBreach:a}){let[s,l]=n.useState(e),[u,d]=n.useState(r),[f,m]=n.useState(0),[h,g]=n.useState(0),[_,v]=n.useState([e]),y=n.useRef(null),b=c(s,t),x=o[u],S={used:f,total:p(t,x)},C=n.useMemo(()=>{if(_.length<2)return`stable`;let e=_.slice(-5),t=e.reduce((e,t)=>e+t,0)/e.length,n=_.slice(-10,-5);if(n.length===0)return`stable`;let r=n.reduce((e,t)=>e+t,0)/n.length;return t>r+.01?`up`:t<r-.01?`down`:`stable`},[_]);n.useEffect(()=>{y.current!==null&&y.current!==b&&(i?.(b),b===`breached`&&a?.(s,t)),y.current=b},[b,s,t,i,a]);let w=n.useCallback(e=>{g(e=>e+1),m(t=>t+e);let t=Math.max(0,(x-(f+e))/x*100);l(t),v(e=>[...e.slice(-19),t])},[x,f]),T=n.useCallback(()=>{l(100),m(0),g(0),v([100])},[]);return{uptime:s,target:t,period:u,status:b,trend:C,downtimeMinutes:f,incidentCount:h,errorBudget:S,setPeriod:d,setUptime:n.useCallback(e=>{let t=Math.max(0,Math.min(100,e));l(t),v(e=>[...e.slice(-19),t])},[]),recordIncident:w,reset:T}}b.displayName=`WakaSLATracker`,exports.default=b,exports.useSLATracker=x;
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={day:`24h`,week:`7d`,month:`30d`,quarter:`90d`,year:`365d`},o={day:1440,week:10080,month:720*60,quarter:2160*60,year:365*24*60},s={sm:{container:`p-3`,uptimeText:`text-2xl`,targetText:`text-xs`,labelText:`text-xs`,valueText:`text-sm`,iconSize:`h-3 w-3`,ringSize:64,ringStroke:5,gap:`gap-2`,metricGap:`gap-3`},md:{container:`p-4`,uptimeText:`text-4xl`,targetText:`text-sm`,labelText:`text-sm`,valueText:`text-base`,iconSize:`h-4 w-4`,ringSize:96,ringStroke:6,gap:`gap-3`,metricGap:`gap-4`},lg:{container:`p-6`,uptimeText:`text-5xl`,targetText:`text-base`,labelText:`text-base`,valueText:`text-lg`,iconSize:`h-5 w-5`,ringSize:128,ringStroke:8,gap:`gap-4`,metricGap:`gap-6`}};function c(e,t){if(e<t)return`breached`;let n=Math.round((e-t)*1e4)/1e4;return n<.01?`critical`:n<.05?`warning`:`healthy`}function l(e){switch(e){case`healthy`:return{text:`text-green-600`,bg:`bg-green-100 dark:bg-green-900/30`,ring:`#22c55e`,hex:`#22c55e`};case`warning`:return{text:`text-yellow-600`,bg:`bg-yellow-100 dark:bg-yellow-900/30`,ring:`#eab308`,hex:`#eab308`};case`critical`:return{text:`text-orange-600`,bg:`bg-orange-100 dark:bg-orange-900/30`,ring:`#f97316`,hex:`#f97316`};case`breached`:return{text:`text-red-600`,bg:`bg-red-100 dark:bg-red-900/30`,ring:`#ef4444`,hex:`#ef4444`}}}function u(e){switch(e){case`healthy`:return r.CheckCircle2;case`warning`:return r.AlertCircle;case`critical`:return r.AlertTriangle;case`breached`:return r.XCircle}}function d(e){return e.toFixed(e>=99.99?3:2)}function f(e){return e<60?`${Math.round(e)}m`:e<1440?`${(e/60).toFixed(1)}h`:`${(e/1440).toFixed(1)}d`}function p(e,t){return(100-e)/100*t}function m({value:e,max:n,size:r,strokeWidth:a,color:o,bgColor:s=`currentColor`,className:c}){let l=(r-a)/2,u=2*Math.PI*l,d=u-Math.min(100,Math.max(0,e/n*100))/100*u;return(0,i.jsxs)(`svg`,{width:r,height:r,viewBox:`0 0 ${r} ${r}`,className:t.cn(`transform -rotate-90`,c),children:[(0,i.jsx)(`circle`,{cx:r/2,cy:r/2,r:l,fill:`none`,stroke:s,strokeWidth:a,className:`opacity-20`}),(0,i.jsx)(`circle`,{cx:r/2,cy:r/2,r:l,fill:`none`,stroke:o,strokeWidth:a,strokeLinecap:`round`,strokeDasharray:u,strokeDashoffset:d,className:`transition-all duration-700 ease-out`})]})}function h({trend:e,size:n}){let a=s[n],o=e===`up`?r.TrendingUp:e===`down`?r.TrendingDown:r.Minus;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,a.gap,e===`up`&&`text-green-600`,e===`down`&&`text-red-600`,e===`stable`&&`text-muted-foreground`),children:[(0,i.jsx)(o,{className:a.iconSize}),(0,i.jsx)(`span`,{className:a.labelText,children:e===`up`?`Improving`:e===`down`?`Declining`:`Stable`})]})}function g({period:e,onPeriodChange:n,size:r}){let o=s[r];return(0,i.jsx)(`div`,{className:t.cn(`flex rounded-lg bg-muted p-1`,o.gap),children:[`day`,`week`,`month`,`quarter`,`year`].map(r=>(0,i.jsx)(`button`,{type:`button`,onClick:()=>n?.(r),className:t.cn(`px-2 py-1 rounded-md transition-colors font-medium`,o.labelText,r===e?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:a[r]},r))})}function _({budget:e,size:n,status:r}){let a=s[n],o=l(r),c=Math.min(100,e.used/e.total*100),u=100-c,d=e.used>=e.total;return(0,i.jsxs)(`div`,{className:`w-full`,children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between mb-1.5`,a.labelText),children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:`Error Budget`}),(0,i.jsxs)(`span`,{className:t.cn(`font-medium tabular-nums`,d?`text-red-600`:o.text),children:[u.toFixed(1),`% remaining`]})]}),(0,i.jsxs)(`div`,{className:`relative h-2 w-full rounded-full bg-muted overflow-hidden`,children:[(0,i.jsx)(`div`,{className:t.cn(`absolute inset-y-0 left-0 rounded-full transition-all duration-500`,d?`bg-red-500`:`bg-current`,o.text),style:{width:`${c}%`}}),(0,i.jsx)(`div`,{className:`absolute inset-y-0 w-0.5 bg-yellow-500 opacity-50`,style:{left:`80%`}})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between mt-1`,a.labelText),children:[(0,i.jsxs)(`span`,{className:`text-muted-foreground tabular-nums`,children:[f(e.used),` used`]}),(0,i.jsxs)(`span`,{className:`text-muted-foreground tabular-nums`,children:[f(e.total),` total`]})]})]})}function v({status:e,uptime:n,target:r,size:a}){let o=s[a],c=l(e);if(e===`healthy`)return null;let d={warning:`Approaching SLA threshold`,critical:`Critical: SLA breach imminent`,breached:`SLA breached by ${(r-n).toFixed(2)}%`},f=u(e);return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center rounded-lg px-3 py-2`,o.gap,c.bg),children:[(0,i.jsx)(f,{className:t.cn(o.iconSize,c.text)}),(0,i.jsx)(`span`,{className:t.cn(o.labelText,`font-medium`,c.text),children:d[e]})]})}function y({label:e,value:n,icon:r,size:a,className:o}){let c=s[a];return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col`,o),children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,c.labelText),children:e}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center font-semibold tabular-nums`,c.gap,c.valueText),children:[r,n]})]})}function b({uptime:e,target:n,period:a,downtimeMinutes:b,incidentCount:x,errorBudget:S,trend:C,onPeriodChange:w,variant:T=`detailed`,size:E=`md`,className:D}){let O=s[E],k=c(e,n),A=l(k),j=u(k),M=o[a],N=p(n,M),P=b??(100-e)/100*M,F=S??{used:P,total:N};return T===`compact`?(0,i.jsxs)(`div`,{className:t.cn(`inline-flex items-center rounded-lg border bg-card`,O.gap,O.container,D),children:[(0,i.jsx)(j,{className:t.cn(O.iconSize,A.text)}),(0,i.jsxs)(`span`,{className:t.cn(`font-bold tabular-nums`,O.uptimeText,A.text),children:[d(e),`%`]}),(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,O.labelText),children:[`/ `,n,`%`]}),C&&(0,i.jsx)(h,{trend:C,size:E})]}):T===`card`?(0,i.jsxs)(`div`,{className:t.cn(`rounded-lg border bg-card shadow-sm`,O.container,D),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-start justify-between`,O.gap),children:[(0,i.jsxs)(`div`,{className:`flex-1`,children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,O.gap),children:[(0,i.jsx)(j,{className:t.cn(O.iconSize,A.text)}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground font-medium`,O.labelText),children:`SLA Status`})]}),(0,i.jsxs)(`div`,{className:`mt-2`,children:[(0,i.jsxs)(`span`,{className:t.cn(`font-bold tabular-nums`,O.uptimeText,A.text),children:[d(e),`%`]}),(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground ml-2`,O.targetText),children:[`Target: `,n,`%`]})]}),C&&(0,i.jsx)(`div`,{className:`mt-2`,children:(0,i.jsx)(h,{trend:C,size:E})})]}),(0,i.jsx)(`div`,{className:`flex flex-col items-end gap-2`,children:(0,i.jsx)(g,{period:a,onPeriodChange:w,size:E})})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center mt-4 pt-4 border-t`,O.metricGap),children:[x!==void 0&&(0,i.jsx)(y,{label:`Incidents`,value:x,size:E}),b!==void 0&&(0,i.jsx)(y,{label:`Downtime`,value:f(b),icon:(0,i.jsx)(r.Clock,{className:O.iconSize}),size:E}),(0,i.jsx)(y,{label:`Budget Used`,value:`${(F.used/F.total*100).toFixed(1)}%`,size:E})]}),k!==`healthy`&&(0,i.jsx)(`div`,{className:`mt-4`,children:(0,i.jsx)(v,{status:k,uptime:e,target:n,size:E})})]}):(0,i.jsxs)(`div`,{className:t.cn(`rounded-lg border bg-card shadow-sm`,O.container,D),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between`,O.gap),children:[(0,i.jsxs)(`div`,{className:t.cn(`flex items-center`,O.gap),children:[(0,i.jsx)(j,{className:t.cn(O.iconSize,A.text)}),(0,i.jsx)(`span`,{className:t.cn(`font-medium`,O.labelText),children:`SLA Tracker`})]}),(0,i.jsx)(g,{period:a,onPeriodChange:w,size:E})]}),k!==`healthy`&&(0,i.jsx)(`div`,{className:`mt-3`,children:(0,i.jsx)(v,{status:k,uptime:e,target:n,size:E})}),(0,i.jsxs)(`div`,{className:t.cn(`flex items-center mt-4`,O.metricGap),children:[(0,i.jsxs)(`div`,{className:`relative flex-shrink-0`,children:[(0,i.jsx)(m,{value:e,max:100,size:O.ringSize,strokeWidth:O.ringStroke,color:A.ring}),(0,i.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,i.jsx)(`span`,{className:t.cn(`font-bold tabular-nums leading-none`,E===`sm`?`text-lg`:E===`md`?`text-2xl`:`text-3xl`,A.text),children:d(e)}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.labelText),children:`%`})]})]}),(0,i.jsxs)(`div`,{className:t.cn(`flex-1 grid grid-cols-2 gap-y-3`,O.metricGap),children:[(0,i.jsx)(y,{label:`Target`,value:`${n}%`,size:E}),x!==void 0&&(0,i.jsx)(y,{label:`Incidents`,value:x,size:E}),b!==void 0&&(0,i.jsx)(y,{label:`Downtime`,value:f(b),icon:(0,i.jsx)(r.Clock,{className:O.iconSize}),size:E}),C&&(0,i.jsxs)(`div`,{className:`flex flex-col`,children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.labelText),children:`Trend`}),(0,i.jsx)(h,{trend:C,size:E})]})]})]}),(0,i.jsx)(`div`,{className:`mt-4 pt-4 border-t`,children:(0,i.jsx)(_,{budget:F,size:E,status:k})})]})}function x({initialUptime:e=100,target:t,initialPeriod:r=`month`,onStatusChange:i,onBreach:a}){let[s,l]=n.useState(e),[u,d]=n.useState(r),[f,m]=n.useState(0),[h,g]=n.useState(0),[_,v]=n.useState([e]),y=n.useRef(null),b=c(s,t),x=o[u],S={used:f,total:p(t,x)},C=n.useMemo(()=>{if(_.length<2)return`stable`;let e=_.slice(-5),t=e.reduce((e,t)=>e+t,0)/e.length,n=_.slice(-10,-5);if(n.length===0)return`stable`;let r=n.reduce((e,t)=>e+t,0)/n.length;return t>r+.01?`up`:t<r-.01?`down`:`stable`},[_]);n.useEffect(()=>{y.current!==null&&y.current!==b&&(i?.(b),b===`breached`&&a?.(s,t)),y.current=b},[b,s,t,i,a]);let w=n.useCallback(e=>{g(e=>e+1),m(t=>t+e);let t=Math.max(0,(x-(f+e))/x*100);l(t),v(e=>[...e.slice(-19),t])},[x,f]),T=n.useCallback(()=>{l(100),m(0),g(0),v([100])},[]);return{uptime:s,target:t,period:u,status:b,trend:C,downtimeMinutes:f,incidentCount:h,errorBudget:S,setPeriod:d,setUptime:n.useCallback(e=>{let t=Math.max(0,Math.min(100,e));l(t),v(e=>[...e.slice(-19),t])},[]),recordIncident:w,reset:T}}b.displayName=`WakaSLATracker`,exports.WakaSLATracker=b,exports.default=b,exports.useSLATracker=x;
@@ -468,4 +468,4 @@ function O({ initialUptime: e = 100, target: n, initialPeriod: r = "month", onSt
468
468
  }
469
469
  D.displayName = "WakaSLATracker";
470
470
  //#endregion
471
- export { D as default, O as useSLATracker };
471
+ export { D as WakaSLATracker, D as default, O as useSLATracker };
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i(e,t,n){return Math.min(Math.max(e,t),n)}function a(e,t,n){let r=Math.round((e-n)/t)*t+n,i=String(t).split(`.`)[1]?.length||0;return Number(r.toFixed(i))}function o(e,t,n){return(e-t)/(n-t)*100}function s(e,t,n){return e/100*(n-t)+t}function c(e,t,n){switch(t){case`currency`:return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:n,minimumFractionDigits:0,maximumFractionDigits:0}).format(e);case`percentage`:return`${e}%`;default:return String(e)}}function l(e={}){let{initialValue:t=[0,100],min:r=0,max:o=100,step:s=1,minDistance:c=0}=e,[l,u]=n.useState(()=>{let[e,n]=t;return[i(a(e,s,r),r,o),i(a(n,s,r),r,o)]}),d=n.useCallback(e=>{let[t,n]=e,l=i(a(t,s,r),r,o-c);u([l,i(a(n,s,r),l+c,o)])},[r,o,s,c]);return{value:l,setValue:d,setMin:n.useCallback(e=>{d([e,l[1]])},[d,l]),setMax:n.useCallback(e=>{d([l[0],e])},[d,l]),reset:n.useCallback(()=>{let[e,n]=t;u([i(a(e,s,r),r,o),i(a(n,s,r),r,o)])},[t,r,o,s]),min:r,max:o,step:s}}function u({value:e,position:n,visible:i,size:a}){return(0,r.jsxs)(`div`,{className:t.cn(`absolute bottom-full mb-2 -translate-x-1/2 rounded-md bg-popover border border-border shadow-md transition-opacity duration-150`,{sm:`text-xs px-1.5 py-0.5`,md:`text-sm px-2 py-1`,lg:`text-base px-2.5 py-1.5`}[a],i?`opacity-100`:`opacity-0 pointer-events-none`),style:{left:`${n}%`},children:[(0,r.jsx)(`span`,{className:`text-popover-foreground font-medium whitespace-nowrap`,children:e}),(0,r.jsxs)(`div`,{className:`absolute top-full left-1/2 -translate-x-1/2 -mt-px`,children:[(0,r.jsx)(`div`,{className:`border-4 border-transparent border-t-border`}),(0,r.jsx)(`div`,{className:`absolute -top-px left-1/2 -translate-x-1/2 border-4 border-transparent border-t-popover`})]})]})}function d({data:e,height:n,minPercent:i,maxPercent:a,variant:o}){let s=Math.max(...e,1);100/e.length;let c={default:`bg-muted-foreground/30`,primary:`bg-primary/20`,success:`bg-emerald-500/20`,warning:`bg-amber-500/20`,danger:`bg-red-500/20`},l={default:`bg-muted-foreground/60`,primary:`bg-primary/50`,success:`bg-emerald-500/50`,warning:`bg-amber-500/50`,danger:`bg-red-500/50`};return(0,r.jsx)(`div`,{className:`absolute bottom-full left-0 right-0 flex items-end gap-px mb-1`,style:{height:n},children:e.map((n,u)=>{let d=n/s*100,f=u/e.length*100;return(0,r.jsx)(`div`,{className:t.cn(`flex-1 rounded-t-sm transition-colors duration-150`,f>=i&&f<=a?l[o]:c[o]),style:{height:`${d}%`,minHeight:n>0?`2px`:`0px`}},u)})})}function f({min:e=0,max:l=100,step:f=1,value:p,defaultValue:ee=[e,l],onChange:m,onChangeStart:h,onChangeEnd:g,format:_=`none`,currencyCode:v=`USD`,formatValue:y,showLabels:b=!1,labelPosition:x=`above`,showTooltip:te=!0,showTicks:S=!1,tickValues:C,tickCount:w=5,histogram:T,histogramHeight:E=40,disabled:D=!1,size:O=`md`,variant:k=`default`,className:ne,minAriaLabel:re=`Minimum value`,maxAriaLabel:ie=`Maximum value`,minDistance:A=0}){let[ae,oe]=n.useState(()=>{let[t,n]=ee;return[i(a(t,f,e),e,l),i(a(n,f,e),e,l)]}),j=p!==void 0,M=j?p:ae,[N,P]=n.useState(null),[F,I]=n.useState(null),L=n.useRef(null),R=n.useRef(null),z=n.useRef(null),B=n.useCallback(e=>y?y(e):c(e,_,v),[y,_,v]),V=o(M[0],e,l),H=o(M[1],e,l),U=n.useCallback(t=>{let[n,r]=t,o=i(a(n,f,e),e,l-A),s=[o,i(a(r,f,e),o+A,l)];j||oe(s),m?.(s)},[j,m,e,l,f,A]),W=n.useCallback((t,n)=>{if(!L.current||D)return;let r=L.current.getBoundingClientRect(),o=a(s(i((t-r.left)/r.width*100,0,100),e,l),f,e);if(n===`min`){let e=M[1]-A;U([Math.min(o,e),M[1]])}else{let e=M[0]+A;U([M[0],Math.max(o,e)])}},[D,e,l,f,M,A,U]),G=n.useCallback(e=>t=>{D||(t.preventDefault(),P(e),h?.(M))},[D,h,M]),K=n.useCallback(e=>{N&&W(e.clientX,N)},[N,W]),q=n.useCallback(()=>{N&&(g?.(M),P(null))},[N,g,M]),J=n.useCallback(e=>t=>{D||(P(e),h?.(M))},[D,h,M]),Y=n.useCallback(e=>{N&&e.touches[0]&&W(e.touches[0].clientX,N)},[N,W]),X=n.useCallback(()=>{N&&(g?.(M),P(null))},[N,g,M]),se=n.useCallback(t=>{if(D||!L.current||R.current&&R.current.contains(t.target)||z.current&&z.current.contains(t.target))return;let n=L.current.getBoundingClientRect(),r=a(s(i((t.clientX-n.left)/n.width*100,0,100),e,l),f,e);Math.abs(r-M[0])<=Math.abs(r-M[1])?U([r,M[1]]):U([M[0],r])},[D,e,l,f,M,U]),Z=n.useCallback(t=>n=>{if(D)return;let r=t===`min`?M[0]:M[1],i=f*10;switch(n.key){case`ArrowRight`:case`ArrowUp`:n.preventDefault(),r+=n.shiftKey?i:f;break;case`ArrowLeft`:case`ArrowDown`:n.preventDefault(),r-=n.shiftKey?i:f;break;case`Home`:n.preventDefault(),r=t===`min`?e:M[0]+A;break;case`End`:n.preventDefault(),r=t===`max`?l:M[1]-A;break;case`PageUp`:n.preventDefault(),r+=i;break;case`PageDown`:n.preventDefault(),r-=i;break;default:return}U(t===`min`?[r,M[1]]:[M[0],r])},[D,e,l,f,M,A,U]);n.useEffect(()=>{if(N)return document.addEventListener(`mousemove`,K),document.addEventListener(`mouseup`,q),document.addEventListener(`touchmove`,Y),document.addEventListener(`touchend`,X),()=>{document.removeEventListener(`mousemove`,K),document.removeEventListener(`mouseup`,q),document.removeEventListener(`touchmove`,Y),document.removeEventListener(`touchend`,X)}},[N,K,q,Y,X]);let ce={sm:`h-1`,md:`h-2`,lg:`h-3`},Q={sm:`h-4 w-4`,md:`h-5 w-5`,lg:`h-6 w-6`},le={default:`bg-primary`,primary:`bg-primary`,success:`bg-emerald-500`,warning:`bg-amber-500`,danger:`bg-red-500`},$={default:`border-primary`,primary:`border-primary`,success:`border-emerald-500`,warning:`border-amber-500`,danger:`border-red-500`},ue=n.useMemo(()=>{if(!S)return[];if(C)return C;let t=(l-e)/(w-1);return Array.from({length:w},(n,r)=>e+t*r)},[S,C,w,e,l]);return(0,r.jsxs)(`div`,{className:t.cn(`relative w-full select-none`,D&&`opacity-50 cursor-not-allowed`,ne),children:[b&&x===`above`&&(0,r.jsxs)(`div`,{className:`flex justify-between mb-2 text-sm text-muted-foreground`,children:[(0,r.jsx)(`span`,{children:B(M[0])}),(0,r.jsx)(`span`,{children:B(M[1])})]}),(0,r.jsxs)(`div`,{className:t.cn(`relative`,T&&`pt-[${E}px]`),children:[T&&T.length>0&&(0,r.jsx)(d,{data:T,height:E,minPercent:V,maxPercent:H,variant:k}),(0,r.jsxs)(`div`,{ref:L,className:t.cn(`relative w-full rounded-full bg-secondary cursor-pointer`,ce[O]),onClick:se,children:[(0,r.jsx)(`div`,{className:t.cn(`absolute h-full rounded-full transition-all`,le[k]),style:{left:`${V}%`,width:`${H-V}%`}}),(0,r.jsx)(`div`,{ref:R,role:`slider`,tabIndex:D?-1:0,"aria-label":re,"aria-valuemin":e,"aria-valuemax":M[1]-A,"aria-valuenow":M[0],"aria-valuetext":B(M[0]),"aria-disabled":D,className:t.cn(`absolute top-1/2 -translate-y-1/2 -translate-x-1/2 rounded-full`,`bg-background border-2 shadow-md transition-transform`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`hover:scale-110 active:scale-105`,Q[O],$[k],N===`min`&&`scale-110 ring-2 ring-ring ring-offset-2`,!D&&`cursor-grab active:cursor-grabbing`),style:{left:`${V}%`},onMouseDown:G(`min`),onTouchStart:J(`min`),onKeyDown:Z(`min`),onMouseEnter:()=>I(`min`),onMouseLeave:()=>I(null),onFocus:()=>I(`min`),onBlur:()=>I(null),children:b&&x===`handles`&&(0,r.jsx)(`span`,{className:`absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-muted-foreground whitespace-nowrap`,children:B(M[0])})}),(0,r.jsx)(`div`,{ref:z,role:`slider`,tabIndex:D?-1:0,"aria-label":ie,"aria-valuemin":M[0]+A,"aria-valuemax":l,"aria-valuenow":M[1],"aria-valuetext":B(M[1]),"aria-disabled":D,className:t.cn(`absolute top-1/2 -translate-y-1/2 -translate-x-1/2 rounded-full`,`bg-background border-2 shadow-md transition-transform`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`hover:scale-110 active:scale-105`,Q[O],$[k],N===`max`&&`scale-110 ring-2 ring-ring ring-offset-2`,!D&&`cursor-grab active:cursor-grabbing`),style:{left:`${H}%`},onMouseDown:G(`max`),onTouchStart:J(`max`),onKeyDown:Z(`max`),onMouseEnter:()=>I(`max`),onMouseLeave:()=>I(null),onFocus:()=>I(`max`),onBlur:()=>I(null),children:b&&x===`handles`&&(0,r.jsx)(`span`,{className:`absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-muted-foreground whitespace-nowrap`,children:B(M[1])})}),te&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u,{value:B(M[0]),position:V,visible:N===`min`||F===`min`,size:O}),(0,r.jsx)(u,{value:B(M[1]),position:H,visible:N===`max`||F===`max`,size:O})]})]}),S&&ue.length>0&&(0,r.jsx)(`div`,{className:`relative mt-2`,children:ue.map(n=>{let i=o(n,e,l),a=n>=M[0]&&n<=M[1];return(0,r.jsxs)(`div`,{className:`absolute -translate-x-1/2`,style:{left:`${i}%`},children:[(0,r.jsx)(`div`,{className:t.cn(`w-0.5 h-2 rounded-full transition-colors`,a?le[k]:`bg-muted-foreground/40`)}),(0,r.jsx)(`span`,{className:`absolute top-3 left-1/2 -translate-x-1/2 text-xs text-muted-foreground`,children:B(n)})]},n)})})]}),b&&x===`handles`&&(0,r.jsx)(`div`,{className:`h-6`}),S&&(0,r.jsx)(`div`,{className:`h-6`})]})}exports.default=f,exports.useSliderRange=l;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime");function i(e,t,n){return Math.min(Math.max(e,t),n)}function a(e,t,n){let r=Math.round((e-n)/t)*t+n,i=String(t).split(`.`)[1]?.length||0;return Number(r.toFixed(i))}function o(e,t,n){return(e-t)/(n-t)*100}function s(e,t,n){return e/100*(n-t)+t}function c(e,t,n){switch(t){case`currency`:return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:n,minimumFractionDigits:0,maximumFractionDigits:0}).format(e);case`percentage`:return`${e}%`;default:return String(e)}}function l(e={}){let{initialValue:t=[0,100],min:r=0,max:o=100,step:s=1,minDistance:c=0}=e,[l,u]=n.useState(()=>{let[e,n]=t;return[i(a(e,s,r),r,o),i(a(n,s,r),r,o)]}),d=n.useCallback(e=>{let[t,n]=e,l=i(a(t,s,r),r,o-c),d=i(a(n,s,r),l+c,o);u([l,d])},[r,o,s,c]);return{value:l,setValue:d,setMin:n.useCallback(e=>{d([e,l[1]])},[d,l]),setMax:n.useCallback(e=>{d([l[0],e])},[d,l]),reset:n.useCallback(()=>{let[e,n]=t;u([i(a(e,s,r),r,o),i(a(n,s,r),r,o)])},[t,r,o,s]),min:r,max:o,step:s}}function u({value:e,position:n,visible:i,size:a}){return(0,r.jsxs)(`div`,{className:t.cn(`absolute bottom-full mb-2 -translate-x-1/2 rounded-md bg-popover border border-border shadow-md transition-opacity duration-150`,{sm:`text-xs px-1.5 py-0.5`,md:`text-sm px-2 py-1`,lg:`text-base px-2.5 py-1.5`}[a],i?`opacity-100`:`opacity-0 pointer-events-none`),style:{left:`${n}%`},children:[(0,r.jsx)(`span`,{className:`text-popover-foreground font-medium whitespace-nowrap`,children:e}),(0,r.jsxs)(`div`,{className:`absolute top-full left-1/2 -translate-x-1/2 -mt-px`,children:[(0,r.jsx)(`div`,{className:`border-4 border-transparent border-t-border`}),(0,r.jsx)(`div`,{className:`absolute -top-px left-1/2 -translate-x-1/2 border-4 border-transparent border-t-popover`})]})]})}function d({data:e,height:n,minPercent:i,maxPercent:a,variant:o}){let s=Math.max(...e,1);100/e.length;let c={default:`bg-muted-foreground/30`,primary:`bg-primary/20`,success:`bg-emerald-500/20`,warning:`bg-amber-500/20`,danger:`bg-red-500/20`},l={default:`bg-muted-foreground/60`,primary:`bg-primary/50`,success:`bg-emerald-500/50`,warning:`bg-amber-500/50`,danger:`bg-red-500/50`};return(0,r.jsx)(`div`,{className:`absolute bottom-full left-0 right-0 flex items-end gap-px mb-1`,style:{height:n},children:e.map((n,u)=>{let d=n/s*100,f=u/e.length*100;return(0,r.jsx)(`div`,{className:t.cn(`flex-1 rounded-t-sm transition-colors duration-150`,f>=i&&f<=a?l[o]:c[o]),style:{height:`${d}%`,minHeight:n>0?`2px`:`0px`}},u)})})}function f({min:e=0,max:l=100,step:f=1,value:p,defaultValue:ee=[e,l],onChange:m,onChangeStart:h,onChangeEnd:g,format:_=`none`,currencyCode:v=`USD`,formatValue:y,showLabels:b=!1,labelPosition:x=`above`,showTooltip:te=!0,showTicks:S=!1,tickValues:C,tickCount:w=5,histogram:T,histogramHeight:E=40,disabled:D=!1,size:O=`md`,variant:k=`default`,className:ne,minAriaLabel:re=`Minimum value`,maxAriaLabel:ie=`Maximum value`,minDistance:A=0}){let[ae,oe]=n.useState(()=>{let[t,n]=ee;return[i(a(t,f,e),e,l),i(a(n,f,e),e,l)]}),j=p!==void 0,M=j?p:ae,[N,P]=n.useState(null),[F,I]=n.useState(null),L=n.useRef(null),R=n.useRef(null),z=n.useRef(null),B=n.useCallback(e=>y?y(e):c(e,_,v),[y,_,v]),V=o(M[0],e,l),H=o(M[1],e,l),U=n.useCallback(t=>{let[n,r]=t,o=i(a(n,f,e),e,l-A),s=[o,i(a(r,f,e),o+A,l)];j||oe(s),m?.(s)},[j,m,e,l,f,A]),W=n.useCallback((t,n)=>{if(!L.current||D)return;let r=L.current.getBoundingClientRect(),o=a(s(i((t-r.left)/r.width*100,0,100),e,l),f,e);if(n===`min`){let e=M[1]-A;U([Math.min(o,e),M[1]])}else{let e=M[0]+A;U([M[0],Math.max(o,e)])}},[D,e,l,f,M,A,U]),G=n.useCallback(e=>t=>{D||(t.preventDefault(),P(e),h?.(M))},[D,h,M]),K=n.useCallback(e=>{N&&W(e.clientX,N)},[N,W]),q=n.useCallback(()=>{N&&(g?.(M),P(null))},[N,g,M]),J=n.useCallback(e=>t=>{D||(P(e),h?.(M))},[D,h,M]),Y=n.useCallback(e=>{N&&e.touches[0]&&W(e.touches[0].clientX,N)},[N,W]),X=n.useCallback(()=>{N&&(g?.(M),P(null))},[N,g,M]),se=n.useCallback(t=>{if(D||!L.current||R.current&&R.current.contains(t.target)||z.current&&z.current.contains(t.target))return;let n=L.current.getBoundingClientRect(),r=a(s(i((t.clientX-n.left)/n.width*100,0,100),e,l),f,e);Math.abs(r-M[0])<=Math.abs(r-M[1])?U([r,M[1]]):U([M[0],r])},[D,e,l,f,M,U]),Z=n.useCallback(t=>n=>{if(D)return;let r=t===`min`?M[0]:M[1],i=f*10;switch(n.key){case`ArrowRight`:case`ArrowUp`:n.preventDefault(),r+=n.shiftKey?i:f;break;case`ArrowLeft`:case`ArrowDown`:n.preventDefault(),r-=n.shiftKey?i:f;break;case`Home`:n.preventDefault(),r=t===`min`?e:M[0]+A;break;case`End`:n.preventDefault(),r=t===`max`?l:M[1]-A;break;case`PageUp`:n.preventDefault(),r+=i;break;case`PageDown`:n.preventDefault(),r-=i;break;default:return}U(t===`min`?[r,M[1]]:[M[0],r])},[D,e,l,f,M,A,U]);n.useEffect(()=>{if(N)return document.addEventListener(`mousemove`,K),document.addEventListener(`mouseup`,q),document.addEventListener(`touchmove`,Y),document.addEventListener(`touchend`,X),()=>{document.removeEventListener(`mousemove`,K),document.removeEventListener(`mouseup`,q),document.removeEventListener(`touchmove`,Y),document.removeEventListener(`touchend`,X)}},[N,K,q,Y,X]);let ce={sm:`h-1`,md:`h-2`,lg:`h-3`},Q={sm:`h-4 w-4`,md:`h-5 w-5`,lg:`h-6 w-6`},le={default:`bg-primary`,primary:`bg-primary`,success:`bg-emerald-500`,warning:`bg-amber-500`,danger:`bg-red-500`},$={default:`border-primary`,primary:`border-primary`,success:`border-emerald-500`,warning:`border-amber-500`,danger:`border-red-500`},ue=n.useMemo(()=>{if(!S)return[];if(C)return C;let t=(l-e)/(w-1);return Array.from({length:w},(n,r)=>e+t*r)},[S,C,w,e,l]);return(0,r.jsxs)(`div`,{className:t.cn(`relative w-full select-none`,D&&`opacity-50 cursor-not-allowed`,ne),children:[b&&x===`above`&&(0,r.jsxs)(`div`,{className:`flex justify-between mb-2 text-sm text-muted-foreground`,children:[(0,r.jsx)(`span`,{children:B(M[0])}),(0,r.jsx)(`span`,{children:B(M[1])})]}),(0,r.jsxs)(`div`,{className:t.cn(`relative`,T&&`pt-[${E}px]`),children:[T&&T.length>0&&(0,r.jsx)(d,{data:T,height:E,minPercent:V,maxPercent:H,variant:k}),(0,r.jsxs)(`div`,{ref:L,className:t.cn(`relative w-full rounded-full bg-secondary cursor-pointer`,ce[O]),onClick:se,children:[(0,r.jsx)(`div`,{className:t.cn(`absolute h-full rounded-full transition-all`,le[k]),style:{left:`${V}%`,width:`${H-V}%`}}),(0,r.jsx)(`div`,{ref:R,role:`slider`,tabIndex:D?-1:0,"aria-label":re,"aria-valuemin":e,"aria-valuemax":M[1]-A,"aria-valuenow":M[0],"aria-valuetext":B(M[0]),"aria-disabled":D,className:t.cn(`absolute top-1/2 -translate-y-1/2 -translate-x-1/2 rounded-full`,`bg-background border-2 shadow-md transition-transform`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`hover:scale-110 active:scale-105`,Q[O],$[k],N===`min`&&`scale-110 ring-2 ring-ring ring-offset-2`,!D&&`cursor-grab active:cursor-grabbing`),style:{left:`${V}%`},onMouseDown:G(`min`),onTouchStart:J(`min`),onKeyDown:Z(`min`),onMouseEnter:()=>I(`min`),onMouseLeave:()=>I(null),onFocus:()=>I(`min`),onBlur:()=>I(null),children:b&&x===`handles`&&(0,r.jsx)(`span`,{className:`absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-muted-foreground whitespace-nowrap`,children:B(M[0])})}),(0,r.jsx)(`div`,{ref:z,role:`slider`,tabIndex:D?-1:0,"aria-label":ie,"aria-valuemin":M[0]+A,"aria-valuemax":l,"aria-valuenow":M[1],"aria-valuetext":B(M[1]),"aria-disabled":D,className:t.cn(`absolute top-1/2 -translate-y-1/2 -translate-x-1/2 rounded-full`,`bg-background border-2 shadow-md transition-transform`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`hover:scale-110 active:scale-105`,Q[O],$[k],N===`max`&&`scale-110 ring-2 ring-ring ring-offset-2`,!D&&`cursor-grab active:cursor-grabbing`),style:{left:`${H}%`},onMouseDown:G(`max`),onTouchStart:J(`max`),onKeyDown:Z(`max`),onMouseEnter:()=>I(`max`),onMouseLeave:()=>I(null),onFocus:()=>I(`max`),onBlur:()=>I(null),children:b&&x===`handles`&&(0,r.jsx)(`span`,{className:`absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-muted-foreground whitespace-nowrap`,children:B(M[1])})}),te&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u,{value:B(M[0]),position:V,visible:N===`min`||F===`min`,size:O}),(0,r.jsx)(u,{value:B(M[1]),position:H,visible:N===`max`||F===`max`,size:O})]})]}),S&&ue.length>0&&(0,r.jsx)(`div`,{className:`relative mt-2`,children:ue.map(n=>{let i=o(n,e,l),a=n>=M[0]&&n<=M[1];return(0,r.jsxs)(`div`,{className:`absolute -translate-x-1/2`,style:{left:`${i}%`},children:[(0,r.jsx)(`div`,{className:t.cn(`w-0.5 h-2 rounded-full transition-colors`,a?le[k]:`bg-muted-foreground/40`)}),(0,r.jsx)(`span`,{className:`absolute top-3 left-1/2 -translate-x-1/2 text-xs text-muted-foreground`,children:B(n)})]},n)})})]}),b&&x===`handles`&&(0,r.jsx)(`div`,{className:`h-6`}),S&&(0,r.jsx)(`div`,{className:`h-6`})]})}exports.WakaSliderRange=f,exports.default=f,exports.useSliderRange=l;
@@ -34,8 +34,8 @@ function u(e = {}) {
34
34
  let [e, t] = n;
35
35
  return [a(o(e, s, r), r, i), a(o(t, s, r), r, i)];
36
36
  }), d = t.useCallback((e) => {
37
- let [t, n] = e, l = a(o(t, s, r), r, i - c);
38
- u([l, a(o(n, s, r), l + c, i)]);
37
+ let [t, n] = e, l = a(o(t, s, r), r, i - c), d = a(o(n, s, r), l + c, i);
38
+ u([l, d]);
39
39
  }, [
40
40
  r,
41
41
  i,
@@ -379,4 +379,4 @@ function p({ min: u = 0, max: p = 100, step: m = 1, value: h, defaultValue: ee =
379
379
  });
380
380
  }
381
381
  //#endregion
382
- export { p as default, u as useSliderRange };
382
+ export { p as WakaSliderRange, p as default, u as useSliderRange };
@@ -1,4 +1,4 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i(e){if(typeof e==`number`)return e;switch(e){case`sm`:return 240;case`lg`:return 400;default:return 320}}function a(e){let t=e.reduce((e,t)=>e+(t.weight??1),0);return e.map(e=>(e.weight??1)/t*360)}function o(e){let t=e.reduce((e,t)=>e+(t.weight??1),0),n=Math.random()*t;for(let t=0;t<e.length;t++)if(n-=e[t].weight??1,n<=0)return t;return e.length-1}function s(e,t,n){let r=0;for(let n=0;n<e;n++)r+=t[n];let i=r+t[e]/2;return{top:90,right:0,bottom:270,left:180}[n]-i}function c(e){if(!e.startsWith(`#`))return`#ffffff`;let t=e.replace(`#`,``),n=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2,2),16),i=parseInt(t.substr(4,2),16);return(.299*n+.587*r+.114*i)/255>.5?`#1f2937`:`#ffffff`}function l(e){return 1-(1-e)**3}var u=n.forwardRef(({segments:e,onSpin:u,onResult:d,onTick:f,onSlowDown:p,spinning:m,result:h,spinDuration:g=5e3,rotations:_=5,size:v=`md`,disabled:y=!1,centerContent:b,className:x,showLabels:S=!0,pointerPosition:C=`top`,customPointer:w,...T},E)=>{let D=i(v),O=n.useMemo(()=>a(e),[e]),[k,A]=n.useState(!1),[j,M]=n.useState(null),N=m!==void 0,P=N?m:k,[F,I]=n.useState(0),[L,R]=n.useState(null),[z,B]=n.useState(!1),V=n.useRef(null),H=n.useRef(0),U=n.useRef(!1),W=n.useCallback((e,t)=>{let n=t,r=t,i=-90;for(let t=0;t<e;t++)i+=O[t];let a=i+O[e],o=i*Math.PI/180,s=a*Math.PI/180,c=n+t*Math.cos(o),l=r+t*Math.sin(o),u=n+t*Math.cos(s),d=r+t*Math.sin(s);return`M ${n} ${r} L ${c} ${l} A ${t} ${t} 0 ${+(O[e]>180)} 1 ${u} ${d} Z`},[O]),G=n.useCallback((e,t)=>{let n=t,r=t,i=-90;for(let t=0;t<e;t++)i+=O[t];i+=O[e]/2;let a=t*.65,o=i*Math.PI/180;return{x:n+a*Math.cos(o),y:r+a*Math.sin(o),angle:i}},[O]),K=n.useCallback(()=>{if(P||y||e.length===0)return;B(!1),U.current=!1,u?.();let t;h?(t=e.findIndex(e=>e.id===h),t===-1&&(t=o(e))):t=o(e),R(t),N||(A(!0),M(e[t].id));let n=s(t,O,C),r=F+_*360+(n-F%360+360)%360,i=performance.now(),a=F,c=r-a,m=n=>{let o=n-i,s=Math.min(o/g,1),u=a+c*l(s);if(I(u),f){let t=360/e.length,n=(u%360+360)%360,r=(H.current%360+360)%360;Math.floor(n/t)!==Math.floor(r/t)&&s<.9&&f()}H.current=u,s>=.7&&!U.current&&(U.current=!0,p?.()),s<1?V.current=requestAnimationFrame(m):(I(r),B(!0),N||A(!1),d?.(e[t]))};V.current=requestAnimationFrame(m)},[P,y,e,u,h,N,O,C,_,F,g,f,p,d]);n.useEffect(()=>()=>{V.current&&cancelAnimationFrame(V.current)},[]);let q=()=>{if(w)return w;let e=D*.08;return(0,r.jsx)(`div`,{className:`absolute z-10 drop-shadow-lg`,style:{top:{top:-e/2,left:`50%`,transform:`translateX(-50%) rotate(180deg)`},right:{top:`50%`,right:-e/2,transform:`translateY(-50%) rotate(-90deg)`},bottom:{bottom:-e/2,left:`50%`,transform:`translateX(-50%)`},left:{top:`50%`,left:-e/2,transform:`translateY(-50%) rotate(90deg)`}}[C],children:(0,r.jsxs)(`svg`,{width:e,height:e*1.2,viewBox:`0 0 40 48`,fill:`none`,children:[(0,r.jsx)(`path`,{d:`M20 48L0 8L8 0H32L40 8L20 48Z`,fill:`currentColor`,className:`text-gray-900 dark:text-white`}),(0,r.jsx)(`path`,{d:`M20 44L4 10L10 4H30L36 10L20 44Z`,fill:`currentColor`,className:`text-amber-400`})]})})},J=D/2,Y=D*.22;return(0,r.jsxs)(`div`,{ref:E,className:t.cn(`relative inline-flex items-center justify-center select-none`,x),style:{width:D,height:D},...T,children:[q(),(0,r.jsx)(`div`,{className:`absolute rounded-full shadow-2xl`,style:{width:D+16,height:D+16,background:`linear-gradient(135deg, #374151 0%, #1f2937 50%, #111827 100%)`},children:Array.from({length:24}).map((e,t)=>{let n=t*15*Math.PI/180,i=(D+16)/2-6,a=i+i*Math.cos(n),o=i+i*Math.sin(n);return(0,r.jsx)(`div`,{className:`absolute w-2 h-2 rounded-full bg-amber-400/60`,style:{left:a-4,top:o-4}},t)})}),(0,r.jsx)(`div`,{className:`absolute rounded-full overflow-hidden shadow-inner`,style:{width:D,height:D,transform:`rotate(${F}deg)`,transition:P?`none`:`transform 0.1s ease-out`},children:(0,r.jsx)(`svg`,{width:D,height:D,viewBox:`0 0 ${D} ${D}`,children:e.map((e,n)=>{let i=z&&n===L;return(0,r.jsxs)(`g`,{children:[(0,r.jsx)(`path`,{d:W(n,J),fill:e.color,stroke:`#1f2937`,strokeWidth:`2`,className:t.cn(`transition-all duration-300`,i&&`brightness-125`)}),i&&(0,r.jsx)(`path`,{d:W(n,J),fill:`none`,stroke:`#fbbf24`,strokeWidth:`4`,className:`animate-pulse`}),S&&(0,r.jsx)(`g`,{children:(()=>{let{x:t,y:i,angle:a}=G(n,J),o=c(e.color),s=a>90&&a<270?a+180:a;return(0,r.jsxs)(`g`,{transform:`translate(${t}, ${i})`,children:[e.icon&&(0,r.jsx)(`foreignObject`,{x:-12,y:-24,width:24,height:24,transform:`rotate(${-F})`,style:{overflow:`visible`},children:(0,r.jsx)(`div`,{className:`flex items-center justify-center w-6 h-6`,children:e.icon})}),(0,r.jsx)(`text`,{x:0,y:e.icon?8:0,textAnchor:`middle`,dominantBaseline:`middle`,fill:o,fontSize:Math.max(10,D/28),fontWeight:`600`,transform:`rotate(${s-a})`,className:`pointer-events-none`,style:{textShadow:`0 1px 2px rgba(0,0,0,0.3)`},children:e.label.length>10?e.label.substring(0,9)+`...`:e.label})]})})()})]},e.id)})})}),(0,r.jsx)(`button`,{type:`button`,onClick:K,disabled:P||y,className:t.cn(`absolute z-20 rounded-full flex items-center justify-center`,`bg-gradient-to-b from-amber-400 via-amber-500 to-amber-600`,`shadow-lg border-4 border-amber-300`,`transition-all duration-200`,`hover:scale-105 hover:from-amber-300 hover:via-amber-400 hover:to-amber-500`,`active:scale-95`,`focus:outline-none focus:ring-4 focus:ring-amber-400/50`,(P||y)&&`opacity-70 cursor-not-allowed hover:scale-100`),style:{width:Y,height:Y},"aria-label":`Spin the wheel`,children:b??(0,r.jsx)(`span`,{className:t.cn(`font-bold text-amber-900 uppercase tracking-wide`,P&&`animate-pulse`),style:{fontSize:Y*.25},children:P?`...`:`SPIN`})}),z&&L!==null&&(0,r.jsx)(`div`,{className:`absolute inset-0 pointer-events-none`,style:{animation:`spin-wheel-celebrate 0.5s ease-out`},children:Array.from({length:12}).map((t,n)=>{let i=n*30*Math.PI/180,a=D*.6;return(0,r.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full`,style:{left:`50%`,top:`50%`,backgroundColor:e[L].color,transform:`translate(-50%, -50%) translate(${Math.cos(i)*a}px, ${Math.sin(i)*a}px)`,animation:`spin-wheel-particle 0.6s ease-out ${n*.05}s forwards`,opacity:0}},n)})}),(0,r.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("react/jsx-runtime");function i(e){if(typeof e==`number`)return e;switch(e){case`sm`:return 240;case`lg`:return 400;default:return 320}}function a(e){let t=e.reduce((e,t)=>e+(t.weight??1),0);return e.map(e=>(e.weight??1)/t*360)}function o(e){let t=e.reduce((e,t)=>e+(t.weight??1),0),n=Math.random()*t;for(let t=0;t<e.length;t++)if(n-=e[t].weight??1,n<=0)return t;return e.length-1}function s(e,t,n){let r=0;for(let n=0;n<e;n++)r+=t[n];let i=r+t[e]/2;return{top:90,right:0,bottom:270,left:180}[n]-i}function c(e){if(!e.startsWith(`#`))return`#ffffff`;let t=e.replace(`#`,``),n=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2,2),16),i=parseInt(t.substr(4,2),16);return(.299*n+.587*r+.114*i)/255>.5?`#1f2937`:`#ffffff`}function l(e){return 1-(1-e)**3}var u=n.forwardRef(({segments:e,onSpin:u,onResult:d,onTick:f,onSlowDown:p,spinning:m,result:h,spinDuration:g=5e3,rotations:_=5,size:v=`md`,disabled:y=!1,centerContent:b,className:x,showLabels:S=!0,pointerPosition:C=`top`,customPointer:w,...T},E)=>{let D=i(v),O=n.useMemo(()=>a(e),[e]),[k,A]=n.useState(!1),[j,M]=n.useState(null),N=m!==void 0,P=N?m:k,[F,I]=n.useState(0),[L,R]=n.useState(null),[z,B]=n.useState(!1),V=n.useRef(null),H=n.useRef(0),U=n.useRef(!1),W=n.useCallback((e,t)=>{let n=t,r=t,i=-90;for(let t=0;t<e;t++)i+=O[t];let a=i+O[e],o=i*Math.PI/180,s=a*Math.PI/180,c=n+t*Math.cos(o),l=r+t*Math.sin(o),u=n+t*Math.cos(s),d=r+t*Math.sin(s);return`M ${n} ${r} L ${c} ${l} A ${t} ${t} 0 ${+(O[e]>180)} 1 ${u} ${d} Z`},[O]),G=n.useCallback((e,t)=>{let n=t,r=t,i=-90;for(let t=0;t<e;t++)i+=O[t];i+=O[e]/2;let a=t*.65,o=i*Math.PI/180;return{x:n+a*Math.cos(o),y:r+a*Math.sin(o),angle:i}},[O]),K=n.useCallback(()=>{if(P||y||e.length===0)return;B(!1),U.current=!1,u?.();let t;h?(t=e.findIndex(e=>e.id===h),t===-1&&(t=o(e))):t=o(e),R(t),N||(A(!0),M(e[t].id));let n=s(t,O,C),r=_*360,i=F+r+(n-F%360+360)%360,a=performance.now(),c=F,m=i-c,v=n=>{let r=n-a,o=Math.min(r/g,1),s=l(o),u=c+m*s;if(I(u),f){let t=360/e.length,n=(u%360+360)%360,r=(H.current%360+360)%360;Math.floor(n/t)!==Math.floor(r/t)&&o<.9&&f()}H.current=u,o>=.7&&!U.current&&(U.current=!0,p?.()),o<1?V.current=requestAnimationFrame(v):(I(i),B(!0),N||A(!1),d?.(e[t]))};V.current=requestAnimationFrame(v)},[P,y,e,u,h,N,O,C,_,F,g,f,p,d]);n.useEffect(()=>()=>{V.current&&cancelAnimationFrame(V.current)},[]);let q=()=>{if(w)return w;let e=D*.08;return(0,r.jsx)(`div`,{className:`absolute z-10 drop-shadow-lg`,style:{top:{top:-e/2,left:`50%`,transform:`translateX(-50%) rotate(180deg)`},right:{top:`50%`,right:-e/2,transform:`translateY(-50%) rotate(-90deg)`},bottom:{bottom:-e/2,left:`50%`,transform:`translateX(-50%)`},left:{top:`50%`,left:-e/2,transform:`translateY(-50%) rotate(90deg)`}}[C],children:(0,r.jsxs)(`svg`,{width:e,height:e*1.2,viewBox:`0 0 40 48`,fill:`none`,children:[(0,r.jsx)(`path`,{d:`M20 48L0 8L8 0H32L40 8L20 48Z`,fill:`currentColor`,className:`text-gray-900 dark:text-white`}),(0,r.jsx)(`path`,{d:`M20 44L4 10L10 4H30L36 10L20 44Z`,fill:`currentColor`,className:`text-amber-400`})]})})},J=D/2,Y=D*.22;return(0,r.jsxs)(`div`,{ref:E,className:t.cn(`relative inline-flex items-center justify-center select-none`,x),style:{width:D,height:D},...T,children:[q(),(0,r.jsx)(`div`,{className:`absolute rounded-full shadow-2xl`,style:{width:D+16,height:D+16,background:`linear-gradient(135deg, #374151 0%, #1f2937 50%, #111827 100%)`},children:Array.from({length:24}).map((e,t)=>{let n=t*15*Math.PI/180,i=(D+16)/2-6,a=i+i*Math.cos(n),o=i+i*Math.sin(n);return(0,r.jsx)(`div`,{className:`absolute w-2 h-2 rounded-full bg-amber-400/60`,style:{left:a-4,top:o-4}},t)})}),(0,r.jsx)(`div`,{className:`absolute rounded-full overflow-hidden shadow-inner`,style:{width:D,height:D,transform:`rotate(${F}deg)`,transition:P?`none`:`transform 0.1s ease-out`},children:(0,r.jsx)(`svg`,{width:D,height:D,viewBox:`0 0 ${D} ${D}`,children:e.map((e,n)=>{let i=z&&n===L;return(0,r.jsxs)(`g`,{children:[(0,r.jsx)(`path`,{d:W(n,J),fill:e.color,stroke:`#1f2937`,strokeWidth:`2`,className:t.cn(`transition-all duration-300`,i&&`brightness-125`)}),i&&(0,r.jsx)(`path`,{d:W(n,J),fill:`none`,stroke:`#fbbf24`,strokeWidth:`4`,className:`animate-pulse`}),S&&(0,r.jsx)(`g`,{children:(()=>{let{x:t,y:i,angle:a}=G(n,J),o=c(e.color),s=a>90&&a<270?a+180:a;return(0,r.jsxs)(`g`,{transform:`translate(${t}, ${i})`,children:[e.icon&&(0,r.jsx)(`foreignObject`,{x:-12,y:-24,width:24,height:24,transform:`rotate(${-F})`,style:{overflow:`visible`},children:(0,r.jsx)(`div`,{className:`flex items-center justify-center w-6 h-6`,children:e.icon})}),(0,r.jsx)(`text`,{x:0,y:e.icon?8:0,textAnchor:`middle`,dominantBaseline:`middle`,fill:o,fontSize:Math.max(10,D/28),fontWeight:`600`,transform:`rotate(${s-a})`,className:`pointer-events-none`,style:{textShadow:`0 1px 2px rgba(0,0,0,0.3)`},children:e.label.length>10?e.label.substring(0,9)+`...`:e.label})]})})()})]},e.id)})})}),(0,r.jsx)(`button`,{type:`button`,onClick:K,disabled:P||y,className:t.cn(`absolute z-20 rounded-full flex items-center justify-center`,`bg-gradient-to-b from-amber-400 via-amber-500 to-amber-600`,`shadow-lg border-4 border-amber-300`,`transition-all duration-200`,`hover:scale-105 hover:from-amber-300 hover:via-amber-400 hover:to-amber-500`,`active:scale-95`,`focus:outline-none focus:ring-4 focus:ring-amber-400/50`,(P||y)&&`opacity-70 cursor-not-allowed hover:scale-100`),style:{width:Y,height:Y},"aria-label":`Spin the wheel`,children:b??(0,r.jsx)(`span`,{className:t.cn(`font-bold text-amber-900 uppercase tracking-wide`,P&&`animate-pulse`),style:{fontSize:Y*.25},children:P?`...`:`SPIN`})}),z&&L!==null&&(0,r.jsx)(`div`,{className:`absolute inset-0 pointer-events-none`,style:{animation:`spin-wheel-celebrate 0.5s ease-out`},children:Array.from({length:12}).map((t,n)=>{let i=n*30*Math.PI/180,a=D*.6;return(0,r.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full`,style:{left:`50%`,top:`50%`,backgroundColor:e[L].color,transform:`translate(-50%, -50%) translate(${Math.cos(i)*a}px, ${Math.sin(i)*a}px)`,animation:`spin-wheel-particle 0.6s ease-out ${n*.05}s forwards`,opacity:0}},n)})}),(0,r.jsx)(`style`,{children:`
2
2
  @keyframes spin-wheel-celebrate {
3
3
  0% {
4
4
  transform: scale(1);
@@ -21,4 +21,4 @@
21
21
  transform: translate(-50%, -50%) scale(0) translateY(-20px);
22
22
  }
23
23
  }
24
- `})]})});u.displayName=`WakaSpinWheel`,exports.default=u;
24
+ `})]})});u.displayName=`WakaSpinWheel`,exports.WakaSpinWheel=u,exports.default=u;
@@ -61,15 +61,15 @@ var u = t.forwardRef(({ segments: u, onSpin: d, onResult: f, onTick: p, onSlowDo
61
61
  V(!1), W.current = !1, d?.();
62
62
  let e;
63
63
  g ? (e = u.findIndex((e) => e.id === g), e === -1 && (e = o(u))) : e = o(u), z(e), P || (j(!0), N(u[e].id));
64
- let t = s(e, k, w), n = I + v * 360 + (t - I % 360 + 360) % 360, r = performance.now(), i = I, a = n - i, c = (t) => {
65
- let o = t - r, s = Math.min(o / _, 1), d = i + a * l(s);
64
+ let t = s(e, k, w), n = v * 360, r = I + n + (t - I % 360 + 360) % 360, i = performance.now(), a = I, c = r - a, h = (t) => {
65
+ let n = t - i, o = Math.min(n / _, 1), s = l(o), d = a + c * s;
66
66
  if (L(d), p) {
67
67
  let e = 360 / u.length, t = (d % 360 + 360) % 360, n = (U.current % 360 + 360) % 360;
68
- Math.floor(t / e) !== Math.floor(n / e) && s < .9 && p();
68
+ Math.floor(t / e) !== Math.floor(n / e) && o < .9 && p();
69
69
  }
70
- U.current = d, s >= .7 && !W.current && (W.current = !0, m?.()), s < 1 ? H.current = requestAnimationFrame(c) : (L(n), V(!0), P || j(!1), f?.(u[e]));
70
+ U.current = d, o >= .7 && !W.current && (W.current = !0, m?.()), o < 1 ? H.current = requestAnimationFrame(h) : (L(r), V(!0), P || j(!1), f?.(u[e]));
71
71
  };
72
- H.current = requestAnimationFrame(c);
72
+ H.current = requestAnimationFrame(h);
73
73
  }, [
74
74
  F,
75
75
  b,
@@ -264,4 +264,4 @@ var u = t.forwardRef(({ segments: u, onSpin: d, onResult: f, onTick: p, onSlowDo
264
264
  });
265
265
  u.displayName = "WakaSpinWheel";
266
266
  //#endregion
267
- export { u as default };
267
+ export { u as WakaSpinWheel, u 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(`class-variance-authority`),i=require(`react/jsx-runtime`);var a=(0,r.cva)(`relative inline-flex items-center justify-center`,{variants:{size:{sm:`w-12 h-12`,md:`w-16 h-16`,lg:`w-24 h-24`,xl:`w-32 h-32`}},defaultVariants:{size:`md`}}),o=n.forwardRef(({className:e,size:n,showAsteroids:r=!0,speed:o=2,rocketColor:c=`text-primary`,asteroidColor:l=`text-muted-foreground`,...u},d)=>{let f={sm:{orbit:40,rocket:16,asteroid:6},md:{orbit:56,rocket:20,asteroid:8},lg:{orbit:88,rocket:28,asteroid:12},xl:{orbit:120,rocket:36,asteroid:16}}[n||`md`],p=f.orbit,m=f.orbit;return(0,i.jsxs)(`div`,{ref:d,className:t.cn(a({size:n,className:e})),role:`status`,"aria-label":`Chargement en cours`,...u,children:[(0,i.jsxs)(`svg`,{width:f.orbit*2,height:f.orbit*2,viewBox:`0 0 ${f.orbit*2} ${f.orbit*2}`,className:`overflow-visible`,children:[(0,i.jsx)(`circle`,{cx:p,cy:m,r:f.orbit-f.rocket,fill:`none`,stroke:`currentColor`,strokeWidth:`1`,strokeDasharray:`4 4`,className:`opacity-20`}),r&&(0,i.jsxs)(`g`,{className:l,children:[(0,i.jsx)(`g`,{style:{animation:`waka-float ${o*1.5}s ease-in-out infinite`,transformOrigin:`${p+f.orbit*.6}px ${m-f.orbit*.5}px`},children:(0,i.jsx)(`polygon`,{points:s(p+f.orbit*.6,m-f.orbit*.5,f.asteroid),fill:`currentColor`,opacity:`0.3`})}),(0,i.jsx)(`g`,{style:{animation:`waka-float ${o*2}s ease-in-out infinite 0.5s`,transformOrigin:`${p-f.orbit*.7}px ${m+f.orbit*.4}px`},children:(0,i.jsx)(`polygon`,{points:s(p-f.orbit*.7,m+f.orbit*.4,f.asteroid*.8),fill:`currentColor`,opacity:`0.3`})}),(0,i.jsx)(`g`,{style:{animation:`waka-float ${o*1.8}s ease-in-out infinite 1s`,transformOrigin:`${p-f.orbit*.8}px ${m-f.orbit*.2}px`},children:(0,i.jsx)(`polygon`,{points:s(p-f.orbit*.8,m-f.orbit*.2,f.asteroid*.6),fill:`currentColor`,opacity:`0.3`})})]}),(0,i.jsx)(`g`,{className:c,style:{animation:`waka-orbit ${o}s linear infinite`,transformOrigin:`${p}px ${m}px`},children:(0,i.jsxs)(`g`,{transform:`translate(${p}, ${m-f.orbit+f.rocket/2})`,children:[(0,i.jsx)(`path`,{d:`M 0,-${f.rocket/2} L ${f.rocket/4},-${f.rocket/6} L ${f.rocket/4},${f.rocket/3} L 0,${f.rocket/2} L -${f.rocket/4},${f.rocket/3} L -${f.rocket/4},-${f.rocket/6} Z`,fill:`currentColor`}),(0,i.jsx)(`circle`,{cx:`0`,cy:-f.rocket/6,r:f.rocket/8,fill:`white`,opacity:`0.8`}),(0,i.jsxs)(`g`,{opacity:`0.8`,children:[(0,i.jsx)(`path`,{d:`M -${f.rocket/6},${f.rocket/2} L -${f.rocket/8},${f.rocket/1.5} L 0,${f.rocket/2} Z`,fill:`#FF6B35`,style:{animation:`waka-flicker ${o/4}s ease-in-out infinite`}}),(0,i.jsx)(`path`,{d:`M 0,${f.rocket/2} L ${f.rocket/8},${f.rocket/1.5} L ${f.rocket/6},${f.rocket/2} Z`,fill:`#FF6B35`,style:{animation:`waka-flicker ${o/4}s ease-in-out infinite 0.1s`}}),(0,i.jsx)(`path`,{d:`M -${f.rocket/12},${f.rocket/2} L 0,${f.rocket/1.3} L ${f.rocket/12},${f.rocket/2} Z`,fill:`#FFA500`,style:{animation:`waka-flicker ${o/4}s ease-in-out infinite 0.05s`}})]})]})}),[...[,,,]].map((e,t)=>(0,i.jsx)(`circle`,{cx:p+(t-1)*f.orbit*.3,cy:m-f.orbit*1.2,r:`1`,fill:`currentColor`,className:`opacity-40`,style:{animation:`waka-twinkle ${o*1.5}s ease-in-out infinite ${t*.3}s`}},t))]}),(0,i.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`relative inline-flex items-center justify-center`,{variants:{size:{sm:`w-12 h-12`,md:`w-16 h-16`,lg:`w-24 h-24`,xl:`w-32 h-32`}},defaultVariants:{size:`md`}}),o=n.forwardRef(({className:e,size:n,showAsteroids:r=!0,speed:o=2,rocketColor:c=`text-primary`,asteroidColor:l=`text-muted-foreground`,...u},d)=>{let f={sm:{orbit:40,rocket:16,asteroid:6},md:{orbit:56,rocket:20,asteroid:8},lg:{orbit:88,rocket:28,asteroid:12},xl:{orbit:120,rocket:36,asteroid:16}}[n||`md`],p=f.orbit,m=f.orbit;return(0,i.jsxs)(`div`,{ref:d,className:t.cn(a({size:n,className:e})),role:`status`,"aria-label":`Chargement en cours`,...u,children:[(0,i.jsxs)(`svg`,{width:f.orbit*2,height:f.orbit*2,viewBox:`0 0 ${f.orbit*2} ${f.orbit*2}`,className:`overflow-visible`,children:[(0,i.jsx)(`circle`,{cx:p,cy:m,r:f.orbit-f.rocket,fill:`none`,stroke:`currentColor`,strokeWidth:`1`,strokeDasharray:`4 4`,className:`opacity-20`}),r&&(0,i.jsxs)(`g`,{className:l,children:[(0,i.jsx)(`g`,{style:{animation:`waka-float ${o*1.5}s ease-in-out infinite`,transformOrigin:`${p+f.orbit*.6}px ${m-f.orbit*.5}px`},children:(0,i.jsx)(`polygon`,{points:s(p+f.orbit*.6,m-f.orbit*.5,f.asteroid),fill:`currentColor`,opacity:`0.3`})}),(0,i.jsx)(`g`,{style:{animation:`waka-float ${o*2}s ease-in-out infinite 0.5s`,transformOrigin:`${p-f.orbit*.7}px ${m+f.orbit*.4}px`},children:(0,i.jsx)(`polygon`,{points:s(p-f.orbit*.7,m+f.orbit*.4,f.asteroid*.8),fill:`currentColor`,opacity:`0.3`})}),(0,i.jsx)(`g`,{style:{animation:`waka-float ${o*1.8}s ease-in-out infinite 1s`,transformOrigin:`${p-f.orbit*.8}px ${m-f.orbit*.2}px`},children:(0,i.jsx)(`polygon`,{points:s(p-f.orbit*.8,m-f.orbit*.2,f.asteroid*.6),fill:`currentColor`,opacity:`0.3`})})]}),(0,i.jsx)(`g`,{className:c,style:{animation:`waka-orbit ${o}s linear infinite`,transformOrigin:`${p}px ${m}px`},children:(0,i.jsxs)(`g`,{transform:`translate(${p}, ${m-f.orbit+f.rocket/2})`,children:[(0,i.jsx)(`path`,{d:`M 0,-${f.rocket/2} L ${f.rocket/4},-${f.rocket/6} L ${f.rocket/4},${f.rocket/3} L 0,${f.rocket/2} L -${f.rocket/4},${f.rocket/3} L -${f.rocket/4},-${f.rocket/6} Z`,fill:`currentColor`}),(0,i.jsx)(`circle`,{cx:`0`,cy:-f.rocket/6,r:f.rocket/8,fill:`white`,opacity:`0.8`}),(0,i.jsxs)(`g`,{opacity:`0.8`,children:[(0,i.jsx)(`path`,{d:`M -${f.rocket/6},${f.rocket/2} L -${f.rocket/8},${f.rocket/1.5} L 0,${f.rocket/2} Z`,fill:`#FF6B35`,style:{animation:`waka-flicker ${o/4}s ease-in-out infinite`}}),(0,i.jsx)(`path`,{d:`M 0,${f.rocket/2} L ${f.rocket/8},${f.rocket/1.5} L ${f.rocket/6},${f.rocket/2} Z`,fill:`#FF6B35`,style:{animation:`waka-flicker ${o/4}s ease-in-out infinite 0.1s`}}),(0,i.jsx)(`path`,{d:`M -${f.rocket/12},${f.rocket/2} L 0,${f.rocket/1.3} L ${f.rocket/12},${f.rocket/2} Z`,fill:`#FFA500`,style:{animation:`waka-flicker ${o/4}s ease-in-out infinite 0.05s`}})]})]})}),[...[,,,]].map((e,t)=>(0,i.jsx)(`circle`,{cx:p+(t-1)*f.orbit*.3,cy:m-f.orbit*1.2,r:`1`,fill:`currentColor`,className:`opacity-40`,style:{animation:`waka-twinkle ${o*1.5}s ease-in-out infinite ${t*.3}s`}},t))]}),(0,i.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
2
2
  @keyframes waka-orbit {
3
3
  from { transform: rotate(0deg); }
4
4
  to { transform: rotate(360deg); }
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i({sponsor:e,variant:n=`default`,size:i=`sm`,showIcon:a=!0,label:o=`Sponsored`,className:s,onInfoClick:c}){return(0,r.jsxs)(`span`,{className:t.cn(`inline-flex items-center rounded border font-medium`,{default:`bg-muted text-muted-foreground border-transparent`,subtle:`bg-black/50 text-white border-transparent backdrop-blur-sm`,outline:`bg-transparent text-muted-foreground border-muted-foreground/30`,dark:`bg-black/70 text-white border-transparent`}[n],{sm:`text-[10px] px-1.5 py-0.5 gap-1`,md:`text-xs px-2 py-1 gap-1.5`,lg:`text-sm px-2.5 py-1 gap-2`}[i],s),children:[(0,r.jsx)(`span`,{className:`whitespace-nowrap`,children:e?`${o} by ${e}`:o}),a&&(0,r.jsx)(`button`,{onClick:e=>{e.preventDefault(),e.stopPropagation(),c?.()},className:t.cn(`rounded-full hover:opacity-70 transition-opacity focus:outline-none focus:ring-1 focus:ring-current`,{sm:`h-2.5 w-2.5`,md:`h-3 w-3`,lg:`h-3.5 w-3.5`}[i]),"aria-label":`Why am I seeing this ad?`,children:(0,r.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,className:`w-full h-full`,children:[(0,r.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,r.jsx)(`path`,{d:`M12 16v-4`}),(0,r.jsx)(`path`,{d:`M12 8h.01`})]})})]})}exports.default=i;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime");function i({sponsor:e,variant:n=`default`,size:i=`sm`,showIcon:a=!0,label:o=`Sponsored`,className:s,onInfoClick:c}){return(0,r.jsxs)(`span`,{className:t.cn(`inline-flex items-center rounded border font-medium`,{default:`bg-muted text-muted-foreground border-transparent`,subtle:`bg-black/50 text-white border-transparent backdrop-blur-sm`,outline:`bg-transparent text-muted-foreground border-muted-foreground/30`,dark:`bg-black/70 text-white border-transparent`}[n],{sm:`text-[10px] px-1.5 py-0.5 gap-1`,md:`text-xs px-2 py-1 gap-1.5`,lg:`text-sm px-2.5 py-1 gap-2`}[i],s),children:[(0,r.jsx)(`span`,{className:`whitespace-nowrap`,children:e?`${o} by ${e}`:o}),a&&(0,r.jsx)(`button`,{onClick:e=>{e.preventDefault(),e.stopPropagation(),c?.()},className:t.cn(`rounded-full hover:opacity-70 transition-opacity focus:outline-none focus:ring-1 focus:ring-current`,{sm:`h-2.5 w-2.5`,md:`h-3 w-3`,lg:`h-3.5 w-3.5`}[i]),"aria-label":`Why am I seeing this ad?`,children:(0,r.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,className:`w-full h-full`,children:[(0,r.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,r.jsx)(`path`,{d:`M12 16v-4`}),(0,r.jsx)(`path`,{d:`M12 8h.01`})]})})]})}exports.WakaSponsoredBadge=i,exports.default=i;
@@ -49,4 +49,4 @@ function r({ sponsor: r, variant: i = "default", size: a = "sm", showIcon: o = !
49
49
  });
50
50
  }
51
51
  //#endregion
52
- export { r as default };
52
+ export { r as WakaSponsoredBadge, r 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(`../waka-ad-provider/index.cjs.js`),r=require(`../waka-sponsored-badge/index.cjs.js`);let i=require(`react`);i=e.__toESM(i);let a=require(`lucide-react`),o=require(`react/jsx-runtime`);function s({slotId:e,variant:s=`article`,adUnitPath:c,showImage:l=!0,showDescription:u=!0,showCta:d=!0,aspectRatio:f=`video`,className:p,onClick:m,onLoad:h}){let g=(0,i.useRef)(null),{config:_,isReady:v,hasConsent:y,getCustomAd:b,trackEvent:x}=n.useAdContext(),{isVisible:S}=n.useAdVisibility(g),[C,w]=(0,i.useState)(`loading`),[T,E]=(0,i.useState)(null);(0,i.useEffect)(()=>{!v||!S||y===!1||(async()=>{try{let t=await b(e);t?(E(t),w(`loaded`),x({type:`loaded`,slotId:e,timestamp:new Date}),x({type:`impression`,slotId:e,timestamp:new Date}),h?.(),t.impressionUrl&&fetch(t.impressionUrl,{mode:`no-cors`}).catch(()=>{})):w(`error`)}catch{w(`error`)}})()},[v,S,y,e,b,x,h]);let D=(0,i.useCallback)(()=>{T&&(x({type:`click`,slotId:e,timestamp:new Date}),m?.(),T.clickUrl&&fetch(T.clickUrl,{mode:`no-cors`}).catch(()=>{}),T.targetUrl&&window.open(T.targetUrl,`_blank`,`noopener,noreferrer`))},[T,e,x,m]),O={video:`aspect-video`,square:`aspect-square`,portrait:`aspect-[3/4]`};return C===`error`||!T?null:C===`loading`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`rounded-lg border bg-muted animate-pulse`,s===`horizontal`?`h-32`:`h-64`,p)}):s===`horizontal`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full flex gap-4 p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors text-left`,children:[l&&T.imageUrl&&(0,o.jsx)(`div`,{className:`w-24 h-24 flex-shrink-0 rounded-md overflow-hidden bg-muted`,children:(0,o.jsx)(`img`,{src:T.imageUrl,alt:``,className:`w-full h-full object-cover`})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,o.jsxs)(`div`,{className:`flex items-start justify-between gap-2 mb-1`,children:[(0,o.jsx)(`h3`,{className:`font-semibold text-sm line-clamp-2 group-hover:text-primary transition-colors`,children:T.title}),(0,o.jsx)(r.default,{sponsor:T.sponsor,size:`sm`,showIcon:!1})]}),u&&T.description&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2 mb-2`,children:T.description}),d&&T.cta&&(0,o.jsxs)(`span`,{className:`text-xs text-primary font-medium inline-flex items-center gap-1`,children:[T.cta,(0,o.jsx)(a.ExternalLink,{className:`h-3 w-3`})]})]})]})}):s===`compact`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full p-2 rounded-lg border bg-card hover:bg-accent/50 transition-colors text-left`,children:[(0,o.jsx)(`div`,{className:`flex items-center gap-2 mb-1`,children:(0,o.jsx)(r.default,{sponsor:T.sponsor,size:`sm`,showIcon:!1})}),(0,o.jsx)(`h3`,{className:`font-medium text-sm line-clamp-2 group-hover:text-primary transition-colors`,children:T.title})]})}):s===`product`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full rounded-lg border bg-card overflow-hidden hover:shadow-md transition-shadow text-left`,children:[l&&T.imageUrl&&(0,o.jsxs)(`div`,{className:t.cn(`relative bg-muted`,O[f]),children:[(0,o.jsx)(`img`,{src:T.imageUrl,alt:``,className:`absolute inset-0 w-full h-full object-cover`}),(0,o.jsx)(`div`,{className:`absolute top-2 left-2`,children:(0,o.jsx)(r.default,{variant:`subtle`,size:`sm`,showIcon:!1})})]}),(0,o.jsxs)(`div`,{className:`p-4`,children:[(0,o.jsx)(`h3`,{className:`font-semibold text-sm mb-1 group-hover:text-primary transition-colors line-clamp-2`,children:T.title}),u&&T.description&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2 mb-3`,children:T.description}),d&&T.cta&&(0,o.jsx)(`span`,{className:`inline-flex items-center justify-center w-full px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors`,children:T.cta})]})]})}):(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full rounded-lg border bg-card overflow-hidden hover:shadow-md transition-shadow text-left`,children:[l&&T.imageUrl&&(0,o.jsxs)(`div`,{className:t.cn(`relative bg-muted`,O[f]),children:[(0,o.jsx)(`img`,{src:T.imageUrl,alt:``,className:`absolute inset-0 w-full h-full object-cover group-hover:scale-105 transition-transform duration-300`}),(0,o.jsx)(`div`,{className:`absolute top-2 right-2`,children:(0,o.jsx)(r.default,{variant:`subtle`,size:`sm`})})]}),(0,o.jsxs)(`div`,{className:`p-4`,children:[!l&&(0,o.jsx)(`div`,{className:`mb-2`,children:(0,o.jsx)(r.default,{sponsor:T.sponsor,size:`sm`})}),(0,o.jsx)(`h3`,{className:`font-semibold mb-2 group-hover:text-primary transition-colors line-clamp-2`,children:T.title}),u&&T.description&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground line-clamp-3 mb-3`,children:T.description}),d&&T.cta&&(0,o.jsxs)(`span`,{className:`text-sm text-primary font-medium inline-flex items-center gap-1`,children:[T.cta,(0,o.jsx)(a.ExternalLink,{className:`h-4 w-4`})]})]})]})})}exports.default=s;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../waka-ad-provider/index.cjs.js"),r=require("../waka-sponsored-badge/index.cjs.js");let i=require("react");i=e.__toESM(i);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({slotId:e,variant:s=`article`,adUnitPath:c,showImage:l=!0,showDescription:u=!0,showCta:d=!0,aspectRatio:f=`video`,className:p,onClick:m,onLoad:h}){let g=(0,i.useRef)(null),{config:_,isReady:v,hasConsent:y,getCustomAd:b,trackEvent:x}=n.useAdContext(),{isVisible:S}=n.useAdVisibility(g),[C,w]=(0,i.useState)(`loading`),[T,E]=(0,i.useState)(null);(0,i.useEffect)(()=>{!v||!S||y===!1||(async()=>{try{let t=await b(e);t?(E(t),w(`loaded`),x({type:`loaded`,slotId:e,timestamp:new Date}),x({type:`impression`,slotId:e,timestamp:new Date}),h?.(),t.impressionUrl&&fetch(t.impressionUrl,{mode:`no-cors`}).catch(()=>{})):w(`error`)}catch{w(`error`)}})()},[v,S,y,e,b,x,h]);let D=(0,i.useCallback)(()=>{T&&(x({type:`click`,slotId:e,timestamp:new Date}),m?.(),T.clickUrl&&fetch(T.clickUrl,{mode:`no-cors`}).catch(()=>{}),T.targetUrl&&window.open(T.targetUrl,`_blank`,`noopener,noreferrer`))},[T,e,x,m]),O={video:`aspect-video`,square:`aspect-square`,portrait:`aspect-[3/4]`};return C===`error`||!T?null:C===`loading`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`rounded-lg border bg-muted animate-pulse`,s===`horizontal`?`h-32`:`h-64`,p)}):s===`horizontal`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full flex gap-4 p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors text-left`,children:[l&&T.imageUrl&&(0,o.jsx)(`div`,{className:`w-24 h-24 flex-shrink-0 rounded-md overflow-hidden bg-muted`,children:(0,o.jsx)(`img`,{src:T.imageUrl,alt:``,className:`w-full h-full object-cover`})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,o.jsxs)(`div`,{className:`flex items-start justify-between gap-2 mb-1`,children:[(0,o.jsx)(`h3`,{className:`font-semibold text-sm line-clamp-2 group-hover:text-primary transition-colors`,children:T.title}),(0,o.jsx)(r.WakaSponsoredBadge,{sponsor:T.sponsor,size:`sm`,showIcon:!1})]}),u&&T.description&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2 mb-2`,children:T.description}),d&&T.cta&&(0,o.jsxs)(`span`,{className:`text-xs text-primary font-medium inline-flex items-center gap-1`,children:[T.cta,(0,o.jsx)(a.ExternalLink,{className:`h-3 w-3`})]})]})]})}):s===`compact`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full p-2 rounded-lg border bg-card hover:bg-accent/50 transition-colors text-left`,children:[(0,o.jsx)(`div`,{className:`flex items-center gap-2 mb-1`,children:(0,o.jsx)(r.WakaSponsoredBadge,{sponsor:T.sponsor,size:`sm`,showIcon:!1})}),(0,o.jsx)(`h3`,{className:`font-medium text-sm line-clamp-2 group-hover:text-primary transition-colors`,children:T.title})]})}):s===`product`?(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full rounded-lg border bg-card overflow-hidden hover:shadow-md transition-shadow text-left`,children:[l&&T.imageUrl&&(0,o.jsxs)(`div`,{className:t.cn(`relative bg-muted`,O[f]),children:[(0,o.jsx)(`img`,{src:T.imageUrl,alt:``,className:`absolute inset-0 w-full h-full object-cover`}),(0,o.jsx)(`div`,{className:`absolute top-2 left-2`,children:(0,o.jsx)(r.WakaSponsoredBadge,{variant:`subtle`,size:`sm`,showIcon:!1})})]}),(0,o.jsxs)(`div`,{className:`p-4`,children:[(0,o.jsx)(`h3`,{className:`font-semibold text-sm mb-1 group-hover:text-primary transition-colors line-clamp-2`,children:T.title}),u&&T.description&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2 mb-3`,children:T.description}),d&&T.cta&&(0,o.jsx)(`span`,{className:`inline-flex items-center justify-center w-full px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors`,children:T.cta})]})]})}):(0,o.jsx)(`div`,{ref:g,className:t.cn(`group`,p),children:(0,o.jsxs)(`button`,{onClick:D,className:`w-full rounded-lg border bg-card overflow-hidden hover:shadow-md transition-shadow text-left`,children:[l&&T.imageUrl&&(0,o.jsxs)(`div`,{className:t.cn(`relative bg-muted`,O[f]),children:[(0,o.jsx)(`img`,{src:T.imageUrl,alt:``,className:`absolute inset-0 w-full h-full object-cover group-hover:scale-105 transition-transform duration-300`}),(0,o.jsx)(`div`,{className:`absolute top-2 right-2`,children:(0,o.jsx)(r.WakaSponsoredBadge,{variant:`subtle`,size:`sm`})})]}),(0,o.jsxs)(`div`,{className:`p-4`,children:[!l&&(0,o.jsx)(`div`,{className:`mb-2`,children:(0,o.jsx)(r.WakaSponsoredBadge,{sponsor:T.sponsor,size:`sm`})}),(0,o.jsx)(`h3`,{className:`font-semibold mb-2 group-hover:text-primary transition-colors line-clamp-2`,children:T.title}),u&&T.description&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground line-clamp-3 mb-3`,children:T.description}),d&&T.cta&&(0,o.jsxs)(`span`,{className:`text-sm text-primary font-medium inline-flex items-center gap-1`,children:[T.cta,(0,o.jsx)(a.ExternalLink,{className:`h-4 w-4`})]})]})]})})}exports.WakaSponsoredCard=s,exports.default=s;
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  import { cn as e } from "../../utils/cn.es.js";
4
4
  import { useAdContext as t, useAdVisibility as n } from "../waka-ad-provider/index.es.js";
5
- import r from "../waka-sponsored-badge/index.es.js";
5
+ import { WakaSponsoredBadge as r } from "../waka-sponsored-badge/index.es.js";
6
6
  import { useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
7
7
  import { ExternalLink as c } from "lucide-react";
8
8
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
@@ -195,4 +195,4 @@ function d({ slotId: d, variant: f = "article", adUnitPath: p, showImage: m = !0
195
195
  });
196
196
  }
197
197
  //#endregion
198
- export { d as default };
198
+ export { d as WakaSponsoredCard, d 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(`../waka-sponsored-card/index.cjs.js`);let r=require(`react`);r=e.__toESM(r);let i=require(`react/jsx-runtime`);function a({items:e,renderItem:r,adSlots:a,adFrequency:o=5,adStartPosition:s=2,adVariant:c=`article`,maxAds:l,columns:u=1,gap:d=`md`,className:f,keyExtractor:p}){let m={sm:`gap-2`,md:`gap-4`,lg:`gap-6`},h={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`},g=e=>{if(e<s)return null;let t=Math.floor((e-s)/(o+1));return(e-s)%(o+1)!==0||l!==void 0&&t>=l||t>=a.length?null:a[t]},_=[],v=0,y=0;for(;v<e.length;){let t=g(y);t?_.push({type:`ad`,slot:t}):(_.push({type:`content`,item:e[v],index:v}),v++),y++}return(0,i.jsx)(`div`,{className:t.cn(`grid`,h[u],m[d],f),children:_.map((e,t)=>{if(e.type===`ad`)return(0,i.jsx)(n.default,{slotId:e.slot.slotId,adUnitPath:e.slot.adUnitPath,variant:c},`ad-${e.slot.slotId}`);let a=p?p(e.item,e.index):`item-${e.index}`;return(0,i.jsx)(`div`,{children:r(e.item,e.index)},a)})})}exports.default=a;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../waka-sponsored-card/index.cjs.js");let r=require("react");r=e.__toESM(r);let i=require("react/jsx-runtime");function a({items:e,renderItem:r,adSlots:a,adFrequency:o=5,adStartPosition:s=2,adVariant:c=`article`,maxAds:l,columns:u=1,gap:d=`md`,className:f,keyExtractor:p}){let m={sm:`gap-2`,md:`gap-4`,lg:`gap-6`},h={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`},g=e=>{if(e<s)return null;let t=Math.floor((e-s)/(o+1));return(e-s)%(o+1)!==0||l!==void 0&&t>=l||t>=a.length?null:a[t]},_=[],v=0,y=0;for(;v<e.length;){let t=g(y);t?_.push({type:`ad`,slot:t}):(_.push({type:`content`,item:e[v],index:v}),v++),y++}return(0,i.jsx)(`div`,{className:t.cn(`grid`,h[u],m[d],f),children:_.map((e,t)=>{if(e.type===`ad`)return(0,i.jsx)(n.WakaSponsoredCard,{slotId:e.slot.slotId,adUnitPath:e.slot.adUnitPath,variant:c},`ad-${e.slot.slotId}`);let a=p?p(e.item,e.index):`item-${e.index}`;return(0,i.jsx)(`div`,{children:r(e.item,e.index)},a)})})}exports.WakaSponsoredFeed=a,exports.default=a;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  "use client";
3
3
  import { cn as e } from "../../utils/cn.es.js";
4
- import t from "../waka-sponsored-card/index.es.js";
4
+ import { WakaSponsoredCard as t } from "../waka-sponsored-card/index.es.js";
5
5
  import "react";
6
6
  import { jsx as n } from "react/jsx-runtime";
7
7
  //#region src/components/waka-sponsored-feed/index.tsx
@@ -45,4 +45,4 @@ function r({ items: r, renderItem: i, adSlots: a, adFrequency: o = 5, adStartPos
45
45
  });
46
46
  }
47
47
  //#endregion
48
- export { r as default };
48
+ export { r as WakaSponsoredFeed, r 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(`../../utils/security.cjs.js`);let r=require(`react`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`);var o={page:(0,a.jsx)(i.FileText,{className:`h-4 w-4`}),action:(0,a.jsx)(i.ArrowRight,{className:`h-4 w-4`}),user:(0,a.jsx)(i.User,{className:`h-4 w-4`}),file:(0,a.jsx)(i.Folder,{className:`h-4 w-4`}),setting:(0,a.jsx)(i.Settings,{className:`h-4 w-4`}),external:(0,a.jsx)(i.ExternalLink,{className:`h-4 w-4`})};function s({open:e,onOpenChange:s,onSearch:c,filters:l,placeholder:u=`Search anything...`,recentItems:d,quickActions:f,debounceMs:p=150,showPreview:m=!0}){let[h,g]=r.useState(``),[_,v]=r.useState(null),[y,b]=r.useState([]),[x,S]=r.useState(0),[C,w]=r.useState(!1),[T,E]=r.useState(null),D=r.useRef(null),O=r.useRef(void 0);r.useEffect(()=>{if(O.current&&clearTimeout(O.current),!h.trim()){b([]),w(!1);return}return w(!0),O.current=setTimeout(async()=>{try{b(await c(h,_||void 0)),S(0)}catch(e){console.error(`Search error:`,e),b([])}finally{w(!1)}},p),()=>{O.current&&clearTimeout(O.current)}},[h,_,c,p]),r.useEffect(()=>{E((h?y:d||f||[])[x]||null)},[x,y,h,d,f]),r.useEffect(()=>{e&&(g(``),v(null),b([]),S(0),setTimeout(()=>D.current?.focus(),0))},[e]),r.useEffect(()=>{if(!e)return;let t=h?y:d||f||[],n=e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),S(e=>Math.min(e+1,t.length-1));break;case`ArrowUp`:e.preventDefault(),S(e=>Math.max(e-1,0));break;case`Enter`:e.preventDefault();let n=t[x];n&&k(n);break;case`Escape`:e.preventDefault(),s(!1);break;case`Tab`:if(l&&l.length>0){e.preventDefault();let t=(l.findIndex(e=>e.id===_)+1)%(l.length+1);v(t===l.length?null:l[t].id)}break}};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,x,y,h,d,f,s,l,_]),r.useEffect(()=>{let t=t=>{(t.metaKey||t.ctrlKey)&&t.key===`/`&&(t.preventDefault(),s(!e))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,s]);let k=e=>{e.action?.(),e.href&&n.safeNavigate(e.href),s(!1)};if(!e)return null;let A=h?y:d||f||[],j=h&&!C&&y.length===0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/60 backdrop-blur-sm animate-in fade-in-0`,onClick:()=>s(!1)}),(0,a.jsx)(`div`,{className:`fixed left-1/2 top-[15%] z-50 w-full max-w-3xl -translate-x-1/2 animate-in fade-in-0 zoom-in-95 slide-in-from-top-4`,children:(0,a.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border bg-popover/95 shadow-2xl backdrop-blur-xl`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-3 border-b px-4 py-3`,children:[(0,a.jsx)(i.Search,{className:t.cn(`h-5 w-5 transition-colors`,C?`text-primary animate-pulse`:`text-muted-foreground`)}),(0,a.jsx)(`input`,{ref:D,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:u,className:`flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground`}),h&&(0,a.jsx)(`button`,{onClick:()=>g(``),className:`rounded-md p-1 hover:bg-accent`,children:(0,a.jsx)(i.X,{className:`h-4 w-4 text-muted-foreground`})})]}),l&&l.length>0&&(0,a.jsxs)(`div`,{className:`flex items-center gap-2 border-b px-4 py-2`,children:[(0,a.jsx)(`button`,{onClick:()=>v(null),className:t.cn(`rounded-full px-3 py-1 text-xs font-medium transition-colors`,_===null?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:text-foreground`),children:`All`}),l.map(e=>(0,a.jsxs)(`button`,{onClick:()=>v(e.id),className:t.cn(`flex items-center gap-1.5 rounded-full px-3 py-1 text-xs font-medium transition-colors`,_===e.id?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:text-foreground`),children:[e.icon,e.label]},e.id))]}),(0,a.jsxs)(`div`,{className:`flex`,children:[(0,a.jsxs)(`div`,{className:t.cn(`max-h-96 overflow-y-auto`,m?`w-1/2 border-r`:`w-full`),children:[!h&&d&&d.length>0&&(0,a.jsxs)(`div`,{className:`px-4 py-2 text-xs font-medium text-muted-foreground flex items-center gap-2`,children:[(0,a.jsx)(i.Clock,{className:`h-3 w-3`}),`Recent`]}),!h&&!d&&f&&f.length>0&&(0,a.jsx)(`div`,{className:`px-4 py-2 text-xs font-medium text-muted-foreground`,children:`Quick Actions`}),h&&y.length>0&&(0,a.jsxs)(`div`,{className:`px-4 py-2 text-xs font-medium text-muted-foreground`,children:[y.length,` result`,y.length===1?``:`s`]}),(0,a.jsx)(`div`,{className:`p-2`,children:j?(0,a.jsxs)(`div`,{className:`py-12 text-center`,children:[(0,a.jsx)(i.Search,{className:`h-10 w-10 mx-auto text-muted-foreground/50 mb-3`}),(0,a.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No results for "`,h,`"`]}),(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground/70 mt-1`,children:`Try different keywords`})]}):A.map((e,n)=>(0,a.jsxs)(`button`,{onClick:()=>k(e),onMouseEnter:()=>S(n),className:t.cn(`flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-all`,x===n?`bg-accent text-accent-foreground`:`hover:bg-accent/50`),children:[(0,a.jsx)(`span`,{className:t.cn(`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg`,x===n?`bg-primary text-primary-foreground`:`bg-muted`),children:e.icon||o[e.type]}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`div`,{className:`font-medium truncate`,children:e.title}),e.subtitle&&(0,a.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.subtitle})]}),e.meta&&(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:e.meta})]},e.id))})]}),m&&T&&(0,a.jsx)(`div`,{className:`w-1/2 p-4`,children:(0,a.jsx)(`div`,{className:`h-full rounded-lg border bg-muted/30 p-4`,children:T.preview||(0,a.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center text-center`,children:[(0,a.jsx)(`span`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-muted mb-3`,children:T.icon||o[T.type]}),(0,a.jsx)(`h3`,{className:`font-semibold`,children:T.title}),T.subtitle&&(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:T.subtitle}),(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-3 capitalize`,children:T.type})]})})})]}),(0,a.jsxs)(`div`,{className:`flex items-center justify-between border-t bg-muted/30 px-4 py-2 text-xs text-muted-foreground`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`↑↓`}),`Navigate`]}),(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`↵`}),`Open`]}),l&&(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`Tab`}),`Filter`]})]}),(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`⌘`}),(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`/`}),`Toggle`]})]})]})})]})}function c(){let[e,t]=r.useState(!1);return{open:e,onOpenChange:t,openSpotlight:()=>t(!0),closeSpotlight:()=>t(!1),toggleSpotlight:()=>t(e=>!e)}}exports.WakaSpotlight=s,exports.useSpotlight=c;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../../utils/security.cjs.js");let r=require("react");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime");var o={page:(0,a.jsx)(i.FileText,{className:`h-4 w-4`}),action:(0,a.jsx)(i.ArrowRight,{className:`h-4 w-4`}),user:(0,a.jsx)(i.User,{className:`h-4 w-4`}),file:(0,a.jsx)(i.Folder,{className:`h-4 w-4`}),setting:(0,a.jsx)(i.Settings,{className:`h-4 w-4`}),external:(0,a.jsx)(i.ExternalLink,{className:`h-4 w-4`})};function s({open:e,onOpenChange:s,onSearch:c,filters:l,placeholder:u=`Search anything...`,recentItems:d,quickActions:f,debounceMs:p=150,showPreview:m=!0}){let[h,g]=r.useState(``),[_,v]=r.useState(null),[y,b]=r.useState([]),[x,S]=r.useState(0),[C,w]=r.useState(!1),[T,E]=r.useState(null),D=r.useRef(null),O=r.useRef(void 0);r.useEffect(()=>{if(O.current&&clearTimeout(O.current),!h.trim()){b([]),w(!1);return}return w(!0),O.current=setTimeout(async()=>{try{let e=await c(h,_||void 0);b(e),S(0)}catch(e){console.error(`Search error:`,e),b([])}finally{w(!1)}},p),()=>{O.current&&clearTimeout(O.current)}},[h,_,c,p]),r.useEffect(()=>{E((h?y:d||f||[])[x]||null)},[x,y,h,d,f]),r.useEffect(()=>{e&&(g(``),v(null),b([]),S(0),setTimeout(()=>D.current?.focus(),0))},[e]),r.useEffect(()=>{if(!e)return;let t=h?y:d||f||[],n=e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),S(e=>Math.min(e+1,t.length-1));break;case`ArrowUp`:e.preventDefault(),S(e=>Math.max(e-1,0));break;case`Enter`:e.preventDefault();let n=t[x];n&&k(n);break;case`Escape`:e.preventDefault(),s(!1);break;case`Tab`:if(l&&l.length>0){e.preventDefault();let t=(l.findIndex(e=>e.id===_)+1)%(l.length+1);v(t===l.length?null:l[t].id)}break}};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,x,y,h,d,f,s,l,_]),r.useEffect(()=>{let t=t=>{(t.metaKey||t.ctrlKey)&&t.key===`/`&&(t.preventDefault(),s(!e))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,s]);let k=e=>{e.action?.(),e.href&&n.safeNavigate(e.href),s(!1)};if(!e)return null;let A=h?y:d||f||[],j=h&&!C&&y.length===0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/60 backdrop-blur-sm animate-in fade-in-0`,onClick:()=>s(!1)}),(0,a.jsx)(`div`,{className:`fixed left-1/2 top-[15%] z-50 w-full max-w-3xl -translate-x-1/2 animate-in fade-in-0 zoom-in-95 slide-in-from-top-4`,children:(0,a.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border bg-popover/95 shadow-2xl backdrop-blur-xl`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-3 border-b px-4 py-3`,children:[(0,a.jsx)(i.Search,{className:t.cn(`h-5 w-5 transition-colors`,C?`text-primary animate-pulse`:`text-muted-foreground`)}),(0,a.jsx)(`input`,{ref:D,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:u,className:`flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground`}),h&&(0,a.jsx)(`button`,{onClick:()=>g(``),className:`rounded-md p-1 hover:bg-accent`,children:(0,a.jsx)(i.X,{className:`h-4 w-4 text-muted-foreground`})})]}),l&&l.length>0&&(0,a.jsxs)(`div`,{className:`flex items-center gap-2 border-b px-4 py-2`,children:[(0,a.jsx)(`button`,{onClick:()=>v(null),className:t.cn(`rounded-full px-3 py-1 text-xs font-medium transition-colors`,_===null?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:text-foreground`),children:`All`}),l.map(e=>(0,a.jsxs)(`button`,{onClick:()=>v(e.id),className:t.cn(`flex items-center gap-1.5 rounded-full px-3 py-1 text-xs font-medium transition-colors`,_===e.id?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:text-foreground`),children:[e.icon,e.label]},e.id))]}),(0,a.jsxs)(`div`,{className:`flex`,children:[(0,a.jsxs)(`div`,{className:t.cn(`max-h-96 overflow-y-auto`,m?`w-1/2 border-r`:`w-full`),children:[!h&&d&&d.length>0&&(0,a.jsxs)(`div`,{className:`px-4 py-2 text-xs font-medium text-muted-foreground flex items-center gap-2`,children:[(0,a.jsx)(i.Clock,{className:`h-3 w-3`}),`Recent`]}),!h&&!d&&f&&f.length>0&&(0,a.jsx)(`div`,{className:`px-4 py-2 text-xs font-medium text-muted-foreground`,children:`Quick Actions`}),h&&y.length>0&&(0,a.jsxs)(`div`,{className:`px-4 py-2 text-xs font-medium text-muted-foreground`,children:[y.length,` result`,y.length===1?``:`s`]}),(0,a.jsx)(`div`,{className:`p-2`,children:j?(0,a.jsxs)(`div`,{className:`py-12 text-center`,children:[(0,a.jsx)(i.Search,{className:`h-10 w-10 mx-auto text-muted-foreground/50 mb-3`}),(0,a.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No results for "`,h,`"`]}),(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground/70 mt-1`,children:`Try different keywords`})]}):A.map((e,n)=>(0,a.jsxs)(`button`,{onClick:()=>k(e),onMouseEnter:()=>S(n),className:t.cn(`flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-all`,x===n?`bg-accent text-accent-foreground`:`hover:bg-accent/50`),children:[(0,a.jsx)(`span`,{className:t.cn(`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg`,x===n?`bg-primary text-primary-foreground`:`bg-muted`),children:e.icon||o[e.type]}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`div`,{className:`font-medium truncate`,children:e.title}),e.subtitle&&(0,a.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.subtitle})]}),e.meta&&(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:e.meta})]},e.id))})]}),m&&T&&(0,a.jsx)(`div`,{className:`w-1/2 p-4`,children:(0,a.jsx)(`div`,{className:`h-full rounded-lg border bg-muted/30 p-4`,children:T.preview||(0,a.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center text-center`,children:[(0,a.jsx)(`span`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-muted mb-3`,children:T.icon||o[T.type]}),(0,a.jsx)(`h3`,{className:`font-semibold`,children:T.title}),T.subtitle&&(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:T.subtitle}),(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-3 capitalize`,children:T.type})]})})})]}),(0,a.jsxs)(`div`,{className:`flex items-center justify-between border-t bg-muted/30 px-4 py-2 text-xs text-muted-foreground`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`↑↓`}),`Navigate`]}),(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`↵`}),`Open`]}),l&&(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`Tab`}),`Filter`]})]}),(0,a.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`⌘`}),(0,a.jsx)(`kbd`,{className:`rounded border bg-background px-1.5 py-0.5`,children:`/`}),`Toggle`]})]})]})})]})}function c(){let[e,t]=r.useState(!1);return{open:e,onOpenChange:t,openSpotlight:()=>t(!0),closeSpotlight:()=>t(!1),toggleSpotlight:()=>t(e=>!e)}}exports.WakaSpotlight=s,exports.useSpotlight=c;
@@ -23,7 +23,8 @@ function g({ open: r, onOpenChange: a, onSearch: o, filters: s, placeholder: l =
23
23
  }
24
24
  return O(!0), M.current = setTimeout(async () => {
25
25
  try {
26
- w(await o(y, x || void 0)), E(0);
26
+ let e = await o(y, x || void 0);
27
+ w(e), E(0);
27
28
  } catch (e) {
28
29
  console.error("Search error:", e), w([]);
29
30
  } finally {
@@ -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={default:{icon:`text-muted-foreground`,bg:`bg-muted`,gradient:`from-gray-500 to-gray-600`},primary:{icon:`text-primary`,bg:`bg-primary/10`,gradient:`from-primary to-primary/80`},success:{icon:`text-green-600`,bg:`bg-green-100`,gradient:`from-green-500 to-green-600`},warning:{icon:`text-yellow-600`,bg:`bg-yellow-100`,gradient:`from-yellow-500 to-yellow-600`},destructive:{icon:`text-destructive`,bg:`bg-destructive/10`,gradient:`from-destructive to-destructive/80`},blue:{icon:`text-blue-600`,bg:`bg-blue-100`,gradient:`from-blue-500 to-blue-600`},purple:{icon:`text-purple-600`,bg:`bg-purple-100`,gradient:`from-purple-500 to-purple-600`}};function o({direction:e,value:n,text:a,invert:o,size:s}){let c=o?e===`down`:e===`up`,l=o?e===`up`:e===`down`,u={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`},d={sm:`text-[10px]`,md:`text-xs`,lg:`text-sm`},f=e===`up`?r.TrendingUp:e===`down`?r.TrendingDown:r.Minus;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,d[s],c&&`text-green-600`,l&&`text-destructive`,e===`neutral`&&`text-muted-foreground`),children:[(0,i.jsx)(f,{className:u[s]}),n&&(0,i.jsx)(`span`,{className:`font-medium`,children:n}),a&&(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:a})]})}function s({size:e}){return(0,i.jsxs)(`div`,{className:`animate-pulse`,children:[(0,i.jsx)(`div`,{className:`h-3 w-16 bg-muted rounded mb-2`}),(0,i.jsx)(`div`,{className:t.cn(`bg-muted rounded`,{sm:`h-5 w-16`,md:`h-7 w-20`,lg:`h-9 w-24`}[e])})]})}function c({label:e,value:n,description:c,icon:l,trend:u,trendValue:d,trendText:f,invertTrend:p=!1,variant:m=`default`,size:h=`md`,color:g=`default`,loading:_=!1,className:v}){let y=a[g],b={sm:{container:`p-3`,label:`text-xs`,value:`text-xl`,description:`text-[10px]`,icon:`h-8 w-8`,iconInner:`h-4 w-4`},md:{container:`p-4`,label:`text-sm`,value:`text-2xl`,description:`text-xs`,icon:`h-10 w-10`,iconInner:`h-5 w-5`},lg:{container:`p-6`,label:`text-base`,value:`text-4xl`,description:`text-sm`,icon:`h-12 w-12`,iconInner:`h-6 w-6`}}[h];return _?(0,i.jsx)(`div`,{className:t.cn(m===`card`&&`rounded-lg border bg-card shadow-sm`,m===`gradient`&&`rounded-lg text-white`,b.container,v),children:(0,i.jsx)(s,{size:h})}):m===`minimal`?(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col`,v),children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,b.label),children:e}),(0,i.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,i.jsx)(`span`,{className:t.cn(`font-bold tracking-tight`,b.value),children:n}),u&&(0,i.jsx)(o,{direction:u,value:d,text:f,invert:p,size:h})]}),c&&(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground mt-1`,b.description),children:c})]}):m===`gradient`?(0,i.jsx)(`div`,{className:t.cn(`rounded-lg bg-gradient-to-br text-white`,y.gradient,b.container,v),children:(0,i.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:t.cn(`text-white/80`,b.label),children:e}),(0,i.jsx)(`p`,{className:t.cn(`font-bold mt-1`,b.value),children:n}),c&&(0,i.jsx)(`p`,{className:t.cn(`text-white/70 mt-1`,b.description),children:c}),u&&(0,i.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-white/90`,children:[u===`up`&&(0,i.jsx)(r.ArrowUp,{className:b.iconInner}),u===`down`&&(0,i.jsx)(r.ArrowDown,{className:b.iconInner}),d&&(0,i.jsx)(`span`,{className:b.description,children:d}),f&&(0,i.jsx)(`span`,{className:t.cn(`text-white/70`,b.description),children:f})]})]}),l&&(0,i.jsx)(`div`,{className:`rounded-lg bg-white/20 p-2`,children:(0,i.jsx)(`div`,{className:b.iconInner,children:l})})]})}):(0,i.jsx)(`div`,{className:t.cn(m===`card`&&`rounded-lg border bg-card shadow-sm`,b.container,v),children:(0,i.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex-1`,children:[(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground font-medium`,b.label),children:e}),(0,i.jsxs)(`div`,{className:`flex items-baseline gap-2 mt-1`,children:[(0,i.jsx)(`span`,{className:t.cn(`font-bold tracking-tight`,b.value),children:n}),u&&(0,i.jsx)(o,{direction:u,value:d,text:f,invert:p,size:h})]}),c&&(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground mt-1`,b.description),children:c})]}),l&&(0,i.jsx)(`div`,{className:t.cn(`rounded-lg flex items-center justify-center flex-shrink-0`,b.icon,y.bg),children:(0,i.jsx)(`div`,{className:t.cn(b.iconInner,y.icon),children:l})})]})})}function l({children:e,layout:n=`row`,columns:r=4,gap:a=`md`,className:o}){return(0,i.jsx)(`div`,{className:t.cn({sm:`gap-2`,md:`gap-4`,lg:`gap-6`}[a],n===`row`&&`flex flex-wrap`,n===`grid`&&t.cn(`grid`,{2:`grid-cols-2`,3:`grid-cols-3`,4:`grid-cols-4`}[r]),o),children:e})}function u(e={}){let{initialValue:t=0,format:r,previousValue:i}=e,[a,o]=n.useState(t);return{value:r?r(a):a.toString(),rawValue:a,setValue:o,trend:n.useMemo(()=>i===void 0?`neutral`:a>i?`up`:a<i?`down`:`neutral`,[a,i]),trendValue:n.useMemo(()=>{if(i===void 0||i===0)return;let e=(a-i)/i*100;return`${e>=0?`+`:``}${e.toFixed(1)}%`},[a,i])}}exports.WakaStatGroup=l,exports.default=c,exports.useStat=u;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");var a={default:{icon:`text-muted-foreground`,bg:`bg-muted`,gradient:`from-gray-500 to-gray-600`},primary:{icon:`text-primary`,bg:`bg-primary/10`,gradient:`from-primary to-primary/80`},success:{icon:`text-green-600`,bg:`bg-green-100`,gradient:`from-green-500 to-green-600`},warning:{icon:`text-yellow-600`,bg:`bg-yellow-100`,gradient:`from-yellow-500 to-yellow-600`},destructive:{icon:`text-destructive`,bg:`bg-destructive/10`,gradient:`from-destructive to-destructive/80`},blue:{icon:`text-blue-600`,bg:`bg-blue-100`,gradient:`from-blue-500 to-blue-600`},purple:{icon:`text-purple-600`,bg:`bg-purple-100`,gradient:`from-purple-500 to-purple-600`}};function o({direction:e,value:n,text:a,invert:o,size:s}){let c=o?e===`down`:e===`up`,l=o?e===`up`:e===`down`,u={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`},d={sm:`text-[10px]`,md:`text-xs`,lg:`text-sm`},f=e===`up`?r.TrendingUp:e===`down`?r.TrendingDown:r.Minus;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center gap-1`,d[s],c&&`text-green-600`,l&&`text-destructive`,e===`neutral`&&`text-muted-foreground`),children:[(0,i.jsx)(f,{className:u[s]}),n&&(0,i.jsx)(`span`,{className:`font-medium`,children:n}),a&&(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:a})]})}function s({size:e}){return(0,i.jsxs)(`div`,{className:`animate-pulse`,children:[(0,i.jsx)(`div`,{className:`h-3 w-16 bg-muted rounded mb-2`}),(0,i.jsx)(`div`,{className:t.cn(`bg-muted rounded`,{sm:`h-5 w-16`,md:`h-7 w-20`,lg:`h-9 w-24`}[e])})]})}function c({label:e,value:n,description:c,icon:l,trend:u,trendValue:d,trendText:f,invertTrend:p=!1,variant:m=`default`,size:h=`md`,color:g=`default`,loading:_=!1,className:v}){let y=a[g],b={sm:{container:`p-3`,label:`text-xs`,value:`text-xl`,description:`text-[10px]`,icon:`h-8 w-8`,iconInner:`h-4 w-4`},md:{container:`p-4`,label:`text-sm`,value:`text-2xl`,description:`text-xs`,icon:`h-10 w-10`,iconInner:`h-5 w-5`},lg:{container:`p-6`,label:`text-base`,value:`text-4xl`,description:`text-sm`,icon:`h-12 w-12`,iconInner:`h-6 w-6`}}[h];return _?(0,i.jsx)(`div`,{className:t.cn(m===`card`&&`rounded-lg border bg-card shadow-sm`,m===`gradient`&&`rounded-lg text-white`,b.container,v),children:(0,i.jsx)(s,{size:h})}):m===`minimal`?(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col`,v),children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,b.label),children:e}),(0,i.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,i.jsx)(`span`,{className:t.cn(`font-bold tracking-tight`,b.value),children:n}),u&&(0,i.jsx)(o,{direction:u,value:d,text:f,invert:p,size:h})]}),c&&(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground mt-1`,b.description),children:c})]}):m===`gradient`?(0,i.jsx)(`div`,{className:t.cn(`rounded-lg bg-gradient-to-br text-white`,y.gradient,b.container,v),children:(0,i.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:t.cn(`text-white/80`,b.label),children:e}),(0,i.jsx)(`p`,{className:t.cn(`font-bold mt-1`,b.value),children:n}),c&&(0,i.jsx)(`p`,{className:t.cn(`text-white/70 mt-1`,b.description),children:c}),u&&(0,i.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-white/90`,children:[u===`up`&&(0,i.jsx)(r.ArrowUp,{className:b.iconInner}),u===`down`&&(0,i.jsx)(r.ArrowDown,{className:b.iconInner}),d&&(0,i.jsx)(`span`,{className:b.description,children:d}),f&&(0,i.jsx)(`span`,{className:t.cn(`text-white/70`,b.description),children:f})]})]}),l&&(0,i.jsx)(`div`,{className:`rounded-lg bg-white/20 p-2`,children:(0,i.jsx)(`div`,{className:b.iconInner,children:l})})]})}):(0,i.jsx)(`div`,{className:t.cn(m===`card`&&`rounded-lg border bg-card shadow-sm`,b.container,v),children:(0,i.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex-1`,children:[(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground font-medium`,b.label),children:e}),(0,i.jsxs)(`div`,{className:`flex items-baseline gap-2 mt-1`,children:[(0,i.jsx)(`span`,{className:t.cn(`font-bold tracking-tight`,b.value),children:n}),u&&(0,i.jsx)(o,{direction:u,value:d,text:f,invert:p,size:h})]}),c&&(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground mt-1`,b.description),children:c})]}),l&&(0,i.jsx)(`div`,{className:t.cn(`rounded-lg flex items-center justify-center flex-shrink-0`,b.icon,y.bg),children:(0,i.jsx)(`div`,{className:t.cn(b.iconInner,y.icon),children:l})})]})})}function l({children:e,layout:n=`row`,columns:r=4,gap:a=`md`,className:o}){return(0,i.jsx)(`div`,{className:t.cn({sm:`gap-2`,md:`gap-4`,lg:`gap-6`}[a],n===`row`&&`flex flex-wrap`,n===`grid`&&t.cn(`grid`,{2:`grid-cols-2`,3:`grid-cols-3`,4:`grid-cols-4`}[r]),o),children:e})}function u(e={}){let{initialValue:t=0,format:r,previousValue:i}=e,[a,o]=n.useState(t);return{value:r?r(a):a.toString(),rawValue:a,setValue:o,trend:n.useMemo(()=>i===void 0?`neutral`:a>i?`up`:a<i?`down`:`neutral`,[a,i]),trendValue:n.useMemo(()=>{if(i===void 0||i===0)return;let e=(a-i)/i*100;return`${e>=0?`+`:``}${e.toFixed(1)}%`},[a,i])}}exports.WakaStat=c,exports.default=c,exports.WakaStatGroup=l,exports.useStat=u;
@@ -240,4 +240,4 @@ function m(e = {}) {
240
240
  };
241
241
  }
242
242
  //#endregion
243
- export { p as WakaStatGroup, f as default, m as useStat };
243
+ export { f as WakaStat, f as default, p as WakaStatGroup, m as useStat };
@@ -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={default:{primary:`#3b82f6`,secondary:`#ef4444`},blue:{primary:`#3b82f6`,secondary:`#93c5fd`},green:{primary:`#22c55e`,secondary:`#86efac`},purple:{primary:`#8b5cf6`,secondary:`#c4b5fd`},orange:{primary:`#f59e0b`,secondary:`#fcd34d`},pink:{primary:`#ec4899`,secondary:`#f9a8d4`},cyan:{primary:`#06b6d4`,secondary:`#67e8f9`},gradient:{primary:`#8b5cf6`,secondary:`#3b82f6`}},o=[{id:`stat1`,label:`Stat 1`,value:75},{id:`stat2`,label:`Stat 2`,value:60},{id:`stat3`,label:`Stat 3`,value:85},{id:`stat4`,label:`Stat 4`,value:50},{id:`stat5`,label:`Stat 5`,value:70},{id:`stat6`,label:`Stat 6`,value:65}],s={id:`default`,name:`Profile`,stats:[75,60,85,50,70,65]};function c(e={}){let{initialStats:t=o,initialProfile:r=s}=e,[i,a]=n.useState(t),[c,l]=n.useState(r),[u,d]=n.useState(null),[f,p]=n.useState(null),[m,h]=n.useState(!1);return{stats:i,setStats:a,profile:c,setProfile:l,comparisonProfile:u,setComparisonProfile:d,updateStat:n.useCallback((e,t)=>{a(n=>n.map(n=>n.id===e?{...n,value:t}:n)),l(n=>{let r=i.findIndex(t=>t.id===e);if(r!==-1){let e=[...n.stats];return e[r]=t,{...n,stats:e}}return n})},[i]),updateProfileStats:n.useCallback(e=>{e.length===6&&(l(t=>({...t,stats:e})),a(t=>t.map((t,n)=>({...t,value:e[n]}))))},[]),reset:n.useCallback(()=>{a(t),l(r),d(null),p(null),h(!1)},[t,r]),activeStatIndex:f,setActiveStatIndex:p,isComparing:m,toggleComparison:n.useCallback(()=>{h(e=>!e)},[])}}function l({stats:e,profile:o,comparisonProfile:s,size:c=300,levels:l=5,theme:u=`default`,primaryColor:d,showGrid:f=!0,showLabels:p=!0,showValues:m=!0,showPoints:h=!0,showTooltips:g=!0,animated:_=!0,animationDuration:v=800,showLegend:y=!0,className:b,onStatClick:x}){let[S,C]=n.useState(!_),[w,T]=n.useState(null),[E,D]=n.useState(null);if(n.useEffect(()=>{if(_){C(!1);let e=setTimeout(()=>{C(!0)},50);return()=>clearTimeout(e)}},[_,o.stats]),e.length!==6)return console.warn(`WakaStatsHexagon requires exactly 6 stats`),null;let O=a[u],k=d||o.color||O.primary,A=s?.color||O.secondary,j=c/2,M=c/2,N=c*.35,P=2*Math.PI/6,F=(e,t,n=100)=>{let r=e*P-Math.PI/2,i=t/n*N;return{x:j+i*Math.cos(r),y:M+i*Math.sin(r)}},I=(t,n=1)=>t.map((t,r)=>{let i=e[r]?.max||100,a=F(r,t*n,i);return`${r===0?`M`:`L`} ${a.x.toFixed(2)} ${a.y.toFixed(2)}`}).join(` `)+` Z`,L=e=>{let t=e/l*N;return Array.from({length:6}).map((e,n)=>{let r=n*P-Math.PI/2,i=j+t*Math.cos(r),a=M+t*Math.sin(r);return`${n===0?`M`:`L`} ${i.toFixed(2)} ${a.toFixed(2)}`}).join(` `)+` Z`},R=(e,t,n,r)=>{let i=F(e,n,r.max||100);T({index:e,profileId:t,x:i.x,y:i.y,value:n,stat:r})},z=(e,t)=>{x&&x(e,t)},B=()=>y?(0,i.jsx)(`div`,{className:`flex items-center justify-center gap-6 mt-4`,children:(s?[{id:o.id,name:o.name,color:k},{id:s.id,name:s.name,color:A}]:[{id:o.id,name:o.name,color:k}]).map(e=>(0,i.jsxs)(`button`,{type:`button`,className:t.cn(`flex items-center gap-2 text-sm transition-opacity duration-200`,`hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 rounded px-2 py-1`,E&&E!==e.id&&`opacity-40`),style:{"--tw-ring-color":e.color},onMouseEnter:()=>D(e.id),onMouseLeave:()=>D(null),children:[(0,i.jsx)(`span`,{className:`w-3 h-3 rounded-full`,style:{backgroundColor:e.color}}),(0,i.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:e.name})]},e.id))}):null,V=e=>{switch(e){case 0:return{textAnchor:`middle`,dx:0,dy:-8};case 1:return{textAnchor:`start`,dx:8,dy:0};case 2:return{textAnchor:`start`,dx:8,dy:8};case 3:return{textAnchor:`middle`,dx:0,dy:16};case 4:return{textAnchor:`end`,dx:-8,dy:8};case 5:return{textAnchor:`end`,dx:-8,dy:0};default:return{textAnchor:`middle`,dx:0,dy:0}}};return(0,i.jsxs)(`div`,{className:t.cn(`inline-flex flex-col items-center`,b),children:[(0,i.jsxs)(`div`,{className:`relative`,style:{width:c,height:c},children:[(0,i.jsxs)(`svg`,{width:c,height:c,viewBox:`0 0 ${c} ${c}`,className:`overflow-visible`,"aria-hidden":`true`,focusable:`false`,children:[(0,i.jsx)(`defs`,{children:u===`gradient`&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`linearGradient`,{id:`hexGradientFill`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`,children:[(0,i.jsx)(`stop`,{offset:`0%`,stopColor:O.primary,stopOpacity:`0.3`}),(0,i.jsx)(`stop`,{offset:`100%`,stopColor:O.secondary,stopOpacity:`0.3`})]}),(0,i.jsxs)(`linearGradient`,{id:`hexGradientStroke`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`,children:[(0,i.jsx)(`stop`,{offset:`0%`,stopColor:O.primary}),(0,i.jsx)(`stop`,{offset:`100%`,stopColor:O.secondary})]})]})}),f&&Array.from({length:l}).map((e,t)=>(0,i.jsx)(`path`,{d:L(t+1),fill:`none`,stroke:`currentColor`,strokeWidth:`1`,className:`opacity-15`},`grid-${t}`)),e.map((e,t)=>{let n=t*P-Math.PI/2;return(0,i.jsx)(`line`,{x1:j,y1:M,x2:j+N*Math.cos(n),y2:M+N*Math.sin(n),stroke:`currentColor`,strokeWidth:`1`,className:`opacity-20`},`axis-${t}`)}),s&&(0,i.jsxs)(`g`,{className:t.cn(`transition-opacity duration-300`,E&&E!==s.id&&`opacity-20`),children:[(0,i.jsx)(`path`,{d:I(s.stats,+!!S),fill:A,fillOpacity:s.fillOpacity??.15,stroke:A,strokeWidth:`2`,strokeLinejoin:`round`,className:t.cn(_&&`transition-all ease-out`),style:{transitionDuration:`${v}ms`}}),h&&s.stats.map((n,r)=>{let a=e[r],o=a?.max||100,c=F(r,S?n:0,o),l=w?.profileId===s.id&&w?.index===r;return(0,i.jsx)(`circle`,{cx:c.x,cy:c.y,r:l?6:4,fill:A,stroke:`white`,strokeWidth:`2`,className:t.cn(`cursor-pointer transition-all`,_&&`ease-out`),style:{transitionDuration:_?`${v}ms`:`150ms`},onMouseEnter:()=>R(r,s.id,n,a),onMouseLeave:()=>T(null),onClick:()=>z(a,n)},`comparison-point-${r}`)})]}),(0,i.jsxs)(`g`,{className:t.cn(`transition-opacity duration-300`,E&&E!==o.id&&`opacity-20`),children:[(0,i.jsx)(`path`,{d:I(o.stats,+!!S),fill:u===`gradient`?`url(#hexGradientFill)`:k,fillOpacity:u===`gradient`?1:o.fillOpacity??.25,stroke:u===`gradient`?`url(#hexGradientStroke)`:k,strokeWidth:`2.5`,strokeLinejoin:`round`,className:t.cn(_&&`transition-all ease-out`),style:{transitionDuration:`${v}ms`}}),h&&o.stats.map((n,r)=>{let a=e[r],s=a?.max||100,c=F(r,S?n:0,s),l=w?.profileId===o.id&&w?.index===r;return(0,i.jsx)(`circle`,{cx:c.x,cy:c.y,r:l?7:5,fill:u===`gradient`?O.primary:k,stroke:`white`,strokeWidth:`2`,className:t.cn(`cursor-pointer transition-all`,_&&`ease-out`),style:{transitionDuration:_?`${v}ms`:`150ms`},onMouseEnter:()=>R(r,o.id,n,a),onMouseLeave:()=>T(null),onClick:()=>z(a,n)},`main-point-${r}`)})]}),p&&e.map((e,t)=>{let n=t*P-Math.PI/2,r=j+(N+35)*Math.cos(n),a=M+(N+35)*Math.sin(n),{textAnchor:s,dx:c,dy:l}=V(t),u=o.stats[t],d=e.max||100;return(0,i.jsxs)(`g`,{children:[(0,i.jsx)(`text`,{x:r+c,y:a+l,textAnchor:s,fill:`currentColor`,className:`text-xs font-semibold opacity-80`,children:e.label}),m&&(0,i.jsxs)(`text`,{x:r+c,y:a+l+14,textAnchor:s,fill:`currentColor`,className:`text-[10px] opacity-50`,children:[u,`/`,d]})]},`label-${t}`)})]}),g&&w&&(0,i.jsxs)(`div`,{className:t.cn(`absolute z-20 px-3 py-2 text-xs rounded-lg shadow-xl`,`bg-popover text-popover-foreground border`,`animate-in fade-in-0 zoom-in-95 duration-150`,`pointer-events-none min-w-[120px]`),style:{left:w.x,top:w.y-60,transform:`translateX(-50%)`},children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 font-semibold mb-1`,children:[w.stat.icon,(0,i.jsx)(`span`,{children:w.stat.label})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:`Value:`}),(0,i.jsxs)(`span`,{className:`font-bold`,children:[w.value,` / `,w.stat.max||100]})]}),w.stat.description&&(0,i.jsxs)(`div`,{className:`mt-1.5 pt-1.5 border-t text-muted-foreground flex items-start gap-1`,children:[(0,i.jsx)(r.Info,{className:`w-3 h-3 mt-0.5 shrink-0`}),(0,i.jsx)(`span`,{children:w.stat.description})]}),(0,i.jsx)(`div`,{className:`absolute left-1/2 -translate-x-1/2 -bottom-1.5 w-3 h-3 rotate-45 bg-popover border-r border-b`})]})]}),B()]})}function u({data:e,profileName:t=`Stats`,...n}){let r=e.slice(0,6);for(;r.length<6;)r.push({label:`Stat ${r.length+1}`,value:0});return(0,i.jsx)(l,{stats:r.map((e,t)=>({id:`stat-${t}`,label:e.label,value:e.value,max:e.max})),profile:{id:`main`,name:t,stats:r.map(e=>e.value)},...n})}function d({characterStats:e,characterName:t=`Character`,comparisonStats:n,comparisonName:r=`Comparison`,maxStat:a=20,theme:o=`purple`,...s}){return(0,i.jsx)(l,{stats:[{id:`str`,label:`STR`,value:e.strength,max:a,description:`Physical power`},{id:`dex`,label:`DEX`,value:e.dexterity,max:a,description:`Agility & reflexes`},{id:`int`,label:`INT`,value:e.intelligence,max:a,description:`Mental acuity`},{id:`wis`,label:`WIS`,value:e.wisdom,max:a,description:`Perception & insight`},{id:`cha`,label:`CHA`,value:e.charisma,max:a,description:`Force of personality`},{id:`con`,label:`CON`,value:e.constitution,max:a,description:`Health & stamina`}],profile:{id:`main`,name:t,stats:[e.strength,e.dexterity,e.intelligence,e.wisdom,e.charisma,e.constitution]},comparisonProfile:n?{id:`comparison`,name:r,stats:[n.strength,n.dexterity,n.intelligence,n.wisdom,n.charisma,n.constitution]}:void 0,theme:o,...s})}function f({skills:e,name:t=`Skills Assessment`,theme:n=`blue`,...r}){return(0,i.jsx)(l,{stats:[{id:`tech`,label:`Technical`,value:e.technical,description:`Technical expertise & coding skills`},{id:`comm`,label:`Communication`,value:e.communication,description:`Written & verbal communication`},{id:`lead`,label:`Leadership`,value:e.leadership,description:`Team leadership & management`},{id:`prob`,label:`Problem Solving`,value:e.problemSolving,description:`Analytical thinking`},{id:`create`,label:`Creativity`,value:e.creativity,description:`Innovation & creative thinking`},{id:`team`,label:`Teamwork`,value:e.teamwork,description:`Collaboration & cooperation`}],profile:{id:`main`,name:t,stats:[e.technical,e.communication,e.leadership,e.problemSolving,e.creativity,e.teamwork]},theme:n,...r})}exports.WakaStatsHexagonRPG=d,exports.WakaStatsHexagonSimple=u,exports.WakaStatsHexagonSkills=f,exports.default=l,exports.useStatsHexagon=c;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");var a={default:{primary:`#3b82f6`,secondary:`#ef4444`},blue:{primary:`#3b82f6`,secondary:`#93c5fd`},green:{primary:`#22c55e`,secondary:`#86efac`},purple:{primary:`#8b5cf6`,secondary:`#c4b5fd`},orange:{primary:`#f59e0b`,secondary:`#fcd34d`},pink:{primary:`#ec4899`,secondary:`#f9a8d4`},cyan:{primary:`#06b6d4`,secondary:`#67e8f9`},gradient:{primary:`#8b5cf6`,secondary:`#3b82f6`}},o=[{id:`stat1`,label:`Stat 1`,value:75},{id:`stat2`,label:`Stat 2`,value:60},{id:`stat3`,label:`Stat 3`,value:85},{id:`stat4`,label:`Stat 4`,value:50},{id:`stat5`,label:`Stat 5`,value:70},{id:`stat6`,label:`Stat 6`,value:65}],s={id:`default`,name:`Profile`,stats:[75,60,85,50,70,65]};function c(e={}){let{initialStats:t=o,initialProfile:r=s}=e,[i,a]=n.useState(t),[c,l]=n.useState(r),[u,d]=n.useState(null),[f,p]=n.useState(null),[m,h]=n.useState(!1);return{stats:i,setStats:a,profile:c,setProfile:l,comparisonProfile:u,setComparisonProfile:d,updateStat:n.useCallback((e,t)=>{a(n=>n.map(n=>n.id===e?{...n,value:t}:n)),l(n=>{let r=i.findIndex(t=>t.id===e);if(r!==-1){let e=[...n.stats];return e[r]=t,{...n,stats:e}}return n})},[i]),updateProfileStats:n.useCallback(e=>{e.length===6&&(l(t=>({...t,stats:e})),a(t=>t.map((t,n)=>({...t,value:e[n]}))))},[]),reset:n.useCallback(()=>{a(t),l(r),d(null),p(null),h(!1)},[t,r]),activeStatIndex:f,setActiveStatIndex:p,isComparing:m,toggleComparison:n.useCallback(()=>{h(e=>!e)},[])}}function l({stats:e,profile:o,comparisonProfile:s,size:c=300,levels:l=5,theme:u=`default`,primaryColor:d,showGrid:f=!0,showLabels:p=!0,showValues:m=!0,showPoints:h=!0,showTooltips:g=!0,animated:_=!0,animationDuration:v=800,showLegend:y=!0,className:b,onStatClick:x}){let[S,C]=n.useState(!_),[w,T]=n.useState(null),[E,D]=n.useState(null);if(n.useEffect(()=>{if(_){C(!1);let e=setTimeout(()=>{C(!0)},50);return()=>clearTimeout(e)}},[_,o.stats]),e.length!==6)return console.warn(`WakaStatsHexagon requires exactly 6 stats`),null;let O=a[u],k=d||o.color||O.primary,A=s?.color||O.secondary,j=c/2,M=c/2,N=c*.35,P=2*Math.PI/6,F=(e,t,n=100)=>{let r=e*P-Math.PI/2,i=t/n*N;return{x:j+i*Math.cos(r),y:M+i*Math.sin(r)}},I=(t,n=1)=>t.map((t,r)=>{let i=e[r]?.max||100,a=t*n,o=F(r,a,i);return`${r===0?`M`:`L`} ${o.x.toFixed(2)} ${o.y.toFixed(2)}`}).join(` `)+` Z`,L=e=>{let t=e/l*N;return Array.from({length:6}).map((e,n)=>{let r=n*P-Math.PI/2,i=j+t*Math.cos(r),a=M+t*Math.sin(r);return`${n===0?`M`:`L`} ${i.toFixed(2)} ${a.toFixed(2)}`}).join(` `)+` Z`},R=(e,t,n,r)=>{let i=r.max||100,a=F(e,n,i);T({index:e,profileId:t,x:a.x,y:a.y,value:n,stat:r})},z=(e,t)=>{x&&x(e,t)},B=()=>y?(0,i.jsx)(`div`,{className:`flex items-center justify-center gap-6 mt-4`,children:(s?[{id:o.id,name:o.name,color:k},{id:s.id,name:s.name,color:A}]:[{id:o.id,name:o.name,color:k}]).map(e=>(0,i.jsxs)(`button`,{type:`button`,className:t.cn(`flex items-center gap-2 text-sm transition-opacity duration-200`,`hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 rounded px-2 py-1`,E&&E!==e.id&&`opacity-40`),style:{"--tw-ring-color":e.color},onMouseEnter:()=>D(e.id),onMouseLeave:()=>D(null),children:[(0,i.jsx)(`span`,{className:`w-3 h-3 rounded-full`,style:{backgroundColor:e.color}}),(0,i.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:e.name})]},e.id))}):null,V=e=>{switch(e){case 0:return{textAnchor:`middle`,dx:0,dy:-8};case 1:return{textAnchor:`start`,dx:8,dy:0};case 2:return{textAnchor:`start`,dx:8,dy:8};case 3:return{textAnchor:`middle`,dx:0,dy:16};case 4:return{textAnchor:`end`,dx:-8,dy:8};case 5:return{textAnchor:`end`,dx:-8,dy:0};default:return{textAnchor:`middle`,dx:0,dy:0}}};return(0,i.jsxs)(`div`,{className:t.cn(`inline-flex flex-col items-center`,b),children:[(0,i.jsxs)(`div`,{className:`relative`,style:{width:c,height:c},children:[(0,i.jsxs)(`svg`,{width:c,height:c,viewBox:`0 0 ${c} ${c}`,className:`overflow-visible`,"aria-hidden":`true`,focusable:`false`,children:[(0,i.jsx)(`defs`,{children:u===`gradient`&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`linearGradient`,{id:`hexGradientFill`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`,children:[(0,i.jsx)(`stop`,{offset:`0%`,stopColor:O.primary,stopOpacity:`0.3`}),(0,i.jsx)(`stop`,{offset:`100%`,stopColor:O.secondary,stopOpacity:`0.3`})]}),(0,i.jsxs)(`linearGradient`,{id:`hexGradientStroke`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`,children:[(0,i.jsx)(`stop`,{offset:`0%`,stopColor:O.primary}),(0,i.jsx)(`stop`,{offset:`100%`,stopColor:O.secondary})]})]})}),f&&Array.from({length:l}).map((e,t)=>(0,i.jsx)(`path`,{d:L(t+1),fill:`none`,stroke:`currentColor`,strokeWidth:`1`,className:`opacity-15`},`grid-${t}`)),e.map((e,t)=>{let n=t*P-Math.PI/2,r=j+N*Math.cos(n),a=M+N*Math.sin(n);return(0,i.jsx)(`line`,{x1:j,y1:M,x2:r,y2:a,stroke:`currentColor`,strokeWidth:`1`,className:`opacity-20`},`axis-${t}`)}),s&&(0,i.jsxs)(`g`,{className:t.cn(`transition-opacity duration-300`,E&&E!==s.id&&`opacity-20`),children:[(0,i.jsx)(`path`,{d:I(s.stats,+!!S),fill:A,fillOpacity:s.fillOpacity??.15,stroke:A,strokeWidth:`2`,strokeLinejoin:`round`,className:t.cn(_&&`transition-all ease-out`),style:{transitionDuration:`${v}ms`}}),h&&s.stats.map((n,r)=>{let a=e[r],o=a?.max||100,c=F(r,S?n:0,o),l=w?.profileId===s.id&&w?.index===r;return(0,i.jsx)(`circle`,{cx:c.x,cy:c.y,r:l?6:4,fill:A,stroke:`white`,strokeWidth:`2`,className:t.cn(`cursor-pointer transition-all`,_&&`ease-out`),style:{transitionDuration:_?`${v}ms`:`150ms`},onMouseEnter:()=>R(r,s.id,n,a),onMouseLeave:()=>T(null),onClick:()=>z(a,n)},`comparison-point-${r}`)})]}),(0,i.jsxs)(`g`,{className:t.cn(`transition-opacity duration-300`,E&&E!==o.id&&`opacity-20`),children:[(0,i.jsx)(`path`,{d:I(o.stats,+!!S),fill:u===`gradient`?`url(#hexGradientFill)`:k,fillOpacity:u===`gradient`?1:o.fillOpacity??.25,stroke:u===`gradient`?`url(#hexGradientStroke)`:k,strokeWidth:`2.5`,strokeLinejoin:`round`,className:t.cn(_&&`transition-all ease-out`),style:{transitionDuration:`${v}ms`}}),h&&o.stats.map((n,r)=>{let a=e[r],s=a?.max||100,c=F(r,S?n:0,s),l=w?.profileId===o.id&&w?.index===r;return(0,i.jsx)(`circle`,{cx:c.x,cy:c.y,r:l?7:5,fill:u===`gradient`?O.primary:k,stroke:`white`,strokeWidth:`2`,className:t.cn(`cursor-pointer transition-all`,_&&`ease-out`),style:{transitionDuration:_?`${v}ms`:`150ms`},onMouseEnter:()=>R(r,o.id,n,a),onMouseLeave:()=>T(null),onClick:()=>z(a,n)},`main-point-${r}`)})]}),p&&e.map((e,t)=>{let n=t*P-Math.PI/2,r=j+(N+35)*Math.cos(n),a=M+(N+35)*Math.sin(n),{textAnchor:s,dx:c,dy:l}=V(t),u=o.stats[t],d=e.max||100;return(0,i.jsxs)(`g`,{children:[(0,i.jsx)(`text`,{x:r+c,y:a+l,textAnchor:s,fill:`currentColor`,className:`text-xs font-semibold opacity-80`,children:e.label}),m&&(0,i.jsxs)(`text`,{x:r+c,y:a+l+14,textAnchor:s,fill:`currentColor`,className:`text-[10px] opacity-50`,children:[u,`/`,d]})]},`label-${t}`)})]}),g&&w&&(0,i.jsxs)(`div`,{className:t.cn(`absolute z-20 px-3 py-2 text-xs rounded-lg shadow-xl`,`bg-popover text-popover-foreground border`,`animate-in fade-in-0 zoom-in-95 duration-150`,`pointer-events-none min-w-[120px]`),style:{left:w.x,top:w.y-60,transform:`translateX(-50%)`},children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5 font-semibold mb-1`,children:[w.stat.icon,(0,i.jsx)(`span`,{children:w.stat.label})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:`Value:`}),(0,i.jsxs)(`span`,{className:`font-bold`,children:[w.value,` / `,w.stat.max||100]})]}),w.stat.description&&(0,i.jsxs)(`div`,{className:`mt-1.5 pt-1.5 border-t text-muted-foreground flex items-start gap-1`,children:[(0,i.jsx)(r.Info,{className:`w-3 h-3 mt-0.5 shrink-0`}),(0,i.jsx)(`span`,{children:w.stat.description})]}),(0,i.jsx)(`div`,{className:`absolute left-1/2 -translate-x-1/2 -bottom-1.5 w-3 h-3 rotate-45 bg-popover border-r border-b`})]})]}),B()]})}function u({data:e,profileName:t=`Stats`,...n}){let r=e.slice(0,6);for(;r.length<6;)r.push({label:`Stat ${r.length+1}`,value:0});return(0,i.jsx)(l,{stats:r.map((e,t)=>({id:`stat-${t}`,label:e.label,value:e.value,max:e.max})),profile:{id:`main`,name:t,stats:r.map(e=>e.value)},...n})}function d({characterStats:e,characterName:t=`Character`,comparisonStats:n,comparisonName:r=`Comparison`,maxStat:a=20,theme:o=`purple`,...s}){return(0,i.jsx)(l,{stats:[{id:`str`,label:`STR`,value:e.strength,max:a,description:`Physical power`},{id:`dex`,label:`DEX`,value:e.dexterity,max:a,description:`Agility & reflexes`},{id:`int`,label:`INT`,value:e.intelligence,max:a,description:`Mental acuity`},{id:`wis`,label:`WIS`,value:e.wisdom,max:a,description:`Perception & insight`},{id:`cha`,label:`CHA`,value:e.charisma,max:a,description:`Force of personality`},{id:`con`,label:`CON`,value:e.constitution,max:a,description:`Health & stamina`}],profile:{id:`main`,name:t,stats:[e.strength,e.dexterity,e.intelligence,e.wisdom,e.charisma,e.constitution]},comparisonProfile:n?{id:`comparison`,name:r,stats:[n.strength,n.dexterity,n.intelligence,n.wisdom,n.charisma,n.constitution]}:void 0,theme:o,...s})}function f({skills:e,name:t=`Skills Assessment`,theme:n=`blue`,...r}){return(0,i.jsx)(l,{stats:[{id:`tech`,label:`Technical`,value:e.technical,description:`Technical expertise & coding skills`},{id:`comm`,label:`Communication`,value:e.communication,description:`Written & verbal communication`},{id:`lead`,label:`Leadership`,value:e.leadership,description:`Team leadership & management`},{id:`prob`,label:`Problem Solving`,value:e.problemSolving,description:`Analytical thinking`},{id:`create`,label:`Creativity`,value:e.creativity,description:`Innovation & creative thinking`},{id:`team`,label:`Teamwork`,value:e.teamwork,description:`Collaboration & cooperation`}],profile:{id:`main`,name:t,stats:[e.technical,e.communication,e.leadership,e.problemSolving,e.creativity,e.teamwork]},theme:n,...r})}exports.WakaStatsHexagon=l,exports.default=l,exports.WakaStatsHexagonRPG=d,exports.WakaStatsHexagonSimple=u,exports.WakaStatsHexagonSkills=f,exports.useStatsHexagon=c;