@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.
- package/dist/blocks/_shared/identity/InviteUserPanel.cjs.js +1 -1
- package/dist/blocks/_shared/identity/RoleSelect.cjs.js +1 -1
- package/dist/blocks/_shared/identity/SidePushLayout.cjs.js +1 -1
- package/dist/blocks/activity-timeline/index.cjs.js +1 -1
- package/dist/blocks/activity-timeline/index.es.js +1 -1
- package/dist/blocks/antivirus-dashboard/index.cjs.js +1 -1
- package/dist/blocks/antivirus-dashboard/index.es.js +1 -1
- package/dist/blocks/api-keys-manager/index.cjs.js +1 -1
- package/dist/blocks/apm-overview/index.cjs.js +1 -1
- package/dist/blocks/auth-2fa/index.cjs.js +2 -2
- package/dist/blocks/auth-2fa/index.es.js +1 -1
- package/dist/blocks/avatar-upload/index.cjs.js +1 -1
- package/dist/blocks/avatar-upload/index.es.js +13 -13
- package/dist/blocks/calendar-view/index.cjs.js +1 -1
- package/dist/blocks/calendar-view/index.es.js +1 -1
- package/dist/blocks/chat/index.cjs.js +1 -1
- package/dist/blocks/chat/index.es.js +162 -162
- package/dist/blocks/chat/widget.cjs.js +1 -1
- package/dist/blocks/chat/widget.es.js +19 -13
- package/dist/blocks/chat-interface/index.cjs.js +1 -1
- package/dist/blocks/chat-interface/index.es.js +1 -1
- package/dist/blocks/checkout-flow/index.cjs.js +1 -1
- package/dist/blocks/checkout-flow/index.es.js +1 -1
- package/dist/blocks/cicd-builder/index.cjs.js +1 -1
- package/dist/blocks/clamav-service-status/index.cjs.js +1 -1
- package/dist/blocks/cloud-cost-dashboard/index.cjs.js +1 -1
- package/dist/blocks/container-orchestrator/index.cjs.js +1 -1
- package/dist/blocks/container-orchestrator/index.es.js +2 -1
- package/dist/blocks/dashboard/index.cjs.js +1 -1
- package/dist/blocks/dashboard/index.es.js +2 -2
- package/dist/blocks/dashboard-kpi/index.cjs.js +1 -1
- package/dist/blocks/dashboard-kpi/index.es.js +1 -1
- package/dist/blocks/database-admin/index.cjs.js +1 -1
- package/dist/blocks/deployment-dashboard/index.cjs.js +1 -1
- package/dist/blocks/deployment-dashboard/index.es.js +1 -1
- package/dist/blocks/empty-states/index.cjs.js +1 -1
- package/dist/blocks/empty-states/index.es.js +1 -1
- package/dist/blocks/error-pages/index.cjs.js +1 -1
- package/dist/blocks/error-pages/index.es.js +1 -1
- package/dist/blocks/faq/index.cjs.js +1 -1
- package/dist/blocks/faq/index.es.js +1 -1
- package/dist/blocks/file-manager/index.cjs.js +1 -1
- package/dist/blocks/file-manager/index.es.js +1 -1
- package/dist/blocks/file-scan-uploader/index.cjs.js +1 -1
- package/dist/blocks/file-scan-uploader/index.es.js +2 -2
- package/dist/blocks/footer/index.cjs.js +1 -1
- package/dist/blocks/gitops-sync-status/index.cjs.js +1 -1
- package/dist/blocks/header/index.cjs.js +1 -1
- package/dist/blocks/header/index.es.js +1 -1
- package/dist/blocks/headtab/index.cjs.js +1 -1
- package/dist/blocks/i18n-editor/index.cjs.js +1 -1
- package/dist/blocks/i18n-editor/index.es.js +127 -127
- package/dist/blocks/incident-manager/index.cjs.js +1 -1
- package/dist/blocks/infrastructure-map/index.cjs.js +1 -1
- package/dist/blocks/kanban-board/index.cjs.js +1 -1
- package/dist/blocks/kanban-board/index.es.js +1 -1
- package/dist/blocks/landing/index.cjs.js +1 -1
- package/dist/blocks/landing/index.es.js +1 -1
- package/dist/blocks/language-selector/index.cjs.js +1 -1
- package/dist/blocks/layout/index.cjs.js +1 -1
- package/dist/blocks/login/index.cjs.js +1 -1
- package/dist/blocks/on-call-schedule/index.cjs.js +1 -1
- package/dist/blocks/player-profile/index.cjs.js +1 -1
- package/dist/blocks/player-profile/index.es.js +1 -1
- package/dist/blocks/pricing/index.cjs.js +1 -1
- package/dist/blocks/pricing/index.es.js +1 -1
- package/dist/blocks/profile/index.cjs.js +1 -1
- package/dist/blocks/profile/index.es.js +1 -1
- package/dist/blocks/profile-list/index.cjs.js +1 -1
- package/dist/blocks/quarantine-manager/index.cjs.js +1 -1
- package/dist/blocks/quarantine-manager/index.es.js +1 -1
- package/dist/blocks/release-notes/index.cjs.js +1 -1
- package/dist/blocks/scan-history-log/index.cjs.js +1 -1
- package/dist/blocks/scan-history-log/index.es.js +1 -1
- package/dist/blocks/scan-policy-editor/index.cjs.js +1 -1
- package/dist/blocks/scan-report-generator/index.cjs.js +1 -1
- package/dist/blocks/settings/index.cjs.js +1 -1
- package/dist/blocks/settings/index.es.js +1 -1
- package/dist/blocks/sidebar/index.cjs.js +1 -1
- package/dist/blocks/sidebar/index.es.js +1 -1
- package/dist/blocks/signature-database-manager/index.cjs.js +1 -1
- package/dist/blocks/team-form/index.cjs.js +1 -1
- package/dist/blocks/threat-alert-banner/index.cjs.js +1 -1
- package/dist/blocks/user-management/index.cjs.js +1 -1
- package/dist/blocks/waka-doc-shell/index.cjs.js +1 -1
- package/dist/blocks/wizard/index.cjs.js +1 -1
- package/dist/blocks/wizard/index.es.js +37 -37
- package/dist/charts.cjs.js +1 -1
- package/dist/charts.es.js +8 -8
- package/dist/cli/index.cjs +5 -1
- package/dist/components/DataTable/DataTable.cjs.js +1 -1
- package/dist/components/DataTable/DataTable.es.js +68 -66
- package/dist/components/DataTable/DataTableAdvanced.cjs.js +1 -1
- package/dist/components/DataTable/DataTableColumnResizer.cjs.js +1 -1
- package/dist/components/DataTable/DataTableContextMenu.cjs.js +1 -1
- package/dist/components/DataTable/DataTableEditCell.cjs.js +1 -1
- package/dist/components/DataTable/DataTableFilters.cjs.js +1 -1
- package/dist/components/DataTable/DataTableGrouping.cjs.js +1 -1
- package/dist/components/DataTable/DataTablePagination.cjs.js +1 -1
- package/dist/components/DataTable/DataTablePagination.d.ts +3 -1
- package/dist/components/DataTable/DataTablePagination.es.js +38 -27
- package/dist/components/DataTable/DataTableSelection.cjs.js +1 -1
- package/dist/components/DataTable/DataTableToolbar.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTable.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTable.es.js +5 -1
- package/dist/components/DataTable/hooks/useDataTableAdvanced.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTableEdit.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTableExport.cjs.js +2 -2
- package/dist/components/DataTable/hooks/useDataTableImport.cjs.js +2 -2
- package/dist/components/DataTable/hooks/useDataTableImport.es.js +2 -1
- package/dist/components/DataTable/hooks/useDataTableTheme.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTableVirtualization.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useTableLayout.cjs.js +1 -1
- package/dist/components/DataTable/utils.cjs.js +1 -1
- package/dist/components/accordion/index.cjs.js +1 -1
- package/dist/components/alert/index.cjs.js +1 -1
- package/dist/components/alert-dialog/index.cjs.js +1 -1
- package/dist/components/aspect-ratio/index.cjs.js +1 -1
- package/dist/components/avatar/index.cjs.js +1 -1
- package/dist/components/badge/index.cjs.js +1 -1
- package/dist/components/button/index.cjs.js +1 -1
- package/dist/components/calendar/index.cjs.js +1 -1
- package/dist/components/card/index.cjs.js +1 -1
- package/dist/components/checkbox/index.cjs.js +1 -1
- package/dist/components/code/index.cjs.js +2 -2
- package/dist/components/code/index.es.js +3 -2
- package/dist/components/collapsible/index.cjs.js +1 -1
- package/dist/components/command/index.cjs.js +1 -1
- package/dist/components/context-menu/index.cjs.js +1 -1
- package/dist/components/dialog/index.cjs.js +1 -1
- package/dist/components/dropdown-menu/index.cjs.js +1 -1
- package/dist/components/editor/blocks/index.cjs.js +1 -1
- package/dist/components/editor/blocks/index.es.js +12 -12
- package/dist/components/editor/blocks/waka-acceptance-criteria-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-ai-assist-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-api-endpoint-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-code-playground-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-comment-thread-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-diagram-block.cjs.js +3 -3
- package/dist/components/editor/blocks/waka-diagram-block.es.js +21 -40
- package/dist/components/editor/blocks/waka-embed-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-slash-menu-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-user-story-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-version-diff-block.cjs.js +1 -1
- package/dist/components/editor/waka-ai-writer.cjs.js +1 -1
- package/dist/components/editor/waka-collaborative-editor.cjs.js +1 -1
- package/dist/components/editor/waka-diff-viewer.cjs.js +1 -1
- package/dist/components/editor/waka-dnd-editor.cjs.js +1 -1
- package/dist/components/editor/waka-document-editor.cjs.js +1 -1
- package/dist/components/editor/waka-document-editor.es.js +1 -1
- package/dist/components/editor/waka-editor-elements.cjs.js +1 -1
- package/dist/components/editor/waka-editor-leaves.cjs.js +1 -1
- package/dist/components/editor/waka-editor-toolbar.cjs.js +1 -1
- package/dist/components/editor/waka-editor.cjs.js +1 -1
- package/dist/components/editor/waka-floating-toolbar.cjs.js +1 -1
- package/dist/components/editor/waka-markdown-editor.cjs.js +1 -1
- package/dist/components/editor/waka-mention-editor.cjs.js +1 -1
- package/dist/components/editor/waka-mention-editor.es.js +2 -2
- package/dist/components/editor/waka-slash-menu.cjs.js +1 -1
- package/dist/components/editor/waka-spec-editor.cjs.js +1 -1
- package/dist/components/form/index.cjs.js +1 -1
- package/dist/components/hover-card/index.cjs.js +1 -1
- package/dist/components/input/index.cjs.js +1 -1
- package/dist/components/input-otp/index.cjs.js +1 -1
- package/dist/components/input-otp/index.es.js +2 -1
- package/dist/components/label/index.cjs.js +1 -1
- package/dist/components/language-selector/index.cjs.js +1 -1
- package/dist/components/menubar/index.cjs.js +1 -1
- package/dist/components/navigation-menu/index.cjs.js +1 -1
- package/dist/components/popover/index.cjs.js +1 -1
- package/dist/components/progress/index.cjs.js +1 -1
- package/dist/components/radio-group/index.cjs.js +1 -1
- package/dist/components/resizable/index.cjs.js +1 -1
- package/dist/components/resizable/index.es.js +9 -9
- package/dist/components/scroll-area/index.cjs.js +1 -1
- package/dist/components/select/index.cjs.js +1 -1
- package/dist/components/separator/index.cjs.js +1 -1
- package/dist/components/sheet/index.cjs.js +1 -1
- package/dist/components/skeleton/index.cjs.js +1 -1
- package/dist/components/slider/index.cjs.js +1 -1
- package/dist/components/switch/index.cjs.js +1 -1
- package/dist/components/table/index.cjs.js +1 -1
- package/dist/components/tabs/index.cjs.js +1 -1
- package/dist/components/textarea/index.cjs.js +1 -1
- package/dist/components/theme-selector/index.cjs.js +1 -1
- package/dist/components/toast/index.cjs.js +1 -1
- package/dist/components/toaster/index.cjs.js +1 -1
- package/dist/components/toggle/index.cjs.js +1 -1
- package/dist/components/toggle-group/index.cjs.js +1 -1
- package/dist/components/tooltip/index.cjs.js +1 -1
- package/dist/components/typography/index.cjs.js +1 -1
- package/dist/components/waka-3d-pie-chart/index.cjs.js +1 -1
- package/dist/components/waka-3d-pie-chart/index.es.js +1 -1
- package/dist/components/waka-achievement-unlock/index.cjs.js +1 -1
- package/dist/components/waka-achievement-unlock/index.es.js +1 -1
- package/dist/components/waka-activity-feed/index.cjs.js +2 -2
- package/dist/components/waka-activity-feed/index.es.js +1 -1
- package/dist/components/waka-ad-banner/index.cjs.js +1 -1
- package/dist/components/waka-ad-banner/index.es.js +18 -15
- package/dist/components/waka-ad-fallback/index.cjs.js +1 -1
- package/dist/components/waka-ad-fallback/index.es.js +1 -1
- package/dist/components/waka-ad-inline/index.cjs.js +1 -1
- package/dist/components/waka-ad-inline/index.es.js +2 -2
- package/dist/components/waka-ad-interstitial/index.cjs.js +1 -1
- package/dist/components/waka-ad-interstitial/index.es.js +3 -3
- package/dist/components/waka-ad-placeholder/index.cjs.js +2 -2
- package/dist/components/waka-ad-placeholder/index.es.js +1 -1
- package/dist/components/waka-ad-provider/index.cjs.js +1 -1
- package/dist/components/waka-ad-provider/index.es.js +1 -1
- package/dist/components/waka-ad-sidebar/index.cjs.js +1 -1
- package/dist/components/waka-ad-sidebar/index.es.js +2 -2
- package/dist/components/waka-ad-sticky-footer/index.cjs.js +1 -1
- package/dist/components/waka-ad-sticky-footer/index.es.js +2 -2
- package/dist/components/waka-address-autocomplete/index.cjs.js +2 -2
- package/dist/components/waka-address-autocomplete/index.es.js +10 -6
- package/dist/components/waka-admincrumb/index.cjs.js +1 -1
- package/dist/components/waka-alert-panel/index.cjs.js +1 -1
- package/dist/components/waka-alert-stack/index.cjs.js +1 -1
- package/dist/components/waka-alert-stack/index.es.js +1 -1
- package/dist/components/waka-allocation-matrix/index.cjs.js +2 -2
- package/dist/components/waka-allocation-matrix/index.es.js +1 -1
- package/dist/components/waka-approval-chain/index.cjs.js +1 -1
- package/dist/components/waka-approval-chain/index.es.js +1 -1
- package/dist/components/waka-artifact-list/index.cjs.js +1 -1
- package/dist/components/waka-artifact-list/index.es.js +1 -1
- package/dist/components/waka-audit-log/index.cjs.js +2 -2
- package/dist/components/waka-audit-log/index.es.js +1 -1
- package/dist/components/waka-autocomplete/index.cjs.js +1 -1
- package/dist/components/waka-autocomplete/index.es.js +3 -2
- package/dist/components/waka-badge-showcase/index.cjs.js +1 -1
- package/dist/components/waka-barcode/index.cjs.js +1 -1
- package/dist/components/waka-barcode/index.es.js +1 -1
- package/dist/components/waka-biometric-prompt/index.cjs.js +2 -2
- package/dist/components/waka-biometric-prompt/index.es.js +1 -1
- package/dist/components/waka-bottom-sheet/index.cjs.js +1 -1
- package/dist/components/waka-bottom-sheet/index.es.js +12 -7
- package/dist/components/waka-breadcrumb/index.cjs.js +1 -1
- package/dist/components/waka-breadcrumb/index.es.js +1 -1
- package/dist/components/waka-breadcrumb-path/index.cjs.js +1 -1
- package/dist/components/waka-breadcrumb-path/index.es.js +1 -1
- package/dist/components/waka-budget-burn/index.cjs.js +2 -2
- package/dist/components/waka-budget-burn/index.es.js +3 -3
- package/dist/components/waka-build-matrix/index.cjs.js +1 -1
- package/dist/components/waka-capacity-planner/index.cjs.js +2 -2
- package/dist/components/waka-capacity-planner/index.es.js +1 -1
- package/dist/components/waka-carousel/index.cjs.js +1 -1
- package/dist/components/waka-carousel/index.es.js +2 -2
- package/dist/components/waka-cart-summary/index.cjs.js +1 -1
- package/dist/components/waka-cart-summary/index.es.js +2 -2
- package/dist/components/waka-challenge-timer/index.cjs.js +1 -1
- package/dist/components/waka-charts/WakaAreaChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaAreaChart.es.js +2 -2
- package/dist/components/waka-charts/WakaBarChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaBarChart.es.js +2 -2
- package/dist/components/waka-charts/WakaChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaChart.es.js +1 -1
- package/dist/components/waka-charts/WakaLineChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaLineChart.es.js +2 -2
- package/dist/components/waka-charts/WakaMiniChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaMiniChart.es.js +2 -2
- package/dist/components/waka-charts/WakaPieChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaPieChart.es.js +2 -2
- package/dist/components/waka-charts/WakaSparkline.cjs.js +1 -1
- package/dist/components/waka-charts/WakaSparkline.es.js +1 -1
- package/dist/components/waka-charts/dataTableHelpers.cjs.js +1 -1
- package/dist/components/waka-charts/dataTableHelpers.es.js +1 -1
- package/dist/components/waka-charts/hooks/useChartTheme.cjs.js +1 -1
- package/dist/components/waka-charts/hooks/useChartTheme.es.js +1 -1
- package/dist/components/waka-charts/hooks/useRechartsLoader.cjs.js +1 -1
- package/dist/components/waka-charts/hooks/useRechartsLoader.es.js +1 -1
- package/dist/components/waka-chat-bubble/index.cjs.js +1 -1
- package/dist/components/waka-checklist/index.cjs.js +2 -2
- package/dist/components/waka-checklist/index.es.js +1 -1
- package/dist/components/waka-checkout-stepper/index.cjs.js +1 -1
- package/dist/components/waka-checkout-stepper/index.es.js +1 -1
- package/dist/components/waka-cohort-table/index.cjs.js +2 -2
- package/dist/components/waka-cohort-table/index.es.js +1 -1
- package/dist/components/waka-color-picker/index.cjs.js +2 -2
- package/dist/components/waka-color-picker/index.es.js +1 -1
- package/dist/components/waka-combo-counter/index.cjs.js +1 -1
- package/dist/components/waka-combobox/index.cjs.js +1 -1
- package/dist/components/waka-combobox/index.es.js +3 -2
- package/dist/components/waka-command-bar/index.cjs.js +1 -1
- package/dist/components/waka-compare-period/index.cjs.js +2 -2
- package/dist/components/waka-compare-period/index.es.js +7 -5
- package/dist/components/waka-config-comparator/index.cjs.js +1 -1
- package/dist/components/waka-config-comparator/index.es.js +1 -1
- package/dist/components/waka-connection-matrix/index.cjs.js +1 -1
- package/dist/components/waka-connection-matrix/index.es.js +1 -1
- package/dist/components/waka-container-list/index.cjs.js +1 -1
- package/dist/components/waka-container-list/index.es.js +1 -1
- package/dist/components/waka-content-recommendation/index.cjs.js +1 -1
- package/dist/components/waka-content-recommendation/index.es.js +2 -2
- package/dist/components/waka-contribution-graph/index.cjs.js +1 -1
- package/dist/components/waka-contribution-graph/index.es.js +4 -4
- package/dist/components/waka-cost-breakdown/index.cjs.js +1 -1
- package/dist/components/waka-cost-breakdown/index.es.js +7 -7
- package/dist/components/waka-coupon-input/index.cjs.js +2 -2
- package/dist/components/waka-coupon-input/index.es.js +1 -1
- package/dist/components/waka-credit-activity-feed/index.cjs.js +2 -2
- package/dist/components/waka-credit-activity-feed/index.es.js +1 -1
- package/dist/components/waka-credit-alert/index.cjs.js +1 -1
- package/dist/components/waka-credit-alert/index.es.js +1 -1
- package/dist/components/waka-credit-balance/index.cjs.js +1 -1
- package/dist/components/waka-credit-balance/index.es.js +3 -3
- package/dist/components/waka-credit-breakdown/index.cjs.js +1 -1
- package/dist/components/waka-credit-breakdown/index.es.js +1 -1
- package/dist/components/waka-credit-burn-rate/index.cjs.js +1 -1
- package/dist/components/waka-credit-burn-rate/index.es.js +1 -1
- package/dist/components/waka-credit-card-input/index.cjs.js +1 -1
- package/dist/components/waka-credit-card-input/index.es.js +1 -1
- package/dist/components/waka-credit-history/index.cjs.js +1 -1
- package/dist/components/waka-credit-history/index.es.js +1 -1
- package/dist/components/waka-credit-meter/index.cjs.js +2 -2
- package/dist/components/waka-credit-meter/index.es.js +3 -3
- package/dist/components/waka-credit-pricing-pack/index.cjs.js +1 -1
- package/dist/components/waka-credit-pricing-pack/index.es.js +1 -1
- package/dist/components/waka-credit-projection/index.cjs.js +1 -1
- package/dist/components/waka-credit-projection/index.es.js +1 -1
- package/dist/components/waka-credit-quota/index.cjs.js +1 -1
- package/dist/components/waka-credit-quota/index.es.js +3 -3
- package/dist/components/waka-credit-receipt/index.cjs.js +1 -1
- package/dist/components/waka-credit-receipt/index.es.js +1 -1
- package/dist/components/waka-credit-top-up/index.cjs.js +1 -1
- package/dist/components/waka-credit-top-up/index.es.js +1 -1
- package/dist/components/waka-credit-transaction/index.cjs.js +1 -1
- package/dist/components/waka-credit-transaction/index.es.js +1 -1
- package/dist/components/waka-credit-transfer-form/index.cjs.js +1 -1
- package/dist/components/waka-credit-transfer-form/index.es.js +1 -1
- package/dist/components/waka-credit-usage-chart/index.cjs.js +1 -1
- package/dist/components/waka-credit-usage-chart/index.es.js +1 -1
- package/dist/components/waka-daily-reward/index.cjs.js +1 -1
- package/dist/components/waka-database-card/index.cjs.js +1 -1
- package/dist/components/waka-database-card/index.es.js +1 -1
- package/dist/components/waka-date-range-picker/index.cjs.js +1 -1
- package/dist/components/waka-date-range-picker/index.es.js +3 -2
- package/dist/components/waka-datetime-picker/index.cjs.js +1 -1
- package/dist/components/waka-datetime-picker/index.es.js +4 -1
- package/dist/components/waka-datetime-picker.form-integration/index.cjs.js +1 -1
- package/dist/components/waka-dependency-tree/index.cjs.js +1 -1
- package/dist/components/waka-dependency-tree/index.es.js +1 -1
- package/dist/components/waka-deployment-lane/index.cjs.js +1 -1
- package/dist/components/waka-deployment-lane/index.es.js +1 -1
- package/dist/components/waka-device-trust/index.cjs.js +2 -2
- package/dist/components/waka-device-trust/index.es.js +1 -1
- package/dist/components/waka-doc-breadcrumb/index.cjs.js +1 -1
- package/dist/components/waka-doc-callout/index.cjs.js +1 -1
- package/dist/components/waka-doc-code-block/index.cjs.js +1 -1
- package/dist/components/waka-doc-nav/index.cjs.js +1 -1
- package/dist/components/waka-doc-renderer/index.cjs.js +1 -1
- package/dist/components/waka-doc-search/index.cjs.js +1 -1
- package/dist/components/waka-doc-table/index.cjs.js +1 -1
- package/dist/components/waka-doc-toc/index.cjs.js +1 -1
- package/dist/components/waka-doc-toolbar/index.cjs.js +1 -1
- package/dist/components/waka-doc-version/index.cjs.js +1 -1
- package/dist/components/waka-dock/index.cjs.js +1 -1
- package/dist/components/waka-dock/index.es.js +2 -2
- package/dist/components/waka-drawer/index.cjs.js +1 -1
- package/dist/components/waka-drawer/index.es.js +1 -1
- package/dist/components/waka-empty-state/index.cjs.js +1 -1
- package/dist/components/waka-env-var-editor/index.cjs.js +1 -1
- package/dist/components/waka-error-shake/index.cjs.js +1 -1
- package/dist/components/waka-feature-announcement/index.cjs.js +2 -2
- package/dist/components/waka-feature-announcement/index.es.js +1 -1
- package/dist/components/waka-feature-flag-row/index.cjs.js +1 -1
- package/dist/components/waka-file-upload/index.cjs.js +1 -1
- package/dist/components/waka-file-upload/index.es.js +2 -2
- package/dist/components/waka-floating-nav/index.cjs.js +1 -1
- package/dist/components/waka-floating-nav/index.es.js +1 -1
- package/dist/components/waka-flow-diagram/index.cjs.js +1 -1
- package/dist/components/waka-funnel-chart/index.cjs.js +2 -2
- package/dist/components/waka-funnel-chart/index.es.js +1 -1
- package/dist/components/waka-glow-card/index.cjs.js +1 -1
- package/dist/components/waka-glow-card/index.es.js +3 -3
- package/dist/components/waka-goal-progress/index.cjs.js +3 -3
- package/dist/components/waka-goal-progress/index.es.js +3 -3
- package/dist/components/waka-haptic-button/index.cjs.js +1 -1
- package/dist/components/waka-health-pulse/index.cjs.js +2 -2
- package/dist/components/waka-health-pulse/index.es.js +1 -1
- package/dist/components/waka-heatmap/index.cjs.js +1 -1
- package/dist/components/waka-heatmap/index.es.js +3 -3
- package/dist/components/waka-hotspot/index.cjs.js +1 -1
- package/dist/components/waka-image/index.cjs.js +1 -1
- package/dist/components/waka-image/index.es.js +1 -1
- package/dist/components/waka-incident-timeline/index.cjs.js +1 -1
- package/dist/components/waka-incident-timeline/index.es.js +3 -2
- package/dist/components/waka-invoice-preview/index.cjs.js +1 -1
- package/dist/components/waka-invoice-preview/index.es.js +1 -1
- package/dist/components/waka-kanban/index.cjs.js +1 -1
- package/dist/components/waka-kanban/index.es.js +1 -1
- package/dist/components/waka-kpi-dashboard/index.cjs.js +1 -1
- package/dist/components/waka-kpi-dashboard/index.es.js +6 -4
- package/dist/components/waka-kubernetes-overview/index.cjs.js +1 -1
- package/dist/components/waka-kubernetes-overview/index.es.js +1 -1
- package/dist/components/waka-leaderboard/index.cjs.js +1 -1
- package/dist/components/waka-level-progress/index.cjs.js +2 -2
- package/dist/components/waka-level-progress/index.es.js +2 -2
- package/dist/components/waka-liquid-button/index.cjs.js +1 -1
- package/dist/components/waka-loading-orbit/index.cjs.js +1 -1
- package/dist/components/waka-log-viewer/index.cjs.js +1 -1
- package/dist/components/waka-loot-box/index.cjs.js +2 -2
- package/dist/components/waka-loot-box/index.es.js +1 -1
- package/dist/components/waka-magic-link/index.cjs.js +2 -2
- package/dist/components/waka-magnetic-button/index.cjs.js +1 -1
- package/dist/components/waka-mention-input/index.cjs.js +1 -1
- package/dist/components/waka-mention-input/index.es.js +52 -40
- package/dist/components/waka-metric-sparkline/index.cjs.js +1 -1
- package/dist/components/waka-metric-sparkline/index.es.js +1 -1
- package/dist/components/waka-migration-list/index.cjs.js +1 -1
- package/dist/components/waka-milestone-road/index.cjs.js +2 -2
- package/dist/components/waka-milestone-road/index.es.js +5 -5
- package/dist/components/waka-modal/index.cjs.js +1 -1
- package/dist/components/waka-modal/index.es.js +1 -1
- package/dist/components/waka-morph-button/index.cjs.js +2 -2
- package/dist/components/waka-morph-button/index.es.js +6 -2
- package/dist/components/waka-network-topology/index.cjs.js +1 -1
- package/dist/components/waka-network-topology/index.es.js +4 -2
- package/dist/components/waka-notifications/index.cjs.js +1 -1
- package/dist/components/waka-number-input/index.cjs.js +1 -1
- package/dist/components/waka-number-input/index.es.js +1 -1
- package/dist/components/waka-orbital-menu/index.cjs.js +1 -1
- package/dist/components/waka-orbital-menu/index.es.js +1 -1
- package/dist/components/waka-order-tracker/index.cjs.js +1 -1
- package/dist/components/waka-order-tracker/index.es.js +3 -2
- package/dist/components/waka-outstream-video/index.cjs.js +1 -1
- package/dist/components/waka-outstream-video/index.es.js +2 -2
- package/dist/components/waka-pagination/index.cjs.js +1 -1
- package/dist/components/waka-pagination/index.es.js +1 -1
- package/dist/components/waka-password-strength/index.cjs.js +2 -2
- package/dist/components/waka-password-strength/index.es.js +3 -3
- package/dist/components/waka-payment-method-picker/index.cjs.js +1 -1
- package/dist/components/waka-payment-method-picker/index.es.js +1 -1
- package/dist/components/waka-permission-matrix/index.cjs.js +2 -2
- package/dist/components/waka-permission-matrix/index.es.js +3 -2
- package/dist/components/waka-phone-input/index.cjs.js +1 -1
- package/dist/components/waka-phone-input/index.es.js +5 -3
- package/dist/components/waka-pipeline-view/index.cjs.js +2 -2
- package/dist/components/waka-pipeline-view/index.es.js +1 -1
- package/dist/components/waka-player-card/index.cjs.js +2 -2
- package/dist/components/waka-player-card/index.es.js +4 -4
- package/dist/components/waka-pod-card/index.cjs.js +1 -1
- package/dist/components/waka-pod-card/index.es.js +1 -1
- package/dist/components/waka-points-popup/index.cjs.js +1 -1
- package/dist/components/waka-points-popup/index.es.js +5 -1
- package/dist/components/waka-power-up/index.cjs.js +1 -1
- package/dist/components/waka-presence-indicator/index.cjs.js +2 -2
- package/dist/components/waka-presence-indicator/index.es.js +1 -1
- package/dist/components/waka-pricing-table/index.cjs.js +2 -2
- package/dist/components/waka-pricing-table/index.es.js +1 -1
- package/dist/components/waka-product-card/index.cjs.js +1 -1
- package/dist/components/waka-progress-onboarding/index.cjs.js +3 -3
- package/dist/components/waka-progress-onboarding/index.es.js +1 -1
- package/dist/components/waka-pull-to-refresh/index.cjs.js +1 -1
- package/dist/components/waka-qrcode/index.cjs.js +1 -1
- package/dist/components/waka-qrcode/index.es.js +1 -1
- package/dist/components/waka-query-explain/index.cjs.js +1 -1
- package/dist/components/waka-quest-card/index.cjs.js +2 -2
- package/dist/components/waka-quest-card/index.es.js +4 -1
- package/dist/components/waka-quota-bar/index.cjs.js +2 -2
- package/dist/components/waka-quota-bar/index.es.js +11 -4
- package/dist/components/waka-radar-score/index.cjs.js +1 -1
- package/dist/components/waka-radar-score/index.es.js +6 -6
- package/dist/components/waka-rank-badge/index.cjs.js +2 -2
- package/dist/components/waka-rank-badge/index.es.js +1 -1
- package/dist/components/waka-rating-input/index.cjs.js +2 -2
- package/dist/components/waka-rating-input/index.es.js +1 -1
- package/dist/components/waka-reaction-picker/index.cjs.js +1 -1
- package/dist/components/waka-reaction-picker/index.es.js +7 -4
- package/dist/components/waka-region-map/index.cjs.js +1 -1
- package/dist/components/waka-region-map/index.es.js +1 -1
- package/dist/components/waka-resource-gauge/index.cjs.js +2 -2
- package/dist/components/waka-resource-gauge/index.es.js +3 -3
- package/dist/components/waka-resource-pool/index.cjs.js +2 -2
- package/dist/components/waka-resource-pool/index.es.js +1 -1
- package/dist/components/waka-rich-text-editor/index.cjs.js +1 -1
- package/dist/components/waka-rich-text-editor/index.es.js +1 -1
- package/dist/components/waka-rollback-slider/index.cjs.js +2 -2
- package/dist/components/waka-rollback-slider/index.es.js +5 -3
- package/dist/components/waka-sankey-diagram/index.cjs.js +2 -2
- package/dist/components/waka-sankey-diagram/index.es.js +5 -5
- package/dist/components/waka-schedule-picker/index.cjs.js +1 -1
- package/dist/components/waka-schedule-picker/index.es.js +3 -2
- package/dist/components/waka-scratch-card/index.cjs.js +2 -2
- package/dist/components/waka-scratch-card/index.es.js +1 -1
- package/dist/components/waka-season-pass/index.cjs.js +1 -1
- package/dist/components/waka-secret-card/index.cjs.js +1 -1
- package/dist/components/waka-security-scan-result/index.cjs.js +1 -1
- package/dist/components/waka-security-score/index.cjs.js +2 -2
- package/dist/components/waka-security-score/index.es.js +5 -5
- package/dist/components/waka-segmented-control/index.cjs.js +1 -1
- package/dist/components/waka-segmented-control/index.es.js +1 -1
- package/dist/components/waka-server-rack/index.cjs.js +1 -1
- package/dist/components/waka-service-graph/index.cjs.js +1 -1
- package/dist/components/waka-session-manager/index.cjs.js +1 -1
- package/dist/components/waka-session-manager/index.es.js +3 -2
- package/dist/components/waka-signature-pad/index.cjs.js +1 -1
- package/dist/components/waka-signature-pad/index.es.js +1 -1
- package/dist/components/waka-skeleton-wave/index.cjs.js +1 -1
- package/dist/components/waka-skill-tree/index.cjs.js +2 -2
- package/dist/components/waka-skill-tree/index.es.js +32 -32
- package/dist/components/waka-sla-tracker/index.cjs.js +1 -1
- package/dist/components/waka-sla-tracker/index.es.js +1 -1
- package/dist/components/waka-slider-range/index.cjs.js +1 -1
- package/dist/components/waka-slider-range/index.es.js +3 -3
- package/dist/components/waka-spin-wheel/index.cjs.js +2 -2
- package/dist/components/waka-spin-wheel/index.es.js +6 -6
- package/dist/components/waka-spinner/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-badge/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-badge/index.es.js +1 -1
- package/dist/components/waka-sponsored-card/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-card/index.es.js +2 -2
- package/dist/components/waka-sponsored-feed/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-feed/index.es.js +2 -2
- package/dist/components/waka-spotlight/index.cjs.js +1 -1
- package/dist/components/waka-spotlight/index.es.js +2 -1
- package/dist/components/waka-stat/index.cjs.js +1 -1
- package/dist/components/waka-stat/index.es.js +1 -1
- package/dist/components/waka-stats-hexagon/index.cjs.js +1 -1
- package/dist/components/waka-stats-hexagon/index.es.js +9 -9
- package/dist/components/waka-status-matrix/index.cjs.js +1 -1
- package/dist/components/waka-status-matrix/index.es.js +1 -1
- package/dist/components/waka-stepper/index.cjs.js +1 -1
- package/dist/components/waka-stepper/index.es.js +1 -1
- package/dist/components/waka-streak-counter/index.cjs.js +1 -1
- package/dist/components/waka-success-explosion/index.cjs.js +1 -1
- package/dist/components/waka-swipe-card/index.cjs.js +1 -1
- package/dist/components/waka-swipe-card/index.es.js +2 -2
- package/dist/components/waka-tabs-morph/index.cjs.js +1 -1
- package/dist/components/waka-tabs-morph/index.es.js +1 -1
- package/dist/components/waka-tag-input/index.cjs.js +1 -1
- package/dist/components/waka-tag-input/index.es.js +3 -2
- package/dist/components/waka-team-banner/index.cjs.js +2 -2
- package/dist/components/waka-team-banner/index.es.js +1 -1
- package/dist/components/waka-terminal-output/index.cjs.js +2 -2
- package/dist/components/waka-terminal-output/index.es.js +5 -3
- package/dist/components/waka-test-report/index.cjs.js +1 -1
- package/dist/components/waka-theme-creator/index.cjs.js +1 -1
- package/dist/components/waka-theme-manager/index.cjs.js +1 -1
- package/dist/components/waka-theme-manager/index.es.js +5 -2
- package/dist/components/waka-thread-view/index.cjs.js +2 -2
- package/dist/components/waka-thread-view/index.es.js +1 -1
- package/dist/components/waka-tilt-card/index.cjs.js +1 -1
- package/dist/components/waka-tilt-card/index.es.js +8 -6
- package/dist/components/waka-time-picker/index.cjs.js +1 -1
- package/dist/components/waka-time-picker/index.es.js +10 -6
- package/dist/components/waka-timeline/index.cjs.js +1 -1
- package/dist/components/waka-timeline/index.es.js +1 -1
- package/dist/components/waka-tooltip-tour/index.cjs.js +3 -3
- package/dist/components/waka-tooltip-tour/index.es.js +53 -51
- package/dist/components/waka-tour-guide/index.cjs.js +2 -2
- package/dist/components/waka-tour-guide/index.es.js +1 -1
- package/dist/components/waka-tournament-bracket/index.cjs.js +2 -2
- package/dist/components/waka-tournament-bracket/index.es.js +1 -1
- package/dist/components/waka-trace-viewer/index.cjs.js +1 -1
- package/dist/components/waka-tree/index.cjs.js +1 -1
- package/dist/components/waka-tree/index.es.js +1 -1
- package/dist/components/waka-treemap-chart/index.cjs.js +1 -1
- package/dist/components/waka-treemap-chart/index.es.js +1 -1
- package/dist/components/waka-two-factor-setup/index.cjs.js +2 -2
- package/dist/components/waka-two-factor-setup/index.es.js +5 -4
- package/dist/components/waka-typewriter/index.cjs.js +1 -1
- package/dist/components/waka-typewriter/index.es.js +7 -2
- package/dist/components/waka-typing-indicator/index.cjs.js +2 -2
- package/dist/components/waka-typing-indicator/index.es.js +1 -1
- package/dist/components/waka-versus-card/index.cjs.js +3 -3
- package/dist/components/waka-versus-card/index.es.js +5 -4
- package/dist/components/waka-video/index.cjs.js +1 -1
- package/dist/components/waka-video/index.es.js +1 -1
- package/dist/components/waka-video-ad/index.cjs.js +1 -1
- package/dist/components/waka-video-ad/index.es.js +3 -3
- package/dist/components/waka-video-call/index.cjs.js +2 -2
- package/dist/components/waka-video-call/index.es.js +1 -1
- package/dist/components/waka-video-overlay/index.cjs.js +1 -1
- package/dist/components/waka-video-overlay/index.es.js +2 -2
- package/dist/components/waka-virtual-list/index.cjs.js +1 -1
- package/dist/components/waka-virtual-list/index.es.js +1 -1
- package/dist/components/waka-voice-message/index.cjs.js +1 -1
- package/dist/components/waka-voice-message/index.es.js +6 -5
- package/dist/components/waka-welcome-modal/index.cjs.js +2 -2
- package/dist/components/waka-welcome-modal/index.es.js +1 -1
- package/dist/components/waka-xp-bar/index.cjs.js +1 -1
- package/dist/components/waka-xp-bar/index.es.js +2 -2
- package/dist/context/admincrumb-context.cjs.js +1 -1
- package/dist/context/language-context.cjs.js +1 -1
- package/dist/context/language-context.es.js +2 -2
- package/dist/context/theme-context.cjs.js +1 -1
- package/dist/context/theme-provider.cjs.js +1 -1
- package/dist/context/theme-provider.es.js +9 -6
- package/dist/context/waka-provider.cjs.js +1 -1
- package/dist/context/waka-provider.es.js +57 -53
- package/dist/doc.cjs.js +1 -1
- package/dist/editor.cjs.js +1 -1
- package/dist/export.cjs.js +1 -1
- package/dist/hooks/use-toast.cjs.js +1 -1
- package/dist/hooks/use-translation.cjs.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +279 -278
- package/dist/lib/i18n.cjs.js +1 -1
- package/dist/lib/i18n.es.js +11 -9
- package/dist/locales/default-resources.cjs.js +1 -0
- package/dist/locales/default-resources.d.ts +155 -0
- package/dist/locales/default-resources.es.js +150 -0
- package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js +13 -13
- package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.es.js +13 -13
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.cjs.js +1 -1
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.es.js +19 -19
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.cjs.js +1 -1
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.es.js +24 -25
- 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
- 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
- package/dist/rich-text.cjs.js +1 -1
- package/dist/ui.css +1 -1
- package/dist/utils/cn.cjs.js +1 -1
- package/dist/utils/datetime-helpers.cjs.js +1 -1
- package/dist/utils/theme-loader.cjs.js +1 -1
- package/dist/utils/tweak.cjs.js +1 -1
- package/package.json +28 -27
- package/src/components/DataTable/DataTable.tsx +2 -0
- package/src/components/DataTable/DataTablePagination.tsx +28 -8
- package/src/components/DataTable/hooks/useDataTable.ts +13 -0
- package/src/components/editor/blocks/waka-diagram-block.tsx +7 -36
|
@@ -144,8 +144,8 @@ function u({ stats: s, profile: c, comparisonProfile: l, size: u = 300, levels:
|
|
|
144
144
|
y: P + i * Math.sin(r)
|
|
145
145
|
};
|
|
146
146
|
}, R = (e, t = 1) => e.map((e, n) => {
|
|
147
|
-
let r = s[n]?.max || 100, i =
|
|
148
|
-
return `${n === 0 ? "M" : "L"} ${
|
|
147
|
+
let r = s[n]?.max || 100, i = e * t, a = L(n, i, r);
|
|
148
|
+
return `${n === 0 ? "M" : "L"} ${a.x.toFixed(2)} ${a.y.toFixed(2)}`;
|
|
149
149
|
}).join(" ") + " Z", z = (e) => {
|
|
150
150
|
let t = e / d * F;
|
|
151
151
|
return Array.from({ length: 6 }).map((e, n) => {
|
|
@@ -153,12 +153,12 @@ function u({ stats: s, profile: c, comparisonProfile: l, size: u = 300, levels:
|
|
|
153
153
|
return `${n === 0 ? "M" : "L"} ${i.toFixed(2)} ${a.toFixed(2)}`;
|
|
154
154
|
}).join(" ") + " Z";
|
|
155
155
|
}, B = (e, t, n, r) => {
|
|
156
|
-
let i = L(e, n,
|
|
156
|
+
let i = r.max || 100, a = L(e, n, i);
|
|
157
157
|
D({
|
|
158
158
|
index: e,
|
|
159
159
|
profileId: t,
|
|
160
|
-
x:
|
|
161
|
-
y:
|
|
160
|
+
x: a.x,
|
|
161
|
+
y: a.y,
|
|
162
162
|
value: n,
|
|
163
163
|
stat: r
|
|
164
164
|
});
|
|
@@ -284,12 +284,12 @@ function u({ stats: s, profile: c, comparisonProfile: l, size: u = 300, levels:
|
|
|
284
284
|
className: "opacity-15"
|
|
285
285
|
}, `grid-${t}`)),
|
|
286
286
|
s.map((e, t) => {
|
|
287
|
-
let n = t * I - Math.PI / 2;
|
|
287
|
+
let n = t * I - Math.PI / 2, r = N + F * Math.cos(n), a = P + F * Math.sin(n);
|
|
288
288
|
return /* @__PURE__ */ i("line", {
|
|
289
289
|
x1: N,
|
|
290
290
|
y1: P,
|
|
291
|
-
x2:
|
|
292
|
-
y2:
|
|
291
|
+
x2: r,
|
|
292
|
+
y2: a,
|
|
293
293
|
stroke: "currentColor",
|
|
294
294
|
strokeWidth: "1",
|
|
295
295
|
className: "opacity-20"
|
|
@@ -562,4 +562,4 @@ function p({ skills: e, name: t = "Skills Assessment", theme: n = "blue", ...r }
|
|
|
562
562
|
});
|
|
563
563
|
}
|
|
564
564
|
//#endregion
|
|
565
|
-
export { f as WakaStatsHexagonRPG, d as WakaStatsHexagonSimple, p as WakaStatsHexagonSkills,
|
|
565
|
+
export { u as WakaStatsHexagon, u as default, f as WakaStatsHexagonRPG, d as WakaStatsHexagonSimple, p as WakaStatsHexagonSkills, l as useStatsHexagon };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../../utils/local-date.cjs.js");let r=require("react");r=e.__toESM(r);let i=require("react/jsx-runtime");var a=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],o=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],s={sm:{cell:`w-2 h-2`,gap:`gap-0.5`,fontSize:`text-[9px]`},md:{cell:`w-3 h-3`,gap:`gap-1`,fontSize:`text-[10px]`},lg:{cell:`w-4 h-4`,gap:`gap-1.5`,fontSize:`text-xs`}},c={green:[`bg-gray-100 dark:bg-gray-800`,`bg-green-200 dark:bg-green-900`,`bg-green-400 dark:bg-green-700`,`bg-green-500 dark:bg-green-600`,`bg-green-600 dark:bg-green-500`],blue:[`bg-gray-100 dark:bg-gray-800`,`bg-blue-200 dark:bg-blue-900`,`bg-blue-400 dark:bg-blue-700`,`bg-blue-500 dark:bg-blue-600`,`bg-blue-600 dark:bg-blue-500`],purple:[`bg-gray-100 dark:bg-gray-800`,`bg-purple-200 dark:bg-purple-900`,`bg-purple-400 dark:bg-purple-700`,`bg-purple-500 dark:bg-purple-600`,`bg-purple-600 dark:bg-purple-500`],orange:[`bg-gray-100 dark:bg-gray-800`,`bg-orange-200 dark:bg-orange-900`,`bg-orange-400 dark:bg-orange-700`,`bg-orange-500 dark:bg-orange-600`,`bg-orange-600 dark:bg-orange-500`],status:[`bg-gray-100 dark:bg-gray-800`,`bg-green-500 dark:bg-green-600`,`bg-yellow-500 dark:bg-yellow-600`,`bg-orange-500 dark:bg-orange-600`,`bg-red-500 dark:bg-red-600`]},l={up:`bg-green-500 dark:bg-green-600`,degraded:`bg-yellow-500 dark:bg-yellow-600`,maintenance:`bg-blue-500 dark:bg-blue-600`,down:`bg-red-500 dark:bg-red-600`},u={up:`Operational`,degraded:`Degraded`,maintenance:`Maintenance`,down:`Down`};function d(e,t,n){let r=new Date,i,a=n||r;if(t)i=t;else switch(e){case`year`:i=new Date(a.getFullYear()-1,a.getMonth(),a.getDate());break;case`quarter`:i=new Date(a.getFullYear(),a.getMonth()-3,a.getDate());break;case`month`:i=new Date(a.getFullYear(),a.getMonth()-1,a.getDate());break;case`week`:i=new Date(a.getFullYear(),a.getMonth(),a.getDate()-7);break;default:i=new Date(a.getFullYear()-1,a.getMonth(),a.getDate())}return{start:i,end:a}}function f(e,t){let n=[],r=new Date(e),i=r.getDay();for(r.setDate(r.getDate()-i);r<=t||n.length===0||n.length>0&&n[n.length-1].length<7;){let e=[];for(let t=0;t<7;t++)e.push(new Date(r)),r.setDate(r.getDate()+1);if(n.push(e),r>t&&e[6]>=t)break}return n}function p(e,t){if(e===0)return 0;let n=e/t;return n<=.25?1:n<=.5?2:n<=.75?3:4}function m(e){let t=[],n=-1;return e.forEach((e,r)=>{let i=e[0].getMonth();i!==n&&(t.push({month:a[i],position:r}),n=i)}),t}function h({date:e,value:n,status:r,position:a}){let o=e.toLocaleDateString(`en-US`,{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`}),s=r?u[r]:`${n} contributions`;return(0,i.jsxs)(`div`,{className:t.cn(`absolute z-50 px-3 py-2 text-xs font-medium text-white bg-gray-900 dark:bg-gray-100 dark:text-gray-900 rounded-lg shadow-lg`,`pointer-events-none whitespace-nowrap`,`animate-in fade-in-0 zoom-in-95 duration-200`),style:{left:a.x,top:a.y,transform:`translate(-50%, -100%) translateY(-8px)`},children:[(0,i.jsx)(`div`,{className:`font-semibold`,children:s}),(0,i.jsx)(`div`,{className:`text-gray-400 dark:text-gray-500`,children:o}),(0,i.jsx)(`div`,{className:`absolute left-1/2 bottom-0 w-2 h-2 bg-gray-900 dark:bg-gray-100 transform -translate-x-1/2 translate-y-1/2 rotate-45`})]})}function g({date:e,value:n,status:a,colorScheme:o,maxValue:u,size:d,isInRange:f,onClick:m,onHover:h,emptyColor:g}){let _=r.useRef(null),v=()=>{if(!f)return;let t=_.current?.getBoundingClientRect();t&&h({date:e,value:n,status:a,position:{x:t.left+t.width/2,y:t.top}})},y=()=>{h(null)},b=()=>{f&&m&&m(e,n)},x;if(!f)x=`bg-transparent`;else if(o===`status`&&a)x=l[a];else{let e=p(n,u);x=c[o][e]}let S=f&&n===0&&g?{backgroundColor:g}:void 0;return(0,i.jsx)(`div`,{ref:_,className:t.cn(s[d].cell,`rounded-sm transition-all duration-200 ease-out`,f&&`cursor-pointer hover:ring-2 hover:ring-gray-400 dark:hover:ring-gray-500 hover:ring-offset-1`,f&&`hover:scale-110`,x),style:S,onMouseEnter:v,onMouseLeave:y,onClick:b,role:f?`button`:void 0,tabIndex:f?0:void 0,"aria-label":f?`${e.toDateString()}: ${n}`:void 0})}function _({colorScheme:e,size:n}){return e===`status`?(0,i.jsx)(`div`,{className:`flex items-center gap-4 mt-4 flex-wrap`,children:Object.keys(l).map(e=>(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(`div`,{className:t.cn(s[n].cell,`rounded-sm`,l[e])}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,s[n].fontSize),children:u[e]})]},e))}):(0,i.jsxs)(`div`,{className:`flex items-center gap-2 mt-4`,children:[(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,s[n].fontSize),children:`Less`}),(0,i.jsx)(`div`,{className:`flex items-center gap-0.5`,children:c[e].map((e,r)=>(0,i.jsx)(`div`,{className:t.cn(s[n].cell,`rounded-sm`,e)},r))}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,s[n].fontSize),children:`More`})]})}function v({data:e,startDate:a,endDate:c,view:l=`year`,colorScheme:u=`green`,cellSize:p=`md`,showLabels:v=!0,showLegend:y=!0,onCellClick:b,emptyColor:x,className:S}){let[C,w]=r.useState(null),T=r.useMemo(()=>{let t=new Map;return e.forEach(e=>{let r=n.localDateKey(n.parseLocalDate(e.date));t.set(r,{value:e.value,status:e.status})}),t},[e]),E=r.useMemo(()=>e.length===0?1:Math.max(...e.map(e=>e.value),1),[e]),{start:D,end:O}=r.useMemo(()=>d(l,a,c),[l,a,c]),k=r.useMemo(()=>f(D,O),[D,O]),A=r.useMemo(()=>m(k),[k]),j=e=>e>=D&&e<=O;return(0,i.jsxs)(`div`,{className:t.cn(`relative inline-block`,S),children:[v&&(0,i.jsx)(`div`,{className:t.cn(`flex mb-2 ml-8`,s[p].gap),children:k.map((e,n)=>{let r=A.find(e=>e.position===n);return(0,i.jsx)(`div`,{className:t.cn(s[p].cell,`flex items-end justify-start`,s[p].fontSize,`text-muted-foreground`),children:r?.month},n)})}),(0,i.jsxs)(`div`,{className:`flex`,children:[v&&(0,i.jsx)(`div`,{className:t.cn(`flex flex-col mr-2`,s[p].gap),children:o.map((e,n)=>(0,i.jsx)(`div`,{className:t.cn(s[p].cell,`flex items-center justify-end pr-1`,s[p].fontSize,`text-muted-foreground`,n%2==0?`invisible`:``),children:e},e))}),(0,i.jsx)(`div`,{className:t.cn(`flex`,s[p].gap),children:k.map((e,r)=>(0,i.jsx)(`div`,{className:t.cn(`flex flex-col`,s[p].gap),children:e.map((e,t)=>{let a=n.localDateKey(e),o=T.get(a),s=j(e);return(0,i.jsx)(g,{date:e,value:o?.value??0,status:o?.status,colorScheme:u,maxValue:E,size:p,isInRange:s,onClick:b,onHover:w,emptyColor:x},`${r}-${t}`)})},r))})]}),y&&(0,i.jsx)(_,{colorScheme:u,size:p}),C&&(0,i.jsx)(h,{date:C.date,value:C.value,status:C.status,position:C.position,colorScheme:u})]})}exports.WakaStatusMatrix=v,exports.default=v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
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=n.createContext(null);function o(){let e=n.useContext(a);if(!e)throw Error(`useStepperContext must be used within a WakaStepper`);return e}function s({step:e,index:n,status:a}){let{variant:s,size:c}=o(),l={sm:`h-6 w-6 text-xs`,md:`h-8 w-8 text-sm`,lg:`h-10 w-10 text-base`},u={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`},d=t.cn(`rounded-full flex items-center justify-center font-medium transition-all duration-200`,l[c]);return(0,i.jsx)(`div`,{className:t.cn(d,{pending:`bg-muted text-muted-foreground border-2 border-muted`,current:`bg-primary text-primary-foreground border-2 border-primary shadow-md`,completed:`bg-primary text-primary-foreground border-2 border-primary`,error:`bg-destructive text-destructive-foreground border-2 border-destructive`}[a]),children:e.icon&&a===`current`?e.icon:a===`completed`?(0,i.jsx)(r.Check,{className:u[c]}):a===`error`?(0,i.jsx)(r.AlertCircle,{className:u[c]}):s===`simple`?(0,i.jsx)(r.Circle,{className:t.cn(u[c],a===`current`?`fill-current`:``)}):(0,i.jsx)(`span`,{children:n+1})})}function c({isCompleted:e,orientation:n}){return(0,i.jsx)(`div`,{className:t.cn(t.cn(`transition-colors duration-300`,n===`horizontal`?`flex-1 h-0.5 mx-2`:`w-0.5 min-h-[24px] mx-auto my-1`),e?`bg-primary`:`bg-muted`)})}function l({step:e,index:n,isLast:r}){let{currentStep:a,orientation:l,size:u,clickable:d,allowPrevious:f,goToStep:p,getStepStatus:m}=o(),h=m(n),g=d&&!e.disabled&&(f?n<a:!0),_={sm:`text-xs`,md:`text-sm`,lg:`text-base`},v={sm:`text-[10px]`,md:`text-xs`,lg:`text-sm`},y=()=>{g&&p(n)};return l===`vertical`?(0,i.jsxs)(`div`,{className:`flex`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,i.jsx)(`button`,{type:`button`,onClick:y,disabled:!g,className:t.cn(`flex items-center gap-3 text-left`,g&&`cursor-pointer hover:opacity-80`,!g&&`cursor-default`),children:(0,i.jsx)(s,{step:e,index:n,status:h})}),!r&&(0,i.jsx)(c,{isCompleted:h===`completed`,orientation:`vertical`})]}),(0,i.jsx)(`div`,{className:`ml-3 pb-6`,children:(0,i.jsxs)(`button`,{type:`button`,onClick:y,disabled:!g,className:t.cn(`text-left`,g&&`cursor-pointer hover:opacity-80`,!g&&`cursor-default`),children:[(0,i.jsxs)(`p`,{className:t.cn(`font-medium`,_[u],h===`current`?`text-foreground`:`text-muted-foreground`,e.disabled&&`opacity-50`),children:[e.title,e.optional&&(0,i.jsx)(`span`,{className:`ml-1 text-muted-foreground font-normal`,children:`(Optionnel)`})]}),e.description&&(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground mt-0.5`,v[u]),children:e.description})]})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`div`,{className:`flex flex-col items-center`,children:(0,i.jsxs)(`button`,{type:`button`,onClick:y,disabled:!g,className:t.cn(`flex flex-col items-center gap-2`,g&&`cursor-pointer hover:opacity-80`,!g&&`cursor-default`),children:[(0,i.jsx)(s,{step:e,index:n,status:h}),(0,i.jsxs)(`div`,{className:`text-center min-w-[80px] max-w-[120px]`,children:[(0,i.jsx)(`p`,{className:t.cn(`font-medium`,_[u],h===`current`?`text-foreground`:`text-muted-foreground`,e.disabled&&`opacity-50`),children:e.title}),e.description&&(0,i.jsx)(`p`,{className:t.cn(`text-muted-foreground mt-0.5 hidden sm:block`,v[u]),children:e.description})]})]})}),!r&&(0,i.jsx)(c,{isCompleted:h===`completed`,orientation:`horizontal`})]})}function u({steps:e,currentStep:r,onStepChange:o,orientation:s=`horizontal`,variant:c=`default`,size:u=`md`,clickable:d=!1,allowPrevious:f=!0,showContent:p=!1,className:m}){let h=n.useCallback(e=>e<r?`completed`:e===r?`current`:`pending`,[r]),g=n.useCallback(t=>{t>=0&&t<e.length&&!e[t].disabled&&o?.(t)},[e,o]),_={currentStep:r,orientation:s,variant:c,size:u,clickable:d,allowPrevious:f,goToStep:g,nextStep:n.useCallback(()=>{r<e.length-1&&g(r+1)},[r,e.length,g]),prevStep:n.useCallback(()=>{r>0&&g(r-1)},[r,g]),getStepStatus:h};return(0,i.jsx)(a.Provider,{value:_,children:(0,i.jsxs)(`div`,{className:t.cn(`w-full`,m),children:[(0,i.jsx)(`nav`,{"aria-label":`Progress`,className:t.cn(s===`horizontal`?`flex items-start justify-between`:`flex flex-col`),children:e.map((t,n)=>(0,i.jsx)(l,{step:t,index:n,isLast:n===e.length-1},t.id))}),p&&e[r]?.content&&(0,i.jsx)(`div`,{className:`mt-6 p-4 rounded-lg border bg-card`,children:e[r].content})]})})}function d({prevLabel:e=`Précédent`,nextLabel:r=`Suivant`,finishLabel:o=`Terminer`,onFinish:s,showCancel:c=!1,cancelLabel:l=`Annuler`,onCancel:u,disableNext:d=!1,className:f}){let p=n.useContext(a);if(!p)throw Error(`StepperNavigation must be used within a WakaStepper`);let{currentStep:m,prevStep:h,nextStep:g}=p;return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-between mt-6`,f),children:[(0,i.jsx)(`div`,{className:`flex gap-2`,children:c&&(0,i.jsx)(`button`,{type:`button`,onClick:u,className:`px-4 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors`,children:l})}),(0,i.jsxs)(`div`,{className:`flex gap-2`,children:[(0,i.jsx)(`button`,{type:`button`,onClick:h,disabled:m===0,className:t.cn(`px-4 py-2 text-sm font-medium rounded-md border transition-colors`,m===0?`opacity-50 cursor-not-allowed`:`hover:bg-muted`),children:e}),(0,i.jsx)(`button`,{type:`button`,onClick:s||g,disabled:d,className:t.cn(`px-4 py-2 text-sm font-medium rounded-md bg-primary text-primary-foreground transition-colors`,d?`opacity-50 cursor-not-allowed`:`hover:bg-primary/90`),children:s?o:r})]})]})}exports.StepperNavigation=d,exports.WakaStepper=u,exports.default=u,exports.useStepperContext=o;
|
|
@@ -185,4 +185,4 @@ function m({ prevLabel: n = "Précédent", nextLabel: r = "Suivant", finishLabel
|
|
|
185
185
|
});
|
|
186
186
|
}
|
|
187
187
|
//#endregion
|
|
188
|
-
export { m as StepperNavigation, p as default, l as useStepperContext };
|
|
188
|
+
export { m as StepperNavigation, p as WakaStepper, p as default, l as useStepperContext };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");function a({active:e}){return e?(0,i.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[[...Array(30)].map((e,t)=>(0,i.jsx)(`div`,{className:`absolute animate-confetti`,style:{left:`${Math.random()*100}%`,top:`-10px`,animationDelay:`${Math.random()*.5}s`,animationDuration:`${1+Math.random()*1}s`},children:(0,i.jsx)(`div`,{className:`h-2 w-2 rounded-sm`,style:{backgroundColor:[`#ff6b6b`,`#ffd93d`,`#6bcb77`,`#4d96ff`,`#9b59b6`][Math.floor(Math.random()*5)],transform:`rotate(${Math.random()*360}deg)`}})},t)),(0,i.jsx)(`style`,{children:`
|
|
2
2
|
@keyframes confetti {
|
|
3
3
|
0% {
|
|
4
4
|
transform: translateY(0) rotate(0deg);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime");var i={sm:{container:80,checkmark:32,particleArea:60},md:{container:120,checkmark:48,particleArea:90},lg:{container:180,checkmark:72,particleArea:140},xl:{container:240,checkmark:96,particleArea:200}},a={primary:`hsl(var(--success))`,secondary:`hsl(var(--info))`,accent:`hsl(var(--warning))`};function o(e,t,n){let r=[`circle`,`square`,`triangle`,`star`];return Array.from({length:e},(t,i)=>({id:i,x:0,y:0,angle:Math.PI*2*i/e+(Math.random()-.5)*.5,speed:.5+Math.random()*1.5,size:4+Math.random()*8,color:n[Math.floor(Math.random()*n.length)],rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*720,shape:r[Math.floor(Math.random()*r.length)]}))}function s({shape:e,size:t,color:n}){switch(e){case`circle`:return(0,r.jsx)(`circle`,{cx:t/2,cy:t/2,r:t/2,fill:n});case`square`:return(0,r.jsx)(`rect`,{width:t,height:t,fill:n});case`triangle`:return(0,r.jsx)(`polygon`,{points:`${t/2},0 ${t},${t} 0,${t}`,fill:n});case`star`:let e=t/2,i=t/4;return(0,r.jsx)(`polygon`,{points:Array.from({length:10},(n,r)=>{let a=r%2==0?e:i,o=r*Math.PI/5-Math.PI/2;return`${t/2+a*Math.cos(o)},${t/2+a*Math.sin(o)}`}).join(` `),fill:n})}}var c=n.forwardRef(({className:e,trigger:c=!1,onComplete:l,particleCount:u=24,duration:d=1e3,size:f=`md`,primaryColor:p=a.primary,secondaryColor:m=a.secondary,accentColor:h=a.accent,showCheckmark:g=!0,checkmarkColor:_=a.primary,autoHide:v=!0,...y},b)=>{let[x,S]=n.useState(!1),[C,w]=n.useState([]),[T,E]=n.useState(0),[D,O]=n.useState(!1),k=n.useRef(null),A=n.useRef(0),j=i[f],M=n.useMemo(()=>[p,m,h],[p,m,h]),N=n.useCallback(()=>{O(!0),S(!0),E(0),w(o(u,j.particleArea,M)),A.current=performance.now()},[u,j.particleArea,M]),P=n.useCallback(()=>{k.current&&cancelAnimationFrame(k.current),S(!1),E(0),w([]),v&&O(!1)},[v]);if(n.useImperativeHandle(b,()=>({explode:N,reset:P}),[N,P]),n.useEffect(()=>{c&&N()},[c,N]),n.useEffect(()=>{if(!x)return;let e=t=>{let n=t-A.current,r=Math.min(n/d,1);E(r),r<1?k.current=requestAnimationFrame(e):(S(!1),l?.(),v&&setTimeout(()=>O(!1),300))};return k.current=requestAnimationFrame(e),()=>{k.current&&cancelAnimationFrame(k.current)}},[x,d,l,v]),!D&&!c)return null;let F=e=>1-(1-e)**3,I=e=>{let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375};return(0,r.jsxs)(`div`,{className:t.cn(`relative inline-flex items-center justify-center`,e),style:{width:j.container,height:j.container,opacity:v&&T===1?0:1,transition:`opacity 0.3s ease-out`},...y,children:[(0,r.jsx)(`svg`,{width:j.container,height:j.container,viewBox:`0 0 ${j.container} ${j.container}`,className:`absolute inset-0 overflow-visible`,"aria-hidden":`true`,focusable:`false`,children:C.map(e=>{let t=F(T),n=e.speed*j.particleArea*t,i=j.container/2+Math.cos(e.angle)*n,a=j.container/2+Math.sin(e.angle)*n,o=1-T,c=1-T*.5,l=e.rotation+e.rotationSpeed*T;return(0,r.jsx)(`g`,{transform:`translate(${i-e.size/2}, ${a-e.size/2}) rotate(${l}, ${e.size/2}, ${e.size/2}) scale(${c})`,style:{opacity:o},children:(0,r.jsx)(s,{shape:e.shape,size:e.size,color:e.color})},e.id)})}),(0,r.jsx)(`div`,{className:`absolute rounded-full`,style:{width:j.container*.8*F(T),height:j.container*.8*F(T),border:`2px solid ${p}`,opacity:Math.max(0,1-T*1.5),transform:`translate(-50%, -50%)`,left:`50%`,top:`50%`}}),g&&(0,r.jsx)(`div`,{className:`absolute flex items-center justify-center`,style:{width:j.checkmark,height:j.checkmark,transform:`scale(${I(Math.min(T*2,1))})`,opacity:+(T>0)},children:(0,r.jsxs)(`svg`,{viewBox:`0 0 52 52`,className:`overflow-visible`,style:{width:j.checkmark,height:j.checkmark},"aria-hidden":`true`,focusable:`false`,children:[(0,r.jsx)(`circle`,{cx:`26`,cy:`26`,r:`25`,fill:`none`,stroke:_,strokeWidth:`2`,style:{strokeDasharray:157,strokeDashoffset:157*(1-Math.min(T*2,1)),transition:`stroke-dashoffset 0.3s ease-out`}}),(0,r.jsx)(`path`,{d:`M14 27l8 8 16-16`,fill:`none`,stroke:_,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{strokeDasharray:40,strokeDashoffset:T>.3?40*(1-(T-.3)/.7):40,transition:`stroke-dashoffset 0.3s ease-out`}})]})}),(0,r.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
|
|
2
2
|
@keyframes waka-success-pulse {
|
|
3
3
|
0%, 100% { transform: scale(1); }
|
|
4
4
|
50% { transform: scale(1.05); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
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 touch-none select-none`,{variants:{size:{sm:`w-64 h-80`,default:`w-80 h-96`,lg:`w-96 h-[28rem]`,full:`w-full h-full`}},defaultVariants:{size:`default`}}),o=(0,r.cva)(`absolute inset-0 rounded-2xl bg-card shadow-xl overflow-hidden transition-shadow`,{variants:{variant:{default:`border border-border`,elevated:`shadow-2xl`,glass:`bg-card/80 backdrop-blur-xl border border-white/20`}},defaultVariants:{variant:`default`}}),s=(0,r.cva)(`absolute inset-0 rounded-2xl flex items-center justify-center transition-opacity pointer-events-none`,{variants:{direction:{left:`bg-destructive/20`,right:`bg-green-500/20`,up:`bg-primary/20`,down:`bg-muted/20`}}});function c(e=`light`){typeof window<`u`&&`vibrate`in navigator&&navigator.vibrate({light:10,medium:20,heavy:30}[e])}function l(e,t,n){return Math.min(Math.max(e,t),n)}function u({cards:e,renderCard:r,onSwipe:u,onSwipeStart:d,onSwipeProgress:f,swipeThreshold:p=.3,allowedDirections:m=[`left`,`right`],showOverlay:h=!0,overlayContent:g,stackSize:_=3,stackScale:v=.95,stackOffset:y=8,animationDuration:b=300,hapticFeedback:x=!0,disabled:S=!1,onEmpty:C,className:w,size:T,...E},D){let O=n.useRef(null),[k,A]=n.useState(0),[j,M]=n.useState([]),[N,P]=n.useState(!1),[F,I]=n.useState({x:0,y:0}),[L,R]=n.useState({x:0,y:0}),[z,B]=n.useState(null),[V,H]=n.useState(!1),[U,W]=n.useState(null),G=e[k]??null,K=e.slice(k,k+_),q=n.useCallback(()=>{if(!O.current)return 0;let{width:e,height:t}=O.current.getBoundingClientRect(),n=Math.abs(L.x),r=Math.abs(L.y),i=Math.max(e,t)*.5;return l(Math.max(n,r)/i,0,1)},[L]),J=n.useCallback((e,t)=>{let n=Math.abs(e),r=Math.abs(t);return n<20&&r<20?null:n>r?e>0?`right`:`left`:t>0?`down`:`up`},[]),Y=n.useCallback(e=>{S||V||!G||(P(!0),I({x:e.clientX,y:e.clientY}),R({x:0,y:0}),e.target.setPointerCapture(e.pointerId))},[S,V,G]),X=n.useCallback(e=>{if(!N||S)return;let t=e.clientX-F.x,n=e.clientY-F.y,r=J(t,n);if(r&&!m.includes(r)?R(r===`left`||r===`right`?{x:0,y:n}:{x:t,y:0}):R({x:t,y:n}),r!==z&&(r&&!z&&G&&(d?.(G,r),x&&c(`light`)),B(r)),r&&G){let e=q();f?.(G,r,e)}},[N,S,F,J,m,z,G,d,x,f,q]),Z=n.useCallback(e=>{if(!N)return;e.target.releasePointerCapture(e.pointerId),P(!1);let t=q(),n=z;n&&t>=p&&m.includes(n)&&G?(x&&c(`medium`),H(!0),W(n),setTimeout(()=>{u?.(G,n),M(e=>[...e,{card:G,direction:n}]),A(e=>e+1),H(!1),W(null),R({x:0,y:0}),B(null)},b)):(R({x:0,y:0}),B(null))},[N,q,z,p,m,G,x,u,b]);n.useImperativeHandle(D,()=>({swipe:e=>{!G||V||(x&&c(`medium`),H(!0),W(e),setTimeout(()=>{u?.(G,e),M(t=>[...t,{card:G,direction:e}]),A(e=>e+1),H(!1),W(null)},b))},rewind:()=>{j.length===0||V||(j[j.length-1],M(e=>e.slice(0,-1)),A(e=>e-1),x&&c(`light`))},getCurrentCard:()=>G}),[G,V,x,u,b,j]),n.useEffect(()=>{k>=e.length&&e.length>0&&C?.()},[k,e.length,C]);let Q=e=>{let t=e-k;if(t===0){let e=L.x/20*!!N;if(U){let e=1e3,n={left:{x:-1e3,y:0,rotate:-30},right:{x:e,y:0,rotate:30},up:{x:0,y:-1e3,rotate:0},down:{x:0,y:e,rotate:0}}[U];return{transform:`translate(${n.x}px, ${n.y}px) rotate(${n.rotate}deg)`,transition:`transform ${b}ms ease-out`,zIndex:_-t}}return{transform:`translate(${L.x}px, ${L.y}px) rotate(${e}deg)`,transition:N?`none`:`transform ${b}ms ease-out`,zIndex:_-t,cursor:S?`default`:`grab`}}let n=v**+t,r=y*t,i=N||U?q():0,a=i*(1-v);return{transform:`translateY(${r-i*y}px) scale(${n+a})`,transition:`transform ${b}ms ease-out`,zIndex:_-t,pointerEvents:`none`}},$=e=>z===e?q():0;return K.length===0?(0,i.jsx)(`div`,{ref:O,className:t.cn(a({size:T}),`flex items-center justify-center`,w),...E,children:(0,i.jsxs)(`div`,{className:`text-muted-foreground text-center`,children:[(0,i.jsx)(`p`,{className:`text-lg font-medium`,children:`No more cards`}),(0,i.jsx)(`p`,{className:`text-sm`,children:`Check back later`})]})}):(0,i.jsx)(`div`,{ref:O,className:t.cn(a({size:T}),w),...E,children:K.map((e,n)=>{let a=k+n,c=n===0;return(0,i.jsxs)(`div`,{className:t.cn(o({variant:`default`})),style:Q(a),onPointerDown:c?Y:void 0,onPointerMove:c?X:void 0,onPointerUp:c?Z:void 0,onPointerCancel:c?Z:void 0,children:[r(e,a),c&&h&&(0,i.jsxs)(i.Fragment,{children:[m.includes(`left`)&&(0,i.jsx)(`div`,{className:t.cn(s({direction:`left`})),style:{opacity:$(`left`)},children:g?.left??(0,i.jsx)(`span`,{className:`text-4xl`,children:`✕`})}),m.includes(`right`)&&(0,i.jsx)(`div`,{className:t.cn(s({direction:`right`})),style:{opacity:$(`right`)},children:g?.right??(0,i.jsx)(`span`,{className:`text-4xl`,children:`❤`})}),m.includes(`up`)&&(0,i.jsx)(`div`,{className:t.cn(s({direction:`up`})),style:{opacity:$(`up`)},children:g?.up??(0,i.jsx)(`span`,{className:`text-4xl`,children:`⬆`})}),m.includes(`down`)&&(0,i.jsx)(`div`,{className:t.cn(s({direction:`down`})),style:{opacity:$(`down`)},children:g?.down??(0,i.jsx)(`span`,{className:`text-4xl`,children:`⬇`})})]})]},e.id)})})}var d=n.forwardRef(u),f=(0,r.cva)(`rounded-full flex items-center justify-center transition-all active:scale-95 shadow-lg`,{variants:{size:{sm:`w-10 h-10 text-lg`,default:`w-14 h-14 text-2xl`,lg:`w-18 h-18 text-3xl`},action:{left:`bg-destructive/10 hover:bg-destructive/20 text-destructive border border-destructive/20`,right:`bg-green-500/10 hover:bg-green-500/20 text-green-500 border border-green-500/20`,up:`bg-primary/10 hover:bg-primary/20 text-primary border border-primary/20`,down:`bg-muted hover:bg-muted/80 text-muted-foreground border border-border`,rewind:`bg-amber-500/10 hover:bg-amber-500/20 text-amber-500 border border-amber-500/20`}},defaultVariants:{size:`default`}});function p({swipeCardRef:e,showRewind:n=!0,directions:r=[`left`,`right`],size:a=`default`,className:o,...s}){let c=t=>{e.current?.swipe(t)},l=()=>{e.current?.rewind()},u={left:`✕`,right:`❤`,up:`⬆`,down:`⬇`,rewind:`↶`};return(0,i.jsxs)(`div`,{className:t.cn(`flex items-center justify-center gap-4`,o),...s,children:[n&&(0,i.jsx)(`button`,{type:`button`,className:t.cn(f({size:`sm`,action:`rewind`})),onClick:l,"aria-label":`Rewind last swipe`,children:u.rewind}),r.includes(`left`)&&(0,i.jsx)(`button`,{type:`button`,className:t.cn(f({size:a,action:`left`})),onClick:()=>c(`left`),"aria-label":`Swipe left`,children:u.left}),r.includes(`up`)&&(0,i.jsx)(`button`,{type:`button`,className:t.cn(f({size:a,action:`up`})),onClick:()=>c(`up`),"aria-label":`Swipe up`,children:u.up}),r.includes(`right`)&&(0,i.jsx)(`button`,{type:`button`,className:t.cn(f({size:a,action:`right`})),onClick:()=>c(`right`),"aria-label":`Swipe right`,children:u.right}),r.includes(`down`)&&(0,i.jsx)(`button`,{type:`button`,className:t.cn(f({size:a,action:`down`})),onClick:()=>c(`down`),"aria-label":`Swipe down`,children:u.down})]})}exports.WakaSwipeCard=d,exports.WakaSwipeCardActions=p;
|
|
@@ -151,7 +151,7 @@ function d({ cards: n, renderCard: d, onSwipe: f, onSwipeStart: p, onSwipeProgre
|
|
|
151
151
|
if (W) {
|
|
152
152
|
let e = 1e3, n = {
|
|
153
153
|
left: {
|
|
154
|
-
x: -
|
|
154
|
+
x: -1e3,
|
|
155
155
|
y: 0,
|
|
156
156
|
rotate: -30
|
|
157
157
|
},
|
|
@@ -162,7 +162,7 @@ function d({ cards: n, renderCard: d, onSwipe: f, onSwipeStart: p, onSwipeProgre
|
|
|
162
162
|
},
|
|
163
163
|
up: {
|
|
164
164
|
x: 0,
|
|
165
|
-
y: -
|
|
165
|
+
y: -1e3,
|
|
166
166
|
rotate: 0
|
|
167
167
|
},
|
|
168
168
|
down: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
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({tab:e,isActive:n,size:i,variant:a,orientation:o,fullWidth:s,onClick:c,setRef:l}){return(0,r.jsxs)(`button`,{ref:l,type:`button`,role:`tab`,"aria-selected":n,"aria-controls":`tabpanel-${e.id}`,id:`tab-${e.id}`,disabled:e.disabled,onClick:c,className:t.cn(`relative z-10 inline-flex items-center justify-center font-medium`,`transition-colors duration-200`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,{sm:`text-xs px-3 py-1.5 gap-1.5`,md:`text-sm px-4 py-2 gap-2`,lg:`text-base px-5 py-2.5 gap-2.5`}[i],s&&`flex-1`,o===`vertical`&&`w-full justify-start`,a==="default"&&[n?`text-foreground`:`text-muted-foreground hover:text-foreground`],a===`pills`&&[n?`text-primary-foreground`:`text-muted-foreground hover:text-foreground`],a===`underline`&&[n?`text-foreground`:`text-muted-foreground hover:text-foreground`],a===`enclosed`&&[n?`text-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted/50`],e.disabled&&`opacity-50 cursor-not-allowed`),children:[e.icon&&(0,r.jsx)(`span`,{className:{sm:`h-3.5 w-3.5`,md:`h-4 w-4`,lg:`h-5 w-5`}[i],children:e.icon}),(0,r.jsx)(`span`,{children:e.label}),e.badge!==void 0&&(0,r.jsx)(`span`,{className:t.cn(`inline-flex items-center justify-center rounded-full font-medium`,{sm:`text-[10px] px-1.5 py-0.5 min-w-[16px]`,md:`text-xs px-2 py-0.5 min-w-[18px]`,lg:`text-xs px-2 py-1 min-w-[20px]`}[i],n?a===`pills`?`bg-primary-foreground/20 text-primary-foreground`:`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`),children:e.badge})]})}function a({style:e,variant:n,orientation:i,animationDuration:a}){let o={transition:`all ${a}ms cubic-bezier(0.4, 0, 0.2, 1)`,...e};return n===`underline`?(0,r.jsx)(`span`,{className:t.cn(`absolute bg-primary`,i===`horizontal`?`bottom-0 h-0.5 rounded-full`:`left-0 w-0.5 rounded-full`),style:o}):n===`pills`?(0,r.jsx)(`span`,{className:`absolute bg-primary rounded-full`,style:o}):n===`enclosed`?(0,r.jsx)(`span`,{className:`absolute bg-background border border-border rounded-lg shadow-sm`,style:o}):(0,r.jsx)(`span`,{className:`absolute bg-muted rounded-md`,style:o})}function o({tabs:e,activeTab:o,defaultTab:s,onChange:c,orientation:l=`horizontal`,size:u=`md`,variant:d=`default`,fullWidth:f=!1,animationDuration:p=300,className:m,contentClassName:h,renderContent:g}){let[_,v]=n.useState(s??e[0]?.id),y=o??_,b=n.useRef(null),x=n.useRef(new Map),[S,C]=n.useState({opacity:0}),w=n.useCallback(()=>{let e=x.current.get(y),t=b.current;if(!e||!t){C({opacity:0});return}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();C(l===`horizontal`?{left:r.left-n.left,width:r.width,height:d===`underline`?2:r.height,top:d===`underline`?void 0:0,opacity:1}:{top:r.top-n.top,height:r.height,width:d===`underline`?2:r.width,left:d===`underline`?void 0:0,opacity:1})},[y,l,d]);n.useEffect(()=>{w()},[w]),n.useEffect(()=>{let e=()=>w();return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[w]);let T=t=>{e.find(e=>e.id===t)?.disabled||(v(t),c?.(t))},E=e=>t=>{t?x.current.set(e,t):x.current.delete(e)},D=e.find(e=>e.id===y);return(0,r.jsxs)(`div`,{className:t.cn(`flex`,l===`horizontal`?`flex-col`:`flex-row gap-4`),children:[(0,r.jsxs)(`div`,{ref:b,role:`tablist`,"aria-orientation":l,className:t.cn(`relative inline-flex`,l===`horizontal`?`flex-row`:`flex-col`,d==="default"&&[`bg-muted rounded-lg`,{sm:`p-0.5`,md:`p-1`,lg:`p-1.5`}[u]],d===`pills`&&`gap-1`,d===`underline`&&[`border-b border-border`,l===`vertical`&&`border-b-0 border-r`],d===`enclosed`&&[`bg-muted/50 rounded-lg p-1`],f&&`w-full`,m),children:[(0,r.jsx)(a,{style:S,variant:d,orientation:l,animationDuration:p}),e.map(e=>(0,r.jsx)(i,{tab:e,isActive:e.id===y,size:u,variant:d,orientation:l,fullWidth:f,onClick:()=>T(e.id),setRef:E(e.id)},e.id))]}),(D?.content||g)&&(0,r.jsx)(`div`,{role:`tabpanel`,id:`tabpanel-${y}`,"aria-labelledby":`tab-${y}`,className:t.cn(`focus-visible:outline-none`,`animate-in fade-in-0 duration-200`,h),children:g?g(D):D?.content})]})}function s(e,t){let[r,i]=n.useState(t??e[0]?.id),a=n.useCallback(t=>{let n=e.find(e=>e.id===t);n&&!n.disabled&&i(t)},[e]),o=n.useCallback(()=>{let t=e.findIndex(e=>e.id===r),n=(t+1)%e.length;for(;e[n]?.disabled&&n!==t;)n=(n+1)%e.length;e[n]?.disabled||i(e[n].id)},[e,r]),s=n.useCallback(()=>{let t=e.findIndex(e=>e.id===r),n=t===0?e.length-1:t-1;for(;e[n]?.disabled&&n!==t;)n=n===0?e.length-1:n-1;e[n]?.disabled||i(e[n].id)},[e,r]),c=n.useCallback(()=>{let t=e.find(e=>!e.disabled);t&&i(t.id)},[e]),l=n.useCallback(()=>{let t=[...e].reverse().find(e=>!e.disabled);t&&i(t.id)},[e]);return{activeTab:r,activeTabData:e.find(e=>e.id===r),setActiveTab:i,goToTab:a,goToNext:o,goToPrevious:s,goToFirst:c,goToLast:l}}function c({tabId:e,activeTab:n,children:i,keepMounted:a=!1,className:o}){let s=e===n;return!s&&!a?null:(0,r.jsx)(`div`,{role:`tabpanel`,id:`tabpanel-${e}`,"aria-labelledby":`tab-${e}`,hidden:!s,className:t.cn(`focus-visible:outline-none`,s&&`animate-in fade-in-0 duration-200`,o),children:i})}exports.WakaTabPanel=c,exports.WakaTabsMorph=o,exports.default=o,exports.useTabs=s;
|
|
@@ -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:{name:`Default`,bgColor:`bg-secondary`,textColor:`text-secondary-foreground`,borderColor:`border-secondary`},primary:{name:`Primary`,bgColor:`bg-primary/10`,textColor:`text-primary`,borderColor:`border-primary/30`},success:{name:`Success`,bgColor:`bg-green-100 dark:bg-green-900/30`,textColor:`text-green-700 dark:text-green-400`,borderColor:`border-green-200 dark:border-green-800`},warning:{name:`Warning`,bgColor:`bg-yellow-100 dark:bg-yellow-900/30`,textColor:`text-yellow-700 dark:text-yellow-400`,borderColor:`border-yellow-200 dark:border-yellow-800`},danger:{name:`Danger`,bgColor:`bg-red-100 dark:bg-red-900/30`,textColor:`text-red-700 dark:text-red-400`,borderColor:`border-red-200 dark:border-red-800`},info:{name:`Info`,bgColor:`bg-blue-100 dark:bg-blue-900/30`,textColor:`text-blue-700 dark:text-blue-400`,borderColor:`border-blue-200 dark:border-blue-800`}};function o({tag:e,category:n,onRemove:o,draggable:s=!1,disabled:c=!1,onDragStart:l,onDragEnd:u,onDragOver:d,onDrop:f,isDragging:p=!1,isDragOver:m=!1}){let h=n||a.default,g=e.color?{backgroundColor:`${e.color}20`,color:e.color,borderColor:`${e.color}40`}:void 0;return(0,i.jsxs)(`div`,{className:t.cn(`group inline-flex items-center gap-1 px-2 py-1 rounded-md text-sm font-medium border`,`transition-all duration-200 animate-in fade-in-0 zoom-in-95`,!g&&h.bgColor,!g&&h.textColor,!g&&h.borderColor,s&&!c&&`cursor-grab active:cursor-grabbing`,p&&`opacity-50 scale-95`,m&&`ring-2 ring-primary ring-offset-1`,c&&`opacity-50 cursor-not-allowed`),style:g,draggable:s&&!c,onDragStart:l,onDragEnd:u,onDragOver:d,onDrop:f,children:[s&&!c&&(0,i.jsx)(r.GripVertical,{className:`h-3 w-3 opacity-50 group-hover:opacity-100 transition-opacity`}),(0,i.jsx)(`span`,{className:`max-w-[150px] truncate`,children:e.value}),!c&&(0,i.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o()},className:t.cn(`ml-0.5 p-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10`,`opacity-60 hover:opacity-100 transition-opacity`,`focus:outline-none focus:ring-1 focus:ring-offset-1`),"aria-label":`Remove ${e.value}`,children:(0,i.jsx)(r.X,{className:`h-3 w-3`})})]})}function s({suggestions:e,query:n,selectedIndex:o,onSelect:s,categories:l,visible:u}){return!u||e.length===0?null:(0,i.jsx)(`div`,{className:t.cn(`absolute left-0 right-0 top-full mt-1 z-50`,`bg-popover border rounded-md shadow-lg`,`max-h-60 overflow-y-auto`,`animate-in fade-in-0 zoom-in-95`),children:(0,i.jsx)(`ul`,{className:`py-1`,role:`listbox`,children:e.map((e,u)=>{let d=e.category?l?.[e.category]||a[e.category]:void 0;return(0,i.jsxs)(`li`,{role:`option`,"aria-selected":u===o,className:t.cn(`px-3 py-2 cursor-pointer flex items-center gap-2`,`hover:bg-accent transition-colors`,u===o&&`bg-accent`),onClick:()=>s(e),children:[d&&(0,i.jsx)(`span`,{className:t.cn(`w-2 h-2 rounded-full`,d.bgColor.replace(`/10`,``).replace(`/30`,``))}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsx)(`div`,{className:`text-sm font-medium truncate`,children:c(e.value,n)}),e.description&&(0,i.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.description})]}),u===o&&(0,i.jsx)(r.Check,{className:`h-4 w-4 text-primary flex-shrink-0`})]},`${e.value}-${u}`)})})})}function c(e,t){if(!t)return e;let n=e.toLowerCase(),r=t.toLowerCase(),a=n.indexOf(r);return a===-1?e:(0,i.jsxs)(i.Fragment,{children:[e.slice(0,a),(0,i.jsx)(`span`,{className:`font-semibold text-primary`,children:e.slice(a,a+t.length)}),e.slice(a+t.length)]})}function l({tags:e,onChange:c,suggestions:l=[],onSuggestionsLoad:u,onTagCreate:d,maxTags:f,allowDuplicates:p=!1,validationPattern:m,validationMessage:h=`Invalid tag format`,categories:g=a,draggable:_=!1,placeholder:v=`Add a tag...`,disabled:y=!1,error:b=!1,errorMessage:x,delimiters:S=[`Enter`,`,`],minLength:C=1,maxLength:w=50,className:T,id:E,name:D}){let[O,k]=n.useState(``),[A,j]=n.useState(l),[M,N]=n.useState(-1),[P,F]=n.useState(!1),[I,L]=n.useState(null),[R,z]=n.useState(null),[B,V]=n.useState(null),[H,U]=n.useState(!1),W=n.useRef(null),G=n.useRef(null),K=n.useMemo(()=>{if(!O.trim())return[];let t=O.toLowerCase();return A.filter(n=>{let r=n.value.toLowerCase().includes(t),i=p||!e.some(e=>e.value.toLowerCase()===n.value.toLowerCase());return r&&i})},[A,O,e,p]);n.useEffect(()=>{if(!u||!O.trim()){j(l);return}let e=setTimeout(async()=>{U(!0);try{j(await u(O))}catch{j([])}finally{U(!1)}},300);return()=>clearTimeout(e)},[O,u,l]),n.useEffect(()=>{N(-1)},[K]),n.useEffect(()=>{let e=e=>{G.current&&!G.current.contains(e.target)&&F(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let q=()=>`tag-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,J=e=>e.length<C?(L(`Tag must be at least ${C} character${C>1?`s`:``}`),!1):e.length>w?(L(`Tag must be at most ${w} characters`),!1):m&&!m.test(e)?(L(h),!1):(L(null),!0),Y=(t,n)=>{let r=t.trim();if(!r)return!1;if(f&&e.length>=f)return L(`Maximum ${f} tags allowed`),!1;if(!p&&e.some(e=>e.value.toLowerCase()===r.toLowerCase()))return L(`Tag already exists`),!1;if(!J(r))return!1;let i={id:q(),value:r,category:n};return c([...e,i]),d?.(r),k(``),F(!1),L(null),!0},X=t=>{c(e.filter(e=>e.id!==t)),L(null)},Z=t=>{t.preventDefault();let n=t.clipboardData.getData(`text`).split(/[,;\n\t]+/).map(e=>e.trim()).filter(Boolean),r=0,i=[...e];for(let e of n){if(f&&i.length>=f)break;!p&&i.some(t=>t.value.toLowerCase()===e.toLowerCase())||m&&!m.test(e)||e.length<C||e.length>w||(i.push({id:q(),value:e}),r++)}r>0&&c(i)},Q=t=>{let n=t.key;if(P&&K.length>0){if(n===`ArrowDown`){t.preventDefault(),N(e=>e<K.length-1?e+1:0);return}if(n===`ArrowUp`){t.preventDefault(),N(e=>e>0?e-1:K.length-1);return}if(n===`Escape`){t.preventDefault(),F(!1),N(-1);return}}if(S.includes(n)||n===`,`&&S.includes(`,`)){if(t.preventDefault(),M>=0&&K[M]){let e=K[M];Y(e.value,e.category)}else O.trim()&&Y(O);return}n===`Backspace`&&!O&&e.length>0&&X(e[e.length-1].id)},ee=e=>{Y(e.value,e.category)},te=e=>t=>{z(e),t.dataTransfer.effectAllowed=`move`},ne=()=>{z(null),V(null)},re=e=>t=>{t.preventDefault(),R!==null&&R!==e&&V(e)},ie=t=>n=>{if(n.preventDefault(),R!==null&&R!==t){let n=[...e],[r]=n.splice(R,1);n.splice(t,0,r),c(n)}z(null),V(null)},$=I||b&&x;return(0,i.jsxs)(`div`,{className:t.cn(`space-y-1.5`,T),ref:G,children:[(0,i.jsxs)(`div`,{className:t.cn(`relative flex flex-wrap items-center gap-1.5 p-2 rounded-md border bg-background`,`transition-colors duration-200`,`focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2`,b||I?`border-destructive focus-within:ring-destructive`:`border-input`,y&&`opacity-50 cursor-not-allowed bg-muted`),onClick:()=>W.current?.focus(),children:[e.map((e,t)=>(0,i.jsx)(o,{tag:e,category:e.category?g[e.category]:void 0,onRemove:()=>X(e.id),draggable:_,disabled:y,onDragStart:te(t),onDragEnd:ne,onDragOver:re(t),onDrop:ie(t),isDragging:R===t,isDragOver:B===t},e.id)),(!f||e.length<f)&&!y&&(0,i.jsxs)(`div`,{className:`flex-1 min-w-[120px] relative`,children:[(0,i.jsx)(`input`,{ref:W,id:E,name:D,type:`text`,value:O,onChange:e=>{k(e.target.value),F(!0),L(null)},onFocus:()=>F(!0),onKeyDown:Q,onPaste:Z,placeholder:e.length===0?v:``,disabled:y,className:t.cn(`w-full bg-transparent border-none outline-none text-sm`,`placeholder:text-muted-foreground`),autoComplete:`off`,"aria-autocomplete":`list`,"aria-expanded":P,"aria-haspopup":`listbox`}),H&&(0,i.jsx)(`div`,{className:`absolute right-2 top-1/2 -translate-y-1/2`,children:(0,i.jsx)(`div`,{className:`h-4 w-4 border-2 border-primary/30 border-t-primary rounded-full animate-spin`})})]}),!y&&O.trim()&&!P&&(0,i.jsxs)(`button`,{type:`button`,onClick:()=>Y(O),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded-md text-xs`,`bg-primary/10 text-primary hover:bg-primary/20`,`transition-colors`),children:[(0,i.jsx)(r.Plus,{className:`h-3 w-3`}),`Add`]}),(0,i.jsx)(s,{suggestions:K,query:O,selectedIndex:M,onSelect:ee,categories:g,visible:P&&!y})]}),$&&(0,i.jsx)(`p`,{className:`text-sm text-destructive animate-in fade-in-0 slide-in-from-top-1`,children:$}),f&&(0,i.jsxs)(`p`,{className:t.cn(`text-xs text-muted-foreground`,e.length>=f&&`text-destructive`),children:[e.length,`/`,f,` tags`]}),D&&(0,i.jsx)(`input`,{type:`hidden`,name:`${D}_values`,value:e.map(e=>e.value).join(`,`)})]})}l.displayName=`WakaTagInput`;function u(e={}){let{initialTags:t=[],maxTags:r,allowDuplicates:i=!1,validationPattern:a,onTagsChange:o}=e,[s,c]=n.useState(t),l=()=>`tag-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,u=n.useCallback(e=>{c(e),o?.(e)},[o]);return{tags:s,setTags:u,addTag:n.useCallback((e,t)=>{let n=e.trim();if(!n||r&&s.length>=r||!i&&s.some(e=>e.value.toLowerCase()===n.toLowerCase())||a&&!a.test(n))return!1;let o={id:l(),value:n,category:t};return u([...s,o]),!0},[s,r,i,a,u]),addTags:n.useCallback((e,t)=>{let n=0,o=[...s];for(let s of e){let e=s.trim();if(e){if(r&&o.length>=r)break;!i&&o.some(t=>t.value.toLowerCase()===e.toLowerCase())||a&&!a.test(e)||(o.push({id:l(),value:e,category:t}),n++)}}return n>0&&u(o),n},[s,r,i,a,u]),removeTag:n.useCallback(e=>{u(s.filter(t=>t.id!==e))},[s,u]),removeTagByValue:n.useCallback(e=>{u(s.filter(t=>t.value.toLowerCase()!==e.toLowerCase()))},[s,u]),clearTags:n.useCallback(()=>{u([])},[u]),hasTag:n.useCallback(e=>s.some(t=>t.value.toLowerCase()===e.toLowerCase()),[s]),getTag:n.useCallback(e=>s.find(t=>t.id===e),[s]),reorderTags:n.useCallback((e,t)=>{let n=[...s],[r]=n.splice(e,1);n.splice(t,0,r),u(n)},[s,u]),updateTagCategory:n.useCallback((e,t)=>{u(s.map(n=>n.id===e?{...n,category:t}:n))},[s,u]),getTagsByCategory:n.useCallback(e=>s.filter(t=>t.category===e),[s]),values:n.useMemo(()=>s.map(e=>e.value),[s]),count:s.length,isEmpty:s.length===0,isFull:r?s.length>=r:!1}}exports.SuggestionDropdown=s,exports.TagChip=o,exports.default=l,exports.defaultCategories=a,exports.useTagInput=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:{name:`Default`,bgColor:`bg-secondary`,textColor:`text-secondary-foreground`,borderColor:`border-secondary`},primary:{name:`Primary`,bgColor:`bg-primary/10`,textColor:`text-primary`,borderColor:`border-primary/30`},success:{name:`Success`,bgColor:`bg-green-100 dark:bg-green-900/30`,textColor:`text-green-700 dark:text-green-400`,borderColor:`border-green-200 dark:border-green-800`},warning:{name:`Warning`,bgColor:`bg-yellow-100 dark:bg-yellow-900/30`,textColor:`text-yellow-700 dark:text-yellow-400`,borderColor:`border-yellow-200 dark:border-yellow-800`},danger:{name:`Danger`,bgColor:`bg-red-100 dark:bg-red-900/30`,textColor:`text-red-700 dark:text-red-400`,borderColor:`border-red-200 dark:border-red-800`},info:{name:`Info`,bgColor:`bg-blue-100 dark:bg-blue-900/30`,textColor:`text-blue-700 dark:text-blue-400`,borderColor:`border-blue-200 dark:border-blue-800`}};function o({tag:e,category:n,onRemove:o,draggable:s=!1,disabled:c=!1,onDragStart:l,onDragEnd:u,onDragOver:d,onDrop:f,isDragging:p=!1,isDragOver:m=!1}){let h=n||a.default,g=e.color?{backgroundColor:`${e.color}20`,color:e.color,borderColor:`${e.color}40`}:void 0;return(0,i.jsxs)(`div`,{className:t.cn(`group inline-flex items-center gap-1 px-2 py-1 rounded-md text-sm font-medium border`,`transition-all duration-200 animate-in fade-in-0 zoom-in-95`,!g&&h.bgColor,!g&&h.textColor,!g&&h.borderColor,s&&!c&&`cursor-grab active:cursor-grabbing`,p&&`opacity-50 scale-95`,m&&`ring-2 ring-primary ring-offset-1`,c&&`opacity-50 cursor-not-allowed`),style:g,draggable:s&&!c,onDragStart:l,onDragEnd:u,onDragOver:d,onDrop:f,children:[s&&!c&&(0,i.jsx)(r.GripVertical,{className:`h-3 w-3 opacity-50 group-hover:opacity-100 transition-opacity`}),(0,i.jsx)(`span`,{className:`max-w-[150px] truncate`,children:e.value}),!c&&(0,i.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o()},className:t.cn(`ml-0.5 p-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10`,`opacity-60 hover:opacity-100 transition-opacity`,`focus:outline-none focus:ring-1 focus:ring-offset-1`),"aria-label":`Remove ${e.value}`,children:(0,i.jsx)(r.X,{className:`h-3 w-3`})})]})}function s({suggestions:e,query:n,selectedIndex:o,onSelect:s,categories:l,visible:u}){return!u||e.length===0?null:(0,i.jsx)(`div`,{className:t.cn(`absolute left-0 right-0 top-full mt-1 z-50`,`bg-popover border rounded-md shadow-lg`,`max-h-60 overflow-y-auto`,`animate-in fade-in-0 zoom-in-95`),children:(0,i.jsx)(`ul`,{className:`py-1`,role:`listbox`,children:e.map((e,u)=>{let d=e.category?l?.[e.category]||a[e.category]:void 0;return(0,i.jsxs)(`li`,{role:`option`,"aria-selected":u===o,className:t.cn(`px-3 py-2 cursor-pointer flex items-center gap-2`,`hover:bg-accent transition-colors`,u===o&&`bg-accent`),onClick:()=>s(e),children:[d&&(0,i.jsx)(`span`,{className:t.cn(`w-2 h-2 rounded-full`,d.bgColor.replace(`/10`,``).replace(`/30`,``))}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsx)(`div`,{className:`text-sm font-medium truncate`,children:c(e.value,n)}),e.description&&(0,i.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.description})]}),u===o&&(0,i.jsx)(r.Check,{className:`h-4 w-4 text-primary flex-shrink-0`})]},`${e.value}-${u}`)})})})}function c(e,t){if(!t)return e;let n=e.toLowerCase(),r=t.toLowerCase(),a=n.indexOf(r);return a===-1?e:(0,i.jsxs)(i.Fragment,{children:[e.slice(0,a),(0,i.jsx)(`span`,{className:`font-semibold text-primary`,children:e.slice(a,a+t.length)}),e.slice(a+t.length)]})}function l({tags:e,onChange:c,suggestions:l=[],onSuggestionsLoad:u,onTagCreate:d,maxTags:f,allowDuplicates:p=!1,validationPattern:m,validationMessage:h=`Invalid tag format`,categories:g=a,draggable:_=!1,placeholder:v=`Add a tag...`,disabled:y=!1,error:b=!1,errorMessage:x,delimiters:S=[`Enter`,`,`],minLength:C=1,maxLength:w=50,className:T,id:E,name:D}){let[O,k]=n.useState(``),[A,j]=n.useState(l),[M,N]=n.useState(-1),[P,F]=n.useState(!1),[I,L]=n.useState(null),[R,z]=n.useState(null),[B,V]=n.useState(null),[H,U]=n.useState(!1),W=n.useRef(null),G=n.useRef(null),K=n.useMemo(()=>{if(!O.trim())return[];let t=O.toLowerCase();return A.filter(n=>{let r=n.value.toLowerCase().includes(t),i=p||!e.some(e=>e.value.toLowerCase()===n.value.toLowerCase());return r&&i})},[A,O,e,p]);n.useEffect(()=>{if(!u||!O.trim()){j(l);return}let e=setTimeout(async()=>{U(!0);try{let e=await u(O);j(e)}catch{j([])}finally{U(!1)}},300);return()=>clearTimeout(e)},[O,u,l]),n.useEffect(()=>{N(-1)},[K]),n.useEffect(()=>{let e=e=>{G.current&&!G.current.contains(e.target)&&F(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let q=()=>`tag-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,J=e=>e.length<C?(L(`Tag must be at least ${C} character${C>1?`s`:``}`),!1):e.length>w?(L(`Tag must be at most ${w} characters`),!1):m&&!m.test(e)?(L(h),!1):(L(null),!0),Y=(t,n)=>{let r=t.trim();if(!r)return!1;if(f&&e.length>=f)return L(`Maximum ${f} tags allowed`),!1;if(!p&&e.some(e=>e.value.toLowerCase()===r.toLowerCase()))return L(`Tag already exists`),!1;if(!J(r))return!1;let i={id:q(),value:r,category:n};return c([...e,i]),d?.(r),k(``),F(!1),L(null),!0},X=t=>{c(e.filter(e=>e.id!==t)),L(null)},Z=t=>{t.preventDefault();let n=t.clipboardData.getData(`text`).split(/[,;\n\t]+/).map(e=>e.trim()).filter(Boolean),r=0,i=[...e];for(let e of n){if(f&&i.length>=f)break;!p&&i.some(t=>t.value.toLowerCase()===e.toLowerCase())||m&&!m.test(e)||e.length<C||e.length>w||(i.push({id:q(),value:e}),r++)}r>0&&c(i)},Q=t=>{let n=t.key;if(P&&K.length>0){if(n===`ArrowDown`){t.preventDefault(),N(e=>e<K.length-1?e+1:0);return}if(n===`ArrowUp`){t.preventDefault(),N(e=>e>0?e-1:K.length-1);return}if(n===`Escape`){t.preventDefault(),F(!1),N(-1);return}}if(S.includes(n)||n===`,`&&S.includes(`,`)){if(t.preventDefault(),M>=0&&K[M]){let e=K[M];Y(e.value,e.category)}else O.trim()&&Y(O);return}n===`Backspace`&&!O&&e.length>0&&X(e[e.length-1].id)},ee=e=>{Y(e.value,e.category)},te=e=>t=>{z(e),t.dataTransfer.effectAllowed=`move`},ne=()=>{z(null),V(null)},re=e=>t=>{t.preventDefault(),R!==null&&R!==e&&V(e)},ie=t=>n=>{if(n.preventDefault(),R!==null&&R!==t){let n=[...e],[r]=n.splice(R,1);n.splice(t,0,r),c(n)}z(null),V(null)},$=I||b&&x;return(0,i.jsxs)(`div`,{className:t.cn(`space-y-1.5`,T),ref:G,children:[(0,i.jsxs)(`div`,{className:t.cn(`relative flex flex-wrap items-center gap-1.5 p-2 rounded-md border bg-background`,`transition-colors duration-200`,`focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2`,b||I?`border-destructive focus-within:ring-destructive`:`border-input`,y&&`opacity-50 cursor-not-allowed bg-muted`),onClick:()=>W.current?.focus(),children:[e.map((e,t)=>(0,i.jsx)(o,{tag:e,category:e.category?g[e.category]:void 0,onRemove:()=>X(e.id),draggable:_,disabled:y,onDragStart:te(t),onDragEnd:ne,onDragOver:re(t),onDrop:ie(t),isDragging:R===t,isDragOver:B===t},e.id)),(!f||e.length<f)&&!y&&(0,i.jsxs)(`div`,{className:`flex-1 min-w-[120px] relative`,children:[(0,i.jsx)(`input`,{ref:W,id:E,name:D,type:`text`,value:O,onChange:e=>{k(e.target.value),F(!0),L(null)},onFocus:()=>F(!0),onKeyDown:Q,onPaste:Z,placeholder:e.length===0?v:``,disabled:y,className:t.cn(`w-full bg-transparent border-none outline-none text-sm`,`placeholder:text-muted-foreground`),autoComplete:`off`,"aria-autocomplete":`list`,"aria-expanded":P,"aria-haspopup":`listbox`}),H&&(0,i.jsx)(`div`,{className:`absolute right-2 top-1/2 -translate-y-1/2`,children:(0,i.jsx)(`div`,{className:`h-4 w-4 border-2 border-primary/30 border-t-primary rounded-full animate-spin`})})]}),!y&&O.trim()&&!P&&(0,i.jsxs)(`button`,{type:`button`,onClick:()=>Y(O),className:t.cn(`flex items-center gap-1 px-2 py-1 rounded-md text-xs`,`bg-primary/10 text-primary hover:bg-primary/20`,`transition-colors`),children:[(0,i.jsx)(r.Plus,{className:`h-3 w-3`}),`Add`]}),(0,i.jsx)(s,{suggestions:K,query:O,selectedIndex:M,onSelect:ee,categories:g,visible:P&&!y})]}),$&&(0,i.jsx)(`p`,{className:`text-sm text-destructive animate-in fade-in-0 slide-in-from-top-1`,children:$}),f&&(0,i.jsxs)(`p`,{className:t.cn(`text-xs text-muted-foreground`,e.length>=f&&`text-destructive`),children:[e.length,`/`,f,` tags`]}),D&&(0,i.jsx)(`input`,{type:`hidden`,name:`${D}_values`,value:e.map(e=>e.value).join(`,`)})]})}l.displayName=`WakaTagInput`;function u(e={}){let{initialTags:t=[],maxTags:r,allowDuplicates:i=!1,validationPattern:a,onTagsChange:o}=e,[s,c]=n.useState(t),l=()=>`tag-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,u=n.useCallback(e=>{c(e),o?.(e)},[o]);return{tags:s,setTags:u,addTag:n.useCallback((e,t)=>{let n=e.trim();if(!n||r&&s.length>=r||!i&&s.some(e=>e.value.toLowerCase()===n.toLowerCase())||a&&!a.test(n))return!1;let o={id:l(),value:n,category:t};return u([...s,o]),!0},[s,r,i,a,u]),addTags:n.useCallback((e,t)=>{let n=0,o=[...s];for(let s of e){let e=s.trim();if(e){if(r&&o.length>=r)break;!i&&o.some(t=>t.value.toLowerCase()===e.toLowerCase())||a&&!a.test(e)||(o.push({id:l(),value:e,category:t}),n++)}}return n>0&&u(o),n},[s,r,i,a,u]),removeTag:n.useCallback(e=>{u(s.filter(t=>t.id!==e))},[s,u]),removeTagByValue:n.useCallback(e=>{u(s.filter(t=>t.value.toLowerCase()!==e.toLowerCase()))},[s,u]),clearTags:n.useCallback(()=>{u([])},[u]),hasTag:n.useCallback(e=>s.some(t=>t.value.toLowerCase()===e.toLowerCase()),[s]),getTag:n.useCallback(e=>s.find(t=>t.id===e),[s]),reorderTags:n.useCallback((e,t)=>{let n=[...s],[r]=n.splice(e,1);n.splice(t,0,r),u(n)},[s,u]),updateTagCategory:n.useCallback((e,t)=>{u(s.map(n=>n.id===e?{...n,category:t}:n))},[s,u]),getTagsByCategory:n.useCallback(e=>s.filter(t=>t.category===e),[s]),values:n.useMemo(()=>s.map(e=>e.value),[s]),count:s.length,isEmpty:s.length===0,isFull:r?s.length>=r:!1}}exports.SuggestionDropdown=s,exports.TagChip=o,exports.WakaTagInput=l,exports.default=l,exports.defaultCategories=a,exports.useTagInput=u;
|
|
@@ -141,7 +141,8 @@ function p({ tags: n, onChange: r, suggestions: a = [], onSuggestionsLoad: o, on
|
|
|
141
141
|
let e = setTimeout(async () => {
|
|
142
142
|
W(!0);
|
|
143
143
|
try {
|
|
144
|
-
|
|
144
|
+
let e = await o(k);
|
|
145
|
+
M(e);
|
|
145
146
|
} catch {
|
|
146
147
|
M([]);
|
|
147
148
|
} finally {
|
|
@@ -383,4 +384,4 @@ function m(e = {}) {
|
|
|
383
384
|
};
|
|
384
385
|
}
|
|
385
386
|
//#endregion
|
|
386
|
-
export { d as SuggestionDropdown, u as TagChip, p as default, l as defaultCategories, m as useTagInput };
|
|
387
|
+
export { d as SuggestionDropdown, u as TagChip, p as WakaTagInput, p as default, l as defaultCategories, m as useTagInput };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`lucide-react`),i=require(`react/jsx-runtime`);var a={primary:`#6366f1`,secondary:`#8b5cf6`,gradientDirection:`to-r`},o={common:{gradient:`from-slate-400 to-slate-500`,glow:`rgba(148, 163, 184, 0.4)`,ring:`ring-slate-400`},rare:{gradient:`from-blue-400 to-blue-600`,glow:`rgba(59, 130, 246, 0.4)`,ring:`ring-blue-400`},epic:{gradient:`from-purple-400 to-purple-600`,glow:`rgba(168, 85, 247, 0.5)`,ring:`ring-purple-400`},legendary:{gradient:`from-amber-400 via-orange-500 to-red-500`,glow:`rgba(245, 158, 11, 0.5)`,ring:`ring-amber-400`}},s={sm:{container:`p-4`,logo:`h-12 w-12`,name:`text-lg`,motto:`text-xs`,stat:`text-sm`,statLabel:`text-xs`,avatar:`h-7 w-7`,avatarOverlap:`-ml-2`,achievement:`h-6 w-6`,button:`text-xs px-3 py-1.5`},md:{container:`p-6`,logo:`h-16 w-16`,name:`text-xl`,motto:`text-sm`,stat:`text-lg`,statLabel:`text-xs`,avatar:`h-9 w-9`,avatarOverlap:`-ml-2.5`,achievement:`h-8 w-8`,button:`text-sm px-4 py-2`},lg:{container:`p-8`,logo:`h-20 w-20`,name:`text-2xl`,motto:`text-base`,stat:`text-xl`,statLabel:`text-sm`,avatar:`h-11 w-11`,avatarOverlap:`-ml-3`,achievement:`h-10 w-10`,button:`text-base px-5 py-2.5`}};function c({initialJoinState:e=`available`,joinDelay:t=1500,onJoinSuccess:r,onJoinError:i}={}){let[a,o]=n.useState(e),[s,c]=n.useState(!1),[l,u]=n.useState(null);return{joinState:a,requestJoin:n.useCallback(async()=>{if(a===`available`){c(!0),u(null),o(`pending`);try{await new Promise(e=>setTimeout(e,t)),o(`joined`),r?.()}catch(e){let t=e instanceof Error?e:Error(`Failed to join team`);u(t),o(`available`),i?.(t)}finally{c(!1)}}},[a,t,r,i]),cancelJoin:n.useCallback(()=>{a===`pending`&&(o(`available`),c(!1))},[a]),leaveTeam:n.useCallback(()=>{a===`joined`&&o(`available`)},[a]),isJoining:s,error:l,reset:n.useCallback(()=>{o(e),c(!1),u(null)},[e])}}function l({src:e,name:n,size:r,theme:a,animated:o}){let c=s[r],l=n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,i.jsxs)(`div`,{className:`relative`,children:[o&&(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-xl blur-md animate-team-logo-pulse`,style:{backgroundColor:`${a.primary}40`}}),(0,i.jsx)(`div`,{className:t.cn(`relative rounded-xl overflow-hidden flex items-center justify-center`,`border-2 shadow-lg transition-transform duration-300`,o&&`hover:scale-105`,c.logo),style:{borderColor:a.primary,background:e?void 0:`linear-gradient(${a.gradientDirection?.replace(`to-`,`to `)||`to right`}, ${a.primary}, ${a.secondary||a.primary})`},children:e?(0,i.jsx)(`img`,{src:e,alt:`${n} logo`,className:`h-full w-full object-cover`}):(0,i.jsx)(`span`,{className:`text-white font-bold text-lg drop-shadow-md`,children:l})})]})}function u({icon:e,value:n,label:r,size:a,theme:o,animated:c,animationDelay:l=0}){let u=s[a];return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col items-center transition-all duration-300`,c&&`animate-team-stat-enter`),style:c?{animationDelay:`${l}ms`,animationFillMode:`both`}:void 0,children:[(0,i.jsx)(`div`,{className:`p-2 rounded-lg mb-1 transition-colors duration-200`,style:{backgroundColor:`${o.primary}15`},children:(0,i.jsx)(`div`,{style:{color:o.primary},children:e})}),(0,i.jsx)(`span`,{className:t.cn(`font-bold tabular-nums`,u.stat),children:n}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground uppercase tracking-wider`,u.statLabel),children:r})]})}function d({members:e,maxDisplay:n,size:a,theme:o,onMemberClick:c,animated:l}){let u=s[a],d=e.slice(0,n),f=e.length-n,p=e=>e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,i.jsxs)(`div`,{className:`flex items-center`,children:[(0,i.jsx)(`div`,{className:`flex`,children:d.map((e,n)=>(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-full border-2 border-background overflow-hidden`,`flex items-center justify-center bg-muted`,`transition-all duration-200 hover:z-10 hover:scale-110`,n>0&&u.avatarOverlap,c&&`cursor-pointer`,u.avatar,l&&`animate-team-avatar-enter`),style:l?{animationDelay:`${n*50}ms`,animationFillMode:`both`}:void 0,onClick:()=>c?.(e),title:e.name,children:[e.avatar?(0,i.jsx)(`img`,{src:e.avatar,alt:e.name,className:`h-full w-full object-cover`}):(0,i.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:p(e.name)}),e.isLeader&&(0,i.jsx)(`div`,{className:`absolute -top-1 -right-1 h-4 w-4 rounded-full flex items-center justify-center`,style:{backgroundColor:o.primary},children:(0,i.jsx)(r.Crown,{className:`h-2.5 w-2.5 text-white`})})]},e.id))}),f>0&&(0,i.jsx)(`div`,{className:t.cn(`rounded-full border-2 border-background flex items-center justify-center`,`bg-muted text-muted-foreground font-medium`,u.avatarOverlap,u.avatar,l&&`animate-team-avatar-enter`),style:l?{animationDelay:`${n*50}ms`,animationFillMode:`both`}:void 0,children:(0,i.jsxs)(`span`,{className:`text-xs`,children:[`+`,f]})})]})}function f({achievement:e,size:r,onClick:a,animated:c,animationDelay:l=0}){let[u,d]=n.useState(!1),f=s[r],p=o[e.rarity||`common`];return(0,i.jsxs)(`div`,{className:t.cn(`relative group`,a&&`cursor-pointer`,c&&`animate-team-achievement-enter`),style:c?{animationDelay:`${l}ms`,animationFillMode:`both`}:void 0,onClick:a,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[u&&(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-full blur-md transition-opacity duration-200`,style:{backgroundColor:p.glow}}),(0,i.jsx)(`div`,{className:t.cn(`relative rounded-full flex items-center justify-center`,`bg-gradient-to-br text-white shadow-md`,`transition-transform duration-200`,`ring-2 ring-offset-2 ring-offset-background`,p.gradient,p.ring,u&&`scale-110`,f.achievement),children:(0,i.jsx)(`div`,{className:`h-4 w-4`,children:e.icon})}),u&&(0,i.jsxs)(`div`,{className:t.cn(`absolute left-1/2 top-full z-30 mt-2 -translate-x-1/2`,`whitespace-nowrap rounded-lg bg-popover px-3 py-2 text-sm shadow-lg border`,`animate-team-tooltip-enter`),children:[(0,i.jsx)(`div`,{className:`font-semibold`,children:e.name}),e.description&&(0,i.jsx)(`div`,{className:`text-xs text-muted-foreground max-w-[180px] whitespace-normal`,children:e.description})]})]})}function p({state:e,size:n,theme:a,onClick:o,animated:c}){let l=s[n],u={available:{label:`Join Team`,icon:(0,i.jsx)(r.UserPlus,{className:`h-4 w-4 mr-1.5`}),bg:a.primary,text:`white`,disabled:!1},pending:{label:`Pending...`,icon:(0,i.jsx)(r.Loader2,{className:`h-4 w-4 mr-1.5 animate-spin`}),bg:`${a.primary}80`,text:`white`,disabled:!0},joined:{label:`Joined`,icon:(0,i.jsx)(r.Check,{className:`h-4 w-4 mr-1.5`}),bg:`#22c55e`,text:`white`,disabled:!0},closed:{label:`Closed`,icon:null,bg:`#6b7280`,text:`white`,disabled:!0}}[e];return(0,i.jsxs)(`button`,{type:`button`,className:t.cn(`inline-flex items-center justify-center font-medium rounded-lg`,`transition-all duration-200`,!u.disabled&&`hover:scale-105 hover:shadow-lg active:scale-95`,u.disabled&&`cursor-not-allowed opacity-80`,c&&`animate-team-button-enter`,l.button),style:{backgroundColor:u.bg,color:u.text,boxShadow:u.disabled?void 0:`0 4px 14px ${a.primary}40`},onClick:o,disabled:u.disabled,children:[u.icon,u.label]})}function m({name:e,motto:n,logo:o,stats:c,members:m=[],maxDisplayMembers:h=5,achievements:g=[],maxDisplayAchievements:_=5,theme:v=a,size:y=`md`,variant:b=`default`,animated:x=!0,joinState:S=`available`,onJoinClick:C,onClick:w,onMemberClick:T,onAchievementClick:E,className:D}){let O=s[y],k={...a,...v},A=g.slice(0,_),j=y===`sm`?`h-4 w-4`:y===`md`?`h-5 w-5`:`h-6 w-6`,M=(c.totalRanks,`#${c.rank}`),N=c.maxMembers?`${c.members}/${c.maxMembers}`:c.members.toString();return b===`compact`?(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center gap-4 rounded-xl border bg-card overflow-hidden`,`transition-all duration-300`,x&&`animate-team-banner-enter`,w&&`cursor-pointer hover:shadow-lg`,O.container,D),onClick:w,children:[(0,i.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-1`,style:{background:`linear-gradient(to bottom, ${k.primary}, ${k.secondary||k.primary})`}}),(0,i.jsx)(l,{src:o,name:e,size:`sm`,theme:k,animated:x}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsx)(`h3`,{className:t.cn(`font-bold truncate`,O.name),children:e}),(0,i.jsxs)(`div`,{className:`flex items-center gap-3 text-sm text-muted-foreground`,children:[(0,i.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(r.Trophy,{className:`h-3.5 w-3.5`}),` `,c.wins,` wins`]}),(0,i.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(r.Medal,{className:`h-3.5 w-3.5`}),` `,M]}),(0,i.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(r.Users,{className:`h-3.5 w-3.5`}),` `,N]})]})]}),C&&(0,i.jsx)(p,{state:S,size:`sm`,theme:k,onClick:e=>{e.stopPropagation(),C()},animated:x})]}):b===`expanded`?(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-2xl border bg-card overflow-hidden`,`transition-all duration-300`,x&&`animate-team-banner-enter`,w&&`cursor-pointer hover:shadow-xl`,D),onClick:w,children:[(0,i.jsx)(`div`,{className:`h-24 relative`,style:{background:`linear-gradient(${k.gradientDirection?.replace(`to-`,`to `)||`to right`}, ${k.primary}, ${k.secondary||k.primary})`},children:x&&(0,i.jsx)(`div`,{className:`absolute inset-0 opacity-20`,children:(0,i.jsx)(`div`,{className:`absolute inset-0 animate-team-pattern`,style:{backgroundImage:`url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")`}})})}),(0,i.jsxs)(`div`,{className:t.cn(`relative`,O.container),children:[(0,i.jsx)(`div`,{className:`absolute -top-12 left-6`,children:(0,i.jsx)(l,{src:o,name:e,size:y,theme:k,animated:x})}),(0,i.jsxs)(`div`,{className:t.cn(`pt-8`,y===`sm`?`pt-4`:y===`lg`?`pt-12`:`pt-8`),children:[(0,i.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,i.jsxs)(`div`,{className:`ml-20 lg:ml-24`,children:[(0,i.jsx)(`h2`,{className:t.cn(`font-bold`,O.name),children:e}),n&&(0,i.jsxs)(`p`,{className:t.cn(`text-muted-foreground italic`,O.motto),children:[`"`,n,`"`]})]}),C&&(0,i.jsx)(p,{state:S,size:y,theme:k,onClick:e=>{e.stopPropagation(),C()},animated:x})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-around py-4 border-y my-4`,children:[(0,i.jsx)(u,{icon:(0,i.jsx)(r.Trophy,{className:j}),value:c.wins,label:`Wins`,size:y,theme:k,animated:x,animationDelay:100}),(0,i.jsx)(u,{icon:(0,i.jsx)(r.Medal,{className:j}),value:M,label:`Rank`,size:y,theme:k,animated:x,animationDelay:200}),(0,i.jsx)(u,{icon:(0,i.jsx)(r.Users,{className:j}),value:N,label:`Members`,size:y,theme:k,animated:x,animationDelay:300}),c.winRate!==void 0&&(0,i.jsx)(u,{icon:(0,i.jsx)(r.Target,{className:j}),value:`${c.winRate}%`,label:`Win Rate`,size:y,theme:k,animated:x,animationDelay:400}),c.streak!==void 0&&c.streak>0&&(0,i.jsx)(u,{icon:(0,i.jsx)(r.Zap,{className:j}),value:c.streak,label:`Streak`,size:y,theme:k,animated:x,animationDelay:500})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between`,children:[m.length>0&&(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`h4`,{className:`text-xs uppercase tracking-wider text-muted-foreground mb-2`,children:`Members`}),(0,i.jsx)(d,{members:m,maxDisplay:h,size:y,theme:k,onMemberClick:T,animated:x})]}),A.length>0&&(0,i.jsxs)(`div`,{className:m.length===0?``:`ml-auto`,children:[(0,i.jsx)(`h4`,{className:`text-xs uppercase tracking-wider text-muted-foreground mb-2 text-right`,children:`Achievements`}),(0,i.jsx)(`div`,{className:`flex gap-2`,children:A.map((e,t)=>(0,i.jsx)(f,{achievement:e,size:y,onClick:E?()=>E(e):void 0,animated:x,animationDelay:100+t*50},e.id))})]})]})]})]})]}):(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-xl border bg-card overflow-hidden`,`transition-all duration-300`,x&&`animate-team-banner-enter`,w&&`cursor-pointer hover:shadow-lg`,O.container,D),onClick:w,children:[(0,i.jsx)(`div`,{className:`absolute top-0 left-0 right-0 h-1`,style:{background:`linear-gradient(${k.gradientDirection?.replace(`to-`,`to `)||`to right`}, ${k.primary}, ${k.secondary||k.primary})`}}),(0,i.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,i.jsx)(l,{src:o,name:e,size:y,theme:k,animated:x}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`h3`,{className:t.cn(`font-bold`,O.name),children:e}),n&&(0,i.jsxs)(`p`,{className:t.cn(`text-muted-foreground italic mt-0.5`,O.motto),children:[`"`,n,`"`]})]}),C&&(0,i.jsx)(p,{state:S,size:y,theme:k,onClick:e=>{e.stopPropagation(),C()},animated:x})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-6 mt-4`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Trophy,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:c.wins}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.statLabel),children:`wins`})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Medal,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:M}),c.totalRanks&&(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,O.statLabel),children:[`of `,c.totalRanks]})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Users,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:N})]}),c.points!==void 0&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Star,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:c.points.toLocaleString()}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.statLabel),children:`pts`})]})]}),(m.length>0||A.length>0)&&(0,i.jsxs)(`div`,{className:`flex items-center justify-between mt-4 pt-4 border-t`,children:[m.length>0&&(0,i.jsx)(d,{members:m,maxDisplay:h,size:y,theme:k,onMemberClick:T,animated:x}),A.length>0&&(0,i.jsx)(`div`,{className:t.cn(`flex gap-1.5`,m.length===0&&`ml-0`),children:A.map((e,t)=>(0,i.jsx)(f,{achievement:e,size:y,onClick:E?()=>E(e):void 0,animated:x,animationDelay:100+t*50},e.id))})]})]})]}),(0,i.jsx)(`style`,{children:`
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");var a={primary:`#6366f1`,secondary:`#8b5cf6`,gradientDirection:`to-r`},o={common:{gradient:`from-slate-400 to-slate-500`,glow:`rgba(148, 163, 184, 0.4)`,ring:`ring-slate-400`},rare:{gradient:`from-blue-400 to-blue-600`,glow:`rgba(59, 130, 246, 0.4)`,ring:`ring-blue-400`},epic:{gradient:`from-purple-400 to-purple-600`,glow:`rgba(168, 85, 247, 0.5)`,ring:`ring-purple-400`},legendary:{gradient:`from-amber-400 via-orange-500 to-red-500`,glow:`rgba(245, 158, 11, 0.5)`,ring:`ring-amber-400`}},s={sm:{container:`p-4`,logo:`h-12 w-12`,name:`text-lg`,motto:`text-xs`,stat:`text-sm`,statLabel:`text-xs`,avatar:`h-7 w-7`,avatarOverlap:`-ml-2`,achievement:`h-6 w-6`,button:`text-xs px-3 py-1.5`},md:{container:`p-6`,logo:`h-16 w-16`,name:`text-xl`,motto:`text-sm`,stat:`text-lg`,statLabel:`text-xs`,avatar:`h-9 w-9`,avatarOverlap:`-ml-2.5`,achievement:`h-8 w-8`,button:`text-sm px-4 py-2`},lg:{container:`p-8`,logo:`h-20 w-20`,name:`text-2xl`,motto:`text-base`,stat:`text-xl`,statLabel:`text-sm`,avatar:`h-11 w-11`,avatarOverlap:`-ml-3`,achievement:`h-10 w-10`,button:`text-base px-5 py-2.5`}};function c({initialJoinState:e=`available`,joinDelay:t=1500,onJoinSuccess:r,onJoinError:i}={}){let[a,o]=n.useState(e),[s,c]=n.useState(!1),[l,u]=n.useState(null);return{joinState:a,requestJoin:n.useCallback(async()=>{if(a===`available`){c(!0),u(null),o(`pending`);try{await new Promise(e=>setTimeout(e,t)),o(`joined`),r?.()}catch(e){let t=e instanceof Error?e:Error(`Failed to join team`);u(t),o(`available`),i?.(t)}finally{c(!1)}}},[a,t,r,i]),cancelJoin:n.useCallback(()=>{a===`pending`&&(o(`available`),c(!1))},[a]),leaveTeam:n.useCallback(()=>{a===`joined`&&o(`available`)},[a]),isJoining:s,error:l,reset:n.useCallback(()=>{o(e),c(!1),u(null)},[e])}}function l({src:e,name:n,size:r,theme:a,animated:o}){let c=s[r],l=n.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,i.jsxs)(`div`,{className:`relative`,children:[o&&(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-xl blur-md animate-team-logo-pulse`,style:{backgroundColor:`${a.primary}40`}}),(0,i.jsx)(`div`,{className:t.cn(`relative rounded-xl overflow-hidden flex items-center justify-center`,`border-2 shadow-lg transition-transform duration-300`,o&&`hover:scale-105`,c.logo),style:{borderColor:a.primary,background:e?void 0:`linear-gradient(${a.gradientDirection?.replace(`to-`,`to `)||`to right`}, ${a.primary}, ${a.secondary||a.primary})`},children:e?(0,i.jsx)(`img`,{src:e,alt:`${n} logo`,className:`h-full w-full object-cover`}):(0,i.jsx)(`span`,{className:`text-white font-bold text-lg drop-shadow-md`,children:l})})]})}function u({icon:e,value:n,label:r,size:a,theme:o,animated:c,animationDelay:l=0}){let u=s[a];return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col items-center transition-all duration-300`,c&&`animate-team-stat-enter`),style:c?{animationDelay:`${l}ms`,animationFillMode:`both`}:void 0,children:[(0,i.jsx)(`div`,{className:`p-2 rounded-lg mb-1 transition-colors duration-200`,style:{backgroundColor:`${o.primary}15`},children:(0,i.jsx)(`div`,{style:{color:o.primary},children:e})}),(0,i.jsx)(`span`,{className:t.cn(`font-bold tabular-nums`,u.stat),children:n}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground uppercase tracking-wider`,u.statLabel),children:r})]})}function d({members:e,maxDisplay:n,size:a,theme:o,onMemberClick:c,animated:l}){let u=s[a],d=e.slice(0,n),f=e.length-n,p=e=>e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,i.jsxs)(`div`,{className:`flex items-center`,children:[(0,i.jsx)(`div`,{className:`flex`,children:d.map((e,n)=>(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-full border-2 border-background overflow-hidden`,`flex items-center justify-center bg-muted`,`transition-all duration-200 hover:z-10 hover:scale-110`,n>0&&u.avatarOverlap,c&&`cursor-pointer`,u.avatar,l&&`animate-team-avatar-enter`),style:l?{animationDelay:`${n*50}ms`,animationFillMode:`both`}:void 0,onClick:()=>c?.(e),title:e.name,children:[e.avatar?(0,i.jsx)(`img`,{src:e.avatar,alt:e.name,className:`h-full w-full object-cover`}):(0,i.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:p(e.name)}),e.isLeader&&(0,i.jsx)(`div`,{className:`absolute -top-1 -right-1 h-4 w-4 rounded-full flex items-center justify-center`,style:{backgroundColor:o.primary},children:(0,i.jsx)(r.Crown,{className:`h-2.5 w-2.5 text-white`})})]},e.id))}),f>0&&(0,i.jsx)(`div`,{className:t.cn(`rounded-full border-2 border-background flex items-center justify-center`,`bg-muted text-muted-foreground font-medium`,u.avatarOverlap,u.avatar,l&&`animate-team-avatar-enter`),style:l?{animationDelay:`${n*50}ms`,animationFillMode:`both`}:void 0,children:(0,i.jsxs)(`span`,{className:`text-xs`,children:[`+`,f]})})]})}function f({achievement:e,size:r,onClick:a,animated:c,animationDelay:l=0}){let[u,d]=n.useState(!1),f=s[r],p=o[e.rarity||`common`];return(0,i.jsxs)(`div`,{className:t.cn(`relative group`,a&&`cursor-pointer`,c&&`animate-team-achievement-enter`),style:c?{animationDelay:`${l}ms`,animationFillMode:`both`}:void 0,onClick:a,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[u&&(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-full blur-md transition-opacity duration-200`,style:{backgroundColor:p.glow}}),(0,i.jsx)(`div`,{className:t.cn(`relative rounded-full flex items-center justify-center`,`bg-gradient-to-br text-white shadow-md`,`transition-transform duration-200`,`ring-2 ring-offset-2 ring-offset-background`,p.gradient,p.ring,u&&`scale-110`,f.achievement),children:(0,i.jsx)(`div`,{className:`h-4 w-4`,children:e.icon})}),u&&(0,i.jsxs)(`div`,{className:t.cn(`absolute left-1/2 top-full z-30 mt-2 -translate-x-1/2`,`whitespace-nowrap rounded-lg bg-popover px-3 py-2 text-sm shadow-lg border`,`animate-team-tooltip-enter`),children:[(0,i.jsx)(`div`,{className:`font-semibold`,children:e.name}),e.description&&(0,i.jsx)(`div`,{className:`text-xs text-muted-foreground max-w-[180px] whitespace-normal`,children:e.description})]})]})}function p({state:e,size:n,theme:a,onClick:o,animated:c}){let l=s[n],u={available:{label:`Join Team`,icon:(0,i.jsx)(r.UserPlus,{className:`h-4 w-4 mr-1.5`}),bg:a.primary,text:`white`,disabled:!1},pending:{label:`Pending...`,icon:(0,i.jsx)(r.Loader2,{className:`h-4 w-4 mr-1.5 animate-spin`}),bg:`${a.primary}80`,text:`white`,disabled:!0},joined:{label:`Joined`,icon:(0,i.jsx)(r.Check,{className:`h-4 w-4 mr-1.5`}),bg:`#22c55e`,text:`white`,disabled:!0},closed:{label:`Closed`,icon:null,bg:`#6b7280`,text:`white`,disabled:!0}}[e];return(0,i.jsxs)(`button`,{type:`button`,className:t.cn(`inline-flex items-center justify-center font-medium rounded-lg`,`transition-all duration-200`,!u.disabled&&`hover:scale-105 hover:shadow-lg active:scale-95`,u.disabled&&`cursor-not-allowed opacity-80`,c&&`animate-team-button-enter`,l.button),style:{backgroundColor:u.bg,color:u.text,boxShadow:u.disabled?void 0:`0 4px 14px ${a.primary}40`},onClick:o,disabled:u.disabled,children:[u.icon,u.label]})}function m({name:e,motto:n,logo:o,stats:c,members:m=[],maxDisplayMembers:h=5,achievements:g=[],maxDisplayAchievements:_=5,theme:v=a,size:y=`md`,variant:b=`default`,animated:x=!0,joinState:S=`available`,onJoinClick:C,onClick:w,onMemberClick:T,onAchievementClick:E,className:D}){let O=s[y],k={...a,...v},A=g.slice(0,_),j=y===`sm`?`h-4 w-4`:y===`md`?`h-5 w-5`:`h-6 w-6`,M=(c.totalRanks,`#${c.rank}`),N=c.maxMembers?`${c.members}/${c.maxMembers}`:c.members.toString();return b===`compact`?(0,i.jsxs)(`div`,{className:t.cn(`relative flex items-center gap-4 rounded-xl border bg-card overflow-hidden`,`transition-all duration-300`,x&&`animate-team-banner-enter`,w&&`cursor-pointer hover:shadow-lg`,O.container,D),onClick:w,children:[(0,i.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-1`,style:{background:`linear-gradient(to bottom, ${k.primary}, ${k.secondary||k.primary})`}}),(0,i.jsx)(l,{src:o,name:e,size:`sm`,theme:k,animated:x}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsx)(`h3`,{className:t.cn(`font-bold truncate`,O.name),children:e}),(0,i.jsxs)(`div`,{className:`flex items-center gap-3 text-sm text-muted-foreground`,children:[(0,i.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(r.Trophy,{className:`h-3.5 w-3.5`}),` `,c.wins,` wins`]}),(0,i.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(r.Medal,{className:`h-3.5 w-3.5`}),` `,M]}),(0,i.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(r.Users,{className:`h-3.5 w-3.5`}),` `,N]})]})]}),C&&(0,i.jsx)(p,{state:S,size:`sm`,theme:k,onClick:e=>{e.stopPropagation(),C()},animated:x})]}):b===`expanded`?(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-2xl border bg-card overflow-hidden`,`transition-all duration-300`,x&&`animate-team-banner-enter`,w&&`cursor-pointer hover:shadow-xl`,D),onClick:w,children:[(0,i.jsx)(`div`,{className:`h-24 relative`,style:{background:`linear-gradient(${k.gradientDirection?.replace(`to-`,`to `)||`to right`}, ${k.primary}, ${k.secondary||k.primary})`},children:x&&(0,i.jsx)(`div`,{className:`absolute inset-0 opacity-20`,children:(0,i.jsx)(`div`,{className:`absolute inset-0 animate-team-pattern`,style:{backgroundImage:`url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")`}})})}),(0,i.jsxs)(`div`,{className:t.cn(`relative`,O.container),children:[(0,i.jsx)(`div`,{className:`absolute -top-12 left-6`,children:(0,i.jsx)(l,{src:o,name:e,size:y,theme:k,animated:x})}),(0,i.jsxs)(`div`,{className:t.cn(`pt-8`,y===`sm`?`pt-4`:y===`lg`?`pt-12`:`pt-8`),children:[(0,i.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,i.jsxs)(`div`,{className:`ml-20 lg:ml-24`,children:[(0,i.jsx)(`h2`,{className:t.cn(`font-bold`,O.name),children:e}),n&&(0,i.jsxs)(`p`,{className:t.cn(`text-muted-foreground italic`,O.motto),children:[`"`,n,`"`]})]}),C&&(0,i.jsx)(p,{state:S,size:y,theme:k,onClick:e=>{e.stopPropagation(),C()},animated:x})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-around py-4 border-y my-4`,children:[(0,i.jsx)(u,{icon:(0,i.jsx)(r.Trophy,{className:j}),value:c.wins,label:`Wins`,size:y,theme:k,animated:x,animationDelay:100}),(0,i.jsx)(u,{icon:(0,i.jsx)(r.Medal,{className:j}),value:M,label:`Rank`,size:y,theme:k,animated:x,animationDelay:200}),(0,i.jsx)(u,{icon:(0,i.jsx)(r.Users,{className:j}),value:N,label:`Members`,size:y,theme:k,animated:x,animationDelay:300}),c.winRate!==void 0&&(0,i.jsx)(u,{icon:(0,i.jsx)(r.Target,{className:j}),value:`${c.winRate}%`,label:`Win Rate`,size:y,theme:k,animated:x,animationDelay:400}),c.streak!==void 0&&c.streak>0&&(0,i.jsx)(u,{icon:(0,i.jsx)(r.Zap,{className:j}),value:c.streak,label:`Streak`,size:y,theme:k,animated:x,animationDelay:500})]}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between`,children:[m.length>0&&(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`h4`,{className:`text-xs uppercase tracking-wider text-muted-foreground mb-2`,children:`Members`}),(0,i.jsx)(d,{members:m,maxDisplay:h,size:y,theme:k,onMemberClick:T,animated:x})]}),A.length>0&&(0,i.jsxs)(`div`,{className:m.length===0?``:`ml-auto`,children:[(0,i.jsx)(`h4`,{className:`text-xs uppercase tracking-wider text-muted-foreground mb-2 text-right`,children:`Achievements`}),(0,i.jsx)(`div`,{className:`flex gap-2`,children:A.map((e,t)=>(0,i.jsx)(f,{achievement:e,size:y,onClick:E?()=>E(e):void 0,animated:x,animationDelay:100+t*50},e.id))})]})]})]})]})]}):(0,i.jsxs)(`div`,{className:t.cn(`relative rounded-xl border bg-card overflow-hidden`,`transition-all duration-300`,x&&`animate-team-banner-enter`,w&&`cursor-pointer hover:shadow-lg`,O.container,D),onClick:w,children:[(0,i.jsx)(`div`,{className:`absolute top-0 left-0 right-0 h-1`,style:{background:`linear-gradient(${k.gradientDirection?.replace(`to-`,`to `)||`to right`}, ${k.primary}, ${k.secondary||k.primary})`}}),(0,i.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,i.jsx)(l,{src:o,name:e,size:y,theme:k,animated:x}),(0,i.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,i.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`h3`,{className:t.cn(`font-bold`,O.name),children:e}),n&&(0,i.jsxs)(`p`,{className:t.cn(`text-muted-foreground italic mt-0.5`,O.motto),children:[`"`,n,`"`]})]}),C&&(0,i.jsx)(p,{state:S,size:y,theme:k,onClick:e=>{e.stopPropagation(),C()},animated:x})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-6 mt-4`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Trophy,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:c.wins}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.statLabel),children:`wins`})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Medal,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:M}),c.totalRanks&&(0,i.jsxs)(`span`,{className:t.cn(`text-muted-foreground`,O.statLabel),children:[`of `,c.totalRanks]})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Users,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:N})]}),c.points!==void 0&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(r.Star,{className:t.cn(`h-4 w-4`),style:{color:k.primary}}),(0,i.jsx)(`span`,{className:t.cn(`font-semibold`,O.stat),children:c.points.toLocaleString()}),(0,i.jsx)(`span`,{className:t.cn(`text-muted-foreground`,O.statLabel),children:`pts`})]})]}),(m.length>0||A.length>0)&&(0,i.jsxs)(`div`,{className:`flex items-center justify-between mt-4 pt-4 border-t`,children:[m.length>0&&(0,i.jsx)(d,{members:m,maxDisplay:h,size:y,theme:k,onMemberClick:T,animated:x}),A.length>0&&(0,i.jsx)(`div`,{className:t.cn(`flex gap-1.5`,m.length===0&&`ml-0`),children:A.map((e,t)=>(0,i.jsx)(f,{achievement:e,size:y,onClick:E?()=>E(e):void 0,animated:x,animationDelay:100+t*50},e.id))})]})]})]}),(0,i.jsx)(`style`,{children:`
|
|
2
2
|
@keyframes team-banner-enter {
|
|
3
3
|
from {
|
|
4
4
|
opacity: 0;
|
|
@@ -109,4 +109,4 @@
|
|
|
109
109
|
.animate-team-pattern {
|
|
110
110
|
animation: team-pattern 3s linear infinite;
|
|
111
111
|
}
|
|
112
|
-
`})]})}function h(e){return(0,i.jsx)(m,{variant:`compact`,...e})}function g(e){return(0,i.jsx)(m,{variant:`expanded`,...e})}exports.WakaTeamBannerCompact=h,exports.WakaTeamBannerExpanded=g,exports.
|
|
112
|
+
`})]})}function h(e){return(0,i.jsx)(m,{variant:`compact`,...e})}function g(e){return(0,i.jsx)(m,{variant:`expanded`,...e})}exports.WakaTeamBanner=m,exports.default=m,exports.WakaTeamBannerCompact=h,exports.WakaTeamBannerExpanded=g,exports.useTeamBanner=c;
|
|
@@ -622,4 +622,4 @@ function T(e) {
|
|
|
622
622
|
});
|
|
623
623
|
}
|
|
624
624
|
//#endregion
|
|
625
|
-
export {
|
|
625
|
+
export { C as WakaTeamBanner, C as default, w as WakaTeamBannerCompact, T as WakaTeamBannerExpanded, _ as useTeamBanner };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
2
|
-
`);try{await navigator.clipboard.writeText(e),p?.(e)}catch{}},B=e=>{D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},V=()=>{let e=_.current;e&&(e.scrollTop=e.scrollHeight,j(!1))},H={error:`bg-red-500/20 text-red-400 border-red-500/50`,warn:`bg-yellow-500/20 text-yellow-400 border-yellow-500/50`,info:`bg-blue-500/20 text-blue-400 border-blue-500/50`,debug:`bg-gray-500/20 text-gray-400 border-gray-500/50`},U=typeof h==`number`?`${h}px`:h;return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col rounded-lg overflow-hidden border border-gray-700 bg-[#1a1a2e]`,g),style:{height:U},children:[(0,i.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-[#16162a] border-b border-gray-700`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,i.jsx)(`div`,{className:`w-3 h-3 rounded-full bg-red-500`}),(0,i.jsx)(`div`,{className:`w-3 h-3 rounded-full bg-yellow-500`}),(0,i.jsx)(`div`,{className:`w-3 h-3 rounded-full bg-green-500`})]}),(0,i.jsx)(`span`,{className:`text-gray-400 text-sm ml-2 font-mono`,children:`terminal`})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l&&(0,i.jsx)(i.Fragment,{children:w?(0,i.jsxs)(`div`,{className:`flex items-center gap-1 bg-gray-800 rounded px-2 py-1`,children:[(0,i.jsx)(r.Search,{className:`h-3.5 w-3.5 text-gray-400`}),(0,i.jsx)(`input`,{type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:`Search...`,className:`bg-transparent text-sm text-white placeholder-gray-500 outline-none w-32`,autoFocus:!0}),(0,i.jsx)(`button`,{onClick:()=>{C(``),T(!1)},className:`p-0.5 hover:bg-gray-700 rounded`,children:(0,i.jsx)(r.X,{className:`h-3.5 w-3.5 text-gray-400`})})]}):(0,i.jsx)(`button`,{onClick:()=>T(!0),className:`p-1.5 hover:bg-gray-700 rounded transition-colors`,title:`Search (Ctrl+F)`,children:(0,i.jsx)(r.Search,{className:`h-4 w-4 text-gray-400`})})}),d&&(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`button`,{onClick:()=>k(!O),className:t.cn(`p-1.5 hover:bg-gray-700 rounded transition-colors`,O&&`bg-gray-700`),title:`Filter by level`,children:(0,i.jsx)(r.Filter,{className:`h-4 w-4 text-gray-400`})}),O&&(0,i.jsx)(`div`,{className:`absolute right-0 top-full mt-1 bg-gray-800 border border-gray-700 rounded-lg p-2 shadow-xl z-10`,children:[`error`,`warn`,`info`,`debug`].map(e=>(0,i.jsxs)(`button`,{onClick:()=>B(e),className:t.cn(`flex items-center gap-2 w-full px-3 py-1.5 rounded text-sm capitalize transition-colors`,E.has(e)?H[e]:`text-gray-500 hover:bg-gray-700`),children:[(0,i.jsx)(`div`,{className:t.cn(`w-2 h-2 rounded-full`,E.has(e)?`opacity-100`:`opacity-30`,e===`error`&&`bg-red-500`,e===`warn`&&`bg-yellow-500`,e===`info`&&`bg-blue-500`,e===`debug`&&`bg-gray-500`)}),e]},e))})]}),(0,i.jsx)(`button`,{onClick:z,className:`p-1.5 hover:bg-gray-700 rounded transition-colors`,title:`Copy all`,children:(0,i.jsx)(r.Copy,{className:`h-4 w-4 text-gray-400`})}),m&&(0,i.jsx)(`button`,{onClick:m,className:`p-1.5 hover:bg-gray-700 rounded transition-colors`,title:`Clear`,children:(0,i.jsx)(r.Trash2,{className:`h-4 w-4 text-gray-400`})})]})]}),(0,i.jsx)(`div`,{ref:_,className:`flex-1 overflow-auto font-mono text-sm text-gray-200`,onScroll:R,children:P.length===0?(0,i.jsx)(`div`,{className:`flex items-center justify-center h-full text-gray-500`,children:S?`No matching logs found`:`No logs yet`}):(0,i.jsx)(`div`,{className:`relative`,style:{height:I},children:L.map(({index:e,style:t})=>(0,i.jsx)(f,{line:P[e],index:e,showLineNumbers:o,showTimestamps:s,onCopy:p,style:t,isHighlighted:F.has(e)},e))})}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-1 bg-[#16162a] border-t border-gray-700 text-xs text-gray-500`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,i.jsxs)(`span`,{children:[P.length,` lines`]}),S&&(0,i.jsxs)(`span`,{children:[F.size,` matches`]})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[A&&c&&(0,i.jsx)(`button`,{onClick:V,className:`px-2 py-0.5 bg-blue-500/20 text-blue-400 rounded hover:bg-blue-500/30 transition-colors`,children:`Scroll to bottom`}),c&&!A&&(0,i.jsx)(`span`,{className:`text-green-400`,children:`Auto-scroll enabled`})]})]})]})}function m(e={}){let{maxLines:t=1e4}=e,[r,i]=n.useState([]),a=n.useCallback((e,n,r)=>{i(i=>{let a=[...i,{content:e,level:n,timestamp:r??new Date}];return a.length>t?a.slice(a.length-t):a})},[t]);return{lines:r,addLine:a,addLines:n.useCallback(e=>{i(n=>{let r=[...n,...e];return r.length>t?r.slice(r.length-t):r})},[t]),clear:n.useCallback(()=>{i([])},[]),log:n.useCallback(e=>a(e,`info`),[a]),warn:n.useCallback(e=>a(e,`warn`),[a]),error:n.useCallback(e=>a(e,`error`),[a]),debug:n.useCallback(e=>a(e,`debug`),[a])}}exports.default=p,exports.useTerminalOutput=m;
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("lucide-react"),i=require("react/jsx-runtime");var a={30:`#1e1e1e`,31:`#e74c3c`,32:`#2ecc71`,33:`#f1c40f`,34:`#3498db`,35:`#9b59b6`,36:`#1abc9c`,37:`#ecf0f1`,90:`#7f8c8d`,91:`#ff6b6b`,92:`#69db7c`,93:`#ffe066`,94:`#74c0fc`,95:`#da77f2`,96:`#63e6be`,97:`#ffffff`},o={40:`#1e1e1e`,41:`#e74c3c`,42:`#2ecc71`,43:`#f1c40f`,44:`#3498db`,45:`#9b59b6`,46:`#1abc9c`,47:`#ecf0f1`,100:`#7f8c8d`,101:`#ff6b6b`,102:`#69db7c`,103:`#ffe066`,104:`#74c0fc`,105:`#da77f2`,106:`#63e6be`,107:`#ffffff`};function s(e){let t=[],n=/\x1b\[([0-9;]*)m/g,r=0,i={},s;for(;(s=n.exec(e))!==null;){s.index>r&&t.push({text:e.slice(r,s.index),styles:{...i}});let n=s[1].split(`;`).map(Number).filter(e=>!isNaN(e));for(let e of n)e===0?i={}:e===1?i.fontWeight=`bold`:e===3?i.fontStyle=`italic`:e===4?i.textDecoration=`underline`:e===9?i.textDecoration=`line-through`:a[e]?i.color=a[e]:o[e]&&(i.backgroundColor=o[e]);r=s.index+s[0].length}return r<e.length&&t.push({text:e.slice(r),styles:{...i}}),t}var c=[{pattern:/(\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?|\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\])/g,className:`text-cyan-400`},{pattern:/\b(ERROR|error|Error)\b/g,className:`text-red-400 font-bold`},{pattern:/\b(WARN|warn|Warning|WARNING)\b/g,className:`text-yellow-400 font-bold`},{pattern:/\b(INFO|info)\b/g,className:`text-blue-400 font-bold`},{pattern:/\b(DEBUG|debug)\b/g,className:`text-gray-400 font-bold`},{pattern:/\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b/g,className:`text-purple-400`},{pattern:/(https?:\/\/[^\s]+)/g,className:`text-blue-300 underline`},{pattern:/\b(\d+(?:\.\d+)?)\b/g,className:`text-green-400`},{pattern:/("[^"]*"|'[^']*')/g,className:`text-orange-300`},{pattern:/\b(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)\b/g,className:`text-pink-400 font-bold`},{pattern:/\b([2][0-9]{2})\b/g,className:`text-green-400`},{pattern:/\b([4][0-9]{2})\b/g,className:`text-yellow-400`},{pattern:/\b([5][0-9]{2})\b/g,className:`text-red-400`},{pattern:/(\/[\w\-./]+\.\w+)/g,className:`text-teal-300`}];function l(e){let t=[{text:e,className:``}];for(let{pattern:e,className:n}of c){let r=[];for(let i of t){if(i.className){r.push(i);continue}let t=0,a=new RegExp(e.source,e.flags),o;for(;(o=a.exec(i.text))!==null;)o.index>t&&r.push({text:i.text.slice(t,o.index),className:``}),r.push({text:o[0],className:n}),t=o.index+o[0].length;t<i.text.length&&r.push({text:i.text.slice(t),className:``})}t.length=0,t.push(...r)}return t.filter(e=>e.text.length>0)}function u(e,t,r,i,a=5){return n.useMemo(()=>{let n=Math.max(0,Math.floor(i/t)-a),o=Math.min(e-1,Math.ceil((i+r)/t)+a),s=[];for(let r=n;r<=o&&r<e;r++)s.push({index:r,style:{position:`absolute`,top:r*t,left:0,right:0,height:t}});return{totalHeight:e*t,visibleItems:s,startIndex:n,endIndex:o}},[e,t,r,i,a])}function d({content:e,onCopy:a,className:o}){let[s,c]=n.useState(!1);return(0,i.jsx)(`button`,{onClick:async t=>{t.stopPropagation();try{await navigator.clipboard.writeText(e),c(!0),a?.(e),setTimeout(()=>c(!1),2e3)}catch{}},className:t.cn(`p-1 rounded hover:bg-white/10 transition-colors`,o),title:`Copy`,children:s?(0,i.jsx)(r.Check,{className:`h-3.5 w-3.5 text-green-400`}):(0,i.jsx)(r.Copy,{className:`h-3.5 w-3.5 text-gray-400 hover:text-white`})})}function f({line:e,index:r,showLineNumbers:a,showTimestamps:o,onCopy:c,style:u,isHighlighted:f}){let[p,m]=n.useState(!1),h=/\x1b\[/.test(e.content);return(0,i.jsxs)(`div`,{style:u,className:t.cn(`flex items-stretch font-mono text-sm border-l-2 border-transparent hover:bg-white/5 group`,e.level&&{error:`border-l-red-500`,warn:`border-l-yellow-500`,info:`border-l-blue-500`,debug:`border-l-gray-500`}[e.level],f&&`bg-yellow-500/20`),onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),children:[a&&(0,i.jsx)(`span`,{className:`flex-shrink-0 w-12 px-2 text-right text-gray-500 select-none border-r border-gray-700 flex items-center justify-end`,children:r+1}),o&&e.timestamp&&(0,i.jsx)(`span`,{className:`flex-shrink-0 px-2 text-gray-500 select-none border-r border-gray-700 flex items-center`,children:(e=>e.toLocaleTimeString(`en-US`,{hour12:!1,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}))(e.timestamp)}),(0,i.jsx)(`div`,{className:`flex-1 px-3 overflow-hidden whitespace-pre flex items-center`,children:(0,i.jsx)(`span`,{className:`overflow-hidden text-ellipsis`,children:h?s(e.content).map((e,t)=>(0,i.jsx)(`span`,{style:e.styles,children:e.text},t)):l(e.content).map((e,t)=>(0,i.jsx)(`span`,{className:e.className,children:e.text},t))})}),p&&(0,i.jsx)(`div`,{className:`flex-shrink-0 px-2 flex items-center opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,i.jsx)(d,{content:e.content,onCopy:c})})]})}function p({lines:e,maxLines:a=1e4,showLineNumbers:o=!1,showTimestamps:s=!1,autoScroll:c=!0,searchable:l=!1,filterable:d=!1,onCopy:p,onClear:m,height:h=400,className:g}){let _=n.useRef(null),[v,y]=n.useState(0),[b,x]=n.useState(300),[S,C]=n.useState(``),[w,T]=n.useState(!1),[E,D]=n.useState(()=>new Set([`info`,`warn`,`error`,`debug`])),[O,k]=n.useState(!1),[A,j]=n.useState(!1),M=n.useRef(e.length),N=n.useMemo(()=>e.length>a?e.slice(e.length-a):e,[e,a]),P=n.useMemo(()=>{let e=N;if(d&&(e=e.filter(e=>e.level?E.has(e.level):!0)),S){let t=S.toLowerCase();e=e.filter(e=>e.content.toLowerCase().includes(t))}return e},[N,E,S,d]),F=n.useMemo(()=>{if(!S)return new Set;let e=S.toLowerCase(),t=new Set;return P.forEach((n,r)=>{n.content.toLowerCase().includes(e)&&t.add(r)}),t},[P,S]);n.useEffect(()=>{let e=_.current;if(!e)return;let t=()=>{x(e.clientHeight)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),n.useEffect(()=>{if(c&&!A&&e.length>M.current){let e=_.current;e&&(e.scrollTop=e.scrollHeight)}M.current=e.length},[e.length,c,A]);let{totalHeight:I,visibleItems:L}=u(P.length,24,b,v),R=e=>{let t=e.currentTarget;y(t.scrollTop);let n=t.scrollHeight-t.scrollTop-t.clientHeight<50;j(!n)},z=async()=>{let e=P.map(e=>e.content).join(`
|
|
2
|
+
`);try{await navigator.clipboard.writeText(e),p?.(e)}catch{}},B=e=>{D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},V=()=>{let e=_.current;e&&(e.scrollTop=e.scrollHeight,j(!1))},H={error:`bg-red-500/20 text-red-400 border-red-500/50`,warn:`bg-yellow-500/20 text-yellow-400 border-yellow-500/50`,info:`bg-blue-500/20 text-blue-400 border-blue-500/50`,debug:`bg-gray-500/20 text-gray-400 border-gray-500/50`},U=typeof h==`number`?`${h}px`:h;return(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col rounded-lg overflow-hidden border border-gray-700 bg-[#1a1a2e]`,g),style:{height:U},children:[(0,i.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-[#16162a] border-b border-gray-700`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,i.jsx)(`div`,{className:`w-3 h-3 rounded-full bg-red-500`}),(0,i.jsx)(`div`,{className:`w-3 h-3 rounded-full bg-yellow-500`}),(0,i.jsx)(`div`,{className:`w-3 h-3 rounded-full bg-green-500`})]}),(0,i.jsx)(`span`,{className:`text-gray-400 text-sm ml-2 font-mono`,children:`terminal`})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l&&(0,i.jsx)(i.Fragment,{children:w?(0,i.jsxs)(`div`,{className:`flex items-center gap-1 bg-gray-800 rounded px-2 py-1`,children:[(0,i.jsx)(r.Search,{className:`h-3.5 w-3.5 text-gray-400`}),(0,i.jsx)(`input`,{type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:`Search...`,className:`bg-transparent text-sm text-white placeholder-gray-500 outline-none w-32`,autoFocus:!0}),(0,i.jsx)(`button`,{onClick:()=>{C(``),T(!1)},className:`p-0.5 hover:bg-gray-700 rounded`,children:(0,i.jsx)(r.X,{className:`h-3.5 w-3.5 text-gray-400`})})]}):(0,i.jsx)(`button`,{onClick:()=>T(!0),className:`p-1.5 hover:bg-gray-700 rounded transition-colors`,title:`Search (Ctrl+F)`,children:(0,i.jsx)(r.Search,{className:`h-4 w-4 text-gray-400`})})}),d&&(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`button`,{onClick:()=>k(!O),className:t.cn(`p-1.5 hover:bg-gray-700 rounded transition-colors`,O&&`bg-gray-700`),title:`Filter by level`,children:(0,i.jsx)(r.Filter,{className:`h-4 w-4 text-gray-400`})}),O&&(0,i.jsx)(`div`,{className:`absolute right-0 top-full mt-1 bg-gray-800 border border-gray-700 rounded-lg p-2 shadow-xl z-10`,children:[`error`,`warn`,`info`,`debug`].map(e=>(0,i.jsxs)(`button`,{onClick:()=>B(e),className:t.cn(`flex items-center gap-2 w-full px-3 py-1.5 rounded text-sm capitalize transition-colors`,E.has(e)?H[e]:`text-gray-500 hover:bg-gray-700`),children:[(0,i.jsx)(`div`,{className:t.cn(`w-2 h-2 rounded-full`,E.has(e)?`opacity-100`:`opacity-30`,e===`error`&&`bg-red-500`,e===`warn`&&`bg-yellow-500`,e===`info`&&`bg-blue-500`,e===`debug`&&`bg-gray-500`)}),e]},e))})]}),(0,i.jsx)(`button`,{onClick:z,className:`p-1.5 hover:bg-gray-700 rounded transition-colors`,title:`Copy all`,children:(0,i.jsx)(r.Copy,{className:`h-4 w-4 text-gray-400`})}),m&&(0,i.jsx)(`button`,{onClick:m,className:`p-1.5 hover:bg-gray-700 rounded transition-colors`,title:`Clear`,children:(0,i.jsx)(r.Trash2,{className:`h-4 w-4 text-gray-400`})})]})]}),(0,i.jsx)(`div`,{ref:_,className:`flex-1 overflow-auto font-mono text-sm text-gray-200`,onScroll:R,children:P.length===0?(0,i.jsx)(`div`,{className:`flex items-center justify-center h-full text-gray-500`,children:S?`No matching logs found`:`No logs yet`}):(0,i.jsx)(`div`,{className:`relative`,style:{height:I},children:L.map(({index:e,style:t})=>(0,i.jsx)(f,{line:P[e],index:e,showLineNumbers:o,showTimestamps:s,onCopy:p,style:t,isHighlighted:F.has(e)},e))})}),(0,i.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-1 bg-[#16162a] border-t border-gray-700 text-xs text-gray-500`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,i.jsxs)(`span`,{children:[P.length,` lines`]}),S&&(0,i.jsxs)(`span`,{children:[F.size,` matches`]})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[A&&c&&(0,i.jsx)(`button`,{onClick:V,className:`px-2 py-0.5 bg-blue-500/20 text-blue-400 rounded hover:bg-blue-500/30 transition-colors`,children:`Scroll to bottom`}),c&&!A&&(0,i.jsx)(`span`,{className:`text-green-400`,children:`Auto-scroll enabled`})]})]})]})}function m(e={}){let{maxLines:t=1e4}=e,[r,i]=n.useState([]),a=n.useCallback((e,n,r)=>{i(i=>{let a=[...i,{content:e,level:n,timestamp:r??new Date}];return a.length>t?a.slice(a.length-t):a})},[t]);return{lines:r,addLine:a,addLines:n.useCallback(e=>{i(n=>{let r=[...n,...e];return r.length>t?r.slice(r.length-t):r})},[t]),clear:n.useCallback(()=>{i([])},[]),log:n.useCallback(e=>a(e,`info`),[a]),warn:n.useCallback(e=>a(e,`warn`),[a]),error:n.useCallback(e=>a(e,`error`),[a]),debug:n.useCallback(e=>a(e,`debug`),[a])}}exports.WakaTerminalOutput=p,exports.default=p,exports.useTerminalOutput=m;
|
|
@@ -234,7 +234,7 @@ function v({ line: n, index: r, showLineNumbers: i, showTimestamps: a, onCopy: o
|
|
|
234
234
|
});
|
|
235
235
|
}
|
|
236
236
|
function y({ lines: n, maxLines: d = 1e4, showLineNumbers: f = !1, showTimestamps: p = !1, autoScroll: m = !0, searchable: h = !1, filterable: _ = !1, onCopy: y, onClear: b, height: x = 400, className: S }) {
|
|
237
|
-
let C = t.useRef(null), [w, T] = t.useState(0), [E, D] = t.useState(300), [O, k] = t.useState(""), [A, j] = t.useState(!1), [M, N] = t.useState(() => new Set([
|
|
237
|
+
let C = t.useRef(null), [w, T] = t.useState(0), [E, D] = t.useState(300), [O, k] = t.useState(""), [A, j] = t.useState(!1), [M, N] = t.useState(() => /* @__PURE__ */ new Set([
|
|
238
238
|
"info",
|
|
239
239
|
"warn",
|
|
240
240
|
"error",
|
|
@@ -280,7 +280,9 @@ function y({ lines: n, maxLines: d = 1e4, showLineNumbers: f = !1, showTimestamp
|
|
|
280
280
|
]);
|
|
281
281
|
let { totalHeight: H, visibleItems: U } = g(B.length, 24, E, w), W = (e) => {
|
|
282
282
|
let t = e.currentTarget;
|
|
283
|
-
T(t.scrollTop)
|
|
283
|
+
T(t.scrollTop);
|
|
284
|
+
let n = t.scrollHeight - t.scrollTop - t.clientHeight < 50;
|
|
285
|
+
L(!n);
|
|
284
286
|
}, G = async () => {
|
|
285
287
|
let e = B.map((e) => e.content).join("\n");
|
|
286
288
|
try {
|
|
@@ -455,4 +457,4 @@ function b(e = {}) {
|
|
|
455
457
|
};
|
|
456
458
|
}
|
|
457
459
|
//#endregion
|
|
458
|
-
export { y as default, b as useTerminalOutput };
|
|
460
|
+
export { y as WakaTerminalOutput, y as default, b as useTerminalOutput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use client";const e=require(
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../badge/index.cjs.js"),r=require("../button/index.cjs.js"),i=require("../input/index.cjs.js"),a=require("../scroll-area/index.cjs.js");let o=require("react");o=e.__toESM(o);let s=require("lucide-react"),c=require("react/jsx-runtime");var l={passed:{icon:s.CheckCircle2,color:`text-green-500`,bgColor:`bg-green-500/10`,label:`Passed`},failed:{icon:s.XCircle,color:`text-red-500`,bgColor:`bg-red-500/10`,label:`Failed`},skipped:{icon:s.SkipForward,color:`text-gray-500`,bgColor:`bg-gray-500/10`,label:`Skipped`},pending:{icon:s.Clock,color:`text-yellow-500`,bgColor:`bg-yellow-500/10`,label:`Pending`}};function u(e){if(e<1e3)return`${e}ms`;let t=e/1e3;return t<60?`${t.toFixed(2)}s`:`${Math.floor(t/60)}m ${(t%60).toFixed(0)}s`}function d({label:e,covered:n,total:r,percentage:i}){return(0,c.jsxs)(`div`,{className:`space-y-1`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,c.jsxs)(`span`,{className:`font-medium`,children:[n,`/`,r,` (`,i.toFixed(1),`%)`]})]}),(0,c.jsx)(`div`,{className:`h-2 bg-muted rounded-full overflow-hidden`,children:(0,c.jsx)(`div`,{className:t.cn(`h-full transition-all`,(e=>e>=80?`bg-green-500`:e>=50?`bg-yellow-500`:`bg-red-500`)(i)),style:{width:`${i}%`}})})]})}function f({suite:e,isExpanded:r,onToggle:i,onTestClick:a,onViewFile:o,searchQuery:d}){let f={passed:e.tests.filter(e=>e.status===`passed`).length,failed:e.tests.filter(e=>e.status===`failed`).length,skipped:e.tests.filter(e=>e.status===`skipped`).length,total:e.tests.length},p=f.failed===0&&f.passed>0,m=f.failed>0,h=e.tests.filter(e=>e.name.toLowerCase().includes(d.toLowerCase()));return d&&h.length===0?null:(0,c.jsxs)(`div`,{className:t.cn(`border rounded-lg overflow-hidden`,m&&`border-red-500/30`),children:[(0,c.jsxs)(`button`,{className:t.cn(`w-full flex items-center gap-3 p-3 text-left hover:bg-muted/50 transition-colors`,m?`bg-red-500/5`:p?`bg-green-500/5`:``),onClick:i,children:[r?(0,c.jsx)(s.ChevronDown,{className:`h-4 w-4 text-muted-foreground shrink-0`}):(0,c.jsx)(s.ChevronRight,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,c.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,c.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),e.file&&(0,c.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.file})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[f.passed>0&&(0,c.jsx)(n.Badge,{className:`bg-green-500 text-xs`,children:f.passed}),f.failed>0&&(0,c.jsx)(n.Badge,{className:`bg-red-500 text-xs`,children:f.failed}),f.skipped>0&&(0,c.jsx)(n.Badge,{variant:`secondary`,className:`text-xs`,children:f.skipped}),(0,c.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:u(e.duration)})]})]}),r&&(0,c.jsx)(`div`,{className:`border-t`,children:h.map(e=>{let n=l[e.status],r=n.icon;return(0,c.jsxs)(`div`,{className:t.cn(`flex items-start gap-3 p-3 border-b last:border-b-0 hover:bg-muted/30 cursor-pointer`,n.bgColor),onClick:()=>a?.(e),children:[(0,c.jsx)(r,{className:t.cn(`h-4 w-4 mt-0.5 shrink-0`,n.color)}),(0,c.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,c.jsx)(`div`,{className:`text-sm font-medium`,children:e.name}),e.errorMessage&&(0,c.jsx)(`div`,{className:`text-xs text-red-500 mt-1 line-clamp-2`,children:e.errorMessage}),e.file&&(0,c.jsxs)(`button`,{className:`text-xs text-primary hover:underline mt-1`,onClick:t=>{t.stopPropagation(),o?.(e.file,e.line)},children:[e.file,`:`,e.line]})]}),(0,c.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:u(e.duration)})]},e.id)})})]})}function p({suites:e,coverage:l,title:p=`Test Report`,onTestClick:m,onViewFile:h,showFailedOnly:g=!1,className:_}){let[v,y]=o.useState(``),[b,x]=o.useState(new Set),[S,C]=o.useState(g),w=o.useMemo(()=>{let t=0,n=0,r=0,i=0;return e.forEach(e=>{e.tests.forEach(e=>{e.status===`passed`&&t++,e.status===`failed`&&n++,e.status===`skipped`&&r++}),i+=e.duration}),{passed:t,failed:n,skipped:r,total:t+n+r,duration:i}},[e]),T=e=>{x(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},E=()=>{x(new Set(e.map(e=>e.id)))},D=()=>{x(new Set)},O=S?e.filter(e=>e.tests.some(e=>e.status===`failed`)):e;return(0,c.jsxs)(`div`,{className:t.cn(`flex flex-col border rounded-lg bg-background`,_),children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between gap-4 p-3 border-b`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsx)(s.FileText,{className:`h-5 w-5`}),(0,c.jsx)(`h3`,{className:`font-semibold`,children:p})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[w.passed>0&&(0,c.jsxs)(n.Badge,{className:`bg-green-500`,children:[w.passed,` passed`]}),w.failed>0&&(0,c.jsxs)(n.Badge,{className:`bg-red-500`,children:[w.failed,` failed`]}),w.skipped>0&&(0,c.jsxs)(n.Badge,{variant:`secondary`,children:[w.skipped,` skipped`]}),(0,c.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:u(w.duration)})]})]}),l&&(0,c.jsxs)(`div`,{className:`p-4 border-b bg-muted/30`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-2 mb-3`,children:[(0,c.jsx)(s.BarChart3,{className:`h-4 w-4`}),(0,c.jsx)(`span`,{className:`font-medium text-sm`,children:`Code Coverage`})]}),(0,c.jsxs)(`div`,{className:`grid grid-cols-2 md:grid-cols-4 gap-4`,children:[(0,c.jsx)(d,{label:`Lines`,covered:l.lines.covered,total:l.lines.total,percentage:l.lines.percentage}),(0,c.jsx)(d,{label:`Branches`,covered:l.branches.covered,total:l.branches.total,percentage:l.branches.percentage}),(0,c.jsx)(d,{label:`Functions`,covered:l.functions.covered,total:l.functions.total,percentage:l.functions.percentage}),(0,c.jsx)(d,{label:`Statements`,covered:l.statements.covered,total:l.statements.total,percentage:l.statements.percentage})]})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b`,children:[(0,c.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,c.jsx)(s.Search,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,c.jsx)(i.Input,{placeholder:`Search tests...`,value:v,onChange:e=>y(e.target.value),className:`pl-8 h-8`})]}),(0,c.jsxs)(r.Button,{variant:S?`default`:`outline`,size:`sm`,className:`h-8`,onClick:()=>C(!S),children:[(0,c.jsx)(s.AlertTriangle,{className:`h-4 w-4 mr-1`}),`Failed only`]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8`,onClick:E,children:`Expand All`}),(0,c.jsx)(r.Button,{variant:`ghost`,size:`sm`,className:`h-8`,onClick:D,children:`Collapse All`})]})]}),(0,c.jsx)(a.ScrollArea,{className:`flex-1 max-h-[500px]`,children:(0,c.jsx)(`div`,{className:`p-3 space-y-2`,children:O.length===0?(0,c.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-32 text-muted-foreground`,children:[(0,c.jsx)(s.CheckCircle2,{className:`h-8 w-8 mb-2`}),(0,c.jsx)(`span`,{children:`No tests to display`})]}):O.map(e=>(0,c.jsx)(f,{suite:e,isExpanded:b.has(e.id),onToggle:()=>T(e.id),onTestClick:m,onViewFile:h,searchQuery:v},e.id))})}),(0,c.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-t bg-muted/30 text-sm`,children:[(0,c.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.length,` test suites, `,w.total,` tests`]}),(0,c.jsx)(`span`,{className:t.cn(`font-medium`,w.failed>0?`text-red-500`:`text-green-500`),children:w.failed>0?`${w.failed} tests failed`:`All tests passed`})]})]})}var m=[{id:`1`,name:`Authentication`,file:`src/auth/__tests__/auth.test.ts`,duration:2450,tests:[{id:`1-1`,name:`should login with valid credentials`,status:`passed`,duration:245,file:`src/auth/__tests__/auth.test.ts`,line:15},{id:`1-2`,name:`should reject invalid password`,status:`passed`,duration:128,file:`src/auth/__tests__/auth.test.ts`,line:32},{id:`1-3`,name:`should refresh token before expiry`,status:`passed`,duration:512,file:`src/auth/__tests__/auth.test.ts`,line:48},{id:`1-4`,name:`should handle logout correctly`,status:`passed`,duration:89,file:`src/auth/__tests__/auth.test.ts`,line:65}]},{id:`2`,name:`User Service`,file:`src/users/__tests__/users.test.ts`,duration:3200,tests:[{id:`2-1`,name:`should create a new user`,status:`passed`,duration:345},{id:`2-2`,name:`should update user profile`,status:`failed`,duration:156,errorMessage:`Expected status 200 but got 500`,stackTrace:`Error: Request failed
|
|
2
2
|
at UserService.update (src/users/service.ts:45)`},{id:`2-3`,name:`should delete user`,status:`passed`,duration:234},{id:`2-4`,name:`should list users with pagination`,status:`skipped`,duration:0}]},{id:`3`,name:`API Integration`,file:`src/api/__tests__/integration.test.ts`,duration:8500,tests:[{id:`3-1`,name:`should handle concurrent requests`,status:`passed`,duration:2500},{id:`3-2`,name:`should retry on network failure`,status:`passed`,duration:1800},{id:`3-3`,name:`should timeout after 30s`,status:`passed`,duration:3200}]}],h={lines:{covered:1245,total:1500,percentage:83},branches:{covered:89,total:120,percentage:74.2},functions:{covered:156,total:180,percentage:86.7},statements:{covered:1380,total:1650,percentage:83.6}};exports.WakaTestReport=p,exports.defaultCoverage=h,exports.defaultTestSuites=m;
|