@wopr-network/platform-ui-core 1.27.7 → 1.27.9
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/next.config.ts +1 -2
- package/package.json +17 -17
- package/src/__tests__/account-switcher.test.tsx +21 -20
- package/src/__tests__/activity-page.test.tsx +2 -6
- package/src/__tests__/add-payment-method-dialog.test.tsx +9 -32
- package/src/__tests__/admin-api.test.ts +1 -6
- package/src/__tests__/admin-gpu-api.test.ts +1 -3
- package/src/__tests__/admin-marketplace-api.test.ts +1 -4
- package/src/__tests__/admin-middleware.test.ts +76 -83
- package/src/__tests__/affiliate-dashboard.test.tsx +3 -3
- package/src/__tests__/api-401-redirect.test.ts +46 -9
- package/src/__tests__/api-client.test.ts +3 -5
- package/src/__tests__/api-config.test.ts +22 -42
- package/src/__tests__/api-fleet-resources.test.ts +1 -2
- package/src/__tests__/api-fleet-trpc.test.ts +2 -8
- package/src/__tests__/api-null-guards.test.ts +3 -1
- package/src/__tests__/audit-log-table-pagination.test.tsx +2 -6
- package/src/__tests__/auth-password-reset.test.tsx +7 -21
- package/src/__tests__/auth-redirect.test.tsx +8 -2
- package/src/__tests__/auth.test.tsx +25 -23
- package/src/__tests__/auto-topup-card.test.tsx +4 -12
- package/src/__tests__/backups-tab.test.tsx +3 -4
- package/src/__tests__/billing-layout-nav-hidden.test.tsx +5 -37
- package/src/__tests__/billing-payment-org-invoices.test.tsx +2 -18
- package/src/__tests__/billing.test.tsx +8 -39
- package/src/__tests__/bot-settings/resources-tab.test.tsx +1 -3
- package/src/__tests__/bot-settings/storage-tab.test.tsx +1 -3
- package/src/__tests__/bot-settings/vps-upgrade-card.test.tsx +1 -3
- package/src/__tests__/bot-settings-restart.test.tsx +1 -3
- package/src/__tests__/bot-settings.test.tsx +2 -6
- package/src/__tests__/brand.test.ts +6 -26
- package/src/__tests__/buy-credits-panel.test.tsx +1 -3
- package/src/__tests__/buy-crypto-credits-panel.test.tsx +101 -119
- package/src/__tests__/capability-conflicts.test.ts +2 -8
- package/src/__tests__/capability-resolver.test.tsx +2 -12
- package/src/__tests__/channel-wizard.test.tsx +4 -17
- package/src/__tests__/chat/chat-panel.test.tsx +1 -4
- package/src/__tests__/chat-store.test.ts +5 -15
- package/src/__tests__/command-center.test.tsx +10 -12
- package/src/__tests__/compliance-retention-edit.test.tsx +3 -6
- package/src/__tests__/confirmation-tracker.test.tsx +3 -18
- package/src/__tests__/coupon-input.test.tsx +1 -3
- package/src/__tests__/create-instance.test.tsx +1 -3
- package/src/__tests__/credit-balance.test.tsx +4 -12
- package/src/__tests__/credits.test.tsx +32 -85
- package/src/__tests__/email-verification-banner.test.tsx +2 -6
- package/src/__tests__/error-boundaries.test.tsx +0 -1
- package/src/__tests__/fetch-pricing.test.ts +2 -1
- package/src/__tests__/field-oauth.test.tsx +2 -6
- package/src/__tests__/fixtures/mock-manifests-data.js +1 -3
- package/src/__tests__/fixtures/mock-manifests.ts +2 -4
- package/src/__tests__/fleet-health-timestamp.test.tsx +1 -8
- package/src/__tests__/fleet-health-update.test.tsx +1 -8
- package/src/__tests__/gpu-dashboard.test.tsx +2 -6
- package/src/__tests__/instance-detail.test.tsx +3 -9
- package/src/__tests__/instance-list.test.tsx +1 -5
- package/src/__tests__/layout-snapshots.test.tsx +64 -11
- package/src/__tests__/marketplace-admin.test.tsx +2 -6
- package/src/__tests__/marketplace.test.tsx +11 -35
- package/src/__tests__/merge-api-rates.test.ts +1 -6
- package/src/__tests__/middleware.test.ts +32 -219
- package/src/__tests__/next-config-headers.test.ts +1 -3
- package/src/__tests__/notifications.test.tsx +4 -11
- package/src/__tests__/oauth-buttons.test.tsx +36 -59
- package/src/__tests__/oauth-error-mapping.test.tsx +2 -6
- package/src/__tests__/observability.test.tsx +23 -36
- package/src/__tests__/onboarding-page.test.tsx +4 -6
- package/src/__tests__/org-billing-api.test.tsx +1 -6
- package/src/__tests__/plugin-install-flow.test.tsx +28 -58
- package/src/__tests__/plugin-registry.test.tsx +3 -11
- package/src/__tests__/plugin-tool-sync.test.ts +1 -3
- package/src/__tests__/plugins-catalog-error.test.tsx +2 -6
- package/src/__tests__/plugins-toggle-race.test.tsx +3 -5
- package/src/__tests__/portfolio-chart.test.tsx +2 -6
- package/src/__tests__/promotion-form.test.tsx +2 -6
- package/src/__tests__/promotions-list.test.tsx +1 -3
- package/src/__tests__/provider-key-api.test.ts +2 -1
- package/src/__tests__/resend-verification-button.test.tsx +8 -24
- package/src/__tests__/secrets-audit-pagination.test.tsx +1 -3
- package/src/__tests__/settings.test.tsx +11 -21
- package/src/__tests__/setup-checklist.test.tsx +3 -9
- package/src/__tests__/setup.ts +25 -6
- package/src/__tests__/snapshot-api.test.ts +2 -1
- package/src/__tests__/step-superpowers.test.tsx +1 -3
- package/src/__tests__/tenant-context.test.tsx +1 -6
- package/src/__tests__/tenant-keys-api.test.ts +3 -4
- package/src/__tests__/tenant-table-pagination.test.tsx +2 -6
- package/src/__tests__/terminal-log-cleanup.test.tsx +0 -1
- package/src/__tests__/transaction-history.test.tsx +190 -238
- package/src/__tests__/trpc-types.test.ts +2 -6
- package/src/__tests__/use-chat.test.ts +1 -3
- package/src/__tests__/use-plugin-setup-chat-stale-closure.test.ts +1 -4
- package/src/__tests__/use-sidecar-bridge.test.tsx +105 -0
- package/src/__tests__/use-webmcp.test.ts +1 -3
- package/src/__tests__/validate-elevenlabs-key.test.ts +2 -1
- package/src/__tests__/verify-page.test.tsx +4 -13
- package/src/__tests__/verify-redirect.test.tsx +2 -6
- package/src/app/(auth)/error.tsx +1 -7
- package/src/app/(auth)/forgot-password/page.tsx +4 -18
- package/src/app/(auth)/login/page.tsx +5 -22
- package/src/app/(auth)/reset-password/page.tsx +2 -12
- package/src/app/(auth)/signup/page.tsx +10 -44
- package/src/app/(auth)/verify/page.tsx +47 -0
- package/src/app/(dashboard)/billing/credits/page.tsx +14 -67
- package/src/app/(dashboard)/billing/error.tsx +2 -10
- package/src/app/(dashboard)/billing/layout.tsx +12 -62
- package/src/app/(dashboard)/billing/payment/page.tsx +17 -68
- package/src/app/(dashboard)/billing/plans/page.tsx +3 -9
- package/src/app/(dashboard)/billing/usage/hosted/page.tsx +8 -25
- package/src/app/(dashboard)/billing/usage/page.tsx +63 -103
- package/src/app/(dashboard)/changesets/[id]/changeset-detail-client.tsx +9 -27
- package/src/app/(dashboard)/changesets/[id]/error.tsx +2 -6
- package/src/app/(dashboard)/changesets/error.tsx +1 -7
- package/src/app/(dashboard)/chat/page.tsx +2 -6
- package/src/app/(dashboard)/dashboard/network/page.tsx +5 -19
- package/src/app/(dashboard)/error.tsx +1 -7
- package/src/app/(dashboard)/layout.tsx +15 -36
- package/src/app/(dashboard)/marketplace/[plugin]/page.tsx +14 -51
- package/src/app/(dashboard)/marketplace/error.tsx +1 -7
- package/src/app/(dashboard)/marketplace/page.tsx +6 -27
- package/src/app/(dashboard)/not-found.tsx +2 -5
- package/src/app/(dashboard)/onboarding/page.tsx +5 -22
- package/src/app/(dashboard)/settings/account/page.tsx +1 -6
- package/src/app/(dashboard)/settings/activity/page.tsx +8 -34
- package/src/app/(dashboard)/settings/api-keys/page.tsx +15 -60
- package/src/app/(dashboard)/settings/brain/page.tsx +9 -31
- package/src/app/(dashboard)/settings/error.tsx +2 -10
- package/src/app/(dashboard)/settings/notifications/page.tsx +2 -6
- package/src/app/(dashboard)/settings/org/page.tsx +13 -56
- package/src/app/(dashboard)/settings/page.tsx +1 -0
- package/src/app/(dashboard)/settings/profile/page.tsx +126 -73
- package/src/app/(dashboard)/settings/providers/page.tsx +21 -78
- package/src/app/(dashboard)/settings/secrets/page.tsx +13 -58
- package/src/app/(dashboard)/settings/security/page.tsx +31 -111
- package/src/app/admin/email-templates/email-templates-client.tsx +15 -58
- package/src/app/admin/error.tsx +1 -7
- package/src/app/admin/fleet-updates/error.tsx +1 -7
- package/src/app/admin/fleet-updates/fleet-updates-client.tsx +10 -50
- package/src/app/admin/layout.tsx +4 -0
- package/src/app/admin/payment-methods/page.tsx +9 -38
- package/src/app/admin/products/error.tsx +2 -7
- package/src/app/admin/products/page.tsx +1 -4
- package/src/app/admin/promotions/[id]/page.tsx +9 -38
- package/src/app/admin/promotions/page.tsx +9 -36
- package/src/app/admin/rate-overrides/page.tsx +9 -45
- package/src/app/auth/callback/[provider]/page.tsx +1 -8
- package/src/app/auth/verify/page.tsx +9 -36
- package/src/app/channels/error.tsx +2 -10
- package/src/app/channels/layout.tsx +9 -0
- package/src/app/channels/page.tsx +8 -20
- package/src/app/channels/setup/[plugin]/page.tsx +3 -5
- package/src/app/error.tsx +1 -7
- package/src/app/fleet/error.tsx +1 -7
- package/src/app/fleet/layout.tsx +5 -0
- package/src/app/fleet/settings/page.tsx +1 -3
- package/src/app/global-error.tsx +2 -10
- package/src/app/globals.css +1 -4
- package/src/app/instances/[id]/instance-detail-client.tsx +51 -125
- package/src/app/instances/error.tsx +2 -10
- package/src/app/instances/instance-list-client.tsx +20 -69
- package/src/app/instances/layout.tsx +9 -0
- package/src/app/instances/new/create-instance-client.tsx +10 -31
- package/src/app/layout.tsx +2 -10
- package/src/app/not-found.tsx +1 -3
- package/src/app/page.tsx +1 -2
- package/src/app/plugins/error.tsx +2 -10
- package/src/app/plugins/layout.tsx +5 -0
- package/src/app/plugins/page.tsx +16 -48
- package/src/app/pricing/error.tsx +1 -7
- package/src/app/privacy/page.tsx +93 -150
- package/src/app/status/error.tsx +1 -7
- package/src/app/terms/page.tsx +89 -144
- package/src/components/account-switcher.tsx +25 -52
- package/src/components/admin/accounting-dashboard.tsx +1 -3
- package/src/components/admin/admin-guard.tsx +1 -3
- package/src/components/admin/admin-nav.tsx +1 -3
- package/src/components/admin/affiliate-dashboard.tsx +25 -94
- package/src/components/admin/audit-log-table.tsx +13 -49
- package/src/components/admin/billing-health-dashboard.tsx +7 -25
- package/src/components/admin/bulk-actions-bar.test.tsx +1 -7
- package/src/components/admin/bulk-actions-bar.tsx +1 -3
- package/src/components/admin/bulk-export-dialog.test.tsx +1 -7
- package/src/components/admin/bulk-export-dialog.tsx +6 -32
- package/src/components/admin/bulk-grant-dialog.test.tsx +2 -6
- package/src/components/admin/bulk-grant-dialog.tsx +4 -15
- package/src/components/admin/bulk-preview-dialog.tsx +3 -12
- package/src/components/admin/bulk-reactivate-dialog.tsx +1 -7
- package/src/components/admin/bulk-select-all-banner.tsx +1 -6
- package/src/components/admin/bulk-suspend-dialog.tsx +5 -12
- package/src/components/admin/bulk-undo-toast.tsx +1 -2
- package/src/components/admin/compliance-dashboard.tsx +31 -101
- package/src/components/admin/gpu-dashboard.tsx +21 -70
- package/src/components/admin/grant-credits-dialog.tsx +4 -17
- package/src/components/admin/incident-dashboard.tsx +10 -25
- package/src/components/admin/inference-dashboard.tsx +14 -54
- package/src/components/admin/marketplace-admin.tsx +18 -60
- package/src/components/admin/migrations-dashboard.tsx +9 -42
- package/src/components/admin/onboarding-dashboard.tsx +14 -64
- package/src/components/admin/pool-config-dashboard.tsx +4 -10
- package/src/components/admin/products/fleet-form.tsx +2 -11
- package/src/components/admin/products/nav-editor.tsx +3 -10
- package/src/components/admin/promotions/promotion-form.tsx +9 -42
- package/src/components/admin/roles-dashboard.tsx +7 -34
- package/src/components/admin/suspend-dialog.tsx +4 -11
- package/src/components/admin/tenant-notes-panel.tsx +1 -3
- package/src/components/admin/tenant-row-actions.tsx +4 -20
- package/src/components/admin/tenant-table.tsx +12 -49
- package/src/components/auth/auth-redirect.tsx +11 -3
- package/src/components/auth/email-verification-result-banner.tsx +1 -3
- package/src/components/auth/resend-verification-button.tsx +2 -10
- package/src/components/auth/wopr-wordmark.tsx +1 -3
- package/src/components/billing/add-payment-method-dialog.tsx +1 -2
- package/src/components/billing/affiliate-dashboard.tsx +4 -16
- package/src/components/billing/amount-selector.tsx +1 -3
- package/src/components/billing/auto-topup-card.tsx +2 -11
- package/src/components/billing/buy-credits-panel.tsx +14 -17
- package/src/components/billing/byok-callout.tsx +6 -8
- package/src/components/billing/confirmation-tracker.tsx +4 -14
- package/src/components/billing/credit-balance-badge.tsx +22 -0
- package/src/components/billing/credit-balance.tsx +3 -9
- package/src/components/billing/crypto-checkout.tsx +5 -24
- package/src/components/billing/degraded-state-banner.tsx +1 -3
- package/src/components/billing/deposit-view.tsx +301 -41
- package/src/components/billing/dividend-banner.tsx +1 -3
- package/src/components/billing/dividend-eligibility.tsx +3 -12
- package/src/components/billing/dividend-pool-stats.tsx +6 -20
- package/src/components/billing/first-dividend-dialog.tsx +2 -2
- package/src/components/billing/org-billing-page.tsx +8 -31
- package/src/components/billing/payment-method-picker.tsx +2 -10
- package/src/components/billing/suspension-banner.tsx +2 -7
- package/src/components/billing/transaction-history.tsx +10 -58
- package/src/components/billing/unified-checkout.tsx +547 -0
- package/src/components/bot-settings/backups-tab.tsx +9 -33
- package/src/components/bot-settings/bot-settings-client.tsx +32 -134
- package/src/components/bot-settings/resources-tab.tsx +2 -9
- package/src/components/bot-settings/storage-tab.tsx +19 -48
- package/src/components/bot-settings/vps-info-panel.tsx +3 -11
- package/src/components/bot-settings/vps-upgrade-card.tsx +3 -4
- package/src/components/brand-hydrator.tsx +13 -0
- package/src/components/channel-wizard/field-interactive.tsx +1 -3
- package/src/components/channel-wizard/field-qr.tsx +10 -39
- package/src/components/channel-wizard/step-renderer.tsx +5 -28
- package/src/components/channel-wizard/wizard.tsx +6 -31
- package/src/components/chat/chat-message.tsx +1 -4
- package/src/components/chat/chat-panel.tsx +4 -18
- package/src/components/chat/chat-widget.tsx +3 -14
- package/src/components/dashboard/command-center.tsx +15 -61
- package/src/components/fleet/update-settings-card.tsx +7 -23
- package/src/components/instance-update-banner.tsx +130 -0
- package/src/components/instances/friends-tab.test.tsx +2 -9
- package/src/components/instances/friends-tab.tsx +18 -74
- package/src/components/instances/update-available-badge.tsx +2 -11
- package/src/components/landing/hero.tsx +3 -9
- package/src/components/landing/landing-page.tsx +1 -3
- package/src/components/landing/portfolio-chart.tsx +4 -9
- package/src/components/landing/story-sections.tsx +1 -3
- package/src/components/landing/terminal-sequence.tsx +4 -17
- package/src/components/marketplace/empty-state.tsx +2 -6
- package/src/components/marketplace/first-visit-hero.tsx +1 -3
- package/src/components/marketplace/install-wizard.tsx +20 -77
- package/src/components/marketplace/marketplace-tabs.tsx +1 -4
- package/src/components/marketplace/plugin-card.tsx +2 -9
- package/src/components/marketplace/superpower-content.tsx +1 -3
- package/src/components/marketplace/terminal-search.tsx +2 -8
- package/src/components/oauth-buttons.tsx +29 -14
- package/src/components/observability/fleet-health.tsx +5 -18
- package/src/components/observability/health-overview.tsx +7 -20
- package/src/components/observability/logs-viewer.tsx +8 -32
- package/src/components/observability/metrics-dashboard.tsx +2 -15
- package/src/components/onboarding/fallback-setup.tsx +6 -25
- package/src/components/onboarding/setup-checklist.tsx +18 -51
- package/src/components/onboarding/step-superpowers.tsx +1 -4
- package/src/components/plugin-setup/setup-chat-panel.tsx +6 -22
- package/src/components/pricing/dividend-calculator.tsx +6 -12
- package/src/components/pricing/dividend-stats.tsx +5 -17
- package/src/components/pricing/pricing-page.tsx +17 -36
- package/src/components/settings/create-org-wizard.tsx +2 -5
- package/src/components/sidebar.tsx +7 -42
- package/src/components/sidecar-frame.tsx +78 -0
- package/src/components/status/status-page.tsx +6 -28
- package/src/components/ui/alert-dialog.tsx +8 -25
- package/src/components/ui/badge.tsx +2 -8
- package/src/components/ui/banner.tsx +1 -6
- package/src/components/ui/card.tsx +5 -24
- package/src/components/ui/checkbox.tsx +1 -5
- package/src/components/ui/collapsible.tsx +3 -8
- package/src/components/ui/dialog.tsx +4 -10
- package/src/components/ui/dropdown-menu.tsx +9 -18
- package/src/components/ui/form.tsx +2 -16
- package/src/components/ui/popover.tsx +3 -23
- package/src/components/ui/progress.tsx +1 -5
- package/src/components/ui/radio-group.tsx +3 -15
- package/src/components/ui/select.tsx +4 -17
- package/src/components/ui/sheet.tsx +5 -19
- package/src/components/ui/skeleton.tsx +1 -7
- package/src/components/ui/table.tsx +5 -22
- package/src/components/ui/tabs.tsx +3 -13
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/unified-sidebar.tsx +493 -0
- package/src/hooks/__tests__/use-fleet-sse.test.ts +1 -4
- package/src/hooks/__tests__/use-save-queue.test.ts +2 -8
- package/src/hooks/use-credit-balance.ts +27 -0
- package/src/hooks/use-my-org-role.ts +1 -3
- package/src/hooks/use-plugin-registry.ts +8 -14
- package/src/hooks/use-plugin-setup-chat.ts +2 -5
- package/src/hooks/use-sidecar-bridge.tsx +148 -0
- package/src/hooks/use-webmcp.ts +1 -4
- package/src/lib/__tests__/admin-api.test.ts +1 -3
- package/src/lib/__tests__/api-bot-crud.test.ts +8 -18
- package/src/lib/__tests__/api-fetch.test.ts +4 -16
- package/src/lib/__tests__/org-billing-api.test.ts +1 -3
- package/src/lib/__tests__/pricing-data.test.ts +0 -8
- package/src/lib/__tests__/settings-api.test.ts +1 -3
- package/src/lib/admin-affiliate-api.ts +2 -7
- package/src/lib/admin-api.ts +6 -26
- package/src/lib/admin-incident-api.ts +11 -19
- package/src/lib/admin-marketplace-api.ts +1 -5
- package/src/lib/api-config.test.ts +5 -50
- package/src/lib/api.ts +143 -122
- package/src/lib/auth-client.ts +1 -2
- package/src/lib/bot-settings-data.ts +11 -36
- package/src/lib/brand-config.ts +56 -115
- package/src/lib/brand.ts +2 -15
- package/src/lib/chat/use-chat.ts +2 -7
- package/src/lib/cost-comparison-data.test.ts +1 -3
- package/src/lib/cost-comparison-data.ts +1 -4
- package/src/lib/errors.ts +1 -4
- package/src/lib/fetch-utils.test.ts +26 -9
- package/src/lib/fetch-utils.ts +40 -11
- package/src/lib/logger.ts +2 -0
- package/src/lib/marketplace-data.ts +3 -11
- package/src/lib/oauth-errors.ts +2 -4
- package/src/lib/onboarding-data.ts +3 -11
- package/src/lib/org-api.ts +2 -10
- package/src/lib/org-billing-api.ts +5 -19
- package/src/lib/plugin/tool-definitions.ts +1 -2
- package/src/lib/require-auth.ts +57 -0
- package/src/lib/settings-api.ts +1 -4
- package/src/lib/sidecar-routes.ts +43 -0
- package/src/lib/trpc-server.ts +49 -0
- package/src/lib/trpc-types.ts +4 -6
- package/src/lib/trpc.tsx +12 -4
- package/src/lib/validate-redirect-url.ts +1 -4
- package/src/lib/webmcp/marketplace-onboarding-tools.ts +6 -16
- package/src/lib/webmcp/register.ts +1 -4
- package/src/lib/webmcp/tools.ts +2 -9
- package/src/proxy.ts +35 -212
- package/src/types/missing-deps.d.ts +2 -8
- package/tsconfig.json +1 -8
- package/biome.json +0 -52
- package/src/__tests__/__snapshots__/layout-snapshots.test.tsx.snap +0 -741
- package/src/__tests__/billing-byok-callout.test.tsx +0 -76
- package/src/lib/__tests__/__snapshots__/pricing-data.test.ts.snap +0 -112
|
@@ -6,10 +6,7 @@ function Card({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
6
6
|
return (
|
|
7
7
|
<div
|
|
8
8
|
data-slot="card"
|
|
9
|
-
className={cn(
|
|
10
|
-
"bg-card text-card-foreground flex flex-col gap-6 rounded-sm border py-6 shadow-sm",
|
|
11
|
-
className,
|
|
12
|
-
)}
|
|
9
|
+
className={cn("bg-card text-card-foreground flex flex-col gap-6 rounded-sm border py-6 shadow-sm", className)}
|
|
13
10
|
{...props}
|
|
14
11
|
/>
|
|
15
12
|
);
|
|
@@ -29,23 +26,11 @@ function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
29
26
|
}
|
|
30
27
|
|
|
31
28
|
function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
32
|
-
return (
|
|
33
|
-
<div
|
|
34
|
-
data-slot="card-title"
|
|
35
|
-
className={cn("leading-none font-semibold font-mono", className)}
|
|
36
|
-
{...props}
|
|
37
|
-
/>
|
|
38
|
-
);
|
|
29
|
+
return <div data-slot="card-title" className={cn("leading-none font-semibold font-mono", className)} {...props} />;
|
|
39
30
|
}
|
|
40
31
|
|
|
41
32
|
function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
|
|
42
|
-
return (
|
|
43
|
-
<div
|
|
44
|
-
data-slot="card-description"
|
|
45
|
-
className={cn("text-muted-foreground text-sm", className)}
|
|
46
|
-
{...props}
|
|
47
|
-
/>
|
|
48
|
-
);
|
|
33
|
+
return <div data-slot="card-description" className={cn("text-muted-foreground text-sm", className)} {...props} />;
|
|
49
34
|
}
|
|
50
35
|
|
|
51
36
|
function CardAction({ className, ...props }: React.ComponentProps<"div">) {
|
|
@@ -64,12 +49,8 @@ function CardContent({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
64
49
|
|
|
65
50
|
function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
66
51
|
return (
|
|
67
|
-
<div
|
|
68
|
-
data-slot="card-footer"
|
|
69
|
-
className={cn("flex items-center px-6 [.border-t]:pt-6", className)}
|
|
70
|
-
{...props}
|
|
71
|
-
/>
|
|
52
|
+
<div data-slot="card-footer" className={cn("flex items-center px-6 [.border-t]:pt-6", className)} {...props} />
|
|
72
53
|
);
|
|
73
54
|
}
|
|
74
55
|
|
|
75
|
-
export { Card,
|
|
56
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
|
|
@@ -39,11 +39,7 @@ function Checkbox({
|
|
|
39
39
|
data-slot="checkbox-indicator"
|
|
40
40
|
className="flex items-center justify-center text-current transition-none"
|
|
41
41
|
>
|
|
42
|
-
{checked === "indeterminate" ?
|
|
43
|
-
<MinusIcon className="size-3.5" />
|
|
44
|
-
) : (
|
|
45
|
-
<CheckIcon className="size-3.5" />
|
|
46
|
-
)}
|
|
42
|
+
{checked === "indeterminate" ? <MinusIcon className="size-3.5" /> : <CheckIcon className="size-3.5" />}
|
|
47
43
|
</CheckboxPrimitive.Indicator>
|
|
48
44
|
</CheckboxPrimitive.Root>
|
|
49
45
|
);
|
|
@@ -9,16 +9,11 @@ function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimit
|
|
|
9
9
|
return <CollapsiblePrimitive.Root data-slot="collapsible" {...props} />;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
function CollapsibleTrigger({
|
|
13
|
-
...props
|
|
14
|
-
}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {
|
|
12
|
+
function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {
|
|
15
13
|
return <CollapsiblePrimitive.Trigger data-slot="collapsible-trigger" {...props} />;
|
|
16
14
|
}
|
|
17
15
|
|
|
18
|
-
function CollapsibleContent({
|
|
19
|
-
className,
|
|
20
|
-
...props
|
|
21
|
-
}: React.ComponentProps<typeof CollapsiblePrimitive.Content>) {
|
|
16
|
+
function CollapsibleContent({ className, ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Content>) {
|
|
22
17
|
return (
|
|
23
18
|
<CollapsiblePrimitive.Content
|
|
24
19
|
data-slot="collapsible-content"
|
|
@@ -28,4 +23,4 @@ function CollapsibleContent({
|
|
|
28
23
|
);
|
|
29
24
|
}
|
|
30
25
|
|
|
31
|
-
export { Collapsible,
|
|
26
|
+
export { Collapsible, CollapsibleContent, CollapsibleTrigger };
|
|
@@ -22,15 +22,12 @@ function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.C
|
|
|
22
22
|
return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
function DialogOverlay({
|
|
26
|
-
className,
|
|
27
|
-
...props
|
|
28
|
-
}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
|
|
25
|
+
function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
|
|
29
26
|
return (
|
|
30
27
|
<DialogPrimitive.Overlay
|
|
31
28
|
data-slot="dialog-overlay"
|
|
32
29
|
className={cn(
|
|
33
|
-
"fixed inset-0 z-50 bg-black/
|
|
30
|
+
"fixed inset-0 z-50 bg-black/80 backdrop-blur-sm data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
34
31
|
className,
|
|
35
32
|
)}
|
|
36
33
|
{...props}
|
|
@@ -47,7 +44,7 @@ function DialogContent({
|
|
|
47
44
|
showCloseButton?: boolean;
|
|
48
45
|
}) {
|
|
49
46
|
return (
|
|
50
|
-
<DialogPortal
|
|
47
|
+
<DialogPortal>
|
|
51
48
|
<DialogOverlay />
|
|
52
49
|
<DialogPrimitive.Content
|
|
53
50
|
data-slot="dialog-content"
|
|
@@ -116,10 +113,7 @@ function DialogTitle({ className, ...props }: React.ComponentProps<typeof Dialog
|
|
|
116
113
|
);
|
|
117
114
|
}
|
|
118
115
|
|
|
119
|
-
function DialogDescription({
|
|
120
|
-
className,
|
|
121
|
-
...props
|
|
122
|
-
}: React.ComponentProps<typeof DialogPrimitive.Description>) {
|
|
116
|
+
function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {
|
|
123
117
|
return (
|
|
124
118
|
<DialogPrimitive.Description
|
|
125
119
|
data-slot="dialog-description"
|
|
@@ -10,15 +10,11 @@ function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrim
|
|
|
10
10
|
return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
function DropdownMenuPortal({
|
|
14
|
-
...props
|
|
15
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
|
|
13
|
+
function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
|
|
16
14
|
return <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
function DropdownMenuTrigger({
|
|
20
|
-
...props
|
|
21
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
|
|
17
|
+
function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
|
|
22
18
|
return <DropdownMenuPrimitive.Trigger data-slot="dropdown-menu-trigger" {...props} />;
|
|
23
19
|
}
|
|
24
20
|
|
|
@@ -95,9 +91,7 @@ function DropdownMenuCheckboxItem({
|
|
|
95
91
|
);
|
|
96
92
|
}
|
|
97
93
|
|
|
98
|
-
function DropdownMenuRadioGroup({
|
|
99
|
-
...props
|
|
100
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
|
|
94
|
+
function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
|
|
101
95
|
return <DropdownMenuPrimitive.RadioGroup data-slot="dropdown-menu-radio-group" {...props} />;
|
|
102
96
|
}
|
|
103
97
|
|
|
@@ -142,10 +136,7 @@ function DropdownMenuLabel({
|
|
|
142
136
|
);
|
|
143
137
|
}
|
|
144
138
|
|
|
145
|
-
function DropdownMenuSeparator({
|
|
146
|
-
className,
|
|
147
|
-
...props
|
|
148
|
-
}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {
|
|
139
|
+
function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {
|
|
149
140
|
return (
|
|
150
141
|
<DropdownMenuPrimitive.Separator
|
|
151
142
|
data-slot="dropdown-menu-separator"
|
|
@@ -211,18 +202,18 @@ function DropdownMenuSubContent({
|
|
|
211
202
|
|
|
212
203
|
export {
|
|
213
204
|
DropdownMenu,
|
|
214
|
-
|
|
215
|
-
DropdownMenuTrigger,
|
|
205
|
+
DropdownMenuCheckboxItem,
|
|
216
206
|
DropdownMenuContent,
|
|
217
207
|
DropdownMenuGroup,
|
|
218
|
-
DropdownMenuLabel,
|
|
219
208
|
DropdownMenuItem,
|
|
220
|
-
|
|
209
|
+
DropdownMenuLabel,
|
|
210
|
+
DropdownMenuPortal,
|
|
221
211
|
DropdownMenuRadioGroup,
|
|
222
212
|
DropdownMenuRadioItem,
|
|
223
213
|
DropdownMenuSeparator,
|
|
224
214
|
DropdownMenuShortcut,
|
|
225
215
|
DropdownMenuSub,
|
|
226
|
-
DropdownMenuSubTrigger,
|
|
227
216
|
DropdownMenuSubContent,
|
|
217
|
+
DropdownMenuSubTrigger,
|
|
218
|
+
DropdownMenuTrigger,
|
|
228
219
|
};
|
|
@@ -128,24 +128,10 @@ function FormMessage({ className, ...props }: React.ComponentProps<"p">) {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
return (
|
|
131
|
-
<p
|
|
132
|
-
data-slot="form-message"
|
|
133
|
-
id={formMessageId}
|
|
134
|
-
className={cn("text-destructive text-sm", className)}
|
|
135
|
-
{...props}
|
|
136
|
-
>
|
|
131
|
+
<p data-slot="form-message" id={formMessageId} className={cn("text-destructive text-sm", className)} {...props}>
|
|
137
132
|
{body}
|
|
138
133
|
</p>
|
|
139
134
|
);
|
|
140
135
|
}
|
|
141
136
|
|
|
142
|
-
export {
|
|
143
|
-
useFormField,
|
|
144
|
-
Form,
|
|
145
|
-
FormItem,
|
|
146
|
-
FormLabel,
|
|
147
|
-
FormControl,
|
|
148
|
-
FormDescription,
|
|
149
|
-
FormMessage,
|
|
150
|
-
FormField,
|
|
151
|
-
};
|
|
137
|
+
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
|
|
@@ -40,13 +40,7 @@ function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitiv
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
function PopoverHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
43
|
-
return (
|
|
44
|
-
<div
|
|
45
|
-
data-slot="popover-header"
|
|
46
|
-
className={cn("flex flex-col gap-1 text-sm", className)}
|
|
47
|
-
{...props}
|
|
48
|
-
/>
|
|
49
|
-
);
|
|
43
|
+
return <div data-slot="popover-header" className={cn("flex flex-col gap-1 text-sm", className)} {...props} />;
|
|
50
44
|
}
|
|
51
45
|
|
|
52
46
|
function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">) {
|
|
@@ -54,21 +48,7 @@ function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">) {
|
|
|
54
48
|
}
|
|
55
49
|
|
|
56
50
|
function PopoverDescription({ className, ...props }: React.ComponentProps<"p">) {
|
|
57
|
-
return (
|
|
58
|
-
<p
|
|
59
|
-
data-slot="popover-description"
|
|
60
|
-
className={cn("text-muted-foreground", className)}
|
|
61
|
-
{...props}
|
|
62
|
-
/>
|
|
63
|
-
);
|
|
51
|
+
return <p data-slot="popover-description" className={cn("text-muted-foreground", className)} {...props} />;
|
|
64
52
|
}
|
|
65
53
|
|
|
66
|
-
export {
|
|
67
|
-
Popover,
|
|
68
|
-
PopoverTrigger,
|
|
69
|
-
PopoverContent,
|
|
70
|
-
PopoverAnchor,
|
|
71
|
-
PopoverHeader,
|
|
72
|
-
PopoverTitle,
|
|
73
|
-
PopoverDescription,
|
|
74
|
-
};
|
|
54
|
+
export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
|
|
@@ -5,11 +5,7 @@ import type * as React from "react";
|
|
|
5
5
|
|
|
6
6
|
import { cn } from "@/lib/utils";
|
|
7
7
|
|
|
8
|
-
function Progress({
|
|
9
|
-
className,
|
|
10
|
-
value,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<typeof ProgressPrimitive.Root>) {
|
|
8
|
+
function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>) {
|
|
13
9
|
return (
|
|
14
10
|
<ProgressPrimitive.Root
|
|
15
11
|
data-slot="progress"
|
|
@@ -6,23 +6,11 @@ import type * as React from "react";
|
|
|
6
6
|
|
|
7
7
|
import { cn } from "@/lib/utils";
|
|
8
8
|
|
|
9
|
-
function RadioGroup({
|
|
10
|
-
className,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
|
|
13
|
-
return (
|
|
14
|
-
<RadioGroupPrimitive.Root
|
|
15
|
-
data-slot="radio-group"
|
|
16
|
-
className={cn("grid gap-3", className)}
|
|
17
|
-
{...props}
|
|
18
|
-
/>
|
|
19
|
-
);
|
|
9
|
+
function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
|
|
10
|
+
return <RadioGroupPrimitive.Root data-slot="radio-group" className={cn("grid gap-3", className)} {...props} />;
|
|
20
11
|
}
|
|
21
12
|
|
|
22
|
-
function RadioGroupItem({
|
|
23
|
-
className,
|
|
24
|
-
...props
|
|
25
|
-
}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
|
|
13
|
+
function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
|
|
26
14
|
return (
|
|
27
15
|
<RadioGroupPrimitive.Item
|
|
28
16
|
data-slot="radio-group-item"
|
|
@@ -91,11 +91,7 @@ function SelectLabel({ className, ...props }: React.ComponentProps<typeof Select
|
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
function SelectItem({
|
|
95
|
-
className,
|
|
96
|
-
children,
|
|
97
|
-
...props
|
|
98
|
-
}: React.ComponentProps<typeof SelectPrimitive.Item>) {
|
|
94
|
+
function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {
|
|
99
95
|
return (
|
|
100
96
|
<SelectPrimitive.Item
|
|
101
97
|
data-slot="select-item"
|
|
@@ -105,10 +101,7 @@ function SelectItem({
|
|
|
105
101
|
)}
|
|
106
102
|
{...props}
|
|
107
103
|
>
|
|
108
|
-
<span
|
|
109
|
-
data-slot="select-item-indicator"
|
|
110
|
-
className="absolute right-2 flex size-3.5 items-center justify-center"
|
|
111
|
-
>
|
|
104
|
+
<span data-slot="select-item-indicator" className="absolute right-2 flex size-3.5 items-center justify-center">
|
|
112
105
|
<SelectPrimitive.ItemIndicator>
|
|
113
106
|
<CheckIcon className="size-4" />
|
|
114
107
|
</SelectPrimitive.ItemIndicator>
|
|
@@ -118,10 +111,7 @@ function SelectItem({
|
|
|
118
111
|
);
|
|
119
112
|
}
|
|
120
113
|
|
|
121
|
-
function SelectSeparator({
|
|
122
|
-
className,
|
|
123
|
-
...props
|
|
124
|
-
}: React.ComponentProps<typeof SelectPrimitive.Separator>) {
|
|
114
|
+
function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
|
|
125
115
|
return (
|
|
126
116
|
<SelectPrimitive.Separator
|
|
127
117
|
data-slot="select-separator"
|
|
@@ -131,10 +121,7 @@ function SelectSeparator({
|
|
|
131
121
|
);
|
|
132
122
|
}
|
|
133
123
|
|
|
134
|
-
function SelectScrollUpButton({
|
|
135
|
-
className,
|
|
136
|
-
...props
|
|
137
|
-
}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
|
|
124
|
+
function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
|
|
138
125
|
return (
|
|
139
126
|
<SelectPrimitive.ScrollUpButton
|
|
140
127
|
data-slot="select-scroll-up-button"
|
|
@@ -21,10 +21,7 @@ function SheetClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Cl
|
|
|
21
21
|
return <DialogPrimitive.Close data-slot="sheet-close" {...props} />;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
function SheetOverlay({
|
|
25
|
-
className,
|
|
26
|
-
...props
|
|
27
|
-
}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
|
|
24
|
+
function SheetOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
|
|
28
25
|
return (
|
|
29
26
|
<DialogPrimitive.Overlay
|
|
30
27
|
data-slot="sheet-overlay"
|
|
@@ -47,11 +44,9 @@ function SheetContent({
|
|
|
47
44
|
}) {
|
|
48
45
|
const sideClasses = {
|
|
49
46
|
left: "inset-y-0 left-0 data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left",
|
|
50
|
-
right:
|
|
51
|
-
"inset-y-0 right-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right",
|
|
47
|
+
right: "inset-y-0 right-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right",
|
|
52
48
|
top: "inset-x-0 top-0 data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top",
|
|
53
|
-
bottom:
|
|
54
|
-
"inset-x-0 bottom-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",
|
|
49
|
+
bottom: "inset-x-0 bottom-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",
|
|
55
50
|
};
|
|
56
51
|
|
|
57
52
|
return (
|
|
@@ -80,13 +75,7 @@ function SheetContent({
|
|
|
80
75
|
}
|
|
81
76
|
|
|
82
77
|
function SheetHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
83
|
-
return (
|
|
84
|
-
<div
|
|
85
|
-
data-slot="sheet-header"
|
|
86
|
-
className={cn("flex flex-col gap-2 p-6 pb-0", className)}
|
|
87
|
-
{...props}
|
|
88
|
-
/>
|
|
89
|
-
);
|
|
78
|
+
return <div data-slot="sheet-header" className={cn("flex flex-col gap-2 p-6 pb-0", className)} {...props} />;
|
|
90
79
|
}
|
|
91
80
|
|
|
92
81
|
function SheetTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {
|
|
@@ -99,10 +88,7 @@ function SheetTitle({ className, ...props }: React.ComponentProps<typeof DialogP
|
|
|
99
88
|
);
|
|
100
89
|
}
|
|
101
90
|
|
|
102
|
-
function SheetDescription({
|
|
103
|
-
className,
|
|
104
|
-
...props
|
|
105
|
-
}: React.ComponentProps<typeof DialogPrimitive.Description>) {
|
|
91
|
+
function SheetDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {
|
|
106
92
|
return (
|
|
107
93
|
<DialogPrimitive.Description
|
|
108
94
|
data-slot="sheet-description"
|
|
@@ -3,13 +3,7 @@ import type * as React from "react";
|
|
|
3
3
|
import { cn } from "@/lib/utils";
|
|
4
4
|
|
|
5
5
|
function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
6
|
-
return (
|
|
7
|
-
<div
|
|
8
|
-
data-slot="skeleton"
|
|
9
|
-
className={cn("animate-pulse rounded-md bg-primary/10", className)}
|
|
10
|
-
{...props}
|
|
11
|
-
/>
|
|
12
|
-
);
|
|
6
|
+
return <div data-slot="skeleton" className={cn("animate-pulse rounded-md bg-primary/10", className)} {...props} />;
|
|
13
7
|
}
|
|
14
8
|
|
|
15
9
|
export { Skeleton };
|
|
@@ -7,11 +7,7 @@ import { cn } from "@/lib/utils";
|
|
|
7
7
|
function Table({ className, ...props }: React.ComponentProps<"table">) {
|
|
8
8
|
return (
|
|
9
9
|
<div data-slot="table-container" className="relative w-full overflow-x-auto">
|
|
10
|
-
<table
|
|
11
|
-
data-slot="table"
|
|
12
|
-
className={cn("w-full caption-bottom text-sm", className)}
|
|
13
|
-
{...props}
|
|
14
|
-
/>
|
|
10
|
+
<table data-slot="table" className={cn("w-full caption-bottom text-sm", className)} {...props} />
|
|
15
11
|
</div>
|
|
16
12
|
);
|
|
17
13
|
}
|
|
@@ -21,13 +17,7 @@ function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
|
|
|
21
17
|
}
|
|
22
18
|
|
|
23
19
|
function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
|
|
24
|
-
return (
|
|
25
|
-
<tbody
|
|
26
|
-
data-slot="table-body"
|
|
27
|
-
className={cn("[&_tr:last-child]:border-0", className)}
|
|
28
|
-
{...props}
|
|
29
|
-
/>
|
|
30
|
-
);
|
|
20
|
+
return <tbody data-slot="table-body" className={cn("[&_tr:last-child]:border-0", className)} {...props} />;
|
|
31
21
|
}
|
|
32
22
|
|
|
33
23
|
function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
|
|
@@ -44,10 +34,7 @@ function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
|
|
|
44
34
|
return (
|
|
45
35
|
<tr
|
|
46
36
|
data-slot="table-row"
|
|
47
|
-
className={cn(
|
|
48
|
-
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
49
|
-
className,
|
|
50
|
-
)}
|
|
37
|
+
className={cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className)}
|
|
51
38
|
{...props}
|
|
52
39
|
/>
|
|
53
40
|
);
|
|
@@ -81,12 +68,8 @@ function TableCell({ className, ...props }: React.ComponentProps<"td">) {
|
|
|
81
68
|
|
|
82
69
|
function TableCaption({ className, ...props }: React.ComponentProps<"caption">) {
|
|
83
70
|
return (
|
|
84
|
-
<caption
|
|
85
|
-
data-slot="table-caption"
|
|
86
|
-
className={cn("text-muted-foreground mt-4 text-sm", className)}
|
|
87
|
-
{...props}
|
|
88
|
-
/>
|
|
71
|
+
<caption data-slot="table-caption" className={cn("text-muted-foreground mt-4 text-sm", className)} {...props} />
|
|
89
72
|
);
|
|
90
73
|
}
|
|
91
74
|
|
|
92
|
-
export { Table,
|
|
75
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
@@ -6,11 +6,7 @@ import type * as React from "react";
|
|
|
6
6
|
|
|
7
7
|
import { cn } from "@/lib/utils";
|
|
8
8
|
|
|
9
|
-
function Tabs({
|
|
10
|
-
className,
|
|
11
|
-
orientation = "horizontal",
|
|
12
|
-
...props
|
|
13
|
-
}: React.ComponentProps<typeof TabsPrimitive.Root>) {
|
|
9
|
+
function Tabs({ className, orientation = "horizontal", ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {
|
|
14
10
|
return (
|
|
15
11
|
<TabsPrimitive.Root
|
|
16
12
|
data-slot="tabs"
|
|
@@ -69,13 +65,7 @@ function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPr
|
|
|
69
65
|
}
|
|
70
66
|
|
|
71
67
|
function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {
|
|
72
|
-
return (
|
|
73
|
-
<TabsPrimitive.Content
|
|
74
|
-
data-slot="tabs-content"
|
|
75
|
-
className={cn("flex-1 outline-none", className)}
|
|
76
|
-
{...props}
|
|
77
|
-
/>
|
|
78
|
-
);
|
|
68
|
+
return <TabsPrimitive.Content data-slot="tabs-content" className={cn("flex-1 outline-none", className)} {...props} />;
|
|
79
69
|
}
|
|
80
70
|
|
|
81
|
-
export { Tabs, TabsList, TabsTrigger,
|
|
71
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
|